Files
jiapu/PC.openapi.json
T
2026-07-27 19:46:40 +08:00

8604 lines
243 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"openapi": "3.1.0",
"info": {
"title": "PC",
"description": "家谱业务 APP/PC 用户侧接口文档,用于 Apifox 导入。\n\n导入方式:Apifox -> 导入 API 数据 -> OpenAPI/Swagger -> 选择本文件。\n\n约定:\n- APP 路径前缀为 `/genealogy/app`\n- PC/H5 路径前缀为 `/genealogy/pc`\n- 后台管理接口不包含在本文件内\n- 登录后接口需要携带 token,且请求 Header 需携带 `clientid`\n",
"version": "1.0.0"
},
"tags": [
{
"name": "验证中心"
},
{
"name": "认证登录"
},
{
"name": "文件上传"
},
{
"name": "家谱"
},
{
"name": "家族圈"
},
{
"name": "行政区划"
},
{
"name": "字辈谱"
},
{
"name": "世系人物"
},
{
"name": "内容文章"
},
{
"name": "相册"
},
{
"name": "视频"
},
{
"name": "贺礼邀约"
},
{
"name": "祭祀"
},
{
"name": "族务记录"
},
{
"name": "消息通知"
}
],
"paths": {
"/genealogy/pc/auth/verification/{operationCode}/require": {
"get": {
"summary": "查询 PC 认证动作是否需要验证",
"deprecated": false,
"description": "服务端按 operationCode 对应 PC 路由的当前激活绑定解析验证场景,前端不得提交 sceneCode。",
"tags": [
"验证中心"
],
"parameters": [
{
"name": "operationCode",
"in": "path",
"description": "PC 认证业务动作",
"required": true,
"example": "",
"schema": {
"type": "string",
"enum": [
"password-login",
"sms-login",
"register",
"forgot-password",
"phone-change",
"account-deactivate"
]
}
},
{
"name": "tenantId",
"in": "query",
"description": "租户ID,用于区分不同租户的数据和验证策略",
"required": true,
"example": "000000",
"schema": {
"type": "string"
}
},
{
"name": "subject",
"in": "query",
"description": "验证主体,通常为手机号、用户ID或登录账号",
"required": false,
"example": "13800000000",
"schema": {
"type": "string"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/VerificationRequireResult",
"description": "验证需求查询结果"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/auth/verification/{operationCode}/challenge": {
"post": {
"summary": "生成 PC 认证动作验证挑战",
"deprecated": false,
"description": "服务端按 operationCode 的激活绑定解析场景。tenantId、subject 必须完整提交;clientid 仅从 Header 读取,前端不得提交 clientId 或 sceneCode。",
"tags": [
"验证中心"
],
"parameters": [
{
"name": "operationCode",
"in": "path",
"description": "PC 认证业务动作",
"required": true,
"example": "",
"schema": {
"type": "string",
"enum": [
"password-login",
"sms-login",
"register",
"forgot-password",
"phone-change",
"account-deactivate"
]
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VerificationChallengeBody"
},
"example": {
"tenantId": "000000",
"subject": "13800000000"
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/VerificationChallengeResult",
"description": "验证挑战生成结果"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/auth/verification/{operationCode}/verify": {
"post": {
"summary": "校验 PC 认证动作验证结果并换取 validToken",
"deprecated": false,
"description": "必须使用生成挑战时相同的 operationCode、tenantId、subject 和 challengeId。clientid 仅从 Header 读取;服务端重新解析同一路由的激活场景,前端不得提交 clientId 或 sceneCode。",
"tags": [
"验证中心"
],
"parameters": [
{
"name": "operationCode",
"in": "path",
"description": "PC 认证业务动作",
"required": true,
"example": "",
"schema": {
"type": "string",
"enum": [
"password-login",
"sms-login",
"register",
"forgot-password",
"phone-change",
"account-deactivate"
]
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VerificationCheckBody"
},
"examples": {
"tianai_behavior": {
"value": {
"tenantId": "000000",
"subject": "13800000000",
"challengeId": "CAPTCHA_CHALLENGE_ID",
"providerCode": "tianai",
"captchaType": "SLIDER",
"payload": {
"track": {
"bgImageWidth": 340,
"bgImageHeight": 180,
"templateImageWidth": 50,
"templateImageHeight": 50,
"startTime": 1720000000000,
"stopTime": 1720000001500,
"left": 120,
"top": 0,
"trackList": [
{
"x": 0,
"y": 0,
"t": 0,
"type": "down"
},
{
"x": 120,
"y": 0,
"t": 650,
"type": "move"
},
{
"x": 120,
"y": 0,
"t": 700,
"type": "up"
}
]
}
}
},
"summary": "天爱滑块/旋转/滑动还原/文字点选验证"
},
"system_image": {
"value": {
"tenantId": "000000",
"subject": "13800000000",
"challengeId": "CAPTCHA_CHALLENGE_ID",
"providerCode": "ruoyi_image",
"captchaType": "math",
"payload": {
"uuid": "captcha-uuid",
"code": "6"
}
},
"summary": "系统图形验证码"
}
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/VerificationCheckResult",
"description": "验证校验结果"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/auth/register": {
"post": {
"summary": "PC 用户注册",
"deprecated": false,
"description": "",
"tags": [
"认证登录"
],
"parameters": [
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PasswordRegisterBody"
},
"example": {
"grantType": "password",
"tenantId": "000000",
"phone": "13800000000",
"password": "e10adc3949ba59abbe56e057f20f883e",
"nickName": "测试用户",
"registerSource": "app",
"smsCode": "1234"
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/LoginResult",
"description": "登录结果"
},
"400": {
"description": "短信验证码必须为 4 位数字;验证码错误、过期、重复使用,或租户、客户端、场景不匹配时拒绝;携带 validToken、code、uuid、供应商配置等旧字段返回 HTTP 400。",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RVoid"
}
}
},
"headers": {}
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/auth/login": {
"post": {
"summary": "PC 密码登录",
"deprecated": false,
"description": "",
"tags": [
"认证登录"
],
"parameters": [
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PasswordLoginBody"
},
"example": {
"grantType": "password",
"tenantId": "000000",
"phone": "13800000000",
"password": "e10adc3949ba59abbe56e057f20f883e",
"validToken": "valid-token-from-captcha-verify"
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/LoginResult",
"description": "登录结果"
},
"400": {
"description": "后端按 PC_PASSWORD_LOGIN 路由的当前激活绑定解析场景;该场景策略要求验证时必须提交匹配的 validToken,不要求验证时 validToken 可为空;请求携带已废弃的 sceneCode 或其他未知字段返回 HTTP 400。",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RVoid"
}
}
},
"headers": {}
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/auth/login/sms": {
"post": {
"summary": "PC 短信登录",
"deprecated": false,
"description": "",
"tags": [
"认证登录"
],
"parameters": [
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SmsLoginBody"
},
"example": {
"grantType": "sms",
"tenantId": "000000",
"phone": "13800000000",
"smsCode": "1234"
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/LoginResult",
"description": "登录结果"
},
"400": {
"description": "短信验证码必须为 4 位数字;验证码错误、过期、重复使用,或租户、客户端、场景不匹配时拒绝;携带 validToken、code、uuid、供应商配置等旧字段返回 HTTP 400。",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RVoid"
}
}
},
"headers": {}
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/auth/sms/{operationCode}/code": {
"post": {
"summary": "PC 发送短信验证码",
"deprecated": false,
"description": "operationCode 决定短信业务动作,服务端按对应 PC 路由的激活绑定解析验证场景。策略开启时需提交 validToken,关闭时可为空;前端不得提交 sceneCode 或短信供应商配置 ID。",
"tags": [
"认证登录"
],
"parameters": [
{
"name": "operationCode",
"in": "path",
"description": "支持发送短信验证码的 PC 认证业务动作",
"required": true,
"example": "",
"schema": {
"type": "string",
"enum": [
"sms-login",
"register",
"forgot-password",
"phone-change",
"account-deactivate"
]
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SmsCodeBody"
},
"example": {
"tenantId": "000000",
"phone": "13800000000",
"grantType": "sms",
"validToken": "captcha-ticket"
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/VoidResult",
"description": "通用成功响应"
},
"400": {
"description": "拒绝原因:票据缺失;票据与租户不匹配(错租户);票据与客户端不匹配(错客户端);票据与场景不匹配(错场景);票据过期;票据已被使用(重复使用);手机号主体不匹配;请求携带供应商配置或历史字段。",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RVoid"
}
}
},
"headers": {}
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/auth/profile": {
"get": {
"summary": "PC 当前用户资料",
"deprecated": false,
"description": "",
"tags": [
"认证登录"
],
"parameters": [
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/ObjectResult",
"description": "通用对象响应"
}
},
"security": [
{
"SaToken1": []
}
]
},
"put": {
"summary": "PC 修改用户资料",
"deprecated": false,
"description": "",
"tags": [
"认证登录"
],
"parameters": [
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProfileUpdateBody"
},
"example": {
"nickName": "张三",
"realName": "张三",
"avatar": "2060000000000000000",
"sex": "0",
"birthday": "1990-01-01",
"email": "zhangsan@example.com"
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/ObjectResult",
"description": "通用对象响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/auth/password": {
"put": {
"summary": "PC 修改密码",
"deprecated": false,
"description": "",
"tags": [
"认证登录"
],
"parameters": [
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PasswordChangeBody"
},
"example": {
"oldPassword": "e10adc3949ba59abbe56e057f20f883e",
"newPassword": "25d55ad283aa400af464c76d713c07ad"
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/VoidResult",
"description": "通用成功响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/auth/password/reset": {
"put": {
"summary": "PC 找回密码",
"deprecated": false,
"description": "",
"tags": [
"认证登录"
],
"parameters": [
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PasswordResetBody"
},
"example": {
"grantType": "password",
"tenantId": "000000",
"phone": "13800000000",
"smsCode": "1234",
"newPassword": "25d55ad283aa400af464c76d713c07ad"
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/VoidResult",
"description": "通用成功响应"
},
"400": {
"description": "短信验证码必须为 4 位数字;验证码错误、过期、重复使用,或租户、客户端、场景不匹配时拒绝;携带 validToken、code、uuid、供应商配置等旧字段返回 HTTP 400。",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RVoid"
}
}
},
"headers": {}
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/auth/phone": {
"put": {
"summary": "PC 换绑手机号",
"deprecated": false,
"description": "",
"tags": [
"认证登录"
],
"parameters": [
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PhoneChangeBody"
},
"example": {
"phone": "13900000000",
"smsCode": "1234"
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/ObjectResult",
"description": "通用对象响应"
},
"400": {
"description": "短信验证码必须为 4 位数字;验证码错误、过期、重复使用,或租户、客户端、场景不匹配时拒绝;携带 validToken、code、uuid、供应商配置等旧字段返回 HTTP 400。",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RVoid"
}
}
},
"headers": {}
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/auth/account/deactivate": {
"post": {
"summary": "PC 注销账号",
"deprecated": false,
"description": "",
"tags": [
"认证登录"
],
"parameters": [
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AccountDeactivateBody"
},
"example": {
"smsCode": "1234"
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/VoidResult",
"description": "通用成功响应"
},
"400": {
"description": "短信验证码必须为 4 位数字;验证码错误、过期、重复使用,或租户、客户端、场景不匹配时拒绝;携带 validToken、code、uuid、供应商配置等旧字段返回 HTTP 400。",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RVoid"
}
}
},
"headers": {}
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/auth/logout": {
"delete": {
"summary": "PC 退出登录",
"deprecated": false,
"description": "",
"tags": [
"认证登录"
],
"parameters": [
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/VoidResult",
"description": "通用成功响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/files/resumable/init": {
"post": {
"summary": "PC 分片上传初始化",
"deprecated": false,
"description": "所有文件统一使用分片上传;普通小文件可设置为一个分片。返回 instant=true 时直接使用返回的 OSS 信息,跳过分片上传和合并。",
"tags": [
"文件上传"
],
"parameters": [
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResumableInitBody"
},
"example": {
"uploadId": "UPLOAD202607090001",
"fileName": "cover.jpg",
"fileMd5": "d41d8cd98f00b204e9800998ecf8427e",
"totalSize": 9532,
"totalChunks": 1,
"chunkSize": 4194304,
"contentType": "image/jpeg"
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/ObjectResult",
"description": "通用对象响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/files/resumable/chunk": {
"post": {
"summary": "PC 上传分片",
"deprecated": false,
"description": "uploadId 已绑定初始化契约。除最后一片外,分片实际大小必须等于 chunkSize;最后一片必须等于剩余字节数。",
"tags": [
"文件上传"
],
"parameters": [
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"type": "object",
"properties": {
"uploadId": {
"type": "string",
"example": ""
},
"chunkIndex": {
"type": "integer",
"examples": [
0
],
"example": 0
},
"chunkMd5": {
"type": "string",
"examples": [
"d41d8cd98f00b204e9800998ecf8427e"
],
"example": "d41d8cd98f00b204e9800998ecf8427e"
},
"file": {
"type": "string",
"format": "binary",
"example": ""
}
},
"required": [
"uploadId",
"chunkIndex",
"chunkMd5",
"file"
]
},
"example": {
"uploadId": "",
"chunkIndex": 0,
"chunkMd5": "d41d8cd98f00b204e9800998ecf8427e",
"file": ""
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/VoidResult",
"description": "通用成功响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/files/resumable/complete": {
"post": {
"summary": "PC 完成分片上传",
"deprecated": false,
"description": "",
"tags": [
"文件上传"
],
"parameters": [
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ResumableCompleteBody"
},
"example": {
"uploadId": "UPLOAD202607090001",
"fileName": "cover.jpg",
"fileMd5": "d41d8cd98f00b204e9800998ecf8427e",
"totalSize": 9532,
"totalChunks": 1
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/FileUploadResult",
"description": "文件上传结果"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/quota": {
"get": {
"summary": "PC 查询当前用户家谱配额",
"deprecated": false,
"description": "查询已创建和已加入的家谱数量、上限、剩余额度及是否还能继续操作。加入总数包含自己创建的家谱;limit 和 remaining 为 -1 时表示不限。",
"tags": [
"家谱"
],
"parameters": [
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/GenealogyQuotaResult",
"description": "当前业务用户家谱配额响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/feeds": {
"get": {
"summary": "PC 家族圈动态列表",
"deprecated": false,
"description": "",
"tags": [
"家族圈"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/FamilyFeedListResult",
"description": "家族圈动态列表响应"
}
},
"security": [
{
"SaToken1": []
}
]
},
"post": {
"summary": "PC 发布家族圈动态",
"deprecated": false,
"description": "",
"tags": [
"家族圈"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FamilyFeedBody"
},
"example": {
"feedType": "text",
"feedContent": "今天上传一张老照片。",
"mediaOssIds": "2060000000000000001,2060000000000000002",
"sortOrder": 0,
"status": "0"
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/FamilyFeedResult",
"description": "家族圈动态对象响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/feeds/page": {
"get": {
"summary": "PC 家族圈动态分页",
"deprecated": false,
"description": "",
"tags": [
"家族圈"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "pageNum",
"in": "query",
"description": "页码,从1开始",
"required": false,
"schema": {
"type": "integer",
"default": 1
}
},
{
"name": "pageSize",
"in": "query",
"description": "每页条数",
"required": false,
"schema": {
"type": "integer",
"default": 10
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/FamilyFeedPageResult",
"description": "家族圈动态分页响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/feeds/{feedId}": {
"get": {
"summary": "PC 家族圈动态详情",
"deprecated": false,
"description": "",
"tags": [
"家族圈"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "feedId",
"in": "path",
"description": "家族动态ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/FamilyFeedResult",
"description": "家族圈动态对象响应"
}
},
"security": [
{
"SaToken1": []
}
]
},
"put": {
"summary": "PC 修改家族圈动态",
"deprecated": false,
"description": "",
"tags": [
"家族圈"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "feedId",
"in": "path",
"description": "家族动态ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FamilyFeedBody"
},
"example": {
"feedType": "text",
"feedContent": "今天上传一张老照片。",
"mediaOssIds": "2060000000000000001,2060000000000000002",
"sortOrder": 0,
"status": "0"
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/FamilyFeedResult",
"description": "家族圈动态对象响应"
}
},
"security": [
{
"SaToken1": []
}
]
},
"delete": {
"summary": "PC 删除家族圈动态",
"deprecated": false,
"description": "",
"tags": [
"家族圈"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "feedId",
"in": "path",
"description": "家族动态ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/VoidResult",
"description": "通用成功响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/feeds/{feedId}/likes": {
"post": {
"summary": "PC 点赞动态",
"deprecated": false,
"description": "",
"tags": [
"家族圈"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "feedId",
"in": "path",
"description": "家族动态ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/VoidResult",
"description": "通用成功响应"
}
},
"security": [
{
"SaToken1": []
}
]
},
"delete": {
"summary": "PC 取消点赞动态",
"deprecated": false,
"description": "",
"tags": [
"家族圈"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "feedId",
"in": "path",
"description": "家族动态ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/VoidResult",
"description": "通用成功响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/feeds/{feedId}/comments": {
"get": {
"summary": "PC 动态一级评论列表",
"deprecated": false,
"description": "仅返回正常展示的一级评论;每条评论的 replyCount 为正常展示的直接回复数量。",
"tags": [
"家族圈"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "feedId",
"in": "path",
"description": "家族动态ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/FamilyFeedCommentListResult",
"description": "家族圈评论列表响应"
}
},
"security": [
{
"SaToken1": []
}
]
},
"post": {
"summary": "PC 评论动态",
"deprecated": false,
"description": "",
"tags": [
"家族圈"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "feedId",
"in": "path",
"description": "家族动态ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FamilyFeedCommentBody"
},
"example": {
"parentCommentId": null,
"commentContent": "这张照片很有年代感。"
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/FamilyFeedCommentResult",
"description": "家族圈评论对象响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/feeds/{feedId}/comments/page": {
"get": {
"summary": "PC 动态一级评论分页",
"deprecated": false,
"description": "仅返回正常展示的一级评论;展开回复时请调用 replies 接口。",
"tags": [
"家族圈"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "feedId",
"in": "path",
"description": "家族动态ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "pageNum",
"in": "query",
"description": "页码,从1开始",
"required": false,
"schema": {
"type": "integer",
"default": 1
}
},
{
"name": "pageSize",
"in": "query",
"description": "每页条数",
"required": false,
"schema": {
"type": "integer",
"default": 10
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/FamilyFeedCommentPageResult",
"description": "家族圈评论分页响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/feeds/{feedId}/comments/{commentId}/replies": {
"get": {
"summary": "PC 获取评论的直接回复列表",
"deprecated": false,
"description": "仅返回指定正常评论的正常展示直接回复;回复的 replyCount 可用于继续按需展开下一层。",
"tags": [
"家族圈"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "feedId",
"in": "path",
"description": "家族动态ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "commentId",
"in": "path",
"description": "父评论 ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/FamilyFeedCommentListResult",
"description": "家族圈评论列表响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/feeds/{feedId}/comments/{commentId}/replies/page": {
"get": {
"summary": "PC 分页获取评论的直接回复",
"deprecated": false,
"description": "",
"tags": [
"家族圈"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "feedId",
"in": "path",
"description": "家族动态ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "commentId",
"in": "path",
"description": "父评论 ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "pageNum",
"in": "query",
"description": "页码,从1开始",
"required": false,
"schema": {
"type": "integer",
"default": 1
}
},
{
"name": "pageSize",
"in": "query",
"description": "每页条数",
"required": false,
"schema": {
"type": "integer",
"default": 10
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/FamilyFeedCommentPageResult",
"description": "家族圈评论分页响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/feeds/{feedId}/comments/{commentId}": {
"delete": {
"summary": "PC 删除本人动态评论;有回复时保留删除占位",
"deprecated": false,
"description": "",
"tags": [
"家族圈"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "feedId",
"in": "path",
"description": "家族动态ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "commentId",
"in": "path",
"description": "评论ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/VoidResult",
"description": "通用成功响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/region/children": {
"get": {
"summary": "查询下级行政区划",
"deprecated": false,
"description": "",
"tags": [
"行政区划"
],
"parameters": [
{
"name": "parentCode",
"in": "query",
"description": "父级行政区划编码,不传或传0查省级",
"required": false,
"example": "51",
"schema": {
"type": "string"
}
},
{
"name": "clientid",
"in": "header",
"description": "客户端ID",
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string",
"default": "ced7e5f0498645c6ec642dcf450b036f"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/ListResult",
"description": "通用列表响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/region/path/{regionCode}": {
"get": {
"summary": "查询行政区划路径",
"deprecated": false,
"description": "",
"tags": [
"行政区划"
],
"parameters": [
{
"name": "regionCode",
"in": "path",
"description": "行政区划编码",
"required": true,
"example": "510000",
"schema": {
"type": "string"
}
},
{
"name": "clientid",
"in": "header",
"description": "客户端ID",
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string",
"default": "ced7e5f0498645c6ec642dcf450b036f"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/ListResult",
"description": "通用列表响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/region/search": {
"get": {
"summary": "搜索行政区划",
"deprecated": false,
"description": "",
"tags": [
"行政区划"
],
"parameters": [
{
"name": "keyword",
"in": "query",
"description": "搜索关键词,支持地区名称或编码模糊查询",
"required": true,
"example": "北京",
"schema": {
"type": "string"
}
},
{
"name": "level",
"in": "query",
"description": "行政区划级别,1省、2市、3区县、4乡镇街道、5村社区",
"required": false,
"example": 3,
"schema": {
"type": "integer"
}
},
{
"name": "limit",
"in": "query",
"description": "返回数量上限",
"required": false,
"example": 20,
"schema": {
"type": "integer"
}
},
{
"name": "clientid",
"in": "header",
"description": "客户端ID",
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string",
"default": "ced7e5f0498645c6ec642dcf450b036f"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/ListResult",
"description": "通用列表响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/region/{regionCode}": {
"get": {
"summary": "查询行政区划详情",
"deprecated": false,
"description": "",
"tags": [
"行政区划"
],
"parameters": [
{
"name": "regionCode",
"in": "path",
"description": "行政区划编码",
"required": true,
"example": "510000",
"schema": {
"type": "string"
}
},
{
"name": "clientid",
"in": "header",
"description": "客户端ID",
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string",
"default": "ced7e5f0498645c6ec642dcf450b036f"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/ObjectResult",
"description": "通用对象响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/region/children": {
"get": {
"summary": "查询下级行政区划",
"deprecated": false,
"description": "",
"tags": [
"行政区划"
],
"parameters": [
{
"name": "parentCode",
"in": "query",
"description": "父级行政区划编码,不传或传0查省级",
"required": false,
"example": "51",
"schema": {
"type": "string"
}
},
{
"name": "clientid",
"in": "header",
"description": "客户端ID",
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string",
"default": "ced7e5f0498645c6ec642dcf450b036f"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/ListResult",
"description": "通用列表响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/region/path/{regionCode}": {
"get": {
"summary": "查询行政区划路径",
"deprecated": false,
"description": "",
"tags": [
"行政区划"
],
"parameters": [
{
"name": "regionCode",
"in": "path",
"description": "行政区划编码",
"required": true,
"example": "510000",
"schema": {
"type": "string"
}
},
{
"name": "clientid",
"in": "header",
"description": "客户端ID",
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string",
"default": "ced7e5f0498645c6ec642dcf450b036f"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/ListResult",
"description": "通用列表响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/region/search": {
"get": {
"summary": "搜索行政区划",
"deprecated": false,
"description": "",
"tags": [
"行政区划"
],
"parameters": [
{
"name": "keyword",
"in": "query",
"description": "搜索关键词,支持地区名称或编码模糊查询",
"required": true,
"example": "北京",
"schema": {
"type": "string"
}
},
{
"name": "level",
"in": "query",
"description": "行政区划级别,1省、2市、3区县、4乡镇街道、5村社区",
"required": false,
"example": 3,
"schema": {
"type": "integer"
}
},
{
"name": "limit",
"in": "query",
"description": "返回数量上限",
"required": false,
"example": 20,
"schema": {
"type": "integer"
}
},
{
"name": "clientid",
"in": "header",
"description": "客户端ID",
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string",
"default": "ced7e5f0498645c6ec642dcf450b036f"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/ListResult",
"description": "通用列表响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/region/{regionCode}": {
"get": {
"summary": "查询行政区划详情",
"deprecated": false,
"description": "",
"tags": [
"行政区划"
],
"parameters": [
{
"name": "regionCode",
"in": "path",
"description": "行政区划编码",
"required": true,
"example": "510000",
"schema": {
"type": "string"
}
},
{
"name": "clientid",
"in": "header",
"description": "客户端ID",
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string",
"default": "ced7e5f0498645c6ec642dcf450b036f"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/ObjectResult",
"description": "通用对象响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/generation-poems": {
"get": {
"summary": "PC 查询正常字辈谱",
"deprecated": false,
"description": "对可查看家谱的业务用户开放;仅返回正常状态字辈,供世系人物录入和展示使用。",
"tags": [
"字辈谱"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/GenerationPoemListResult",
"description": "字辈列表响应"
}
},
"security": [
{
"SaToken1": []
}
]
},
"post": {
"summary": "PC 新增字辈",
"deprecated": false,
"description": "",
"tags": [
"字辈谱"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GenerationPoemBody"
},
"example": {
"generationNo": 5,
"generationText": "忠",
"description": "第五世字辈",
"sortOrder": 5,
"status": "0"
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/GenerationPoemResult",
"description": "字辈详情响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/generation-poems/management": {
"get": {
"summary": "PC 查询字辈维护列表",
"deprecated": false,
"description": "仅家谱内容编辑者可访问,返回正常和停用字辈,用于恢复、纠错和排序调整。",
"tags": [
"字辈谱"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/GenerationPoemListResult",
"description": "字辈列表响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/generation-poems/batch/preview": {
"post": {
"summary": "PC 批量字辈预览",
"deprecated": false,
"description": "",
"tags": [
"字辈谱"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GenerationPoemBatchBody"
},
"example": {
"poemText": "德承家亦\n忠厚传芳",
"disableMissing": false
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/GenerationPoemBatchPreviewResult",
"description": "字辈批量预览响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/generation-poems/batch/save": {
"post": {
"summary": "PC 批量保存字辈",
"deprecated": false,
"description": "保存时会重新按当前数据生成差异;停用不删除历史字辈记录。",
"tags": [
"字辈谱"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GenerationPoemBatchBody"
},
"example": {
"poemText": "德承家亦\n忠厚传芳",
"disableMissing": false
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/VoidResult",
"description": "通用成功响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/generation-poems/{poemId}": {
"put": {
"summary": "PC 修改、停用或恢复字辈",
"deprecated": false,
"description": "",
"tags": [
"字辈谱"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "poemId",
"in": "path",
"description": "字辈记录ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GenerationPoemBody"
},
"example": {
"generationNo": 5,
"generationText": "忠",
"description": "第五世字辈",
"sortOrder": 5,
"status": "0"
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/GenerationPoemResult",
"description": "字辈详情响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/lineage/persons": {
"get": {
"summary": "PC 世系人物列表",
"deprecated": false,
"description": "",
"tags": [
"世系人物"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/LineagePersonListResult",
"description": "世系人物列表或选项响应"
}
},
"security": [
{
"SaToken1": []
}
]
},
"post": {
"summary": "PC 新增世系人物",
"deprecated": false,
"description": "",
"tags": [
"世系人物"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LineagePersonBody"
},
"example": {
"bindingMode": "NONE",
"personNo": "P202607090001",
"name": "彭德明",
"aliasName": "德明",
"sex": "0",
"generation": 1,
"generationName": "德",
"avatarOssId": "2060000000000000001",
"birthDate": "1950-01-01",
"birthLunar": "0",
"birthPlace": "江西吉安",
"personStatus": "0",
"biography": "第一世人物简介",
"sortOrder": 1
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/LineagePersonResult",
"description": "世系人物详情响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/lineage/persons/page": {
"get": {
"summary": "PC 世系人物分页",
"deprecated": false,
"description": "",
"tags": [
"世系人物"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "pageNum",
"in": "query",
"description": "页码,从1开始",
"required": false,
"schema": {
"type": "integer",
"default": 1
}
},
{
"name": "pageSize",
"in": "query",
"description": "每页条数",
"required": false,
"schema": {
"type": "integer",
"default": 10
}
},
{
"name": "keyword",
"in": "query",
"description": "姓名、别名或人物编号关键词",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "generation",
"in": "query",
"description": "世代序号",
"required": false,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "personStatus",
"in": "query",
"description": "字典 gen_lineage_person_status0=健在,1=已故,2=未知",
"required": false,
"schema": {
"type": "string",
"enum": [
"0",
"1",
"2"
],
"x-dict-type": "gen_lineage_person_status",
"examples": [
"0"
]
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/LineagePersonPageResult",
"description": "世系人物分页响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/lineage/persons/options": {
"get": {
"summary": "PC 世系人物选项",
"deprecated": false,
"description": "",
"tags": [
"世系人物"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "keyword",
"in": "query",
"description": "姓名、别名或人物编号关键词",
"required": false,
"schema": {
"type": "string"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/LineagePersonListResult",
"description": "世系人物列表或选项响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/lineage/tree": {
"get": {
"summary": "PC 世系树",
"deprecated": false,
"description": "",
"tags": [
"世系人物"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/LineagePersonTreeResult",
"description": "世系树响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/lineage/persons/{personId}": {
"get": {
"summary": "PC 世系人物详情",
"deprecated": false,
"description": "",
"tags": [
"世系人物"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "personId",
"in": "path",
"description": "世系人物ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/LineagePersonResult",
"description": "世系人物详情响应"
}
},
"security": [
{
"SaToken1": []
}
]
},
"put": {
"summary": "PC 修改世系人物",
"deprecated": false,
"description": "",
"tags": [
"世系人物"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "personId",
"in": "path",
"description": "世系人物ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LineagePersonBody"
},
"example": {
"bindingMode": "NONE",
"personNo": "P202607090001",
"name": "彭德明",
"aliasName": "德明",
"sex": "0",
"generation": 1,
"generationName": "德",
"avatarOssId": "2060000000000000001",
"birthDate": "1950-01-01",
"birthLunar": "0",
"birthPlace": "江西吉安",
"personStatus": "0",
"biography": "第一世人物简介",
"sortOrder": 1
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/LineagePersonResult",
"description": "世系人物详情响应"
}
},
"security": [
{
"SaToken1": []
}
]
},
"delete": {
"summary": "PC 停用世系人物",
"deprecated": false,
"description": "逻辑停用人物,不执行物理删除;存在正常子女时拒绝停用。",
"tags": [
"世系人物"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "personId",
"in": "path",
"description": "世系人物ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/VoidResult",
"description": "通用成功响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/lineage/persons/{personId}/children": {
"post": {
"summary": "PC 给人物添加子女",
"deprecated": false,
"description": "",
"tags": [
"世系人物"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "personId",
"in": "path",
"description": "世系人物ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LineagePersonBody"
},
"example": {
"bindingMode": "NONE",
"personNo": "P202607090001",
"name": "彭德明",
"aliasName": "德明",
"sex": "0",
"generation": 1,
"generationName": "德",
"avatarOssId": "2060000000000000001",
"birthDate": "1950-01-01",
"birthLunar": "0",
"birthPlace": "江西吉安",
"personStatus": "0",
"biography": "第一世人物简介",
"sortOrder": 1
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/LineagePersonResult",
"description": "世系人物详情响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/lineage/persons/{personId}/parents": {
"post": {
"summary": "PC 给人物添加父母",
"deprecated": false,
"description": "",
"tags": [
"世系人物"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "personId",
"in": "path",
"description": "世系人物ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LineagePersonBody"
},
"example": {
"bindingMode": "NONE",
"personNo": "P202607090001",
"name": "彭德明",
"aliasName": "德明",
"sex": "0",
"generation": 1,
"generationName": "德",
"avatarOssId": "2060000000000000001",
"birthDate": "1950-01-01",
"birthLunar": "0",
"birthPlace": "江西吉安",
"personStatus": "0",
"biography": "第一世人物简介",
"sortOrder": 1
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/LineagePersonResult",
"description": "世系人物详情响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/lineage/persons/{personId}/siblings": {
"post": {
"summary": "PC 给人物添加兄弟姐妹",
"deprecated": false,
"description": "",
"tags": [
"世系人物"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "personId",
"in": "path",
"description": "世系人物ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LineagePersonBody"
},
"example": {
"bindingMode": "NONE",
"personNo": "P202607090001",
"name": "彭德明",
"aliasName": "德明",
"sex": "0",
"generation": 1,
"generationName": "德",
"avatarOssId": "2060000000000000001",
"birthDate": "1950-01-01",
"birthLunar": "0",
"birthPlace": "江西吉安",
"personStatus": "0",
"biography": "第一世人物简介",
"sortOrder": 1
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/LineagePersonResult",
"description": "世系人物详情响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/lineage/persons/{personId}/spouses": {
"post": {
"summary": "PC 给人物添加配偶",
"deprecated": false,
"description": "",
"tags": [
"世系人物"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "personId",
"in": "path",
"description": "世系人物ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LineagePersonBody"
},
"example": {
"bindingMode": "NONE",
"personNo": "P202607090001",
"name": "彭德明",
"aliasName": "德明",
"sex": "0",
"generation": 1,
"generationName": "德",
"avatarOssId": "2060000000000000001",
"birthDate": "1950-01-01",
"birthLunar": "0",
"birthPlace": "江西吉安",
"personStatus": "0",
"biography": "第一世人物简介",
"sortOrder": 1
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/LineagePersonResult",
"description": "世系人物详情响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/articles/{articleId}": {
"delete": {
"summary": "PC 删除谱文",
"deprecated": false,
"description": "",
"tags": [
"内容文章"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "articleId",
"in": "path",
"description": "要删除的谱文ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/VoidResult",
"description": "通用成功响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/albums/{albumId}": {
"delete": {
"summary": "PC 删除相册",
"deprecated": false,
"description": "逻辑删除相册及其照片,并释放封面和照片文件引用。",
"tags": [
"相册"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "albumId",
"in": "path",
"description": "要删除的相册ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/VoidResult",
"description": "通用成功响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/albums/{albumId}/photos/{photoId}": {
"delete": {
"summary": "PC 删除单张相册图片",
"deprecated": false,
"description": "",
"tags": [
"相册"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "albumId",
"in": "path",
"description": "相册ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "photoId",
"in": "path",
"description": "要删除的相册图片ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/VoidResult",
"description": "通用成功响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/videos/{videoId}": {
"delete": {
"summary": "PC 删除视频",
"deprecated": false,
"description": "逻辑删除视频,并释放视频文件和封面文件引用。",
"tags": [
"视频"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "videoId",
"in": "path",
"description": "要删除的视频ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/VoidResult",
"description": "通用成功响应"
}
},
"security": [
{
"SaToken1": []
}
]
},
"get": {
"summary": "PC 视频详情",
"deprecated": false,
"description": "",
"tags": [
"视频"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "videoId",
"in": "path",
"description": "视频ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/ObjectResult",
"description": "通用对象响应"
}
},
"security": [
{
"SaToken1": []
}
]
},
"put": {
"summary": "PC 修改视频",
"deprecated": false,
"description": "",
"tags": [
"视频"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "videoId",
"in": "path",
"description": "视频ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VideoBody"
},
"example": {
"videoTitle": "家族活动记录",
"videoDesc": "清明祭祖活动视频",
"coverOssId": "2060000000000000001",
"videoOssId": "2060000000000000002",
"durationSeconds": 180,
"sortOrder": 1,
"status": "0"
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/ObjectResult",
"description": "通用对象响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/videos": {
"get": {
"summary": "PC 视频列表",
"deprecated": false,
"description": "",
"tags": [
"视频"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/ListResult",
"description": "通用列表响应"
}
},
"security": [
{
"SaToken1": []
}
]
},
"post": {
"summary": "PC 新增视频",
"deprecated": false,
"description": "",
"tags": [
"视频"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VideoBody"
},
"example": {
"videoTitle": "家族活动记录",
"videoDesc": "清明祭祖活动视频",
"coverOssId": "2060000000000000001",
"videoOssId": "2060000000000000002",
"durationSeconds": 180,
"sortOrder": 1,
"status": "0"
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/ObjectResult",
"description": "通用对象响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/ceremonies/{ceremonyId}/invitees": {
"put": {
"summary": "PC 替换活动受邀人",
"deprecated": false,
"description": "使用完整名单替换当前待响应受邀人;仅家谱内容管理员可操作,受邀人必须是同一家谱的正常成员。",
"tags": [
"贺礼邀约"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "ceremonyId",
"in": "path",
"description": "贺礼活动ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CeremonyInviteesBody"
},
"example": {
"inviteeUserIds": [
900000001,
900000002
]
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/CeremonyInvitationListResult",
"description": "贺礼邀约列表响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/ceremonies/{ceremonyId}/invitations": {
"get": {
"summary": "PC 查询活动邀请名单",
"deprecated": false,
"description": "查询受邀人及其待响应、接受、拒绝或取消状态,仅家谱内容管理员可见。",
"tags": [
"贺礼邀约"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "ceremonyId",
"in": "path",
"description": "贺礼活动ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/CeremonyInvitationListResult",
"description": "贺礼邀约列表响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/ceremonies/{ceremonyId}/invitations/me": {
"put": {
"summary": "PC 响应当前用户的活动邀请",
"deprecated": false,
"description": "当前登录用户接受或拒绝自己的待响应邀请,不能代替其他用户操作。",
"tags": [
"贺礼邀约"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "ceremonyId",
"in": "path",
"description": "贺礼活动ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CeremonyInvitationResponseBody"
},
"example": {
"inviteStatus": "ACCEPTED"
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/CeremonyInvitationResult",
"description": "贺礼邀约详情响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/ceremony-invitations/mine": {
"get": {
"summary": "PC 查询我的活动邀请",
"deprecated": false,
"description": "查询当前租户下发给当前业务用户且活动仍正常的邀请。",
"tags": [
"贺礼邀约"
],
"parameters": [
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/CeremonyInvitationListResult",
"description": "贺礼邀约列表响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/ceremonies/{ceremonyId}": {
"delete": {
"summary": "PC 删除祭祀活动",
"deprecated": false,
"description": "逻辑删除祭祀活动及其祭品,并释放活动封面文件引用。",
"tags": [
"祭祀"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "ceremonyId",
"in": "path",
"description": "要删除的祭祀活动ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/VoidResult",
"description": "通用成功响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/ceremonies/{ceremonyId}/gifts/{giftId}": {
"delete": {
"summary": "PC 删除单条祭品",
"deprecated": false,
"description": "",
"tags": [
"祭祀"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "ceremonyId",
"in": "path",
"description": "祭祀活动ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "giftId",
"in": "path",
"description": "要删除的祭品ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/VoidResult",
"description": "通用成功响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/growth-records": {
"get": {
"summary": "PC 成长记录列表",
"deprecated": false,
"description": "",
"tags": [
"族务记录"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/ListResult",
"description": "通用列表响应"
}
},
"security": [
{
"SaToken1": []
}
]
},
"post": {
"summary": "PC 新增成长记录",
"deprecated": false,
"description": "",
"tags": [
"族务记录"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GrowthRecordBody"
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/ObjectResult",
"description": "通用对象响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/growth-records/{recordId}": {
"get": {
"summary": "PC 成长记录详情",
"deprecated": false,
"description": "",
"tags": [
"族务记录"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "recordId",
"in": "path",
"description": "成长记录ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/ObjectResult",
"description": "通用对象响应"
}
},
"security": [
{
"SaToken1": []
}
]
},
"put": {
"summary": "PC 修改成长记录",
"deprecated": false,
"description": "",
"tags": [
"族务记录"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "recordId",
"in": "path",
"description": "成长记录ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GrowthRecordBody"
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/ObjectResult",
"description": "通用对象响应"
}
},
"security": [
{
"SaToken1": []
}
]
},
"delete": {
"summary": "PC 删除成长记录",
"deprecated": false,
"description": "",
"tags": [
"族务记录"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "recordId",
"in": "path",
"description": "要删除的成长记录ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/VoidResult",
"description": "通用成功响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/relative-records": {
"get": {
"summary": "PC 亲友记录列表",
"deprecated": false,
"description": "",
"tags": [
"族务记录"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/ListResult",
"description": "通用列表响应"
}
},
"security": [
{
"SaToken1": []
}
]
},
"post": {
"summary": "PC 新增亲友记录",
"deprecated": false,
"description": "",
"tags": [
"族务记录"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RelativeRecordBody"
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/ObjectResult",
"description": "通用对象响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/relative-records/{relativeId}": {
"get": {
"summary": "PC 亲友记录详情",
"deprecated": false,
"description": "",
"tags": [
"族务记录"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "relativeId",
"in": "path",
"description": "亲友记录ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/ObjectResult",
"description": "通用对象响应"
}
},
"security": [
{
"SaToken1": []
}
]
},
"put": {
"summary": "PC 修改亲友记录",
"deprecated": false,
"description": "",
"tags": [
"族务记录"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "relativeId",
"in": "path",
"description": "亲友记录ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RelativeRecordBody"
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/ObjectResult",
"description": "通用对象响应"
}
},
"security": [
{
"SaToken1": []
}
]
},
"delete": {
"summary": "PC 删除亲友记录",
"deprecated": false,
"description": "",
"tags": [
"族务记录"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "relativeId",
"in": "path",
"description": "要删除的亲友记录ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/VoidResult",
"description": "通用成功响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/memos": {
"get": {
"summary": "PC 备忘录列表",
"deprecated": false,
"description": "",
"tags": [
"族务记录"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/ListResult",
"description": "通用列表响应"
}
},
"security": [
{
"SaToken1": []
}
]
},
"post": {
"summary": "PC 新增备忘录",
"deprecated": false,
"description": "",
"tags": [
"族务记录"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MemoBody"
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/ObjectResult",
"description": "通用对象响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/memos/{memoId}": {
"get": {
"summary": "PC 备忘录详情",
"deprecated": false,
"description": "",
"tags": [
"族务记录"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "memoId",
"in": "path",
"description": "备忘录ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/ObjectResult",
"description": "通用对象响应"
}
},
"security": [
{
"SaToken1": []
}
]
},
"put": {
"summary": "PC 修改备忘录",
"deprecated": false,
"description": "",
"tags": [
"族务记录"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "memoId",
"in": "path",
"description": "备忘录ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MemoBody"
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/ObjectResult",
"description": "通用对象响应"
}
},
"security": [
{
"SaToken1": []
}
]
},
"delete": {
"summary": "PC 删除备忘录",
"deprecated": false,
"description": "",
"tags": [
"族务记录"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "memoId",
"in": "path",
"description": "要删除的备忘录ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/VoidResult",
"description": "通用成功响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/merit-records/{meritId}": {
"delete": {
"summary": "PC 删除功德记录",
"deprecated": false,
"description": "",
"tags": [
"族务记录"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "meritId",
"in": "path",
"description": "要删除的功德记录ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/VoidResult",
"description": "通用成功响应"
}
},
"security": [
{
"SaToken1": []
}
]
},
"get": {
"summary": "PC 功德记录详情",
"deprecated": false,
"description": "",
"tags": [
"族务记录"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "meritId",
"in": "path",
"description": "功德记录ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/ObjectResult",
"description": "通用对象响应"
}
},
"security": [
{
"SaToken1": []
}
]
},
"put": {
"summary": "PC 修改功德记录",
"deprecated": false,
"description": "",
"tags": [
"族务记录"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "meritId",
"in": "path",
"description": "功德记录ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MeritRecordBody"
},
"example": {
"donorName": "张三",
"meritType": "donation",
"meritTitle": "修缮祠堂捐赠",
"meritContent": "用于祠堂修缮",
"amount": 1000,
"meritTime": "2026-07-26 10:00:00",
"sortOrder": 1,
"status": "0"
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/ObjectResult",
"description": "通用对象响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/genealogies/{genealogyId}/merit-records": {
"get": {
"summary": "PC 功德记录列表",
"deprecated": false,
"description": "",
"tags": [
"族务记录"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/ListResult",
"description": "通用列表响应"
}
},
"security": [
{
"SaToken1": []
}
]
},
"post": {
"summary": "PC 新增功德记录",
"deprecated": false,
"description": "",
"tags": [
"族务记录"
],
"parameters": [
{
"name": "genealogyId",
"in": "path",
"description": "家谱ID",
"required": true,
"example": 900001001,
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MeritRecordBody"
},
"example": {
"donorName": "张三",
"meritType": "donation",
"meritTitle": "修缮祠堂捐赠",
"meritContent": "用于祠堂修缮",
"amount": 1000,
"meritTime": "2026-07-26 10:00:00",
"sortOrder": 1,
"status": "0"
}
}
},
"required": true
},
"responses": {
"200": {
"$ref": "#/components/responses/ObjectResult",
"description": "通用对象响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/notifications": {
"get": {
"summary": "PC 消息通知列表",
"deprecated": false,
"description": "",
"tags": [
"消息通知"
],
"parameters": [
{
"name": "readStatus",
"in": "query",
"description": "字典 gen_notification_read_status0=未读,1=已读",
"required": false,
"schema": {
"type": "string",
"enum": [
"0",
"1"
],
"x-dict-type": "gen_notification_read_status",
"examples": [
"0"
]
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/ListResult",
"description": "通用列表响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/notifications/unread-count": {
"get": {
"summary": "PC 查询未读通知数量",
"deprecated": false,
"description": "",
"tags": [
"消息通知"
],
"parameters": [
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/LongResult",
"description": "长整型数据响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/notifications/{notificationId}/read": {
"post": {
"summary": "PC 标记通知已读",
"deprecated": false,
"description": "",
"tags": [
"消息通知"
],
"parameters": [
{
"name": "notificationId",
"in": "path",
"description": "通知ID",
"required": true,
"example": "",
"schema": {
"type": "integer",
"format": "int64"
}
},
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/VoidResult",
"description": "通用成功响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
},
"/genealogy/pc/notifications/read-all": {
"post": {
"summary": "PC 全部标记已读",
"deprecated": false,
"description": "",
"tags": [
"消息通知"
],
"parameters": [
{
"name": "clientid",
"in": "header",
"description": "PC 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 web_pc 并与 PC 路由一致。",
"required": true,
"example": "ced7e5f0498645c6ec642dcf450b036f",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"$ref": "#/components/responses/VoidResult",
"description": "通用成功响应"
}
},
"security": [
{
"SaToken1": []
}
]
}
}
},
"webhooks": {},
"components": {
"schemas": {
"CeremonyInviteesBody": {
"type": "object",
"required": [
"inviteeUserIds"
],
"properties": {
"inviteeUserIds": {
"description": "完整受邀业务用户ID列表;空数组表示取消全部尚未响应的邀请",
"type": "array",
"uniqueItems": true,
"items": {
"type": "integer",
"format": "int64"
}
}
},
"examples": [
{
"inviteeUserIds": [
900000001,
900000002
]
}
]
},
"CeremonyInvitationResponseBody": {
"type": "object",
"required": [
"inviteStatus"
],
"properties": {
"inviteStatus": {
"description": "当前用户的邀约响应,只允许接受或拒绝",
"type": "string",
"enum": [
"ACCEPTED",
"DECLINED"
]
}
},
"examples": [
{
"inviteStatus": "ACCEPTED"
}
]
},
"GrowthRecordBody": {
"type": "object",
"required": [
"recordTitle"
],
"properties": {
"lineagePersonId": {
"description": "绑定的世系人物ID",
"type": "integer",
"format": "int64"
},
"recordType": {
"description": "记录类型",
"type": "string"
},
"recordTitle": {
"description": "记录标题",
"type": "string"
},
"recordContent": {
"description": "记录内容",
"type": "string"
},
"recordDate": {
"description": "记录日期",
"type": "string"
},
"remindTime": {
"description": "提醒时间",
"type": "string"
},
"mediaOssIds": {
"description": "多个正整数 OSS ID 使用英文逗号分隔",
"type": "string",
"pattern": "^$|^[1-9][0-9]*(,[1-9][0-9]*)*$"
},
"sortOrder": {
"description": "排序值",
"type": "integer",
"format": "int64"
},
"status": {
"description": "字典 sys_normal_disable0=正常,1=停用",
"type": "string",
"enum": [
"0",
"1"
],
"x-dict-type": "sys_normal_disable",
"examples": [
"0"
]
}
}
},
"RelativeRecordBody": {
"type": "object",
"required": [
"relativeName"
],
"properties": {
"relativeName": {
"description": "亲友姓名",
"type": "string"
},
"relationName": {
"description": "关系名称",
"type": "string"
},
"eventName": {
"description": "事件名称",
"type": "string"
},
"eventTime": {
"description": "事件时间",
"type": "string"
},
"giftAmount": {
"description": "礼金金额",
"type": "number"
},
"recordContent": {
"description": "记录内容",
"type": "string"
},
"mediaOssIds": {
"description": "多个正整数 OSS ID 使用英文逗号分隔",
"type": "string",
"pattern": "^$|^[1-9][0-9]*(,[1-9][0-9]*)*$"
},
"sortOrder": {
"description": "排序值",
"type": "integer",
"format": "int64"
},
"status": {
"description": "字典 sys_normal_disable0=正常,1=停用",
"type": "string",
"enum": [
"0",
"1"
],
"x-dict-type": "sys_normal_disable",
"examples": [
"0"
]
}
}
},
"MemoBody": {
"type": "object",
"required": [
"memoTitle"
],
"properties": {
"memoTitle": {
"description": "备忘标题",
"type": "string"
},
"memoContent": {
"description": "备忘内容",
"type": "string"
},
"remindTime": {
"description": "提醒时间",
"type": "string"
},
"completed": {
"description": "是否已完成",
"type": "string"
},
"mediaOssIds": {
"description": "多个正整数 OSS ID 使用英文逗号分隔",
"type": "string",
"pattern": "^$|^[1-9][0-9]*(,[1-9][0-9]*)*$"
},
"sortOrder": {
"description": "排序值",
"type": "integer",
"format": "int64"
},
"status": {
"description": "字典 sys_normal_disable0=正常,1=停用",
"type": "string",
"enum": [
"0",
"1"
],
"x-dict-type": "sys_normal_disable",
"examples": [
"0"
]
}
}
},
"RVoid": {
"type": "object",
"properties": {
"code": {
"description": "系统图形验证码或响应状态码",
"type": "integer",
"examples": [
200
]
},
"msg": {
"description": "响应消息",
"type": "string",
"examples": [
"操作成功"
]
},
"data": {
"description": "响应数据主体",
"type": "null"
}
}
},
"PasswordRegisterBody": {
"type": "object",
"additionalProperties": false,
"required": [
"grantType",
"tenantId",
"phone",
"password",
"smsCode"
],
"properties": {
"grantType": {
"description": "授权类型,例如password、sms、wechat、apple",
"type": "string",
"examples": [
"password"
]
},
"tenantId": {
"description": "租户ID,用于区分不同租户的数据和验证策略",
"type": "string",
"examples": [
"000000"
]
},
"phone": {
"description": "手机号",
"type": "string",
"examples": [
"13800000000"
]
},
"password": {
"type": "string",
"description": "32 位 MD5",
"examples": [
"e10adc3949ba59abbe56e057f20f883e"
]
},
"nickName": {
"description": "用户昵称",
"type": "string"
},
"registerSource": {
"description": "注册来源,例如APP、PC、H5、MINI_PROGRAM",
"type": "string"
},
"smsCode": {
"description": "4 位短信验证码",
"type": "string",
"pattern": "^\\d{4}$",
"examples": [
"1234"
]
}
}
},
"PasswordLoginBody": {
"description": "PC 用户密码登录请求;验证场景由后端按 PC_PASSWORD_LOGIN 路由的当前激活绑定解析,前端不得提交 sceneCode;validToken 是否需要由解析后场景的策略决定。",
"type": "object",
"additionalProperties": false,
"required": [
"grantType",
"tenantId",
"phone",
"password"
],
"properties": {
"grantType": {
"description": "授权类型,例如password、sms、wechat、apple",
"type": "string",
"examples": [
"password"
]
},
"tenantId": {
"description": "租户ID,用于区分不同租户的数据和验证策略",
"type": "string",
"examples": [
"000000"
]
},
"phone": {
"description": "登录手机号,也是行为验证票据绑定的验证主体。",
"type": "string",
"examples": [
"13800000000"
]
},
"password": {
"type": "string",
"description": "32 位 MD5",
"examples": [
"e10adc3949ba59abbe56e057f20f883e"
]
},
"validToken": {
"description": "验证中心通过后返回的一次性票据;后台验证策略关闭时可为空,开启时必须提交。",
"type": "string"
}
}
},
"SmsLoginBody": {
"type": "object",
"additionalProperties": false,
"required": [
"grantType",
"tenantId",
"phone",
"smsCode"
],
"properties": {
"grantType": {
"description": "授权类型,例如password、sms、wechat、apple",
"type": "string",
"examples": [
"sms"
]
},
"tenantId": {
"description": "租户ID,用于区分不同租户的数据和验证策略",
"type": "string",
"examples": [
"000000"
]
},
"phone": {
"description": "手机号",
"type": "string",
"examples": [
"13800000000"
]
},
"smsCode": {
"description": "4 位短信验证码",
"type": "string",
"pattern": "^\\d{4}$",
"examples": [
"1234"
]
}
}
},
"SmsCodeBody": {
"type": "object",
"additionalProperties": false,
"required": [
"grantType",
"tenantId",
"phone"
],
"properties": {
"grantType": {
"description": "授权类型,例如password、sms、wechat、apple",
"type": "string",
"examples": [
"sms"
]
},
"tenantId": {
"description": "租户ID,用于区分不同租户的数据和验证策略",
"type": "string",
"examples": [
"000000"
]
},
"phone": {
"description": "手机号",
"type": "string",
"examples": [
"13800000000"
]
},
"validToken": {
"description": "验证中心通过后返回的票据,仅用于发送短信验证码;后台验证策略关闭时可为空,开启时必填。",
"type": "string"
}
}
},
"ProfileUpdateBody": {
"type": "object",
"additionalProperties": false,
"properties": {
"nickName": {
"description": "用户昵称",
"type": "string",
"maxLength": 30
},
"realName": {
"description": "真实姓名",
"type": "string",
"maxLength": 30
},
"avatar": {
"description": "头像文件OSS ID",
"type": "integer",
"format": "int64"
},
"sex": {
"description": "字典 sys_user_sex0=男,1=女,2=未知",
"type": "string",
"enum": [
"0",
"1",
"2"
],
"x-dict-type": "sys_user_sex",
"examples": [
"2"
]
},
"birthday": {
"description": "生日,格式 yyyy-MM-dd",
"type": "string",
"format": "date"
},
"email": {
"description": "邮箱",
"type": "string",
"format": "email",
"maxLength": 100
}
}
},
"PasswordChangeBody": {
"type": "object",
"required": [
"oldPassword",
"newPassword"
],
"properties": {
"oldPassword": {
"type": "string",
"description": "32 位 MD5"
},
"newPassword": {
"type": "string",
"description": "32 位 MD5"
}
}
},
"PasswordResetBody": {
"type": "object",
"additionalProperties": false,
"required": [
"grantType",
"tenantId",
"phone",
"smsCode",
"newPassword"
],
"properties": {
"grantType": {
"description": "授权类型",
"type": "string",
"examples": [
"password"
]
},
"tenantId": {
"description": "租户ID,用于区分不同租户的数据和验证策略",
"type": "string",
"examples": [
"000000"
]
},
"phone": {
"description": "手机号",
"type": "string"
},
"smsCode": {
"description": "4 位短信验证码",
"type": "string",
"pattern": "^\\d{4}$",
"examples": [
"1234"
]
},
"newPassword": {
"type": "string",
"description": "32 位 MD5"
}
}
},
"PhoneChangeBody": {
"type": "object",
"additionalProperties": false,
"required": [
"phone",
"smsCode"
],
"properties": {
"phone": {
"description": "新手机号",
"type": "string"
},
"smsCode": {
"description": "4 位短信验证码",
"type": "string",
"pattern": "^\\d{4}$",
"examples": [
"1234"
]
}
}
},
"AccountDeactivateBody": {
"type": "object",
"additionalProperties": false,
"required": [
"smsCode"
],
"properties": {
"smsCode": {
"description": "4 位短信验证码",
"type": "string",
"pattern": "^\\d{4}$",
"examples": [
"1234"
]
}
}
},
"ResumableInitBody": {
"type": "object",
"additionalProperties": false,
"required": [
"uploadId",
"fileName",
"fileMd5",
"totalSize",
"totalChunks",
"chunkSize"
],
"properties": {
"uploadId": {
"description": "客户端生成并在整个上传过程保持不变的上传任务ID",
"type": "string"
},
"fileName": {
"description": "原始文件名",
"type": "string"
},
"fileMd5": {
"description": "完整文件MD5,用于秒传和完整性校验",
"type": "string",
"pattern": "^[a-fA-F0-9]{32}$"
},
"totalSize": {
"description": "完整文件大小,单位字节",
"type": "integer",
"format": "int64",
"minimum": 1
},
"totalChunks": {
"description": "总分片数",
"type": "integer",
"minimum": 1
},
"chunkSize": {
"description": "单个分片大小,单位字节;除最后一片外每片必须严格等于该值",
"type": "integer",
"format": "int64",
"minimum": 1,
"examples": [
4194304
]
},
"contentType": {
"description": "文件MIME类型,例如 image/jpeg、video/mp4",
"type": "string"
}
}
},
"ResumableCompleteBody": {
"type": "object",
"additionalProperties": false,
"required": [
"uploadId",
"fileName",
"fileMd5",
"totalSize",
"totalChunks"
],
"properties": {
"uploadId": {
"description": "分片上传任务ID",
"type": "string"
},
"fileName": {
"description": "原始文件名,必须与初始化请求一致",
"type": "string"
},
"fileMd5": {
"description": "完整文件MD5,用于秒传和完整性校验",
"type": "string",
"pattern": "^[a-fA-F0-9]{32}$"
},
"totalSize": {
"description": "完整文件大小,单位字节",
"type": "integer",
"format": "int64",
"minimum": 1
},
"totalChunks": {
"description": "总分片数,必须与初始化请求一致",
"type": "integer",
"minimum": 1
}
}
},
"GenerationPoemBatchBody": {
"type": "object",
"required": [
"poemText"
],
"properties": {
"poemText": {
"description": "字辈文本。无分隔符时按单个字拆分;可用空格、逗号、分号、顿号、斜杠或竖线分隔多个字辈。单个字辈最多50个字符,一次最多500个世代。",
"type": "string",
"maxLength": 26000,
"examples": [
"德承家亦\n忠厚传芳"
]
},
"disableMissing": {
"description": "保存时是否停用未出现在新文本中的后续世代;不会删除历史记录。",
"type": "boolean",
"examples": [
false
]
}
}
},
"GenerationPoemBody": {
"type": "object",
"required": [
"generationNo",
"generationText"
],
"properties": {
"generationNo": {
"description": "世代序号",
"type": "integer",
"format": "int64",
"minimum": 1,
"maximum": 2147483647
},
"generationText": {
"description": "当前世代的字辈文字,最长50个字符",
"type": "string",
"maxLength": 50
},
"description": {
"description": "字辈说明,最长500个字符",
"type": "string",
"maxLength": 500
},
"sortOrder": {
"description": "排序值,数值越小越靠前",
"type": "integer",
"format": "int64",
"minimum": -2147483648,
"maximum": 2147483647
},
"status": {
"description": "字典 sys_normal_disable0=正常,1=停用",
"type": "string",
"enum": [
"0",
"1"
],
"x-dict-type": "sys_normal_disable",
"examples": [
"0"
]
}
}
},
"LineagePersonBody": {
"type": "object",
"additionalProperties": false,
"required": [
"bindingMode",
"name"
],
"properties": {
"bindingMode": {
"description": "账号绑定方式:NONE=不绑定账号;SELF=绑定当前登录业务用户;SPECIFIED=由有管理权限的操作者指定 appUserId",
"type": "string",
"enum": [
"NONE",
"SELF",
"SPECIFIED"
],
"examples": [
"NONE"
]
},
"appUserId": {
"description": "仅 bindingMode=SPECIFIED 时必填;NONE/SELF 时必须不传。指定用户必须属于当前租户、状态正常,且未绑定当前家谱的其他有效世系人物",
"type": "integer",
"format": "int64"
},
"personNo": {
"description": "人物编号;不传时由服务端生成",
"type": "string"
},
"name": {
"description": "姓名",
"type": "string"
},
"aliasName": {
"description": "别名或曾用名",
"type": "string"
},
"sex": {
"description": "字典 sys_user_sex0=男,1=女,2=未知",
"type": "string",
"enum": [
"0",
"1",
"2"
],
"x-dict-type": "sys_user_sex",
"examples": [
"0"
]
},
"generation": {
"description": "世代序号",
"type": "integer",
"format": "int64"
},
"generationName": {
"description": "字辈或辈分",
"type": "string"
},
"fatherId": {
"description": "父亲人物ID,必须属于当前家谱",
"type": "integer",
"format": "int64"
},
"motherId": {
"description": "母亲人物ID,必须属于当前家谱",
"type": "integer",
"format": "int64"
},
"avatarOssId": {
"description": "头像文件OSS ID;用户界面应通过统一上传组件获得,不允许手工录入",
"type": [
"string",
"null"
],
"pattern": "^[1-9][0-9]*$"
},
"birthDate": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"birthLunar": {
"description": "字典 gen_number_yes_no0=否,1=是",
"type": "string",
"enum": [
"0",
"1"
],
"x-dict-type": "gen_number_yes_no",
"examples": [
"0"
]
},
"birthPlace": {
"description": "出生地",
"type": "string"
},
"deathDate": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"deathLunar": {
"description": "字典 gen_number_yes_no0=否,1=是",
"type": "string",
"enum": [
"0",
"1"
],
"x-dict-type": "gen_number_yes_no",
"examples": [
"0"
]
},
"deathPlace": {
"description": "逝世地",
"type": "string"
},
"burialPlace": {
"description": "安葬地",
"type": "string"
},
"personStatus": {
"description": "字典 gen_lineage_person_status0=健在,1=已故,2=未知",
"type": "string",
"enum": [
"0",
"1",
"2"
],
"x-dict-type": "gen_lineage_person_status",
"examples": [
"0"
]
},
"biography": {
"description": "人物简介",
"type": "string"
},
"sortOrder": {
"description": "排序值,数值越小越靠前",
"type": "integer",
"format": "int64"
},
"remark": {
"description": "备注",
"type": "string"
},
"relationName": {
"description": "通过添加配偶快捷接口提交时使用的关系显示名称",
"type": "string"
}
}
},
"FamilyFeedBody": {
"type": "object",
"required": [
"feedContent"
],
"properties": {
"feedType": {
"description": "动态类型,未传时默认为 text",
"type": "string",
"examples": [
"text"
]
},
"feedContent": {
"description": "动态内容,不能为空",
"type": "string",
"examples": [
"今天上传一张老照片。"
]
},
"mediaOssIds": {
"description": "媒体文件 OSS ID 列表,多个 ID 使用英文逗号分隔",
"type": "string",
"examples": [
"2060000000000000001,2060000000000000002"
]
},
"sortOrder": {
"description": "排序值,未传时默认为 0",
"type": "integer",
"format": "int64",
"examples": [
0
]
},
"status": {
"description": "字典 sys_normal_disable0=正常,1=停用;未传时默认为0",
"type": "string",
"enum": [
"0",
"1"
],
"x-dict-type": "sys_normal_disable",
"examples": [
"0"
]
}
}
},
"FamilyFeedCommentBody": {
"type": "object",
"required": [
"commentContent"
],
"properties": {
"parentCommentId": {
"description": "父评论 ID;不传或传 null 表示发布一级评论",
"type": [
"integer",
"null"
],
"format": "int64"
},
"commentContent": {
"description": "评论内容,最多 1000 个字符",
"type": "string"
}
}
},
"VerificationChallengeBody": {
"type": "object",
"additionalProperties": false,
"required": [
"tenantId",
"subject"
],
"properties": {
"tenantId": {
"type": "string",
"description": "租户 ID"
},
"subject": {
"type": "string",
"description": "验证主体,如手机号/用户名/IP"
}
},
"examples": [
{
"tenantId": "000000",
"subject": "13800000000"
}
]
},
"VerificationCheckBody": {
"type": "object",
"additionalProperties": false,
"required": [
"tenantId",
"subject",
"challengeId"
],
"properties": {
"tenantId": {
"description": "租户ID,用于区分不同租户的数据和验证策略",
"type": "string"
},
"subject": {
"description": "验证主体,通常为手机号、用户ID或登录账号",
"type": "string"
},
"challengeId": {
"description": "验证挑战ID,由验证挑战接口返回",
"type": "string"
},
"providerCode": {
"type": "string",
"description": "验证服务,tianai 或 ruoyi_image"
},
"captchaType": {
"type": "string",
"description": "SLIDER/ROTATE/CONCAT/WORD_IMAGE_CLICK/math/char"
},
"payload": {
"description": "验证结果载荷。天爱行为验证码提交 payload.track;系统图形验证码提交 payload.uuid 和 payload.code",
"oneOf": [
{
"$ref": "#/components/schemas/TianaiVerificationPayload"
},
{
"$ref": "#/components/schemas/SystemImageVerificationPayload"
}
]
}
}
},
"TianaiVerificationPayload": {
"type": "object",
"description": "将天爱 1.5.5 前端验证回调中的 data 原样放入 track;回调 id 不放入 payload,挑战标识统一提交顶层 challengeId",
"required": [
"track"
],
"properties": {
"track": {
"$ref": "#/components/schemas/TianaiCaptchaTrack"
}
}
},
"TianaiCaptchaTrack": {
"type": "object",
"required": [
"bgImageWidth",
"bgImageHeight",
"startTime",
"stopTime",
"trackList"
],
"properties": {
"bgImageWidth": {
"type": "integer",
"description": "验证码背景图片在前端实际显示的宽度,单位像素"
},
"bgImageHeight": {
"type": "integer",
"description": "验证码背景图片在前端实际显示的高度,单位像素"
},
"templateImageWidth": {
"type": "integer",
"description": "滑块或旋转模板图片在前端实际显示的宽度,单位像素"
},
"templateImageHeight": {
"type": "integer",
"description": "滑块或旋转模板图片在前端实际显示的高度,单位像素"
},
"startTime": {
"type": "integer",
"format": "int64",
"description": "用户开始操作的时间戳,单位毫秒"
},
"stopTime": {
"type": "integer",
"format": "int64",
"description": "用户结束操作的时间戳,单位毫秒"
},
"left": {
"type": "integer",
"description": "滑块最终水平偏移量,单位像素;由天爱前端控件生成"
},
"top": {
"type": "integer",
"description": "点选或模板最终垂直偏移量,单位像素;由天爱前端控件生成"
},
"trackList": {
"type": "array",
"minItems": 1,
"description": "用户操作轨迹,不能为空,必须直接使用天爱前端控件产生的数据",
"items": {
"$ref": "#/components/schemas/TianaiCaptchaTrackPoint"
}
},
"data": {
"type": [
"object",
"null"
],
"additionalProperties": true,
"description": "不同验证码类型附带的扩展数据,由天爱前端控件原样提交",
"properties": {}
}
}
},
"TianaiCaptchaTrackPoint": {
"type": "object",
"required": [
"x",
"y",
"t",
"type"
],
"properties": {
"x": {
"type": "number",
"format": "float",
"description": "当前轨迹点的水平坐标"
},
"y": {
"type": "number",
"format": "float",
"description": "当前轨迹点的垂直坐标"
},
"t": {
"type": "number",
"format": "float",
"description": "当前轨迹点相对操作开始时的时间,单位毫秒"
},
"type": {
"type": "string",
"description": "轨迹事件类型,例如 down、move、up"
}
}
},
"SystemImageVerificationPayload": {
"type": "object",
"required": [
"uuid",
"code"
],
"properties": {
"uuid": {
"type": "string",
"description": "系统图形验证码接口返回的唯一标识"
},
"code": {
"type": "string",
"description": "用户填写的图形验证码答案"
}
}
},
"MeritRecordBody": {
"type": "object",
"additionalProperties": false,
"required": [
"donorName",
"meritTitle"
],
"properties": {
"donorName": {
"description": "功德人姓名",
"type": "string"
},
"meritType": {
"description": "字典 gen_merit_typedonation=捐赠,repair=修祠,public=公益,other=其他",
"type": "string",
"enum": [
"donation",
"repair",
"public",
"other"
],
"x-dict-type": "gen_merit_type",
"examples": [
"donation"
]
},
"meritTitle": {
"description": "功德标题",
"type": "string"
},
"meritContent": {
"description": "功德内容",
"type": "string"
},
"amount": {
"description": "金额",
"type": "number"
},
"meritTime": {
"description": "功德时间",
"type": "string",
"format": "date-time"
},
"sortOrder": {
"description": "排序值",
"type": "integer",
"format": "int64"
},
"status": {
"description": "字典 sys_normal_disable0=正常,1=停用",
"type": "string",
"enum": [
"0",
"1"
],
"x-dict-type": "sys_normal_disable",
"examples": [
"0"
]
}
}
},
"VideoBody": {
"type": "object",
"additionalProperties": false,
"required": [
"videoTitle",
"videoOssId"
],
"properties": {
"videoTitle": {
"description": "视频标题",
"type": "string"
},
"videoDesc": {
"description": "视频说明",
"type": "string"
},
"coverOssId": {
"description": "封面图片OSS ID,由统一上传接口返回",
"type": "string",
"pattern": "^[1-9][0-9]*$"
},
"videoOssId": {
"description": "视频文件OSS ID,由统一上传接口返回",
"type": "string",
"pattern": "^[1-9][0-9]*$"
},
"durationSeconds": {
"description": "视频时长,单位秒",
"type": "integer",
"format": "int64"
},
"sortOrder": {
"description": "排序值",
"type": "integer",
"format": "int64"
},
"status": {
"description": "字典 sys_normal_disable0=正常,1=停用",
"type": "string",
"enum": [
"0",
"1"
],
"x-dict-type": "sys_normal_disable",
"examples": [
"0"
]
}
}
},
"RObject": {
"type": "object",
"properties": {
"code": {
"description": "系统图形验证码或响应状态码",
"type": "integer",
"examples": [
200
]
},
"msg": {
"description": "响应消息",
"type": "string",
"examples": [
"操作成功"
]
},
"data": {
"description": "响应数据主体",
"type": "object",
"additionalProperties": true,
"properties": {}
}
}
},
"RGenealogyQuota": {
"type": "object",
"properties": {
"code": {
"description": "响应状态码",
"type": "integer",
"examples": [
200
]
},
"msg": {
"description": "响应消息",
"type": "string",
"examples": [
"操作成功"
]
},
"data": {
"$ref": "#/components/schemas/GenealogyQuota"
}
}
},
"GenealogyQuota": {
"type": "object",
"required": [
"createUsed",
"createLimit",
"createRemaining",
"canCreate",
"joinUsed",
"joinLimit",
"joinRemaining",
"canJoin"
],
"properties": {
"createUsed": {
"description": "当前用户已创建的家谱数量",
"type": "integer",
"format": "int64",
"minimum": 0,
"examples": [
1
]
},
"createLimit": {
"description": "每用户可创建家谱上限,-1 表示不限,0 表示禁止,正数表示上限",
"type": "integer",
"format": "int64",
"minimum": -1,
"examples": [
3
]
},
"createRemaining": {
"description": "还可创建的家谱数量,-1 表示不限",
"type": "integer",
"format": "int64",
"minimum": -1,
"examples": [
2
]
},
"canCreate": {
"description": "当前用户是否还能创建家谱",
"type": "boolean",
"examples": [
true
]
},
"joinUsed": {
"description": "已加入的家谱总数,包含自己创建的家谱",
"type": "integer",
"format": "int64",
"minimum": 0,
"examples": [
2
]
},
"joinLimit": {
"description": "每用户可加入家谱总数上限,-1 表示不限,0 表示禁止,正数表示上限",
"type": "integer",
"format": "int64",
"minimum": -1,
"examples": [
10
]
},
"joinRemaining": {
"description": "还可加入的家谱数量,-1 表示不限",
"type": "integer",
"format": "int64",
"minimum": -1,
"examples": [
8
]
},
"canJoin": {
"description": "当前用户是否还能加入其他家谱",
"type": "boolean",
"examples": [
true
]
}
}
},
"RLong": {
"type": "object",
"properties": {
"code": {
"description": "响应状态码",
"type": "integer",
"examples": [
200
]
},
"msg": {
"description": "响应消息",
"type": "string",
"examples": [
"操作成功"
]
},
"data": {
"description": "当前业务用户未读通知数量",
"type": "integer",
"format": "int64",
"examples": [
3
]
}
}
},
"RList": {
"type": "object",
"properties": {
"code": {
"description": "系统图形验证码或响应状态码",
"type": "integer",
"examples": [
200
]
},
"msg": {
"description": "响应消息",
"type": "string",
"examples": [
"操作成功"
]
},
"data": {
"description": "响应数据主体",
"type": "array",
"items": {
"type": "object",
"additionalProperties": true,
"properties": {}
}
}
}
},
"RCeremonyInvitation": {
"type": "object",
"properties": {
"code": {
"description": "响应状态码",
"type": "integer",
"examples": [
200
]
},
"msg": {
"description": "响应消息",
"type": "string",
"examples": [
"操作成功"
]
},
"data": {
"$ref": "#/components/schemas/CeremonyInvitationVo"
}
}
},
"CeremonyInvitationVo": {
"type": "object",
"properties": {
"invitationId": {
"description": "邀约ID",
"type": "integer",
"format": "int64"
},
"genealogyId": {
"description": "家谱ID",
"type": "integer",
"format": "int64"
},
"ceremonyId": {
"description": "贺礼活动ID",
"type": "integer",
"format": "int64"
},
"inviteeUserId": {
"description": "受邀业务用户ID",
"type": "integer",
"format": "int64"
},
"inviteStatus": {
"description": "邀约状态",
"type": "string",
"enum": [
"PENDING",
"ACCEPTED",
"DECLINED",
"CANCELED"
]
},
"inviteVersion": {
"description": "邀请版本,取消后重新邀请时递增",
"type": "integer"
},
"deliveredTime": {
"description": "邀请投递时间",
"type": "string",
"format": "date-time"
},
"readTime": {
"description": "邀请阅读时间",
"type": "string",
"format": "date-time"
},
"responseTime": {
"description": "接受或拒绝时间",
"type": "string",
"format": "date-time"
},
"ceremonyTitle": {
"description": "贺礼活动标题",
"type": "string"
},
"ceremonyTime": {
"description": "贺礼活动时间",
"type": "string",
"format": "date-time"
},
"location": {
"description": "地点名称",
"type": "string"
},
"locationAddress": {
"description": "详细地址",
"type": "string"
},
"longitude": {
"description": "经度",
"type": "number"
},
"latitude": {
"description": "纬度",
"type": "number"
}
}
},
"RCeremonyInvitationList": {
"type": "object",
"properties": {
"code": {
"description": "响应状态码",
"type": "integer",
"examples": [
200
]
},
"msg": {
"description": "响应消息",
"type": "string",
"examples": [
"操作成功"
]
},
"data": {
"description": "贺礼邀约列表",
"type": "array",
"items": {
"$ref": "#/components/schemas/CeremonyInvitationVo"
}
}
}
},
"RGenerationPoem": {
"type": "object",
"properties": {
"code": {
"description": "响应状态码",
"type": "integer",
"examples": [
200
]
},
"msg": {
"description": "响应消息",
"type": "string"
},
"data": {
"$ref": "#/components/schemas/GenerationPoemView"
}
}
},
"GenerationPoemView": {
"type": "object",
"properties": {
"poemId": {
"description": "字辈记录ID",
"type": "integer",
"format": "int64"
},
"genealogyId": {
"description": "所属家谱ID",
"type": "integer",
"format": "int64"
},
"genealogyNo": {
"description": "家谱编号",
"type": "string"
},
"genealogyName": {
"description": "家谱名称",
"type": "string"
},
"generationNo": {
"description": "世代序号",
"type": "integer",
"format": "int64"
},
"generationText": {
"description": "字辈文字",
"type": "string"
},
"description": {
"description": "字辈说明",
"type": "string"
},
"sortOrder": {
"description": "排序值,数值越小越靠前",
"type": "integer",
"format": "int64"
},
"status": {
"description": "字典 sys_normal_disable0=正常,1=停用",
"type": "string",
"enum": [
"0",
"1"
],
"x-dict-type": "sys_normal_disable",
"examples": [
"0"
]
}
}
},
"RGenerationPoemList": {
"type": "object",
"properties": {
"code": {
"description": "响应状态码",
"type": "integer",
"examples": [
200
]
},
"msg": {
"description": "响应消息",
"type": "string"
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GenerationPoemView"
}
}
}
},
"RGenerationPoemBatchPreview": {
"type": "object",
"properties": {
"code": {
"description": "响应状态码",
"type": "integer",
"examples": [
200
]
},
"msg": {
"description": "响应消息",
"type": "string"
},
"data": {
"$ref": "#/components/schemas/GenerationPoemBatchPreviewView"
}
}
},
"GenerationPoemBatchPreviewView": {
"type": "object",
"properties": {
"genealogyId": {
"description": "所属家谱ID",
"type": "integer",
"format": "int64"
},
"genealogyNo": {
"description": "家谱编号",
"type": "string"
},
"genealogyName": {
"description": "家谱名称",
"type": "string"
},
"createCount": {
"description": "将新增的字辈数量",
"type": "integer"
},
"updateCount": {
"description": "将修改或恢复的字辈数量",
"type": "integer"
},
"keepCount": {
"description": "保持不变的字辈数量",
"type": "integer"
},
"disableCount": {
"description": "将停用的字辈数量",
"type": "integer"
},
"items": {
"description": "按世代排序的逐项变更预览",
"type": "array",
"items": {
"$ref": "#/components/schemas/GenerationPoemBatchItemView"
}
}
}
},
"GenerationPoemBatchItemView": {
"type": "object",
"properties": {
"poemId": {
"description": "现有字辈记录ID;新增时为空",
"type": "integer",
"format": "int64"
},
"generationNo": {
"description": "世代序号",
"type": "integer",
"format": "int64"
},
"oldGenerationText": {
"description": "保存前字辈文字",
"type": "string"
},
"newGenerationText": {
"description": "保存后字辈文字",
"type": "string"
},
"oldStatus": {
"description": "保存前状态",
"type": "string"
},
"newStatus": {
"description": "保存后状态",
"type": "string"
},
"action": {
"description": "预览动作,create、update、keep 或 disable",
"type": "string"
},
"warning": {
"description": "需要用户确认的变更提示",
"type": "string"
}
}
},
"RLineagePerson": {
"type": "object",
"properties": {
"code": {
"description": "响应状态码",
"type": "integer",
"examples": [
200
]
},
"msg": {
"description": "响应消息",
"type": "string",
"examples": [
"操作成功"
]
},
"data": {
"$ref": "#/components/schemas/LineagePersonView"
}
}
},
"LineagePersonView": {
"type": "object",
"properties": {
"personId": {
"description": "人物ID",
"type": "integer",
"format": "int64"
},
"genealogyId": {
"description": "家谱ID",
"type": "integer",
"format": "int64"
},
"genealogyName": {
"description": "家谱名称",
"type": "string"
},
"genealogyNo": {
"description": "家谱编号",
"type": "string"
},
"appUserId": {
"description": "绑定业务用户ID",
"type": [
"integer",
"null"
],
"format": "int64"
},
"appUserNickName": {
"description": "绑定业务用户昵称",
"type": "string"
},
"personNo": {
"description": "人物编号",
"type": "string"
},
"name": {
"description": "姓名",
"type": "string"
},
"aliasName": {
"description": "别名或曾用名",
"type": "string"
},
"sex": {
"description": "字典 sys_user_sex0=男,1=女,2=未知",
"type": "string",
"enum": [
"0",
"1",
"2"
],
"x-dict-type": "sys_user_sex",
"examples": [
"2"
]
},
"generation": {
"description": "世代序号",
"type": "integer",
"format": "int64"
},
"generationName": {
"description": "字辈或辈分",
"type": "string"
},
"fatherId": {
"description": "父亲人物ID",
"type": [
"integer",
"null"
],
"format": "int64"
},
"fatherName": {
"description": "父亲姓名",
"type": "string"
},
"motherId": {
"description": "母亲人物ID",
"type": [
"integer",
"null"
],
"format": "int64"
},
"motherName": {
"description": "母亲姓名",
"type": "string"
},
"spouseNames": {
"description": "配偶姓名,多个使用顿号分隔",
"type": "string"
},
"avatarOssId": {
"description": "头像文件OSS ID",
"type": [
"string",
"null"
],
"pattern": "^[1-9][0-9]*$"
},
"birthDate": {
"description": "出生日期",
"type": [
"string",
"null"
],
"format": "date-time"
},
"birthLunar": {
"description": "字典 gen_number_yes_no0=否,1=是",
"type": "string",
"enum": [
"0",
"1"
],
"x-dict-type": "gen_number_yes_no",
"examples": [
"0"
]
},
"birthPlace": {
"description": "出生地",
"type": "string"
},
"deathDate": {
"description": "逝世日期",
"type": [
"string",
"null"
],
"format": "date-time"
},
"deathLunar": {
"description": "字典 gen_number_yes_no0=否,1=是",
"type": "string",
"enum": [
"0",
"1"
],
"x-dict-type": "gen_number_yes_no",
"examples": [
"0"
]
},
"deathPlace": {
"description": "逝世地",
"type": "string"
},
"burialPlace": {
"description": "安葬地",
"type": "string"
},
"personStatus": {
"description": "字典 gen_lineage_person_status0=健在,1=已故,2=未知",
"type": "string",
"enum": [
"0",
"1",
"2"
],
"x-dict-type": "gen_lineage_person_status",
"examples": [
"0"
]
},
"biography": {
"description": "人物简介",
"type": "string"
},
"sortOrder": {
"description": "排序值",
"type": "integer",
"format": "int64"
},
"status": {
"description": "字典 sys_normal_disable0=正常,1=停用",
"type": "string",
"enum": [
"0",
"1"
],
"x-dict-type": "sys_normal_disable",
"examples": [
"0"
]
},
"remark": {
"description": "备注",
"type": "string"
}
}
},
"RLineagePersonList": {
"type": "object",
"properties": {
"code": {
"description": "响应状态码",
"type": "integer",
"examples": [
200
]
},
"msg": {
"description": "响应消息",
"type": "string",
"examples": [
"操作成功"
]
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LineagePersonView"
}
}
}
},
"RLineagePersonTreeList": {
"type": "object",
"properties": {
"code": {
"description": "响应状态码",
"type": "integer",
"examples": [
200
]
},
"msg": {
"description": "响应消息",
"type": "string",
"examples": [
"操作成功"
]
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/LineagePersonTreeView"
}
}
}
},
"LineagePersonTreeView": {
"allOf": [
{
"$ref": "#/components/schemas/LineagePersonView"
},
{
"type": "object",
"properties": {
"relationType": {
"description": "字典 gen_lineage_relation_typefather=父亲,mother=母亲,spouse=配偶,child=子女,adoptive=收养",
"type": "string",
"enum": [
"father",
"mother",
"spouse",
"child",
"adoptive"
],
"x-dict-type": "gen_lineage_relation_type",
"examples": [
"spouse"
]
},
"relationName": {
"description": "关系显示名称",
"type": "string"
},
"spouses": {
"description": "配偶节点",
"type": "array",
"items": {
"$ref": "#/components/schemas/LineagePersonTreeView"
}
},
"children": {
"description": "子女节点",
"type": "array",
"items": {
"$ref": "#/components/schemas/LineagePersonTreeView"
}
}
}
}
]
},
"LineagePersonPageResult": {
"type": "object",
"properties": {
"code": {
"description": "响应状态码",
"type": "integer",
"examples": [
200
]
},
"msg": {
"description": "响应消息",
"type": "string",
"examples": [
"操作成功"
]
},
"rows": {
"description": "当前页世系人物",
"type": "array",
"items": {
"$ref": "#/components/schemas/LineagePersonView"
}
},
"total": {
"description": "总记录数",
"type": "integer",
"format": "int64",
"examples": [
0
]
}
}
},
"RLogin": {
"type": "object",
"properties": {
"code": {
"description": "系统图形验证码或响应状态码",
"type": "integer",
"examples": [
200
]
},
"msg": {
"description": "响应消息",
"type": "string",
"examples": [
"操作成功"
]
},
"data": {
"description": "响应数据主体",
"$ref": "#/components/schemas/LoginVo"
}
}
},
"LoginVo": {
"type": "object",
"properties": {
"token": {
"type": "string"
},
"accessToken": {
"type": "string"
},
"tokenValue": {
"type": "string"
},
"userId": {
"type": "integer",
"format": "int64"
},
"tenantId": {
"description": "租户ID,用于区分不同租户的数据和验证策略",
"type": "string"
},
"clientId": {
"description": "客户端ID,对应后台客户端管理中的APP/PC/小程序等终端",
"type": "string"
},
"clientKey": {
"type": "string"
}
}
},
"RFileUpload": {
"type": "object",
"properties": {
"code": {
"description": "系统图形验证码或响应状态码",
"type": "integer",
"examples": [
200
]
},
"msg": {
"description": "响应消息",
"type": "string",
"examples": [
"操作成功"
]
},
"data": {
"description": "响应数据主体",
"$ref": "#/components/schemas/FileUploadVo"
}
}
},
"FileUploadVo": {
"type": "object",
"properties": {
"ossId": {
"description": "OSS文件ID,表单内部使用,用户侧应通过上传组件获取",
"type": "string",
"pattern": "^[1-9][0-9]*$"
},
"url": {
"type": "string"
},
"thumbnailUrl": {
"type": [
"string",
"null"
]
},
"fileName": {
"description": "原始文件名",
"type": "string"
},
"originalName": {
"type": "string"
}
}
},
"RVerificationRequire": {
"type": "object",
"properties": {
"code": {
"description": "系统图形验证码或响应状态码",
"type": "integer",
"examples": [
200
]
},
"msg": {
"description": "响应消息",
"type": "string",
"examples": [
"操作成功"
]
},
"data": {
"description": "响应数据主体",
"$ref": "#/components/schemas/VerificationRequireVo"
}
}
},
"VerificationRequireVo": {
"type": "object",
"properties": {
"required": {
"description": "当前场景是否需要验证",
"type": "boolean"
},
"providerCode": {
"description": "第三方服务商编码",
"type": "string"
},
"captchaType": {
"description": "验证码类型,例如SLIDER、ROTATE、CONCAT、WORD_IMAGE_CLICK",
"type": "string"
},
"sceneCode": {
"description": "服务端按当前业务动作和激活绑定解析出的实际验证场景编码",
"type": "string"
},
"ttlSeconds": {
"description": "验证或票据有效秒数",
"type": "integer"
}
},
"examples": [
{
"required": true,
"providerCode": "tianai",
"captchaType": "SLIDER",
"sceneCode": "PC_LOGIN_ACTIVE_SCENE",
"ttlSeconds": 300
}
]
},
"RVerificationChallenge": {
"type": "object",
"properties": {
"code": {
"description": "系统图形验证码或响应状态码",
"type": "integer",
"examples": [
200
]
},
"msg": {
"description": "响应消息",
"type": "string",
"examples": [
"操作成功"
]
},
"data": {
"description": "响应数据主体",
"$ref": "#/components/schemas/VerificationChallengeVo"
}
}
},
"VerificationChallengeVo": {
"type": "object",
"properties": {
"required": {
"description": "当前场景是否需要验证",
"type": "boolean"
},
"providerCode": {
"description": "第三方服务商编码",
"type": "string"
},
"captchaType": {
"description": "验证码类型,例如SLIDER、ROTATE、CONCAT、WORD_IMAGE_CLICK",
"type": "string"
},
"challengeId": {
"description": "验证挑战ID,由验证挑战接口返回",
"type": "string"
},
"uuid": {
"type": "string",
"description": "系统图形验证码 uuid"
},
"img": {
"type": "string",
"description": "系统图形验证码 base64 图片"
},
"payload": {
"type": "object",
"additionalProperties": true,
"description": "天爱验证码数据,包括背景图、模板图、尺寸等",
"properties": {}
},
"expireSeconds": {
"description": "验证挑战过期秒数",
"type": "integer"
}
},
"examples": [
{
"required": true,
"providerCode": "tianai",
"captchaType": "SLIDER",
"challengeId": "CAPTCHA_CHALLENGE_ID",
"payload": {
"backgroundImage": "data:image/png;base64,...",
"templateImage": "data:image/png;base64,...",
"backgroundImageWidth": 340,
"backgroundImageHeight": 180
},
"expireSeconds": 300
}
]
},
"RVerificationCheck": {
"type": "object",
"properties": {
"code": {
"description": "系统图形验证码或响应状态码",
"type": "integer",
"examples": [
200
]
},
"msg": {
"description": "响应消息",
"type": "string",
"examples": [
"操作成功"
]
},
"data": {
"description": "响应数据主体",
"$ref": "#/components/schemas/VerificationCheckVo"
}
}
},
"VerificationCheckVo": {
"type": "object",
"properties": {
"passed": {
"description": "验证是否通过",
"type": "boolean"
},
"validToken": {
"type": "string",
"description": "验证通过后交给发送短信验证码接口的票据"
},
"expireSeconds": {
"description": "验证挑战过期秒数",
"type": "integer"
},
"message": {
"description": "返回消息",
"type": "string"
}
},
"examples": [
{
"passed": true,
"validToken": "captcha-ticket",
"expireSeconds": 300,
"message": "验证通过"
}
]
},
"RFamilyFeedComment": {
"type": "object",
"properties": {
"code": {
"description": "响应状态码",
"type": "integer",
"examples": [
200
]
},
"msg": {
"description": "响应消息",
"type": "string"
},
"data": {
"$ref": "#/components/schemas/FamilyFeedCommentView"
}
}
},
"FamilyFeedCommentView": {
"type": "object",
"properties": {
"commentId": {
"description": "评论 ID",
"type": "integer",
"format": "int64"
},
"genealogyId": {
"description": "所属家谱 ID",
"type": "integer",
"format": "int64"
},
"feedId": {
"description": "所属动态 ID",
"type": "integer",
"format": "int64"
},
"parentCommentId": {
"description": "父评论 IDnull 或 0 表示一级评论",
"type": [
"integer",
"null"
],
"format": "int64"
},
"appUserId": {
"description": "评论业务用户 ID",
"type": "integer",
"format": "int64"
},
"appUserNickName": {
"description": "评论人昵称",
"type": "string"
},
"appUserAvatar": {
"description": "评论人头像文件 ID",
"type": [
"integer",
"null"
],
"format": "int64"
},
"parentAppUserId": {
"description": "被直接回复的业务用户 ID",
"type": [
"integer",
"null"
],
"format": "int64"
},
"parentAppUserNickName": {
"description": "被直接回复的用户昵称",
"type": [
"string",
"null"
]
},
"commentContent": {
"description": "评论内容;作者删除后为 null",
"type": [
"string",
"null"
]
},
"userDeleted": {
"description": "作者删除状态,0 未删除,1 已删除并保留占位",
"type": "string",
"enum": [
"0",
"1"
],
"examples": [
"0"
]
},
"replyCount": {
"description": "正常展示的直接回复数量",
"type": "integer",
"format": "int64"
},
"commentLevel": {
"description": "评论层级,root 为一级评论,reply 为回复",
"type": "string",
"enum": [
"root",
"reply"
]
},
"status": {
"description": "字典 sys_normal_disable0=正常展示,1=停用;会员接口仅返回0",
"type": "string",
"enum": [
"0",
"1"
],
"x-dict-type": "sys_normal_disable",
"examples": [
"0"
]
},
"createTime": {
"description": "评论发布时间",
"type": "string",
"format": "date-time"
}
}
},
"RFamilyFeedCommentList": {
"type": "object",
"properties": {
"code": {
"description": "响应状态码",
"type": "integer",
"examples": [
200
]
},
"msg": {
"description": "响应消息",
"type": "string"
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FamilyFeedCommentView"
}
}
}
},
"FamilyFeedCommentPageResult": {
"type": "object",
"properties": {
"code": {
"description": "响应状态码",
"type": "integer",
"examples": [
200
]
},
"msg": {
"description": "响应消息",
"type": "string"
},
"rows": {
"description": "评论分页数据",
"type": "array",
"items": {
"$ref": "#/components/schemas/FamilyFeedCommentView"
}
},
"total": {
"description": "评论总数",
"type": "integer",
"format": "int64"
}
}
},
"RFamilyFeed": {
"type": "object",
"properties": {
"code": {
"description": "响应状态码",
"type": "integer",
"examples": [
200
]
},
"msg": {
"description": "响应消息",
"type": "string",
"examples": [
"操作成功"
]
},
"data": {
"$ref": "#/components/schemas/FamilyFeedView"
}
}
},
"FamilyFeedView": {
"type": "object",
"properties": {
"feedId": {
"description": "动态ID",
"type": "integer",
"format": "int64"
},
"genealogyId": {
"description": "所属家谱ID",
"type": "integer",
"format": "int64"
},
"genealogyNo": {
"description": "家谱编号",
"type": "string"
},
"genealogyName": {
"description": "家谱名称",
"type": "string"
},
"publisherUserId": {
"description": "发布业务用户ID",
"type": "integer",
"format": "int64"
},
"publisherNickName": {
"description": "发布用户昵称",
"type": "string"
},
"publisherStatus": {
"description": "发布用户状态",
"type": "string"
},
"feedType": {
"description": "动态类型",
"type": "string"
},
"feedContent": {
"description": "动态内容",
"type": "string"
},
"mediaOssIds": {
"description": "媒体文件OSS ID列表,多个ID使用英文逗号分隔",
"type": "string"
},
"likedByMe": {
"description": "当前登录用户是否已点赞",
"type": "boolean",
"examples": [
false
]
},
"likeCount": {
"description": "点赞数量",
"type": "integer",
"format": "int64"
},
"commentCount": {
"description": "评论数量",
"type": "integer",
"format": "int64"
},
"pinned": {
"description": "字典 gen_number_yes_no0=否,1=是",
"type": "string",
"enum": [
"0",
"1"
],
"x-dict-type": "gen_number_yes_no",
"examples": [
"0"
]
},
"pinnedTime": {
"description": "置顶时间",
"type": [
"string",
"null"
],
"format": "date-time"
},
"sortOrder": {
"description": "排序值",
"type": "integer",
"format": "int64"
},
"status": {
"description": "字典 sys_normal_disable0=正常,1=停用",
"type": "string",
"enum": [
"0",
"1"
],
"x-dict-type": "sys_normal_disable",
"examples": [
"0"
]
},
"remark": {
"description": "备注",
"type": "string"
},
"createTime": {
"description": "发布时间",
"type": "string",
"format": "date-time"
},
"updateTime": {
"description": "更新时间",
"type": "string",
"format": "date-time"
}
}
},
"RFamilyFeedList": {
"type": "object",
"properties": {
"code": {
"description": "响应状态码",
"type": "integer",
"examples": [
200
]
},
"msg": {
"description": "响应消息",
"type": "string",
"examples": [
"操作成功"
]
},
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FamilyFeedView"
}
}
}
},
"FamilyFeedPageResult": {
"type": "object",
"properties": {
"code": {
"description": "响应状态码",
"type": "integer",
"examples": [
200
]
},
"msg": {
"description": "响应消息",
"type": "string",
"examples": [
"操作成功"
]
},
"rows": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FamilyFeedView"
}
},
"total": {
"description": "总记录数",
"type": "integer",
"format": "int64",
"examples": [
0
]
}
}
}
},
"responses": {
"VoidResult": {
"description": "通用成功响应",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RVoid"
}
}
}
},
"ObjectResult": {
"description": "通用对象响应",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RObject"
}
}
}
},
"GenealogyQuotaResult": {
"description": "当前业务用户家谱配额响应",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RGenealogyQuota"
}
}
}
},
"LongResult": {
"description": "长整型数据响应",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RLong"
}
}
}
},
"ListResult": {
"description": "通用列表响应",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RList"
}
}
}
},
"CeremonyInvitationResult": {
"description": "贺礼邀约详情响应",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RCeremonyInvitation"
}
}
}
},
"CeremonyInvitationListResult": {
"description": "贺礼邀约列表响应",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RCeremonyInvitationList"
}
}
}
},
"GenerationPoemResult": {
"description": "字辈详情响应",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RGenerationPoem"
}
}
}
},
"GenerationPoemListResult": {
"description": "字辈列表响应",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RGenerationPoemList"
}
}
}
},
"GenerationPoemBatchPreviewResult": {
"description": "字辈批量预览响应",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RGenerationPoemBatchPreview"
}
}
}
},
"LineagePersonResult": {
"description": "世系人物详情响应",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RLineagePerson"
}
}
}
},
"LineagePersonListResult": {
"description": "世系人物列表或选项响应",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RLineagePersonList"
}
}
}
},
"LineagePersonTreeResult": {
"description": "世系树响应",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RLineagePersonTreeList"
}
}
}
},
"LineagePersonPageResult": {
"description": "世系人物分页响应",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LineagePersonPageResult"
}
}
}
},
"LoginResult": {
"description": "登录结果",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RLogin"
}
}
}
},
"FileUploadResult": {
"description": "文件上传结果",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RFileUpload"
}
}
}
},
"VerificationRequireResult": {
"description": "验证需求查询结果",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RVerificationRequire"
}
}
}
},
"VerificationChallengeResult": {
"description": "验证挑战生成结果",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RVerificationChallenge"
}
}
}
},
"VerificationCheckResult": {
"description": "验证校验结果",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RVerificationCheck"
}
}
}
},
"FamilyFeedCommentResult": {
"description": "家族圈评论对象响应",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RFamilyFeedComment"
}
}
}
},
"FamilyFeedCommentListResult": {
"description": "家族圈评论列表响应",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RFamilyFeedCommentList"
}
}
}
},
"FamilyFeedCommentPageResult": {
"description": "家族圈评论分页响应",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FamilyFeedCommentPageResult"
}
}
}
},
"FamilyFeedResult": {
"description": "家族圈动态对象响应",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RFamilyFeed"
}
}
}
},
"FamilyFeedListResult": {
"description": "家族圈动态列表响应",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/RFamilyFeedList"
}
}
}
},
"FamilyFeedPageResult": {
"description": "家族圈动态分页响应",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FamilyFeedPageResult"
}
}
}
}
},
"securitySchemes": {
"SaToken1": {
"type": "apiKey",
"in": "header",
"name": "Authorization",
"description": "登录后返回的 token。若本地配置使用 sa-token 名称,请按项目实际 token-name 调整。"
}
}
},
"servers": [],
"security": [
{
"SaToken1": []
}
]
}