11571 lines
332 KiB
JSON
11571 lines
332 KiB
JSON
{
|
||
"openapi": "3.0.1",
|
||
"info": {
|
||
"title": "家谱",
|
||
"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": "意见反馈"
|
||
},
|
||
{
|
||
"name": "VIP"
|
||
},
|
||
{
|
||
"name": "视频"
|
||
},
|
||
{
|
||
"name": "贺礼邀约"
|
||
}
|
||
],
|
||
"paths": {
|
||
"/genealogy/app/auth/verification/{operationCode}/require": {
|
||
"get": {
|
||
"summary": "查询 APP 认证动作是否需要验证",
|
||
"deprecated": false,
|
||
"description": "服务端按 operationCode 对应 APP 路由的当前激活绑定解析验证场景,前端不得提交 sceneCode。",
|
||
"tags": [
|
||
"验证中心"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "operationCode",
|
||
"in": "path",
|
||
"description": "APP 认证业务动作",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VerificationRequireResult",
|
||
"description": "验证需求查询结果"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/captcha/require": {
|
||
"get": {
|
||
"summary": "查询当前场景是否需要验证",
|
||
"deprecated": false,
|
||
"description": "用于登录、注册、换绑手机等场景。按租户、客户端和场景编码匹配后台验证策略。",
|
||
"tags": [
|
||
"验证中心"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "tenantId",
|
||
"in": "query",
|
||
"description": "租户ID,用于区分不同租户的数据和验证策略",
|
||
"required": false,
|
||
"example": "000000",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
{
|
||
"name": "clientId",
|
||
"in": "query",
|
||
"description": "客户端ID,对应后台客户端管理中的APP/PC/小程序等终端",
|
||
"required": false,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
{
|
||
"name": "sceneCode",
|
||
"in": "query",
|
||
"description": "APP 验证场景编码;密码登录使用 APP_LOGIN,短信登录验证码使用 APP_SMS_LOGIN",
|
||
"required": true,
|
||
"example": "APP_LOGIN",
|
||
"schema": {
|
||
"type": "string",
|
||
"enum": [
|
||
"APP_LOGIN",
|
||
"APP_SMS_LOGIN",
|
||
"APP_REGISTER",
|
||
"APP_FORGOT_PASSWORD",
|
||
"APP_PHONE_CHANGE",
|
||
"APP_ACCOUNT_DEACTIVATE"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "subject",
|
||
"in": "query",
|
||
"description": "验证主体,通常为手机号、用户ID或登录账号",
|
||
"required": false,
|
||
"example": "13800000000",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "客户端ID",
|
||
"example": "ced7e5f0498645c6ec642dcf450b036f",
|
||
"schema": {
|
||
"type": "string",
|
||
"default": "ced7e5f0498645c6ec642dcf450b036f"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VerificationRequireResult",
|
||
"description": "验证需求查询结果"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/auth/verification/{operationCode}/challenge": {
|
||
"post": {
|
||
"summary": "生成 APP 认证动作验证挑战",
|
||
"deprecated": false,
|
||
"description": "服务端按 operationCode 的激活绑定解析场景。tenantId、subject 必须完整提交;clientid 仅从 Header 读取,前端不得提交 clientId 或 sceneCode。",
|
||
"tags": [
|
||
"验证中心"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "operationCode",
|
||
"in": "path",
|
||
"description": "APP 认证业务动作",
|
||
"required": true,
|
||
"example": "",
|
||
"schema": {
|
||
"type": "string",
|
||
"enum": [
|
||
"password-login",
|
||
"sms-login",
|
||
"register",
|
||
"forgot-password",
|
||
"phone-change",
|
||
"account-deactivate"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"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": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/captcha/challenge": {
|
||
"post": {
|
||
"summary": "生成验证挑战",
|
||
"deprecated": false,
|
||
"description": "统一生成验证码。tenantId、clientId、sceneCode、subject 必须完整提交;挑战仅可由同一租户、客户端、场景、主体和请求 IP 校验。策略为天爱时返回行为验证数据;策略为系统图形时返回 uuid 和 img。",
|
||
"tags": [
|
||
"验证中心"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "客户端ID",
|
||
"example": "ced7e5f0498645c6ec642dcf450b036f",
|
||
"schema": {
|
||
"type": "string",
|
||
"default": "ced7e5f0498645c6ec642dcf450b036f"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/VerificationChallengeBody"
|
||
},
|
||
"example": {
|
||
"tenantId": "000000",
|
||
"clientId": "428a8310cd442757ae699df5d894f051",
|
||
"sceneCode": "APP_SMS_LOGIN",
|
||
"subject": "13800000000"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VerificationChallengeResult",
|
||
"description": "验证挑战生成结果"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/auth/verification/{operationCode}/verify": {
|
||
"post": {
|
||
"summary": "校验 APP 认证动作验证结果并换取 validToken",
|
||
"deprecated": false,
|
||
"description": "必须使用生成挑战时相同的 operationCode、tenantId、subject 和 challengeId。clientid 仅从 Header 读取;服务端重新解析同一路由的激活场景,前端不得提交 clientId 或 sceneCode。",
|
||
"tags": [
|
||
"验证中心"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "operationCode",
|
||
"in": "path",
|
||
"description": "APP 认证业务动作",
|
||
"required": true,
|
||
"example": "",
|
||
"schema": {
|
||
"type": "string",
|
||
"enum": [
|
||
"password-login",
|
||
"sms-login",
|
||
"register",
|
||
"forgot-password",
|
||
"phone-change",
|
||
"account-deactivate"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"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": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/captcha/verify": {
|
||
"post": {
|
||
"summary": "校验验证结果并换取 validToken",
|
||
"deprecated": false,
|
||
"description": "必须提交生成挑战时相同的 tenantId、clientId、sceneCode、subject 和 challengeId。验证通过后返回 validToken;该票据只能由租户、客户端、场景、主体和 IP 完全一致的目标业务入口单次消费。APP_LOGIN 由密码登录接口消费,短信业务场景由短信验证码发送接口消费。",
|
||
"tags": [
|
||
"验证中心"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "客户端ID",
|
||
"example": "ced7e5f0498645c6ec642dcf450b036f",
|
||
"schema": {
|
||
"type": "string",
|
||
"default": "ced7e5f0498645c6ec642dcf450b036f"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/VerificationCheckBody"
|
||
},
|
||
"examples": {
|
||
"tianai_behavior": {
|
||
"value": {
|
||
"tenantId": "000000",
|
||
"clientId": "428a8310cd442757ae699df5d894f051",
|
||
"sceneCode": "APP_SMS_LOGIN",
|
||
"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",
|
||
"clientId": "428a8310cd442757ae699df5d894f051",
|
||
"sceneCode": "APP_SMS_LOGIN",
|
||
"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": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/auth/code": {
|
||
"get": {
|
||
"summary": "兼容旧系统图形验证码",
|
||
"deprecated": false,
|
||
"description": "老版后台登录图形验证码入口。新的 APP/PC 业务优先使用 /captcha/require + /captcha/challenge + /captcha/verify。",
|
||
"tags": [
|
||
"验证中心"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "客户端ID",
|
||
"example": "ced7e5f0498645c6ec642dcf450b036f",
|
||
"schema": {
|
||
"type": "string",
|
||
"default": "ced7e5f0498645c6ec642dcf450b036f"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/LegacyCaptchaResult",
|
||
"description": "兼容旧图形验证码结果"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/auth/register": {
|
||
"post": {
|
||
"summary": "APP 用户注册",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"认证登录"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"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": {
|
||
"$ref": "#/components/responses/LoginResult",
|
||
"description": "短信验证码必须为 4 位数字;验证码错误、过期、重复使用,或租户、客户端、场景不匹配时拒绝;携带 validToken、code、uuid、供应商配置等旧字段返回 HTTP 400。",
|
||
"headers": {}
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/auth/login": {
|
||
"post": {
|
||
"summary": "APP 密码登录",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"认证登录"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"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": {
|
||
"$ref": "#/components/responses/LoginResult",
|
||
"description": "后端按 APP_PASSWORD_LOGIN 路由的当前激活绑定解析场景;该场景策略要求验证时必须提交匹配的 validToken,不要求验证时 validToken 可为空;请求携带已废弃的 sceneCode 或其他未知字段返回 HTTP 400。",
|
||
"headers": {}
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/auth/login/sms": {
|
||
"post": {
|
||
"summary": "APP 短信登录",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"认证登录"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"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": {
|
||
"$ref": "#/components/responses/LoginResult",
|
||
"description": "短信验证码必须为 4 位数字;验证码错误、过期、重复使用,或租户、客户端、场景不匹配时拒绝;携带 validToken、code、uuid、供应商配置等旧字段返回 HTTP 400。",
|
||
"headers": {}
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/auth/sms/{operationCode}/code": {
|
||
"post": {
|
||
"summary": "APP 发送短信验证码",
|
||
"deprecated": false,
|
||
"description": "operationCode 决定短信业务动作,服务端按对应 APP 路由的激活绑定解析验证场景。策略开启时需提交 validToken,关闭时可为空;前端不得提交 sceneCode 或短信供应商配置 ID。",
|
||
"tags": [
|
||
"认证登录"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "operationCode",
|
||
"in": "path",
|
||
"description": "支持发送短信验证码的 APP 认证业务动作",
|
||
"required": true,
|
||
"example": "",
|
||
"schema": {
|
||
"type": "string",
|
||
"enum": [
|
||
"sms-login",
|
||
"register",
|
||
"forgot-password",
|
||
"phone-change",
|
||
"account-deactivate"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"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": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/auth/sms/code": {
|
||
"post": {
|
||
"summary": "APP 发送短信验证码",
|
||
"deprecated": false,
|
||
"description": "按后台验证策略发送短信验证码。策略开启时需先完成验证中心校验并提交 validToken;策略关闭时 validToken 可为空。sceneCode 仅允许 APP_SMS_LOGIN、APP_REGISTER、APP_FORGOT_PASSWORD、APP_PHONE_CHANGE、APP_ACCOUNT_DEACTIVATE;服务端按租户、APP 客户端、场景和手机号主体校验票据,不接收短信供应商配置 ID。",
|
||
"tags": [
|
||
"认证登录"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;必须与请求体 clientId(如提交)一致,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/SmsCodeBody"
|
||
},
|
||
"example": {
|
||
"tenantId": "000000",
|
||
"phone": "13800000000",
|
||
"grantType": "sms",
|
||
"sceneCode": "APP_SMS_LOGIN",
|
||
"validToken": "captcha-ticket"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "通用成功响应"
|
||
},
|
||
"400": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "拒绝原因:票据缺失;票据与租户不匹配(错租户);票据与客户端不匹配(错客户端);票据与场景不匹配(错场景);票据过期;票据已被使用(重复使用);手机号主体不匹配;请求携带供应商配置或历史字段。",
|
||
"headers": {}
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/auth/profile": {
|
||
"get": {
|
||
"summary": "APP 当前用户资料",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"认证登录"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"put": {
|
||
"summary": "APP 修改用户资料",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"认证登录"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/ProfileUpdateBody"
|
||
},
|
||
"example": {
|
||
"nickName": "张三",
|
||
"avatarOssId": "2060000000000000000",
|
||
"sex": "0",
|
||
"birthday": "1990-01-01",
|
||
"regionCode": "110101",
|
||
"addressDetail": "北京市东城区"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/auth/password": {
|
||
"put": {
|
||
"summary": "APP 修改密码",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"认证登录"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"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": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/auth/password/reset": {
|
||
"put": {
|
||
"summary": "APP 找回密码",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"认证登录"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"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": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "短信验证码必须为 4 位数字;验证码错误、过期、重复使用,或租户、客户端、场景不匹配时拒绝;携带 validToken、code、uuid、供应商配置等旧字段返回 HTTP 400。",
|
||
"headers": {}
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/auth/phone": {
|
||
"put": {
|
||
"summary": "APP 换绑手机号",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"认证登录"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"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": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "短信验证码必须为 4 位数字;验证码错误、过期、重复使用,或租户、客户端、场景不匹配时拒绝;携带 validToken、code、uuid、供应商配置等旧字段返回 HTTP 400。",
|
||
"headers": {}
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/auth/account/deactivate": {
|
||
"post": {
|
||
"summary": "APP 注销账号",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"认证登录"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"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": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "短信验证码必须为 4 位数字;验证码错误、过期、重复使用,或租户、客户端、场景不匹配时拒绝;携带 validToken、code、uuid、供应商配置等旧字段返回 HTTP 400。",
|
||
"headers": {}
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/auth/logout": {
|
||
"delete": {
|
||
"summary": "APP 退出登录",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"认证登录"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "通用成功响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/files/upload": {
|
||
"post": {
|
||
"summary": "APP 单文件上传",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"文件上传"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"multipart/form-data": {
|
||
"schema": {
|
||
"type": "object",
|
||
"properties": {
|
||
"file": {
|
||
"type": "string",
|
||
"format": "binary",
|
||
"example": ""
|
||
}
|
||
},
|
||
"required": [
|
||
"file"
|
||
]
|
||
},
|
||
"example": {
|
||
"file": ""
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/FileUploadResult",
|
||
"description": "文件上传结果"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/files/resumable/init": {
|
||
"post": {
|
||
"summary": "APP 分片上传初始化",
|
||
"deprecated": false,
|
||
"description": "所有文件统一使用分片上传;普通小文件可设置为一个分片。返回 instant=true 时直接使用返回的 OSS 信息,跳过分片上传和合并。",
|
||
"tags": [
|
||
"文件上传"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/ResumableInitBody"
|
||
},
|
||
"example": {
|
||
"fileName": "cover.jpg",
|
||
"fileSize": 9532,
|
||
"fileMd5": "d41d8cd98f00b204e9800998ecf8427e",
|
||
"contentType": "image/jpeg",
|
||
"chunkSize": 4194304,
|
||
"totalChunks": 1,
|
||
"bizType": "genealogy",
|
||
"usageScene": "cover"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/files/resumable/chunk": {
|
||
"post": {
|
||
"summary": "APP 上传分片",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"文件上传"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"multipart/form-data": {
|
||
"schema": {
|
||
"type": "object",
|
||
"properties": {
|
||
"uploadId": {
|
||
"type": "string",
|
||
"example": ""
|
||
},
|
||
"chunkIndex": {
|
||
"type": "integer",
|
||
"example": 0
|
||
},
|
||
"chunkMd5": {
|
||
"type": "string",
|
||
"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": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/files/resumable/complete": {
|
||
"post": {
|
||
"summary": "APP 完成分片上传",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"文件上传"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/ResumableCompleteBody"
|
||
},
|
||
"example": {
|
||
"uploadId": "UPLOAD202607090001",
|
||
"fileMd5": "d41d8cd98f00b204e9800998ecf8427e",
|
||
"fileSize": 9532
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/FileUploadResult",
|
||
"description": "文件上传结果"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/files/reference": {
|
||
"post": {
|
||
"summary": "APP 绑定文件业务引用",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"文件上传"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "客户端ID,请求Header携带,用于区分APP/PC/小程序等终端",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/FileReferenceBody"
|
||
},
|
||
"example": {
|
||
"bizType": "family_feed",
|
||
"bizName": "family feed image",
|
||
"bizTable": "gen_family_feed",
|
||
"bizId": 900013001,
|
||
"bizField": "media_oss_ids",
|
||
"ossId": "2060000000000000000",
|
||
"usageScene": "feed_image"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "通用成功响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"delete": {
|
||
"summary": "APP 释放文件业务引用",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"文件上传"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "bizTable",
|
||
"in": "query",
|
||
"description": "业务表名,用于文件引用绑定",
|
||
"required": true,
|
||
"example": "gen_family_feed",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
{
|
||
"name": "bizId",
|
||
"in": "query",
|
||
"description": "业务数据ID,用于文件引用绑定",
|
||
"required": true,
|
||
"example": 900013001,
|
||
"schema": {
|
||
"type": "integer",
|
||
"format": "int64"
|
||
}
|
||
},
|
||
{
|
||
"name": "bizField",
|
||
"in": "query",
|
||
"description": "业务字段名,例如avatar_oss_id、cover_oss_id",
|
||
"required": true,
|
||
"example": "media_ids",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "客户端ID,请求Header携带,用于区分APP/PC/小程序等终端",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "通用成功响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/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": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/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": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/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": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/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": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies": {
|
||
"post": {
|
||
"summary": "APP 创建家谱",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"家谱"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/GenealogyCreateBody"
|
||
},
|
||
"example": {
|
||
"genealogyName": "彭氏家谱",
|
||
"surname": "彭",
|
||
"ancestralHall": "陇西堂",
|
||
"originPlace": "江西吉安",
|
||
"regionCode": "360800",
|
||
"addressDetail": "江西省吉安市",
|
||
"coverOssId": "2060000000000000000",
|
||
"intro": "彭氏家谱简介",
|
||
"visibility": "1",
|
||
"joinMode": "1"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/mine": {
|
||
"get": {
|
||
"summary": "APP 我的家谱",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"家谱"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ListResult",
|
||
"description": "通用列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/quota": {
|
||
"get": {
|
||
"summary": "APP 查询当前用户家谱配额",
|
||
"deprecated": false,
|
||
"description": "查询已创建和已加入的家谱数量、上限、剩余额度及是否还能继续操作。加入总数包含自己创建的家谱;limit 和 remaining 为 -1 时表示不限。",
|
||
"tags": [
|
||
"家谱"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/GenealogyQuotaResult",
|
||
"description": "当前业务用户家谱配额响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/public": {
|
||
"get": {
|
||
"summary": "APP 公开家谱",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"家谱"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ListResult",
|
||
"description": "通用列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/options": {
|
||
"get": {
|
||
"summary": "APP 家谱下拉选项",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"家谱"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ListResult",
|
||
"description": "通用列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}": {
|
||
"get": {
|
||
"summary": "APP 家谱详情",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"put": {
|
||
"summary": "APP 修改家谱",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/GenealogyUpdateBody"
|
||
},
|
||
"example": {
|
||
"genealogyName": "彭氏家谱",
|
||
"surname": "彭",
|
||
"ancestralHall": "陇西堂",
|
||
"originPlace": "江西吉安",
|
||
"regionCode": "360800",
|
||
"addressDetail": "江西省吉安市",
|
||
"coverOssId": "2060000000000000000",
|
||
"intro": "更新后的家谱简介",
|
||
"visibility": "1",
|
||
"joinMode": "1"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/overview": {
|
||
"get": {
|
||
"summary": "APP 家谱概览",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/join-applies": {
|
||
"post": {
|
||
"summary": "APP 申请加入家谱",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/GenealogyJoinApplyBody"
|
||
},
|
||
"example": {
|
||
"applicantName": "彭小明",
|
||
"phone": "13800000000",
|
||
"relationDesc": "本族成员",
|
||
"applyReason": "申请加入家谱维护",
|
||
"inviterUserId": 900000001
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/join-applies/mine": {
|
||
"get": {
|
||
"summary": "APP 我的加入申请",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"家谱"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ListResult",
|
||
"description": "通用列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/join-applies/pending": {
|
||
"get": {
|
||
"summary": "APP 待审核加入申请",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ListResult",
|
||
"description": "通用列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/join-applies/{applyId}/audit": {
|
||
"put": {
|
||
"summary": "APP 审核加入申请",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"家谱"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "genealogyId",
|
||
"in": "path",
|
||
"description": "家谱ID",
|
||
"required": true,
|
||
"example": 900001001,
|
||
"schema": {
|
||
"type": "integer",
|
||
"format": "int64"
|
||
}
|
||
},
|
||
{
|
||
"name": "applyId",
|
||
"in": "path",
|
||
"description": "加入家谱申请ID",
|
||
"required": true,
|
||
"example": "",
|
||
"schema": {
|
||
"type": "integer",
|
||
"format": "int64"
|
||
}
|
||
},
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/GenealogyJoinAuditBody"
|
||
},
|
||
"example": {
|
||
"status": "1",
|
||
"auditRemark": "信息核验通过"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "通用成功响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/join-applies/{applyId}": {
|
||
"delete": {
|
||
"summary": "APP 撤销加入申请",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"家谱"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "applyId",
|
||
"in": "path",
|
||
"description": "加入家谱申请ID",
|
||
"required": true,
|
||
"example": "",
|
||
"schema": {
|
||
"type": "integer",
|
||
"format": "int64"
|
||
}
|
||
},
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "通用成功响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/members": {
|
||
"get": {
|
||
"summary": "APP 家谱成员列表",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ListResult",
|
||
"description": "通用列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/members/options": {
|
||
"get": {
|
||
"summary": "APP 家谱成员选项",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ListResult",
|
||
"description": "通用列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/members/{memberId}": {
|
||
"put": {
|
||
"summary": "APP 修改成员",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"家谱成员"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "genealogyId",
|
||
"in": "path",
|
||
"description": "家谱ID",
|
||
"required": true,
|
||
"example": 900001001,
|
||
"schema": {
|
||
"type": "integer",
|
||
"format": "int64"
|
||
}
|
||
},
|
||
{
|
||
"name": "memberId",
|
||
"in": "path",
|
||
"description": "家谱成员ID",
|
||
"required": true,
|
||
"example": "",
|
||
"schema": {
|
||
"type": "integer",
|
||
"format": "int64"
|
||
}
|
||
},
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/GenealogyMemberUpdateBody"
|
||
},
|
||
"example": {
|
||
"memberName": "彭小明",
|
||
"relationName": "族亲",
|
||
"roleType": "member",
|
||
"lineagePersonId": 900020001
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"delete": {
|
||
"summary": "APP 移除成员",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"家谱成员"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "genealogyId",
|
||
"in": "path",
|
||
"description": "家谱ID",
|
||
"required": true,
|
||
"example": 900001001,
|
||
"schema": {
|
||
"type": "integer",
|
||
"format": "int64"
|
||
}
|
||
},
|
||
{
|
||
"name": "memberId",
|
||
"in": "path",
|
||
"description": "家谱成员ID",
|
||
"required": true,
|
||
"example": "",
|
||
"schema": {
|
||
"type": "integer",
|
||
"format": "int64"
|
||
}
|
||
},
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "通用成功响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/members/me": {
|
||
"delete": {
|
||
"summary": "APP 退出家谱",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "通用成功响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/members/owner-transfer": {
|
||
"put": {
|
||
"summary": "APP 转让家谱所有者",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/GenealogyOwnerTransferBody"
|
||
},
|
||
"example": {
|
||
"targetMemberId": 900010002
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "通用成功响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/generation-poems": {
|
||
"get": {
|
||
"summary": "APP 查询正常字辈谱",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/GenerationPoemListResult",
|
||
"description": "字辈列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"post": {
|
||
"summary": "APP 新增字辈",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/GenerationPoemBody"
|
||
},
|
||
"example": {
|
||
"generationNo": 5,
|
||
"generationText": "忠",
|
||
"description": "fifth generation poem",
|
||
"sortOrder": 5,
|
||
"status": "0"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/GenerationPoemResult",
|
||
"description": "字辈详情响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/generation-poems/management": {
|
||
"get": {
|
||
"summary": "APP 查询字辈维护列表",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/GenerationPoemListResult",
|
||
"description": "字辈列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/generation-poems/batch/preview": {
|
||
"post": {
|
||
"summary": "APP 批量字辈预览",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"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": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/generation-poems/batch/save": {
|
||
"post": {
|
||
"summary": "APP 批量保存字辈",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"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": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/generation-poems/{poemId}": {
|
||
"put": {
|
||
"summary": "APP 修改、停用或恢复字辈",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/GenerationPoemBody"
|
||
},
|
||
"example": {
|
||
"generationNo": 5,
|
||
"generationText": "忠",
|
||
"description": "fifth generation poem",
|
||
"sortOrder": 5,
|
||
"status": "0"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/GenerationPoemResult",
|
||
"description": "字辈详情响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/lineage/persons": {
|
||
"get": {
|
||
"summary": "APP 世系人物列表",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/LineagePersonListResult",
|
||
"description": "世系人物列表或选项响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"post": {
|
||
"summary": "APP 新增世系人物",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/LineagePersonBody"
|
||
},
|
||
"example": {
|
||
"appUserId": 900000001,
|
||
"personNo": "P202607090001",
|
||
"name": "彭德明",
|
||
"aliasName": "德明",
|
||
"sex": "0",
|
||
"generation": 1,
|
||
"generationName": "德",
|
||
"avatarOssId": "2060000000000000000",
|
||
"birthDate": "1950-01-01",
|
||
"birthLunar": "0",
|
||
"birthPlace": "江西吉安",
|
||
"personStatus": "0",
|
||
"biography": "第一世人物简介",
|
||
"sortOrder": 1
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/LineagePersonResult",
|
||
"description": "世系人物详情响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/lineage/persons/page": {
|
||
"get": {
|
||
"summary": "APP 世系人物分页",
|
||
"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": "人物状态字典值",
|
||
"required": false,
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
},
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/LineagePersonPageResult",
|
||
"description": "世系人物分页响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/lineage/persons/options": {
|
||
"get": {
|
||
"summary": "APP 世系人物选项",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/LineagePersonListResult",
|
||
"description": "世系人物列表或选项响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/lineage/tree": {
|
||
"get": {
|
||
"summary": "APP 世系树",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/LineagePersonTreeResult",
|
||
"description": "世系树响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/lineage/persons/{personId}": {
|
||
"get": {
|
||
"summary": "APP 世系人物详情",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/LineagePersonResult",
|
||
"description": "世系人物详情响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"put": {
|
||
"summary": "APP 修改世系人物",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/LineagePersonBody"
|
||
},
|
||
"example": {
|
||
"appUserId": 900000001,
|
||
"personNo": "P202607090001",
|
||
"name": "彭德明",
|
||
"aliasName": "德明",
|
||
"sex": "0",
|
||
"generation": 1,
|
||
"generationName": "德",
|
||
"avatarOssId": "2060000000000000000",
|
||
"birthDate": "1950-01-01",
|
||
"birthLunar": "0",
|
||
"birthPlace": "江西吉安",
|
||
"personStatus": "0",
|
||
"biography": "第一世人物简介",
|
||
"sortOrder": 1
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/LineagePersonResult",
|
||
"description": "世系人物详情响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"delete": {
|
||
"summary": "APP 停用世系人物",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "通用成功响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/lineage/persons/{personId}/children": {
|
||
"post": {
|
||
"summary": "APP 给人物添加子女",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/LineagePersonBody"
|
||
},
|
||
"example": {
|
||
"appUserId": 900000001,
|
||
"personNo": "P202607090001",
|
||
"name": "彭德明",
|
||
"aliasName": "德明",
|
||
"sex": "0",
|
||
"generation": 1,
|
||
"generationName": "德",
|
||
"avatarOssId": "2060000000000000000",
|
||
"birthDate": "1950-01-01",
|
||
"birthLunar": "0",
|
||
"birthPlace": "江西吉安",
|
||
"personStatus": "0",
|
||
"biography": "第一世人物简介",
|
||
"sortOrder": 1
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/LineagePersonResult",
|
||
"description": "世系人物详情响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/lineage/persons/{personId}/parents": {
|
||
"post": {
|
||
"summary": "APP 给人物添加父母",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/LineagePersonBody"
|
||
},
|
||
"example": {
|
||
"appUserId": 900000001,
|
||
"personNo": "P202607090001",
|
||
"name": "彭德明",
|
||
"aliasName": "德明",
|
||
"sex": "0",
|
||
"generation": 1,
|
||
"generationName": "德",
|
||
"avatarOssId": "2060000000000000000",
|
||
"birthDate": "1950-01-01",
|
||
"birthLunar": "0",
|
||
"birthPlace": "江西吉安",
|
||
"personStatus": "0",
|
||
"biography": "第一世人物简介",
|
||
"sortOrder": 1
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/LineagePersonResult",
|
||
"description": "世系人物详情响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/lineage/persons/{personId}/siblings": {
|
||
"post": {
|
||
"summary": "APP 给人物添加兄弟姐妹",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/LineagePersonBody"
|
||
},
|
||
"example": {
|
||
"appUserId": 900000001,
|
||
"personNo": "P202607090001",
|
||
"name": "彭德明",
|
||
"aliasName": "德明",
|
||
"sex": "0",
|
||
"generation": 1,
|
||
"generationName": "德",
|
||
"avatarOssId": "2060000000000000000",
|
||
"birthDate": "1950-01-01",
|
||
"birthLunar": "0",
|
||
"birthPlace": "江西吉安",
|
||
"personStatus": "0",
|
||
"biography": "第一世人物简介",
|
||
"sortOrder": 1
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/LineagePersonResult",
|
||
"description": "世系人物详情响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/lineage/persons/{personId}/spouses": {
|
||
"post": {
|
||
"summary": "APP 给人物添加配偶",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/LineagePersonBody"
|
||
},
|
||
"example": {
|
||
"appUserId": 900000001,
|
||
"personNo": "P202607090001",
|
||
"name": "彭德明",
|
||
"aliasName": "德明",
|
||
"sex": "0",
|
||
"generation": 1,
|
||
"generationName": "德",
|
||
"avatarOssId": "2060000000000000000",
|
||
"birthDate": "1950-01-01",
|
||
"birthLunar": "0",
|
||
"birthPlace": "江西吉安",
|
||
"personStatus": "0",
|
||
"biography": "第一世人物简介",
|
||
"sortOrder": 1
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/LineagePersonResult",
|
||
"description": "世系人物详情响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/feeds": {
|
||
"get": {
|
||
"summary": "APP 家族圈动态列表",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ListResult",
|
||
"description": "通用列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"post": {
|
||
"summary": "APP 发布家族圈动态",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"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/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/feeds/page": {
|
||
"get": {
|
||
"summary": "APP 家族圈动态分页",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/PageResult",
|
||
"description": "通用分页响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/feeds/{feedId}": {
|
||
"get": {
|
||
"summary": "APP 家族圈动态详情",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"put": {
|
||
"summary": "APP 修改家族圈动态",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"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/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"delete": {
|
||
"summary": "APP 删除家族圈动态",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "通用成功响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/feeds/{feedId}/likes": {
|
||
"post": {
|
||
"summary": "APP 点赞动态",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "通用成功响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"delete": {
|
||
"summary": "APP 取消点赞动态",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "通用成功响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/feeds/{feedId}/comments": {
|
||
"get": {
|
||
"summary": "APP 动态一级评论列表",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/FamilyFeedCommentListResult",
|
||
"description": "家族圈评论列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"post": {
|
||
"summary": "APP 评论动态",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"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": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/feeds/{feedId}/comments/page": {
|
||
"get": {
|
||
"summary": "APP 动态一级评论分页",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/FamilyFeedCommentPageResult",
|
||
"description": "家族圈评论分页响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/feeds/{feedId}/comments/{commentId}/replies": {
|
||
"get": {
|
||
"summary": "APP 获取评论的直接回复列表",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/FamilyFeedCommentListResult",
|
||
"description": "家族圈评论列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/feeds/{feedId}/comments/{commentId}/replies/page": {
|
||
"get": {
|
||
"summary": "APP 分页获取评论的直接回复",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/FamilyFeedCommentPageResult",
|
||
"description": "家族圈评论分页响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/feeds/{feedId}/comments/{commentId}": {
|
||
"delete": {
|
||
"summary": "APP 删除本人动态评论;有回复时保留删除占位",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "通用成功响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/article-categories": {
|
||
"get": {
|
||
"summary": "APP 谱文分类",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ListResult",
|
||
"description": "通用列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/articles": {
|
||
"get": {
|
||
"summary": "APP 谱文列表",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ListResult",
|
||
"description": "通用列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"post": {
|
||
"summary": "APP 新增谱文",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/ArticleBody"
|
||
},
|
||
"example": {
|
||
"categoryId": 900040001,
|
||
"articleTitle": "族谱源流",
|
||
"articleSummary": "介绍本支源流",
|
||
"coverOssId": "2060000000000000000",
|
||
"articleContent": "<p>article content</p>",
|
||
"authorName": "族谱管理员",
|
||
"sortOrder": 1,
|
||
"status": "0"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/articles/{articleId}": {
|
||
"get": {
|
||
"summary": "APP 谱文详情",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"put": {
|
||
"summary": "APP 修改谱文",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/ArticleBody"
|
||
},
|
||
"example": {
|
||
"categoryId": 900040001,
|
||
"articleTitle": "族谱源流",
|
||
"articleSummary": "介绍本支源流",
|
||
"coverOssId": "2060000000000000000",
|
||
"articleContent": "<p>article content</p>",
|
||
"authorName": "族谱管理员",
|
||
"sortOrder": 1,
|
||
"status": "0"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"delete": {
|
||
"summary": "APP 删除谱文",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "通用成功响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/help-articles": {
|
||
"get": {
|
||
"summary": "APP 帮助文章列表",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"内容文章"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "客户端ID",
|
||
"example": "ced7e5f0498645c6ec642dcf450b036f",
|
||
"schema": {
|
||
"type": "string",
|
||
"default": "ced7e5f0498645c6ec642dcf450b036f"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ListResult",
|
||
"description": "通用列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/help-articles/{helpId}": {
|
||
"get": {
|
||
"summary": "APP 帮助文章详情",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"内容文章"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "helpId",
|
||
"in": "path",
|
||
"description": "帮助文章ID",
|
||
"required": true,
|
||
"example": "",
|
||
"schema": {
|
||
"type": "integer",
|
||
"format": "int64"
|
||
}
|
||
},
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "客户端ID",
|
||
"example": "ced7e5f0498645c6ec642dcf450b036f",
|
||
"schema": {
|
||
"type": "string",
|
||
"default": "ced7e5f0498645c6ec642dcf450b036f"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/promotions": {
|
||
"get": {
|
||
"summary": "APP 应用推广列表",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"内容文章"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "客户端ID",
|
||
"example": "ced7e5f0498645c6ec642dcf450b036f",
|
||
"schema": {
|
||
"type": "string",
|
||
"default": "ced7e5f0498645c6ec642dcf450b036f"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ListResult",
|
||
"description": "通用列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/albums": {
|
||
"get": {
|
||
"summary": "APP 相册列表",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ListResult",
|
||
"description": "通用列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"post": {
|
||
"summary": "APP 创建相册",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/AlbumBody"
|
||
},
|
||
"example": {
|
||
"albumName": "老照片",
|
||
"albumDesc": "family old photos",
|
||
"coverOssId": "2060000000000000000",
|
||
"sortOrder": 1,
|
||
"status": "0"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/albums/{albumId}": {
|
||
"put": {
|
||
"summary": "APP 修改相册",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/AlbumBody"
|
||
},
|
||
"example": {
|
||
"albumName": "老照片",
|
||
"albumDesc": "family old photos",
|
||
"coverOssId": "2060000000000000000",
|
||
"sortOrder": 1,
|
||
"status": "0"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"delete": {
|
||
"summary": "APP 删除相册",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "通用成功响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/albums/{albumId}/photos": {
|
||
"get": {
|
||
"summary": "APP 相册图片列表",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ListResult",
|
||
"description": "通用列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"post": {
|
||
"summary": "APP 上传相册图片记录",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/AlbumPhotoBody"
|
||
},
|
||
"example": {
|
||
"ossId": "2060000000000000000",
|
||
"photoTitle": "老宅合影",
|
||
"photoDesc": "old house photo",
|
||
"photographer": "彭小明",
|
||
"shootTime": "2026-07-09 10:00:00",
|
||
"sortOrder": 1,
|
||
"status": "0"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/albums/{albumId}/photos/{photoId}": {
|
||
"delete": {
|
||
"summary": "APP 删除单张相册图片",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "通用成功响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/ceremonies": {
|
||
"get": {
|
||
"summary": "APP 祭祀列表",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ListResult",
|
||
"description": "通用列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"post": {
|
||
"summary": "APP 创建祭祀",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/CeremonyBody"
|
||
},
|
||
"example": {
|
||
"ceremonyType": "ancestor",
|
||
"ceremonyTitle": "清明祭祖",
|
||
"ceremonyDesc": "online ancestor ceremony",
|
||
"ceremonyTime": "2026-04-04 09:00:00",
|
||
"location": "祠堂",
|
||
"locationAddress": "四川省成都市示例路1号",
|
||
"longitude": 104.066541,
|
||
"latitude": 30.572269,
|
||
"coverOssId": "2060000000000000000",
|
||
"sortOrder": 1,
|
||
"status": "0"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/ceremonies/{ceremonyId}": {
|
||
"get": {
|
||
"summary": "APP 祭祀详情",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"delete": {
|
||
"summary": "APP 删除祭祀活动",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "通用成功响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"put": {
|
||
"summary": "APP 修改祭祀",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/CeremonyBody"
|
||
},
|
||
"example": {
|
||
"ceremonyType": "ancestor",
|
||
"ceremonyTitle": "清明祭祖",
|
||
"ceremonyDesc": "online ancestor ceremony",
|
||
"ceremonyTime": "2026-04-04 09:00:00",
|
||
"location": "祠堂",
|
||
"locationAddress": "四川省成都市示例路1号",
|
||
"longitude": 104.066541,
|
||
"latitude": 30.572269,
|
||
"coverOssId": "2060000000000000000",
|
||
"sortOrder": 1,
|
||
"status": "0"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/ceremonies/{ceremonyId}/gifts": {
|
||
"get": {
|
||
"summary": "APP 祭祀献礼列表",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ListResult",
|
||
"description": "通用列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"post": {
|
||
"summary": "APP 新增祭祀献礼",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/CeremonyGiftBody"
|
||
},
|
||
"example": {
|
||
"giverName": "彭小明",
|
||
"giftAmount": 66.66,
|
||
"giftMessage": "缅怀先祖"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/ceremonies/{ceremonyId}/gifts/{giftId}": {
|
||
"delete": {
|
||
"summary": "APP 删除单条祭品",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "通用成功响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/growth-records": {
|
||
"get": {
|
||
"summary": "APP 成长记录列表",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ListResult",
|
||
"description": "通用列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"post": {
|
||
"summary": "APP 新增成长记录",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/GrowthRecordBody"
|
||
},
|
||
"example": {
|
||
"lineagePersonId": 900020001,
|
||
"recordType": "birth",
|
||
"recordTitle": "出生记录",
|
||
"recordContent": "birth record",
|
||
"recordDate": "2026-07-09 10:00:00",
|
||
"remindTime": "2027-07-09 10:00:00",
|
||
"mediaOssIds": "2060000000000000001",
|
||
"sortOrder": 1,
|
||
"status": "0"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/growth-records/{recordId}": {
|
||
"get": {
|
||
"summary": "APP 成长记录详情",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"delete": {
|
||
"summary": "APP 删除成长记录",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "通用成功响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"put": {
|
||
"summary": "APP 修改成长记录",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/GrowthRecordBody"
|
||
},
|
||
"example": {
|
||
"lineagePersonId": 900020001,
|
||
"recordType": "birth",
|
||
"recordTitle": "出生记录",
|
||
"recordContent": "birth record",
|
||
"recordDate": "2026-07-09 10:00:00",
|
||
"remindTime": "2027-07-09 10:00:00",
|
||
"mediaOssIds": "2060000000000000001",
|
||
"sortOrder": 1,
|
||
"status": "0"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/memos": {
|
||
"get": {
|
||
"summary": "APP 备忘录列表",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ListResult",
|
||
"description": "通用列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"post": {
|
||
"summary": "APP 新增备忘录",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/MemoBody"
|
||
},
|
||
"example": {
|
||
"memoTitle": "修谱事项",
|
||
"memoContent": "contact family members",
|
||
"remindTime": "2026-08-01 09:00:00",
|
||
"completed": "0",
|
||
"mediaOssIds": "2060000000000000001",
|
||
"sortOrder": 1,
|
||
"status": "0"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/memos/{memoId}": {
|
||
"get": {
|
||
"summary": "APP 备忘录详情",
|
||
"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": "",
|
||
"required": true,
|
||
"example": "",
|
||
"schema": {
|
||
"type": "integer",
|
||
"format": "int64"
|
||
}
|
||
},
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"delete": {
|
||
"summary": "APP 删除备忘录",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "通用成功响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"put": {
|
||
"summary": "APP 修改备忘录",
|
||
"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": "",
|
||
"required": true,
|
||
"example": "",
|
||
"schema": {
|
||
"type": "integer",
|
||
"format": "int64"
|
||
}
|
||
},
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/MemoBody"
|
||
},
|
||
"example": {
|
||
"memoTitle": "修谱事项",
|
||
"memoContent": "contact family members",
|
||
"remindTime": "2026-08-01 09:00:00",
|
||
"completed": "0",
|
||
"mediaOssIds": "2060000000000000001",
|
||
"sortOrder": 1,
|
||
"status": "0"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/relative-records": {
|
||
"get": {
|
||
"summary": "APP 亲友记录列表",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ListResult",
|
||
"description": "通用列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"post": {
|
||
"summary": "APP 新增亲友记录",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/RelativeRecordBody"
|
||
},
|
||
"example": {
|
||
"relativeName": "张三",
|
||
"relationName": "亲友",
|
||
"eventName": "礼尚往来",
|
||
"eventTime": "2026-07-16 10:00:00",
|
||
"giftAmount": 100,
|
||
"recordContent": "往来记录",
|
||
"mediaOssIds": "2060000000000000001",
|
||
"sortOrder": 1,
|
||
"status": "0"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/relative-records/{relativeId}": {
|
||
"get": {
|
||
"summary": "APP 亲友记录详情",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"put": {
|
||
"summary": "APP 修改亲友记录",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/RelativeRecordBody"
|
||
},
|
||
"example": {
|
||
"relativeName": "张三",
|
||
"relationName": "亲友",
|
||
"eventName": "礼尚往来",
|
||
"eventTime": "2026-07-16 10:00:00",
|
||
"giftAmount": 100,
|
||
"recordContent": "往来记录",
|
||
"mediaOssIds": "2060000000000000001",
|
||
"sortOrder": 1,
|
||
"status": "0"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"delete": {
|
||
"summary": "APP 删除亲友记录",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "通用成功响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/merit-records": {
|
||
"get": {
|
||
"summary": "APP 功德记录列表",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ListResult",
|
||
"description": "通用列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"post": {
|
||
"summary": "APP 新增功德记录",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/MeritRecordBody"
|
||
},
|
||
"example": {
|
||
"donorName": "彭小明",
|
||
"meritType": "donation",
|
||
"meritTitle": "修谱捐款",
|
||
"meritContent": "support genealogy work",
|
||
"amount": 100,
|
||
"meritTime": "2026-07-09 10:00:00",
|
||
"sortOrder": 1,
|
||
"status": "0"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/merit-records/{meritId}": {
|
||
"delete": {
|
||
"summary": "APP 删除功德记录",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "通用成功响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/notifications": {
|
||
"get": {
|
||
"summary": "APP 消息通知列表",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"消息通知"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "readStatus",
|
||
"in": "query",
|
||
"description": "阅读状态,0未读,1已读;不传则查询全部",
|
||
"required": false,
|
||
"schema": {
|
||
"type": "string",
|
||
"enum": [
|
||
"0",
|
||
"1"
|
||
]
|
||
}
|
||
},
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ListResult",
|
||
"description": "通用列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/notifications/{notificationId}/read": {
|
||
"post": {
|
||
"summary": "APP 标记通知已读",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"消息通知"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "notificationId",
|
||
"in": "path",
|
||
"description": "通知ID",
|
||
"required": true,
|
||
"example": "",
|
||
"schema": {
|
||
"type": "integer",
|
||
"format": "int64"
|
||
}
|
||
},
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "通用成功响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/notifications/unread-count": {
|
||
"get": {
|
||
"summary": "APP 查询未读通知数量",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"消息通知"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/LongResult",
|
||
"description": "长整型数据响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/notifications/read-all": {
|
||
"post": {
|
||
"summary": "APP 全部标记已读",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"消息通知"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "通用成功响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/feedback": {
|
||
"get": {
|
||
"summary": "APP 我的反馈列表",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"意见反馈"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ListResult",
|
||
"description": "通用列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"post": {
|
||
"summary": "APP 提交反馈",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"意见反馈"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/FeedbackBody"
|
||
},
|
||
"example": {
|
||
"feedbackType": "bug",
|
||
"feedbackContent": "upload image failed",
|
||
"contactInfo": "13800000000"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/vip/packages": {
|
||
"get": {
|
||
"summary": "APP VIP 套餐列表",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"VIP"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ListResult",
|
||
"description": "通用列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/vip/orders": {
|
||
"get": {
|
||
"summary": "APP VIP 订单列表",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"VIP"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ListResult",
|
||
"description": "通用列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
},
|
||
"post": {
|
||
"summary": "APP 创建 VIP 订单",
|
||
"deprecated": false,
|
||
"description": "",
|
||
"tags": [
|
||
"VIP"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"requestBody": {
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/VipOrderBody"
|
||
},
|
||
"example": {
|
||
"packageId": 900060001,
|
||
"genealogyId": 900001001,
|
||
"payType": "wechat"
|
||
}
|
||
}
|
||
},
|
||
"required": true
|
||
},
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/ObjectResult",
|
||
"description": "通用对象响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/videos/{videoId}": {
|
||
"delete": {
|
||
"summary": "APP 删除视频",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/VoidResult",
|
||
"description": "通用成功响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/ceremonies/{ceremonyId}/invitees": {
|
||
"put": {
|
||
"summary": "APP 替换活动受邀人",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"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": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/ceremonies/{ceremonyId}/invitations": {
|
||
"get": {
|
||
"summary": "APP 查询活动邀请名单",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/CeremonyInvitationListResult",
|
||
"description": "贺礼邀约列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/{genealogyId}/ceremonies/{ceremonyId}/invitations/me": {
|
||
"put": {
|
||
"summary": "APP 响应当前用户的活动邀请",
|
||
"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": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"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": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
},
|
||
"/genealogy/app/genealogies/ceremony-invitations/mine": {
|
||
"get": {
|
||
"summary": "APP 查询我的活动邀请",
|
||
"deprecated": false,
|
||
"description": "查询当前租户下发给当前业务用户且活动仍正常的邀请。",
|
||
"tags": [
|
||
"贺礼邀约"
|
||
],
|
||
"parameters": [
|
||
{
|
||
"name": "clientid",
|
||
"in": "header",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"required": true,
|
||
"example": "428a8310cd442757ae699df5d894f051",
|
||
"schema": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
],
|
||
"responses": {
|
||
"200": {
|
||
"$ref": "#/components/responses/CeremonyInvitationListResult",
|
||
"description": "贺礼邀约列表响应"
|
||
}
|
||
},
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"components": {
|
||
"schemas": {
|
||
"JsonObject": {
|
||
"type": "object",
|
||
"additionalProperties": true,
|
||
"properties": {}
|
||
},
|
||
"RVoid": {
|
||
"type": "object",
|
||
"properties": {
|
||
"code": {
|
||
"description": "系统图形验证码或响应状态码",
|
||
"type": "integer",
|
||
"example": 200
|
||
},
|
||
"msg": {
|
||
"description": "响应消息",
|
||
"type": "string",
|
||
"example": "操作成功"
|
||
},
|
||
"data": {
|
||
"description": "响应数据主体",
|
||
"type": "null"
|
||
}
|
||
}
|
||
},
|
||
"RObject": {
|
||
"type": "object",
|
||
"properties": {
|
||
"code": {
|
||
"description": "系统图形验证码或响应状态码",
|
||
"type": "integer",
|
||
"example": 200
|
||
},
|
||
"msg": {
|
||
"description": "响应消息",
|
||
"type": "string",
|
||
"example": "操作成功"
|
||
},
|
||
"data": {
|
||
"description": "响应数据主体",
|
||
"type": "object",
|
||
"additionalProperties": true,
|
||
"properties": {}
|
||
}
|
||
}
|
||
},
|
||
"RList": {
|
||
"type": "object",
|
||
"properties": {
|
||
"code": {
|
||
"description": "系统图形验证码或响应状态码",
|
||
"type": "integer",
|
||
"example": 200
|
||
},
|
||
"msg": {
|
||
"description": "响应消息",
|
||
"type": "string",
|
||
"example": "操作成功"
|
||
},
|
||
"data": {
|
||
"description": "响应数据主体",
|
||
"type": "array",
|
||
"items": {
|
||
"type": "object",
|
||
"additionalProperties": true,
|
||
"properties": {}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"PageResult": {
|
||
"type": "object",
|
||
"properties": {
|
||
"code": {
|
||
"description": "系统图形验证码或响应状态码",
|
||
"type": "integer",
|
||
"example": 200
|
||
},
|
||
"msg": {
|
||
"description": "响应消息",
|
||
"type": "string",
|
||
"example": "操作成功"
|
||
},
|
||
"rows": {
|
||
"description": "分页数据列表",
|
||
"type": "array",
|
||
"items": {
|
||
"type": "object",
|
||
"additionalProperties": true,
|
||
"properties": {}
|
||
}
|
||
},
|
||
"total": {
|
||
"type": "integer",
|
||
"example": 0
|
||
}
|
||
}
|
||
},
|
||
"RLogin": {
|
||
"type": "object",
|
||
"properties": {
|
||
"code": {
|
||
"description": "系统图形验证码或响应状态码",
|
||
"type": "integer",
|
||
"example": 200
|
||
},
|
||
"msg": {
|
||
"description": "响应消息",
|
||
"type": "string",
|
||
"example": "操作成功"
|
||
},
|
||
"data": {
|
||
"description": "响应数据主体",
|
||
"$ref": "#/components/schemas/LoginVo"
|
||
}
|
||
}
|
||
},
|
||
"RFileUpload": {
|
||
"type": "object",
|
||
"properties": {
|
||
"code": {
|
||
"description": "系统图形验证码或响应状态码",
|
||
"type": "integer",
|
||
"example": 200
|
||
},
|
||
"msg": {
|
||
"description": "响应消息",
|
||
"type": "string",
|
||
"example": "操作成功"
|
||
},
|
||
"data": {
|
||
"description": "响应数据主体",
|
||
"$ref": "#/components/schemas/FileUploadVo"
|
||
}
|
||
}
|
||
},
|
||
"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"
|
||
}
|
||
}
|
||
},
|
||
"FileUploadVo": {
|
||
"type": "object",
|
||
"properties": {
|
||
"ossId": {
|
||
"description": "OSS文件ID,表单内部使用,用户侧应通过上传组件获取",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"url": {
|
||
"type": "string"
|
||
},
|
||
"thumbnailUrl": {
|
||
"type": "string",
|
||
"nullable": true
|
||
},
|
||
"fileName": {
|
||
"description": "原始文件名",
|
||
"type": "string"
|
||
},
|
||
"originalName": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"PasswordRegisterBody": {
|
||
"type": "object",
|
||
"additionalProperties": false,
|
||
"required": [
|
||
"grantType",
|
||
"tenantId",
|
||
"phone",
|
||
"password",
|
||
"smsCode"
|
||
],
|
||
"properties": {
|
||
"grantType": {
|
||
"description": "授权类型,例如password、sms、wechat、apple",
|
||
"type": "string",
|
||
"example": "password"
|
||
},
|
||
"tenantId": {
|
||
"description": "租户ID,用于区分不同租户的数据和验证策略",
|
||
"type": "string",
|
||
"example": "000000"
|
||
},
|
||
"phone": {
|
||
"description": "手机号",
|
||
"type": "string",
|
||
"example": "13800000000"
|
||
},
|
||
"password": {
|
||
"type": "string",
|
||
"description": "32 位 MD5",
|
||
"example": "e10adc3949ba59abbe56e057f20f883e"
|
||
},
|
||
"nickName": {
|
||
"description": "用户昵称",
|
||
"type": "string"
|
||
},
|
||
"registerSource": {
|
||
"description": "注册来源,例如APP、PC、H5、MINI_PROGRAM",
|
||
"type": "string"
|
||
},
|
||
"smsCode": {
|
||
"description": "4 位短信验证码",
|
||
"type": "string",
|
||
"pattern": "^\\d{4}$",
|
||
"example": "1234"
|
||
}
|
||
}
|
||
},
|
||
"PasswordLoginBody": {
|
||
"description": "APP 用户密码登录请求;验证场景由后端按 APP_PASSWORD_LOGIN 路由的当前激活绑定解析,前端不得提交 sceneCode;validToken 是否需要由解析后场景的策略决定。",
|
||
"type": "object",
|
||
"additionalProperties": false,
|
||
"required": [
|
||
"grantType",
|
||
"tenantId",
|
||
"phone",
|
||
"password"
|
||
],
|
||
"properties": {
|
||
"grantType": {
|
||
"description": "授权类型,例如password、sms、wechat、apple",
|
||
"type": "string",
|
||
"example": "password"
|
||
},
|
||
"tenantId": {
|
||
"description": "租户ID,用于区分不同租户的数据和验证策略",
|
||
"type": "string",
|
||
"example": "000000"
|
||
},
|
||
"phone": {
|
||
"description": "登录手机号,也是行为验证票据绑定的验证主体。",
|
||
"type": "string",
|
||
"example": "13800000000"
|
||
},
|
||
"password": {
|
||
"type": "string",
|
||
"description": "32 位 MD5",
|
||
"example": "e10adc3949ba59abbe56e057f20f883e"
|
||
},
|
||
"validToken": {
|
||
"description": "验证中心通过后返回的一次性票据;后台验证策略关闭时可为空,开启时必须提交。",
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"SmsLoginBody": {
|
||
"type": "object",
|
||
"additionalProperties": false,
|
||
"required": [
|
||
"grantType",
|
||
"tenantId",
|
||
"phone",
|
||
"smsCode"
|
||
],
|
||
"properties": {
|
||
"grantType": {
|
||
"description": "授权类型,例如password、sms、wechat、apple",
|
||
"type": "string",
|
||
"example": "sms"
|
||
},
|
||
"tenantId": {
|
||
"description": "租户ID,用于区分不同租户的数据和验证策略",
|
||
"type": "string",
|
||
"example": "000000"
|
||
},
|
||
"phone": {
|
||
"description": "手机号",
|
||
"type": "string",
|
||
"example": "13800000000"
|
||
},
|
||
"smsCode": {
|
||
"description": "4 位短信验证码",
|
||
"type": "string",
|
||
"pattern": "^\\d{4}$",
|
||
"example": "1234"
|
||
}
|
||
}
|
||
},
|
||
"SmsCodeBody": {
|
||
"type": "object",
|
||
"additionalProperties": false,
|
||
"required": [
|
||
"grantType",
|
||
"tenantId",
|
||
"phone"
|
||
],
|
||
"properties": {
|
||
"grantType": {
|
||
"description": "授权类型,例如password、sms、wechat、apple",
|
||
"type": "string",
|
||
"example": "sms"
|
||
},
|
||
"tenantId": {
|
||
"description": "租户ID,用于区分不同租户的数据和验证策略",
|
||
"type": "string",
|
||
"example": "000000"
|
||
},
|
||
"phone": {
|
||
"description": "手机号",
|
||
"type": "string",
|
||
"example": "13800000000"
|
||
},
|
||
"validToken": {
|
||
"description": "验证中心通过后返回的票据,仅用于发送短信验证码;后台验证策略关闭时可为空,开启时必填。",
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"ProfileUpdateBody": {
|
||
"type": "object",
|
||
"properties": {
|
||
"nickName": {
|
||
"description": "用户昵称",
|
||
"type": "string"
|
||
},
|
||
"avatarOssId": {
|
||
"description": "头像文件OSS ID",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"sex": {
|
||
"description": "性别,建议使用系统字典值",
|
||
"type": "string"
|
||
},
|
||
"birthday": {
|
||
"description": "生日,格式 yyyy-MM-dd",
|
||
"type": "string",
|
||
"format": "date"
|
||
},
|
||
"provinceCode": {
|
||
"type": "string"
|
||
},
|
||
"cityCode": {
|
||
"type": "string"
|
||
},
|
||
"districtCode": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"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",
|
||
"example": "password"
|
||
},
|
||
"tenantId": {
|
||
"description": "租户ID,用于区分不同租户的数据和验证策略",
|
||
"type": "string",
|
||
"example": "000000"
|
||
},
|
||
"phone": {
|
||
"description": "手机号",
|
||
"type": "string"
|
||
},
|
||
"smsCode": {
|
||
"description": "4 位短信验证码",
|
||
"type": "string",
|
||
"pattern": "^\\d{4}$",
|
||
"example": "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}$",
|
||
"example": "1234"
|
||
}
|
||
}
|
||
},
|
||
"AccountDeactivateBody": {
|
||
"type": "object",
|
||
"additionalProperties": false,
|
||
"required": [
|
||
"smsCode"
|
||
],
|
||
"properties": {
|
||
"smsCode": {
|
||
"description": "4 位短信验证码",
|
||
"type": "string",
|
||
"pattern": "^\\d{4}$",
|
||
"example": "1234"
|
||
}
|
||
}
|
||
},
|
||
"ResumableInitBody": {
|
||
"type": "object",
|
||
"required": [
|
||
"fileName",
|
||
"fileSize",
|
||
"fileMd5",
|
||
"chunkSize",
|
||
"totalChunks"
|
||
],
|
||
"properties": {
|
||
"fileName": {
|
||
"description": "原始文件名",
|
||
"type": "string"
|
||
},
|
||
"fileSize": {
|
||
"description": "文件大小,单位字节",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"fileMd5": {
|
||
"description": "完整文件MD5,用于秒传和完整性校验",
|
||
"type": "string"
|
||
},
|
||
"contentType": {
|
||
"description": "文件MIME类型,例如 image/jpeg、video/mp4",
|
||
"type": "string"
|
||
},
|
||
"chunkSize": {
|
||
"description": "单个分片大小,单位字节",
|
||
"type": "integer",
|
||
"example": 4194304
|
||
},
|
||
"totalChunks": {
|
||
"description": "总分片数",
|
||
"type": "integer"
|
||
},
|
||
"bizType": {
|
||
"description": "业务类型,例如avatar、cover、feed_image",
|
||
"type": "string"
|
||
},
|
||
"usageScene": {
|
||
"description": "文件使用场景,便于后续引用统计和清理",
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"ResumableCompleteBody": {
|
||
"type": "object",
|
||
"required": [
|
||
"uploadId",
|
||
"fileMd5",
|
||
"fileSize"
|
||
],
|
||
"properties": {
|
||
"uploadId": {
|
||
"description": "分片上传任务ID",
|
||
"type": "string"
|
||
},
|
||
"fileMd5": {
|
||
"description": "完整文件MD5,用于秒传和完整性校验",
|
||
"type": "string"
|
||
},
|
||
"fileSize": {
|
||
"description": "文件大小,单位字节",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
}
|
||
}
|
||
},
|
||
"FileReferenceBody": {
|
||
"type": "object",
|
||
"required": [
|
||
"bizType",
|
||
"bizTable",
|
||
"bizId",
|
||
"bizField"
|
||
],
|
||
"properties": {
|
||
"bizType": {
|
||
"description": "业务类型,例如avatar、cover、feed_image",
|
||
"type": "string",
|
||
"example": "family_feed"
|
||
},
|
||
"bizName": {
|
||
"description": "业务名称,用于后台展示文件引用来源",
|
||
"type": "string",
|
||
"example": "家族圈动态"
|
||
},
|
||
"bizTable": {
|
||
"description": "业务表名,用于文件引用绑定",
|
||
"type": "string",
|
||
"example": "gen_family_feed"
|
||
},
|
||
"bizId": {
|
||
"description": "业务数据ID,用于文件引用绑定",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"bizField": {
|
||
"description": "业务字段名,例如avatar_oss_id、cover_oss_id",
|
||
"type": "string",
|
||
"example": "media_ids"
|
||
},
|
||
"ossId": {
|
||
"description": "OSS文件ID,表单内部使用,用户侧应通过上传组件获取",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"ossIds": {
|
||
"type": "string",
|
||
"example": "2060001,2060002"
|
||
},
|
||
"usageScene": {
|
||
"description": "文件使用场景,便于后续引用统计和清理",
|
||
"type": "string"
|
||
},
|
||
"usageName": {
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"GenerationPoemBatchBody": {
|
||
"type": "object",
|
||
"required": [
|
||
"poemText"
|
||
],
|
||
"properties": {
|
||
"poemText": {
|
||
"description": "字辈文本。无分隔符时按单个字拆分;可用空格、逗号、分号、顿号、斜杠或竖线分隔多个字辈。单个字辈最多50个字符,一次最多500个世代。",
|
||
"type": "string",
|
||
"maxLength": 26000,
|
||
"example": "德承家亦\n忠厚传芳"
|
||
},
|
||
"disableMissing": {
|
||
"description": "保存时是否停用未出现在新文本中的后续世代;不会删除历史记录。",
|
||
"type": "boolean",
|
||
"example": false
|
||
}
|
||
}
|
||
},
|
||
"LineagePersonBody": {
|
||
"type": "object",
|
||
"additionalProperties": false,
|
||
"required": [
|
||
"name"
|
||
],
|
||
"properties": {
|
||
"appUserId": {
|
||
"description": "绑定的业务用户ID;仅家谱管理员可绑定,且用户必须属于当前租户并处于正常状态",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"personNo": {
|
||
"description": "人物编号;不传时由服务端生成",
|
||
"type": "string"
|
||
},
|
||
"name": {
|
||
"description": "姓名",
|
||
"type": "string"
|
||
},
|
||
"aliasName": {
|
||
"description": "别名或曾用名",
|
||
"type": "string"
|
||
},
|
||
"sex": {
|
||
"description": "性别,建议使用系统字典值",
|
||
"type": "string",
|
||
"example": "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": "integer",
|
||
"format": "int64",
|
||
"nullable": true
|
||
},
|
||
"birthDate": {
|
||
"type": "string",
|
||
"format": "date-time",
|
||
"nullable": true
|
||
},
|
||
"birthLunar": {
|
||
"description": "生日是否农历,使用项目字典值",
|
||
"type": "string"
|
||
},
|
||
"birthPlace": {
|
||
"description": "出生地",
|
||
"type": "string"
|
||
},
|
||
"deathDate": {
|
||
"type": "string",
|
||
"format": "date-time",
|
||
"nullable": true
|
||
},
|
||
"deathLunar": {
|
||
"description": "逝世日期是否农历,使用项目字典值",
|
||
"type": "string"
|
||
},
|
||
"deathPlace": {
|
||
"description": "逝世地",
|
||
"type": "string"
|
||
},
|
||
"burialPlace": {
|
||
"description": "安葬地",
|
||
"type": "string"
|
||
},
|
||
"personStatus": {
|
||
"description": "人物状态字典值",
|
||
"type": "string"
|
||
},
|
||
"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",
|
||
"example": "text"
|
||
},
|
||
"feedContent": {
|
||
"description": "动态内容,不能为空",
|
||
"type": "string",
|
||
"example": "今天上传一张老照片。"
|
||
},
|
||
"mediaOssIds": {
|
||
"description": "媒体文件 OSS ID 列表,多个 ID 使用英文逗号分隔",
|
||
"type": "string",
|
||
"example": "2060000000000000001,2060000000000000002"
|
||
},
|
||
"sortOrder": {
|
||
"description": "排序值,未传时默认为 0",
|
||
"type": "integer",
|
||
"format": "int64",
|
||
"example": 0
|
||
},
|
||
"status": {
|
||
"description": "动态状态,未传时默认为正常状态",
|
||
"type": "string",
|
||
"example": "0"
|
||
}
|
||
}
|
||
},
|
||
"FamilyFeedCommentBody": {
|
||
"type": "object",
|
||
"required": [
|
||
"commentContent"
|
||
],
|
||
"properties": {
|
||
"parentCommentId": {
|
||
"description": "父评论 ID;不传或传 null 表示发布一级评论",
|
||
"type": "integer",
|
||
"format": "int64",
|
||
"nullable": true
|
||
},
|
||
"commentContent": {
|
||
"description": "评论内容,最多 1000 个字符",
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"GenealogyCreateBody": {
|
||
"type": "object",
|
||
"required": [
|
||
"genealogyName",
|
||
"surname",
|
||
"regionCode"
|
||
],
|
||
"properties": {
|
||
"genealogyName": {
|
||
"description": "家谱名称",
|
||
"type": "string"
|
||
},
|
||
"surname": {
|
||
"description": "姓氏",
|
||
"type": "string"
|
||
},
|
||
"ancestralHall": {
|
||
"description": "堂号/祠堂名称",
|
||
"type": "string"
|
||
},
|
||
"originPlace": {
|
||
"description": "籍贯/起源地",
|
||
"type": "string"
|
||
},
|
||
"regionCode": {
|
||
"description": "行政区划编码",
|
||
"type": "string"
|
||
},
|
||
"addressDetail": {
|
||
"description": "详细地址",
|
||
"type": "string"
|
||
},
|
||
"coverOssId": {
|
||
"description": "封面图片OSS ID",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"intro": {
|
||
"description": "简介",
|
||
"type": "string"
|
||
},
|
||
"visibility": {
|
||
"description": "可见范围,例如0私密、1公开、2成员可见",
|
||
"type": "string"
|
||
},
|
||
"joinMode": {
|
||
"description": "加入方式,例如0关闭、1审核、2邀请码",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"example": {
|
||
"genealogyName": "彭氏家谱",
|
||
"surname": "彭",
|
||
"ancestralHall": "陇西堂",
|
||
"originPlace": "江西吉安",
|
||
"regionCode": "360800",
|
||
"addressDetail": "江西省吉安市",
|
||
"coverOssId": 2060000000000000000,
|
||
"intro": "彭氏家谱简介",
|
||
"visibility": "1",
|
||
"joinMode": "1"
|
||
}
|
||
},
|
||
"GenealogyUpdateBody": {
|
||
"type": "object",
|
||
"properties": {
|
||
"genealogyName": {
|
||
"description": "家谱名称",
|
||
"type": "string"
|
||
},
|
||
"surname": {
|
||
"description": "姓氏",
|
||
"type": "string"
|
||
},
|
||
"ancestralHall": {
|
||
"description": "堂号/祠堂名称",
|
||
"type": "string"
|
||
},
|
||
"originPlace": {
|
||
"description": "籍贯/起源地",
|
||
"type": "string"
|
||
},
|
||
"regionCode": {
|
||
"description": "行政区划编码",
|
||
"type": "string"
|
||
},
|
||
"addressDetail": {
|
||
"description": "详细地址",
|
||
"type": "string"
|
||
},
|
||
"coverOssId": {
|
||
"description": "封面图片OSS ID",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"intro": {
|
||
"description": "简介",
|
||
"type": "string"
|
||
},
|
||
"visibility": {
|
||
"description": "可见范围,例如0私密、1公开、2成员可见",
|
||
"type": "string"
|
||
},
|
||
"joinMode": {
|
||
"description": "加入方式,例如0关闭、1审核、2邀请码",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"example": {
|
||
"genealogyName": "彭氏家谱",
|
||
"surname": "彭",
|
||
"ancestralHall": "陇西堂",
|
||
"originPlace": "江西吉安",
|
||
"regionCode": "360800",
|
||
"addressDetail": "江西省吉安市",
|
||
"coverOssId": 2060000000000000000,
|
||
"intro": "更新后的家谱简介",
|
||
"visibility": "1",
|
||
"joinMode": "1"
|
||
}
|
||
},
|
||
"GenealogyJoinApplyBody": {
|
||
"type": "object",
|
||
"properties": {
|
||
"applicantName": {
|
||
"description": "申请人姓名",
|
||
"type": "string"
|
||
},
|
||
"phone": {
|
||
"description": "手机号",
|
||
"type": "string"
|
||
},
|
||
"relationDesc": {
|
||
"description": "与家谱/人物的关系说明",
|
||
"type": "string"
|
||
},
|
||
"applyReason": {
|
||
"description": "申请理由",
|
||
"type": "string"
|
||
},
|
||
"inviterUserId": {
|
||
"description": "邀请人业务用户ID",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
}
|
||
},
|
||
"example": {
|
||
"applicantName": "彭小明",
|
||
"phone": "13800000000",
|
||
"relationDesc": "本族成员",
|
||
"applyReason": "申请加入家谱维护",
|
||
"inviterUserId": 900000001
|
||
}
|
||
},
|
||
"GenealogyJoinAuditBody": {
|
||
"type": "object",
|
||
"required": [
|
||
"status"
|
||
],
|
||
"properties": {
|
||
"status": {
|
||
"description": "状态,建议使用对应字典值",
|
||
"type": "string"
|
||
},
|
||
"auditRemark": {
|
||
"description": "审核备注",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"example": {
|
||
"status": "1",
|
||
"auditRemark": "信息核验通过"
|
||
}
|
||
},
|
||
"GenealogyMemberUpdateBody": {
|
||
"type": "object",
|
||
"properties": {
|
||
"memberName": {
|
||
"description": "成员姓名",
|
||
"type": "string"
|
||
},
|
||
"relationName": {
|
||
"description": "成员关系名称",
|
||
"type": "string"
|
||
},
|
||
"roleType": {
|
||
"description": "成员角色类型,例如创建者、管理员、普通成员",
|
||
"type": "string"
|
||
},
|
||
"lineagePersonId": {
|
||
"description": "绑定的世系人物ID",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
}
|
||
},
|
||
"example": {
|
||
"memberName": "彭小明",
|
||
"relationName": "族亲",
|
||
"roleType": "member",
|
||
"lineagePersonId": 900020001
|
||
}
|
||
},
|
||
"GenealogyOwnerTransferBody": {
|
||
"type": "object",
|
||
"required": [
|
||
"targetMemberId"
|
||
],
|
||
"properties": {
|
||
"targetMemberId": {
|
||
"description": "目标成员ID",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
}
|
||
},
|
||
"example": {
|
||
"targetMemberId": 900010002
|
||
}
|
||
},
|
||
"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": "状态,0正常,1停用",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"example": {
|
||
"generationNo": 5,
|
||
"generationText": "忠",
|
||
"description": "fifth generation poem",
|
||
"sortOrder": 5,
|
||
"status": "0"
|
||
}
|
||
},
|
||
"ArticleBody": {
|
||
"type": "object",
|
||
"required": [
|
||
"articleTitle",
|
||
"articleContent"
|
||
],
|
||
"properties": {
|
||
"categoryId": {
|
||
"description": "分类ID",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"articleTitle": {
|
||
"description": "文章标题",
|
||
"type": "string"
|
||
},
|
||
"articleSummary": {
|
||
"description": "文章摘要",
|
||
"type": "string"
|
||
},
|
||
"coverOssId": {
|
||
"description": "封面图片OSS ID",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"articleContent": {
|
||
"description": "文章内容",
|
||
"type": "string"
|
||
},
|
||
"authorName": {
|
||
"description": "作者名称",
|
||
"type": "string"
|
||
},
|
||
"sortOrder": {
|
||
"description": "排序值,数值越小越靠前",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"status": {
|
||
"description": "状态,建议使用对应字典值",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"example": {
|
||
"categoryId": 900040001,
|
||
"articleTitle": "族谱源流",
|
||
"articleSummary": "介绍本支源流",
|
||
"coverOssId": 2060000000000000000,
|
||
"articleContent": "<p>article content</p>",
|
||
"authorName": "族谱管理员",
|
||
"sortOrder": 1,
|
||
"status": "0"
|
||
}
|
||
},
|
||
"AlbumBody": {
|
||
"type": "object",
|
||
"required": [
|
||
"albumName"
|
||
],
|
||
"properties": {
|
||
"albumName": {
|
||
"description": "相册名称",
|
||
"type": "string"
|
||
},
|
||
"albumDesc": {
|
||
"description": "相册说明",
|
||
"type": "string"
|
||
},
|
||
"coverOssId": {
|
||
"description": "封面图片OSS ID",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"sortOrder": {
|
||
"description": "排序值,数值越小越靠前",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"status": {
|
||
"description": "状态,建议使用对应字典值",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"example": {
|
||
"albumName": "老照片",
|
||
"albumDesc": "family old photos",
|
||
"coverOssId": 2060000000000000000,
|
||
"sortOrder": 1,
|
||
"status": "0"
|
||
}
|
||
},
|
||
"AlbumPhotoBody": {
|
||
"type": "object",
|
||
"required": [
|
||
"ossId"
|
||
],
|
||
"properties": {
|
||
"ossId": {
|
||
"description": "OSS文件ID,表单内部使用,用户侧应通过上传组件获取",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"photoTitle": {
|
||
"description": "图片标题",
|
||
"type": "string"
|
||
},
|
||
"photoDesc": {
|
||
"description": "图片说明",
|
||
"type": "string"
|
||
},
|
||
"photographer": {
|
||
"description": "拍摄人",
|
||
"type": "string"
|
||
},
|
||
"shootTime": {
|
||
"description": "拍摄时间",
|
||
"type": "string"
|
||
},
|
||
"sortOrder": {
|
||
"description": "排序值,数值越小越靠前",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"status": {
|
||
"description": "状态,建议使用对应字典值",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"example": {
|
||
"ossId": 2060000000000000000,
|
||
"photoTitle": "老宅合影",
|
||
"photoDesc": "old house photo",
|
||
"photographer": "彭小明",
|
||
"shootTime": "2026-07-09 10:00:00",
|
||
"sortOrder": 1,
|
||
"status": "0"
|
||
}
|
||
},
|
||
"CeremonyBody": {
|
||
"type": "object",
|
||
"required": [
|
||
"ceremonyType",
|
||
"ceremonyTitle"
|
||
],
|
||
"properties": {
|
||
"ceremonyType": {
|
||
"description": "祭祀/活动类型",
|
||
"type": "string"
|
||
},
|
||
"ceremonyTitle": {
|
||
"description": "祭祀/活动标题",
|
||
"type": "string"
|
||
},
|
||
"ceremonyDesc": {
|
||
"description": "祭祀/活动说明",
|
||
"type": "string"
|
||
},
|
||
"ceremonyTime": {
|
||
"description": "祭祀/活动时间",
|
||
"type": "string"
|
||
},
|
||
"location": {
|
||
"description": "地点名称,例如祠堂或酒店名称",
|
||
"type": "string"
|
||
},
|
||
"locationAddress": {
|
||
"description": "详细地址",
|
||
"type": "string",
|
||
"maxLength": 300
|
||
},
|
||
"longitude": {
|
||
"description": "经度,必须与纬度同时提供",
|
||
"type": "number",
|
||
"minimum": -180,
|
||
"maximum": 180
|
||
},
|
||
"latitude": {
|
||
"description": "纬度,必须与经度同时提供",
|
||
"type": "number",
|
||
"minimum": -90,
|
||
"maximum": 90
|
||
},
|
||
"coverOssId": {
|
||
"description": "封面图片OSS ID",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"sortOrder": {
|
||
"description": "排序值,数值越小越靠前",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"status": {
|
||
"description": "状态,建议使用对应字典值",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"example": {
|
||
"ceremonyType": "ancestor",
|
||
"ceremonyTitle": "清明祭祖",
|
||
"ceremonyDesc": "online ancestor ceremony",
|
||
"ceremonyTime": "2026-04-04 09:00:00",
|
||
"location": "祠堂",
|
||
"locationAddress": "四川省成都市示例路1号",
|
||
"longitude": 104.066541,
|
||
"latitude": 30.572269,
|
||
"coverOssId": 2060000000000000000,
|
||
"sortOrder": 1,
|
||
"status": "0"
|
||
}
|
||
},
|
||
"CeremonyGiftBody": {
|
||
"type": "object",
|
||
"required": [
|
||
"giftAmount"
|
||
],
|
||
"properties": {
|
||
"giverName": {
|
||
"description": "赠送人/献礼人姓名",
|
||
"type": "string"
|
||
},
|
||
"giftAmount": {
|
||
"description": "礼物金额",
|
||
"type": "number",
|
||
"format": "double"
|
||
},
|
||
"giftMessage": {
|
||
"description": "礼物留言",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"example": {
|
||
"giverName": "彭小明",
|
||
"giftAmount": 66.66,
|
||
"giftMessage": "缅怀先祖"
|
||
}
|
||
},
|
||
"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 列表;多个正整数 ID 使用英文逗号分隔,禁止空项和其他字符",
|
||
"type": "string",
|
||
"pattern": "^$|^[1-9][0-9]*(,[1-9][0-9]*)*$"
|
||
},
|
||
"sortOrder": {
|
||
"description": "排序值,数值越小越靠前",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"status": {
|
||
"description": "状态,建议使用对应字典值",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"example": {
|
||
"lineagePersonId": 900020001,
|
||
"recordType": "birth",
|
||
"recordTitle": "出生记录",
|
||
"recordContent": "birth record",
|
||
"recordDate": "2026-07-09 10:00:00",
|
||
"remindTime": "2027-07-09 10:00:00",
|
||
"mediaOssIds": "2060000000000000001",
|
||
"sortOrder": 1,
|
||
"status": "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 列表;多个正整数 ID 使用英文逗号分隔,禁止空项和其他字符",
|
||
"type": "string",
|
||
"pattern": "^$|^[1-9][0-9]*(,[1-9][0-9]*)*$"
|
||
},
|
||
"sortOrder": {
|
||
"description": "排序值,数值越小越靠前",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"status": {
|
||
"description": "状态,建议使用对应字典值",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"example": {
|
||
"memoTitle": "修谱事项",
|
||
"memoContent": "contact family members",
|
||
"remindTime": "2026-08-01 09:00:00",
|
||
"completed": "0",
|
||
"mediaOssIds": "2060000000000000001",
|
||
"sortOrder": 1,
|
||
"status": "0"
|
||
}
|
||
},
|
||
"MeritRecordBody": {
|
||
"type": "object",
|
||
"required": [
|
||
"donorName",
|
||
"meritTitle"
|
||
],
|
||
"properties": {
|
||
"donorName": {
|
||
"description": "功德人/捐赠人姓名",
|
||
"type": "string"
|
||
},
|
||
"meritType": {
|
||
"description": "功德类型",
|
||
"type": "string"
|
||
},
|
||
"meritTitle": {
|
||
"description": "功德标题",
|
||
"type": "string"
|
||
},
|
||
"meritContent": {
|
||
"description": "功德内容",
|
||
"type": "string"
|
||
},
|
||
"amount": {
|
||
"description": "金额",
|
||
"type": "number",
|
||
"format": "double"
|
||
},
|
||
"meritTime": {
|
||
"description": "功德时间",
|
||
"type": "string"
|
||
},
|
||
"sortOrder": {
|
||
"description": "排序值,数值越小越靠前",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"status": {
|
||
"description": "状态,建议使用对应字典值",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"example": {
|
||
"donorName": "彭小明",
|
||
"meritType": "donation",
|
||
"meritTitle": "修谱捐款",
|
||
"meritContent": "support genealogy work",
|
||
"amount": 100,
|
||
"meritTime": "2026-07-09 10:00:00",
|
||
"sortOrder": 1,
|
||
"status": "0"
|
||
}
|
||
},
|
||
"FeedbackBody": {
|
||
"type": "object",
|
||
"required": [
|
||
"feedbackContent"
|
||
],
|
||
"properties": {
|
||
"feedbackType": {
|
||
"description": "反馈类型",
|
||
"type": "string"
|
||
},
|
||
"feedbackContent": {
|
||
"description": "反馈内容",
|
||
"type": "string"
|
||
},
|
||
"contactInfo": {
|
||
"description": "联系方式",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"example": {
|
||
"feedbackType": "bug",
|
||
"feedbackContent": "upload image failed",
|
||
"contactInfo": "13800000000"
|
||
}
|
||
},
|
||
"VipOrderBody": {
|
||
"type": "object",
|
||
"required": [
|
||
"packageId"
|
||
],
|
||
"properties": {
|
||
"packageId": {
|
||
"description": "VIP套餐ID",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"genealogyId": {
|
||
"description": "家谱ID",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"payType": {
|
||
"description": "支付方式",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"example": {
|
||
"packageId": 900060001,
|
||
"genealogyId": 900001001,
|
||
"payType": "wechat"
|
||
}
|
||
},
|
||
"VerificationChallengeBody": {
|
||
"type": "object",
|
||
"additionalProperties": false,
|
||
"required": [
|
||
"tenantId",
|
||
"subject"
|
||
],
|
||
"properties": {
|
||
"tenantId": {
|
||
"type": "string",
|
||
"description": "租户 ID"
|
||
},
|
||
"subject": {
|
||
"type": "string",
|
||
"description": "验证主体,如手机号/用户名/IP"
|
||
}
|
||
},
|
||
"example": {
|
||
"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"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
},
|
||
"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"
|
||
}
|
||
},
|
||
"example": {
|
||
"required": true,
|
||
"providerCode": "tianai",
|
||
"captchaType": "SLIDER",
|
||
"sceneCode": "APP_LOGIN_ACTIVE_SCENE",
|
||
"ttlSeconds": 300
|
||
}
|
||
},
|
||
"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"
|
||
}
|
||
},
|
||
"example": {
|
||
"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
|
||
}
|
||
},
|
||
"VerificationCheckVo": {
|
||
"type": "object",
|
||
"properties": {
|
||
"passed": {
|
||
"description": "验证是否通过",
|
||
"type": "boolean"
|
||
},
|
||
"validToken": {
|
||
"type": "string",
|
||
"description": "验证通过后交给发送短信验证码接口的票据"
|
||
},
|
||
"expireSeconds": {
|
||
"description": "验证挑战过期秒数",
|
||
"type": "integer"
|
||
},
|
||
"message": {
|
||
"description": "返回消息",
|
||
"type": "string"
|
||
}
|
||
},
|
||
"example": {
|
||
"passed": true,
|
||
"validToken": "captcha-ticket",
|
||
"expireSeconds": 300,
|
||
"message": "验证通过"
|
||
}
|
||
},
|
||
"LegacyCaptchaVo": {
|
||
"type": "object",
|
||
"properties": {
|
||
"captchaEnabled": {
|
||
"type": "boolean"
|
||
},
|
||
"uuid": {
|
||
"description": "系统图形验证码UUID",
|
||
"type": "string"
|
||
},
|
||
"img": {
|
||
"type": "string",
|
||
"description": "base64 图形验证码"
|
||
}
|
||
},
|
||
"example": {
|
||
"captchaEnabled": true,
|
||
"uuid": "captcha-uuid",
|
||
"img": "data:image/png;base64,..."
|
||
}
|
||
},
|
||
"RVerificationRequire": {
|
||
"type": "object",
|
||
"properties": {
|
||
"code": {
|
||
"description": "系统图形验证码或响应状态码",
|
||
"type": "integer",
|
||
"example": 200
|
||
},
|
||
"msg": {
|
||
"description": "响应消息",
|
||
"type": "string",
|
||
"example": "操作成功"
|
||
},
|
||
"data": {
|
||
"description": "响应数据主体",
|
||
"$ref": "#/components/schemas/VerificationRequireVo"
|
||
}
|
||
}
|
||
},
|
||
"RVerificationChallenge": {
|
||
"type": "object",
|
||
"properties": {
|
||
"code": {
|
||
"description": "系统图形验证码或响应状态码",
|
||
"type": "integer",
|
||
"example": 200
|
||
},
|
||
"msg": {
|
||
"description": "响应消息",
|
||
"type": "string",
|
||
"example": "操作成功"
|
||
},
|
||
"data": {
|
||
"description": "响应数据主体",
|
||
"$ref": "#/components/schemas/VerificationChallengeVo"
|
||
}
|
||
}
|
||
},
|
||
"RVerificationCheck": {
|
||
"type": "object",
|
||
"properties": {
|
||
"code": {
|
||
"description": "系统图形验证码或响应状态码",
|
||
"type": "integer",
|
||
"example": 200
|
||
},
|
||
"msg": {
|
||
"description": "响应消息",
|
||
"type": "string",
|
||
"example": "操作成功"
|
||
},
|
||
"data": {
|
||
"description": "响应数据主体",
|
||
"$ref": "#/components/schemas/VerificationCheckVo"
|
||
}
|
||
}
|
||
},
|
||
"RLegacyCaptcha": {
|
||
"type": "object",
|
||
"properties": {
|
||
"code": {
|
||
"description": "系统图形验证码或响应状态码",
|
||
"type": "integer",
|
||
"example": 200
|
||
},
|
||
"msg": {
|
||
"description": "响应消息",
|
||
"type": "string",
|
||
"example": "操作成功"
|
||
},
|
||
"data": {
|
||
"description": "响应数据主体",
|
||
"$ref": "#/components/schemas/LegacyCaptchaVo"
|
||
}
|
||
}
|
||
},
|
||
"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": "状态,0正常,1停用",
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"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"
|
||
}
|
||
}
|
||
},
|
||
"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"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"RGenerationPoem": {
|
||
"type": "object",
|
||
"properties": {
|
||
"code": {
|
||
"description": "响应状态码",
|
||
"type": "integer",
|
||
"example": 200
|
||
},
|
||
"msg": {
|
||
"description": "响应消息",
|
||
"type": "string"
|
||
},
|
||
"data": {
|
||
"$ref": "#/components/schemas/GenerationPoemView"
|
||
}
|
||
}
|
||
},
|
||
"RGenerationPoemList": {
|
||
"type": "object",
|
||
"properties": {
|
||
"code": {
|
||
"description": "响应状态码",
|
||
"type": "integer",
|
||
"example": 200
|
||
},
|
||
"msg": {
|
||
"description": "响应消息",
|
||
"type": "string"
|
||
},
|
||
"data": {
|
||
"type": "array",
|
||
"items": {
|
||
"$ref": "#/components/schemas/GenerationPoemView"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"RGenerationPoemBatchPreview": {
|
||
"type": "object",
|
||
"properties": {
|
||
"code": {
|
||
"description": "响应状态码",
|
||
"type": "integer",
|
||
"example": 200
|
||
},
|
||
"msg": {
|
||
"description": "响应消息",
|
||
"type": "string"
|
||
},
|
||
"data": {
|
||
"$ref": "#/components/schemas/GenerationPoemBatchPreviewView"
|
||
}
|
||
}
|
||
},
|
||
"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",
|
||
"format": "int64",
|
||
"nullable": true
|
||
},
|
||
"appUserNickName": {
|
||
"description": "绑定业务用户昵称",
|
||
"type": "string"
|
||
},
|
||
"personNo": {
|
||
"description": "人物编号",
|
||
"type": "string"
|
||
},
|
||
"name": {
|
||
"description": "姓名",
|
||
"type": "string"
|
||
},
|
||
"aliasName": {
|
||
"description": "别名或曾用名",
|
||
"type": "string"
|
||
},
|
||
"sex": {
|
||
"description": "性别字典值",
|
||
"type": "string"
|
||
},
|
||
"generation": {
|
||
"description": "世代序号",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"generationName": {
|
||
"description": "字辈或辈分",
|
||
"type": "string"
|
||
},
|
||
"fatherId": {
|
||
"description": "父亲人物ID",
|
||
"type": "integer",
|
||
"format": "int64",
|
||
"nullable": true
|
||
},
|
||
"fatherName": {
|
||
"description": "父亲姓名",
|
||
"type": "string"
|
||
},
|
||
"motherId": {
|
||
"description": "母亲人物ID",
|
||
"type": "integer",
|
||
"format": "int64",
|
||
"nullable": true
|
||
},
|
||
"motherName": {
|
||
"description": "母亲姓名",
|
||
"type": "string"
|
||
},
|
||
"spouseNames": {
|
||
"description": "配偶姓名,多个使用顿号分隔",
|
||
"type": "string"
|
||
},
|
||
"avatarOssId": {
|
||
"description": "头像文件OSS ID",
|
||
"type": "integer",
|
||
"format": "int64",
|
||
"nullable": true
|
||
},
|
||
"birthDate": {
|
||
"description": "出生日期",
|
||
"type": "string",
|
||
"format": "date-time",
|
||
"nullable": true
|
||
},
|
||
"birthLunar": {
|
||
"description": "生日是否农历字典值",
|
||
"type": "string"
|
||
},
|
||
"birthPlace": {
|
||
"description": "出生地",
|
||
"type": "string"
|
||
},
|
||
"deathDate": {
|
||
"description": "逝世日期",
|
||
"type": "string",
|
||
"format": "date-time",
|
||
"nullable": true
|
||
},
|
||
"deathLunar": {
|
||
"description": "逝世日期是否农历字典值",
|
||
"type": "string"
|
||
},
|
||
"deathPlace": {
|
||
"description": "逝世地",
|
||
"type": "string"
|
||
},
|
||
"burialPlace": {
|
||
"description": "安葬地",
|
||
"type": "string"
|
||
},
|
||
"personStatus": {
|
||
"description": "人物状态字典值",
|
||
"type": "string"
|
||
},
|
||
"biography": {
|
||
"description": "人物简介",
|
||
"type": "string"
|
||
},
|
||
"sortOrder": {
|
||
"description": "排序值",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"status": {
|
||
"description": "数据状态,0正常、1停用",
|
||
"type": "string"
|
||
},
|
||
"remark": {
|
||
"description": "备注",
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"LineagePersonTreeView": {
|
||
"allOf": [
|
||
{
|
||
"$ref": "#/components/schemas/LineagePersonView"
|
||
},
|
||
{
|
||
"type": "object",
|
||
"properties": {
|
||
"relationType": {
|
||
"description": "与当前树节点的关系类型",
|
||
"type": "string"
|
||
},
|
||
"relationName": {
|
||
"description": "关系显示名称",
|
||
"type": "string"
|
||
},
|
||
"spouses": {
|
||
"description": "配偶节点",
|
||
"type": "array",
|
||
"items": {
|
||
"$ref": "#/components/schemas/LineagePersonTreeView"
|
||
}
|
||
},
|
||
"children": {
|
||
"description": "子女节点",
|
||
"type": "array",
|
||
"items": {
|
||
"$ref": "#/components/schemas/LineagePersonTreeView"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
]
|
||
},
|
||
"RLineagePerson": {
|
||
"type": "object",
|
||
"properties": {
|
||
"code": {
|
||
"description": "响应状态码",
|
||
"type": "integer",
|
||
"example": 200
|
||
},
|
||
"msg": {
|
||
"description": "响应消息",
|
||
"type": "string",
|
||
"example": "操作成功"
|
||
},
|
||
"data": {
|
||
"$ref": "#/components/schemas/LineagePersonView"
|
||
}
|
||
}
|
||
},
|
||
"RLineagePersonList": {
|
||
"type": "object",
|
||
"properties": {
|
||
"code": {
|
||
"description": "响应状态码",
|
||
"type": "integer",
|
||
"example": 200
|
||
},
|
||
"msg": {
|
||
"description": "响应消息",
|
||
"type": "string",
|
||
"example": "操作成功"
|
||
},
|
||
"data": {
|
||
"type": "array",
|
||
"items": {
|
||
"$ref": "#/components/schemas/LineagePersonView"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"RLineagePersonTreeList": {
|
||
"type": "object",
|
||
"properties": {
|
||
"code": {
|
||
"description": "响应状态码",
|
||
"type": "integer",
|
||
"example": 200
|
||
},
|
||
"msg": {
|
||
"description": "响应消息",
|
||
"type": "string",
|
||
"example": "操作成功"
|
||
},
|
||
"data": {
|
||
"type": "array",
|
||
"items": {
|
||
"$ref": "#/components/schemas/LineagePersonTreeView"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"LineagePersonPageResult": {
|
||
"type": "object",
|
||
"properties": {
|
||
"code": {
|
||
"description": "响应状态码",
|
||
"type": "integer",
|
||
"example": 200
|
||
},
|
||
"msg": {
|
||
"description": "响应消息",
|
||
"type": "string",
|
||
"example": "操作成功"
|
||
},
|
||
"rows": {
|
||
"description": "当前页世系人物",
|
||
"type": "array",
|
||
"items": {
|
||
"$ref": "#/components/schemas/LineagePersonView"
|
||
}
|
||
},
|
||
"total": {
|
||
"description": "总记录数",
|
||
"type": "integer",
|
||
"format": "int64",
|
||
"example": 0
|
||
}
|
||
}
|
||
},
|
||
"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": "父评论 ID;null 或 0 表示一级评论",
|
||
"type": "integer",
|
||
"format": "int64",
|
||
"nullable": true
|
||
},
|
||
"appUserId": {
|
||
"description": "评论业务用户 ID",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"appUserNickName": {
|
||
"description": "评论人昵称",
|
||
"type": "string"
|
||
},
|
||
"appUserAvatar": {
|
||
"description": "评论人头像文件 ID",
|
||
"type": "integer",
|
||
"format": "int64",
|
||
"nullable": true
|
||
},
|
||
"parentAppUserId": {
|
||
"description": "被直接回复的业务用户 ID",
|
||
"type": "integer",
|
||
"format": "int64",
|
||
"nullable": true
|
||
},
|
||
"parentAppUserNickName": {
|
||
"description": "被直接回复的用户昵称",
|
||
"type": "string",
|
||
"nullable": true
|
||
},
|
||
"commentContent": {
|
||
"description": "评论内容;作者删除后为 null",
|
||
"type": "string",
|
||
"nullable": true
|
||
},
|
||
"userDeleted": {
|
||
"description": "作者删除状态,0 未删除,1 已删除并保留占位",
|
||
"type": "string",
|
||
"enum": [
|
||
"0",
|
||
"1"
|
||
],
|
||
"example": "0"
|
||
},
|
||
"replyCount": {
|
||
"description": "正常展示的直接回复数量",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"commentLevel": {
|
||
"description": "评论层级,root 为一级评论,reply 为回复",
|
||
"type": "string",
|
||
"enum": [
|
||
"root",
|
||
"reply"
|
||
]
|
||
},
|
||
"status": {
|
||
"description": "可见状态;会员接口仅返回 0(正常展示)",
|
||
"type": "string",
|
||
"example": "0"
|
||
},
|
||
"createTime": {
|
||
"description": "评论发布时间",
|
||
"type": "string",
|
||
"format": "date-time"
|
||
}
|
||
}
|
||
},
|
||
"RFamilyFeedComment": {
|
||
"type": "object",
|
||
"properties": {
|
||
"code": {
|
||
"description": "响应状态码",
|
||
"type": "integer",
|
||
"example": 200
|
||
},
|
||
"msg": {
|
||
"description": "响应消息",
|
||
"type": "string"
|
||
},
|
||
"data": {
|
||
"$ref": "#/components/schemas/FamilyFeedCommentView"
|
||
}
|
||
}
|
||
},
|
||
"RFamilyFeedCommentList": {
|
||
"type": "object",
|
||
"properties": {
|
||
"code": {
|
||
"description": "响应状态码",
|
||
"type": "integer",
|
||
"example": 200
|
||
},
|
||
"msg": {
|
||
"description": "响应消息",
|
||
"type": "string"
|
||
},
|
||
"data": {
|
||
"type": "array",
|
||
"items": {
|
||
"$ref": "#/components/schemas/FamilyFeedCommentView"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"FamilyFeedCommentPageResult": {
|
||
"type": "object",
|
||
"properties": {
|
||
"code": {
|
||
"description": "响应状态码",
|
||
"type": "integer",
|
||
"example": 200
|
||
},
|
||
"msg": {
|
||
"description": "响应消息",
|
||
"type": "string"
|
||
},
|
||
"rows": {
|
||
"description": "评论分页数据",
|
||
"type": "array",
|
||
"items": {
|
||
"$ref": "#/components/schemas/FamilyFeedCommentView"
|
||
}
|
||
},
|
||
"total": {
|
||
"description": "评论总数",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
}
|
||
}
|
||
},
|
||
"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 列表;多个正整数 ID 使用英文逗号分隔,禁止空项和其他字符",
|
||
"type": "string",
|
||
"pattern": "^$|^[1-9][0-9]*(,[1-9][0-9]*)*$"
|
||
},
|
||
"sortOrder": {
|
||
"description": "排序值,数值越小越靠前",
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"status": {
|
||
"description": "状态,建议使用对应字典值",
|
||
"type": "string"
|
||
}
|
||
}
|
||
},
|
||
"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",
|
||
"additionalProperties": true,
|
||
"description": "不同验证码类型附带的扩展数据,由天爱前端控件原样提交",
|
||
"properties": {},
|
||
"nullable": true
|
||
}
|
||
}
|
||
},
|
||
"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": "用户填写的图形验证码答案"
|
||
}
|
||
}
|
||
},
|
||
"GenealogyQuota": {
|
||
"type": "object",
|
||
"required": [
|
||
"createUsed",
|
||
"createLimit",
|
||
"createRemaining",
|
||
"canCreate",
|
||
"joinUsed",
|
||
"joinLimit",
|
||
"joinRemaining",
|
||
"canJoin"
|
||
],
|
||
"properties": {
|
||
"createUsed": {
|
||
"description": "当前用户已创建的家谱数量",
|
||
"type": "integer",
|
||
"format": "int64",
|
||
"minimum": 0,
|
||
"example": 1
|
||
},
|
||
"createLimit": {
|
||
"description": "每用户可创建家谱上限,-1 表示不限,0 表示禁止,正数表示上限",
|
||
"type": "integer",
|
||
"format": "int64",
|
||
"minimum": -1,
|
||
"example": 3
|
||
},
|
||
"createRemaining": {
|
||
"description": "还可创建的家谱数量,-1 表示不限",
|
||
"type": "integer",
|
||
"format": "int64",
|
||
"minimum": -1,
|
||
"example": 2
|
||
},
|
||
"canCreate": {
|
||
"description": "当前用户是否还能创建家谱",
|
||
"type": "boolean",
|
||
"example": true
|
||
},
|
||
"joinUsed": {
|
||
"description": "已加入的家谱总数,包含自己创建的家谱",
|
||
"type": "integer",
|
||
"format": "int64",
|
||
"minimum": 0,
|
||
"example": 2
|
||
},
|
||
"joinLimit": {
|
||
"description": "每用户可加入家谱总数上限,-1 表示不限,0 表示禁止,正数表示上限",
|
||
"type": "integer",
|
||
"format": "int64",
|
||
"minimum": -1,
|
||
"example": 10
|
||
},
|
||
"joinRemaining": {
|
||
"description": "还可加入的家谱数量,-1 表示不限",
|
||
"type": "integer",
|
||
"format": "int64",
|
||
"minimum": -1,
|
||
"example": 8
|
||
},
|
||
"canJoin": {
|
||
"description": "当前用户是否还能加入其他家谱",
|
||
"type": "boolean",
|
||
"example": true
|
||
}
|
||
}
|
||
},
|
||
"RGenealogyQuota": {
|
||
"type": "object",
|
||
"properties": {
|
||
"code": {
|
||
"description": "响应状态码",
|
||
"type": "integer",
|
||
"example": 200
|
||
},
|
||
"msg": {
|
||
"description": "响应消息",
|
||
"type": "string",
|
||
"example": "操作成功"
|
||
},
|
||
"data": {
|
||
"$ref": "#/components/schemas/GenealogyQuota"
|
||
}
|
||
}
|
||
},
|
||
"RLong": {
|
||
"type": "object",
|
||
"properties": {
|
||
"code": {
|
||
"description": "响应状态码",
|
||
"type": "integer",
|
||
"example": 200
|
||
},
|
||
"msg": {
|
||
"description": "响应消息",
|
||
"type": "string",
|
||
"example": "操作成功"
|
||
},
|
||
"data": {
|
||
"description": "当前业务用户未读通知数量",
|
||
"type": "integer",
|
||
"format": "int64",
|
||
"example": 3
|
||
}
|
||
}
|
||
},
|
||
"CeremonyInviteesBody": {
|
||
"type": "object",
|
||
"required": [
|
||
"inviteeUserIds"
|
||
],
|
||
"properties": {
|
||
"inviteeUserIds": {
|
||
"description": "完整受邀业务用户ID列表;空数组表示取消全部尚未响应的邀请",
|
||
"type": "array",
|
||
"uniqueItems": true,
|
||
"items": {
|
||
"type": "integer",
|
||
"format": "int64"
|
||
}
|
||
}
|
||
},
|
||
"example": {
|
||
"inviteeUserIds": [
|
||
900000001,
|
||
900000002
|
||
]
|
||
}
|
||
},
|
||
"CeremonyInvitationResponseBody": {
|
||
"type": "object",
|
||
"required": [
|
||
"inviteStatus"
|
||
],
|
||
"properties": {
|
||
"inviteStatus": {
|
||
"description": "当前用户的邀约响应,只允许接受或拒绝",
|
||
"type": "string",
|
||
"enum": [
|
||
"ACCEPTED",
|
||
"DECLINED"
|
||
]
|
||
}
|
||
},
|
||
"example": {
|
||
"inviteStatus": "ACCEPTED"
|
||
}
|
||
},
|
||
"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"
|
||
}
|
||
}
|
||
},
|
||
"RCeremonyInvitation": {
|
||
"type": "object",
|
||
"properties": {
|
||
"code": {
|
||
"description": "响应状态码",
|
||
"type": "integer",
|
||
"example": 200
|
||
},
|
||
"msg": {
|
||
"description": "响应消息",
|
||
"type": "string",
|
||
"example": "操作成功"
|
||
},
|
||
"data": {
|
||
"$ref": "#/components/schemas/CeremonyInvitationVo"
|
||
}
|
||
}
|
||
},
|
||
"RCeremonyInvitationList": {
|
||
"type": "object",
|
||
"properties": {
|
||
"code": {
|
||
"description": "响应状态码",
|
||
"type": "integer",
|
||
"example": 200
|
||
},
|
||
"msg": {
|
||
"description": "响应消息",
|
||
"type": "string",
|
||
"example": "操作成功"
|
||
},
|
||
"data": {
|
||
"description": "贺礼邀约列表",
|
||
"type": "array",
|
||
"items": {
|
||
"$ref": "#/components/schemas/CeremonyInvitationVo"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"responses": {
|
||
"VoidResult": {
|
||
"description": "通用成功响应",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/RVoid"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"ObjectResult": {
|
||
"description": "通用对象响应",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/RObject"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"ListResult": {
|
||
"description": "通用列表响应",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/RList"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"PageResult": {
|
||
"description": "通用分页响应",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/PageResult"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"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"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"LegacyCaptchaResult": {
|
||
"description": "兼容旧图形验证码结果",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/RLegacyCaptcha"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"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"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"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"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"GenealogyQuotaResult": {
|
||
"description": "当前业务用户家谱配额响应",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/RGenealogyQuota"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"LongResult": {
|
||
"description": "长整型数据响应",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/RLong"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"CeremonyInvitationResult": {
|
||
"description": "贺礼邀约详情响应",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/RCeremonyInvitation"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"CeremonyInvitationListResult": {
|
||
"description": "贺礼邀约列表响应",
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/RCeremonyInvitationList"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"securitySchemes": {
|
||
"Author": {
|
||
"type": "http",
|
||
"scheme": "bearer"
|
||
},
|
||
"SaToken": {
|
||
"type": "apiKey",
|
||
"in": "header",
|
||
"name": "Authorization",
|
||
"description": "登录后返回的 token。若本地配置使用 sa-token 名称,请按项目实际 token-name 调整。"
|
||
}
|
||
},
|
||
"parameters": {
|
||
"ClientIdHeader": {
|
||
"name": "clientid",
|
||
"description": "APP 认证业务请求的 clientid Header 必填;是业务客户端唯一来源;请求体不得提交 clientId,且客户端 clientKey 必须为 app 并与 APP 路由一致。",
|
||
"in": "header",
|
||
"required": true,
|
||
"schema": {
|
||
"type": "string"
|
||
},
|
||
"example": "428a8310cd442757ae699df5d894f051"
|
||
},
|
||
"PageNum": {
|
||
"name": "pageNum",
|
||
"description": "页码,从1开始",
|
||
"in": "query",
|
||
"required": false,
|
||
"schema": {
|
||
"type": "integer",
|
||
"default": 1
|
||
}
|
||
},
|
||
"PageSize": {
|
||
"name": "pageSize",
|
||
"description": "每页条数",
|
||
"in": "query",
|
||
"required": false,
|
||
"schema": {
|
||
"type": "integer",
|
||
"default": 10
|
||
}
|
||
},
|
||
"GenealogyId": {
|
||
"name": "genealogyId",
|
||
"description": "家谱ID",
|
||
"in": "path",
|
||
"required": true,
|
||
"schema": {
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"example": 900001001
|
||
},
|
||
"MemberId": {
|
||
"name": "memberId",
|
||
"description": "家谱成员ID",
|
||
"in": "path",
|
||
"required": true,
|
||
"schema": {
|
||
"type": "integer",
|
||
"format": "int64"
|
||
}
|
||
},
|
||
"PersonId": {
|
||
"name": "personId",
|
||
"description": "世系人物ID",
|
||
"in": "path",
|
||
"required": true,
|
||
"schema": {
|
||
"type": "integer",
|
||
"format": "int64"
|
||
}
|
||
},
|
||
"FeedId": {
|
||
"name": "feedId",
|
||
"description": "家族动态ID",
|
||
"in": "path",
|
||
"required": true,
|
||
"schema": {
|
||
"type": "integer",
|
||
"format": "int64"
|
||
}
|
||
},
|
||
"RegionCode": {
|
||
"name": "regionCode",
|
||
"description": "行政区划编码",
|
||
"in": "path",
|
||
"required": true,
|
||
"schema": {
|
||
"type": "string"
|
||
},
|
||
"example": "510000"
|
||
},
|
||
"BizTable": {
|
||
"name": "bizTable",
|
||
"description": "业务表名,用于文件引用绑定",
|
||
"in": "query",
|
||
"required": true,
|
||
"schema": {
|
||
"type": "string"
|
||
},
|
||
"example": "gen_family_feed"
|
||
},
|
||
"BizId": {
|
||
"name": "bizId",
|
||
"description": "业务数据ID,用于文件引用绑定",
|
||
"in": "query",
|
||
"required": true,
|
||
"schema": {
|
||
"type": "integer",
|
||
"format": "int64"
|
||
},
|
||
"example": 900013001
|
||
},
|
||
"BizField": {
|
||
"name": "bizField",
|
||
"description": "业务字段名,例如avatar_oss_id、cover_oss_id",
|
||
"in": "query",
|
||
"required": true,
|
||
"schema": {
|
||
"type": "string"
|
||
},
|
||
"example": "media_ids"
|
||
}
|
||
},
|
||
"requestBodies": {
|
||
"JsonObject": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"type": "object",
|
||
"additionalProperties": true
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"PasswordRegister": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/PasswordRegisterBody"
|
||
},
|
||
"example": {
|
||
"grantType": "password",
|
||
"tenantId": "000000",
|
||
"phone": "13800000000",
|
||
"password": "e10adc3949ba59abbe56e057f20f883e",
|
||
"nickName": "测试用户",
|
||
"registerSource": "app",
|
||
"smsCode": "1234"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"PasswordLogin": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/PasswordLoginBody"
|
||
},
|
||
"example": {
|
||
"grantType": "password",
|
||
"tenantId": "000000",
|
||
"phone": "13800000000",
|
||
"password": "e10adc3949ba59abbe56e057f20f883e",
|
||
"validToken": "valid-token-from-captcha-verify"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"SmsLogin": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/SmsLoginBody"
|
||
},
|
||
"example": {
|
||
"grantType": "sms",
|
||
"tenantId": "000000",
|
||
"phone": "13800000000",
|
||
"smsCode": "1234"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"SmsCode": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/SmsCodeBody"
|
||
},
|
||
"example": {
|
||
"tenantId": "000000",
|
||
"phone": "13800000000",
|
||
"grantType": "sms",
|
||
"validToken": "captcha-ticket"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"ProfileUpdate": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/ProfileUpdateBody"
|
||
},
|
||
"example": {
|
||
"nickName": "张三",
|
||
"avatarOssId": 2060000000000000000,
|
||
"sex": "0",
|
||
"birthday": "1990-01-01",
|
||
"regionCode": "110101",
|
||
"addressDetail": "北京市东城区"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"PasswordChange": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/PasswordChangeBody"
|
||
},
|
||
"example": {
|
||
"oldPassword": "e10adc3949ba59abbe56e057f20f883e",
|
||
"newPassword": "25d55ad283aa400af464c76d713c07ad"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"PasswordReset": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/PasswordResetBody"
|
||
},
|
||
"example": {
|
||
"grantType": "password",
|
||
"tenantId": "000000",
|
||
"phone": "13800000000",
|
||
"smsCode": "1234",
|
||
"newPassword": "25d55ad283aa400af464c76d713c07ad"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"PhoneChange": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/PhoneChangeBody"
|
||
},
|
||
"example": {
|
||
"phone": "13900000000",
|
||
"smsCode": "1234"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"AccountDeactivate": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/AccountDeactivateBody"
|
||
},
|
||
"example": {
|
||
"smsCode": "1234"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"FileUpload": {
|
||
"required": true,
|
||
"content": {
|
||
"multipart/form-data": {
|
||
"schema": {
|
||
"type": "object",
|
||
"required": [
|
||
"file"
|
||
],
|
||
"properties": {
|
||
"file": {
|
||
"type": "string",
|
||
"format": "binary"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"ChunkUpload": {
|
||
"required": true,
|
||
"content": {
|
||
"multipart/form-data": {
|
||
"schema": {
|
||
"type": "object",
|
||
"required": [
|
||
"uploadId",
|
||
"chunkIndex",
|
||
"chunkMd5",
|
||
"file"
|
||
],
|
||
"properties": {
|
||
"uploadId": {
|
||
"type": "string"
|
||
},
|
||
"chunkIndex": {
|
||
"type": "integer",
|
||
"example": 0
|
||
},
|
||
"chunkMd5": {
|
||
"type": "string",
|
||
"example": "d41d8cd98f00b204e9800998ecf8427e"
|
||
},
|
||
"file": {
|
||
"type": "string",
|
||
"format": "binary"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"ResumableInit": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/ResumableInitBody"
|
||
},
|
||
"example": {
|
||
"fileName": "cover.jpg",
|
||
"fileSize": 9532,
|
||
"fileMd5": "d41d8cd98f00b204e9800998ecf8427e",
|
||
"contentType": "image/jpeg",
|
||
"chunkSize": 4194304,
|
||
"totalChunks": 1,
|
||
"bizType": "genealogy",
|
||
"usageScene": "cover"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"ResumableComplete": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/ResumableCompleteBody"
|
||
},
|
||
"example": {
|
||
"uploadId": "UPLOAD202607090001",
|
||
"fileMd5": "d41d8cd98f00b204e9800998ecf8427e",
|
||
"fileSize": 9532
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"FileReference": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/FileReferenceBody"
|
||
},
|
||
"example": {
|
||
"bizType": "family_feed",
|
||
"bizName": "family feed image",
|
||
"bizTable": "gen_family_feed",
|
||
"bizId": 900013001,
|
||
"bizField": "media_oss_ids",
|
||
"ossId": 2060000000000000000,
|
||
"usageScene": "feed_image"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"GenerationPoemBatch": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/GenerationPoemBatchBody"
|
||
},
|
||
"example": {
|
||
"poemText": "德承家亦\n忠厚传芳",
|
||
"disableMissing": false
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"LineagePerson": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/LineagePersonBody"
|
||
},
|
||
"example": {
|
||
"appUserId": 900000001,
|
||
"personNo": "P202607090001",
|
||
"name": "彭德明",
|
||
"aliasName": "德明",
|
||
"sex": "0",
|
||
"generation": 1,
|
||
"generationName": "德",
|
||
"avatarOssId": 2060000000000000000,
|
||
"birthDate": "1950-01-01",
|
||
"birthLunar": "0",
|
||
"birthPlace": "江西吉安",
|
||
"personStatus": "0",
|
||
"biography": "第一世人物简介",
|
||
"sortOrder": 1
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"FamilyFeed": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/FamilyFeedBody"
|
||
},
|
||
"example": {
|
||
"feedType": "text",
|
||
"feedContent": "今天上传一张老照片。",
|
||
"mediaOssIds": "2060000000000000001,2060000000000000002",
|
||
"sortOrder": 0,
|
||
"status": "0"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"FamilyFeedComment": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/FamilyFeedCommentBody"
|
||
},
|
||
"example": {
|
||
"parentCommentId": null,
|
||
"commentContent": "这张照片很有年代感。"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"GenealogyCreate": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/GenealogyCreateBody"
|
||
},
|
||
"example": {
|
||
"genealogyName": "彭氏家谱",
|
||
"surname": "彭",
|
||
"ancestralHall": "陇西堂",
|
||
"originPlace": "江西吉安",
|
||
"regionCode": "360800",
|
||
"addressDetail": "江西省吉安市",
|
||
"coverOssId": 2060000000000000000,
|
||
"intro": "彭氏家谱简介",
|
||
"visibility": "1",
|
||
"joinMode": "1"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"GenealogyUpdate": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/GenealogyUpdateBody"
|
||
},
|
||
"example": {
|
||
"genealogyName": "彭氏家谱",
|
||
"surname": "彭",
|
||
"ancestralHall": "陇西堂",
|
||
"originPlace": "江西吉安",
|
||
"regionCode": "360800",
|
||
"addressDetail": "江西省吉安市",
|
||
"coverOssId": 2060000000000000000,
|
||
"intro": "更新后的家谱简介",
|
||
"visibility": "1",
|
||
"joinMode": "1"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"GenealogyJoinApply": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/GenealogyJoinApplyBody"
|
||
},
|
||
"example": {
|
||
"applicantName": "彭小明",
|
||
"phone": "13800000000",
|
||
"relationDesc": "本族成员",
|
||
"applyReason": "申请加入家谱维护",
|
||
"inviterUserId": 900000001
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"GenealogyJoinAudit": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/GenealogyJoinAuditBody"
|
||
},
|
||
"example": {
|
||
"status": "1",
|
||
"auditRemark": "信息核验通过"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"GenealogyMemberUpdate": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/GenealogyMemberUpdateBody"
|
||
},
|
||
"example": {
|
||
"memberName": "彭小明",
|
||
"relationName": "族亲",
|
||
"roleType": "member",
|
||
"lineagePersonId": 900020001
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"GenealogyOwnerTransfer": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/GenealogyOwnerTransferBody"
|
||
},
|
||
"example": {
|
||
"targetMemberId": 900010002
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"GenerationPoem": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/GenerationPoemBody"
|
||
},
|
||
"example": {
|
||
"generationNo": 5,
|
||
"generationText": "忠",
|
||
"description": "fifth generation poem",
|
||
"sortOrder": 5,
|
||
"status": "0"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"Article": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/ArticleBody"
|
||
},
|
||
"example": {
|
||
"categoryId": 900040001,
|
||
"articleTitle": "族谱源流",
|
||
"articleSummary": "介绍本支源流",
|
||
"coverOssId": 2060000000000000000,
|
||
"articleContent": "<p>article content</p>",
|
||
"authorName": "族谱管理员",
|
||
"sortOrder": 1,
|
||
"status": "0"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"Album": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/AlbumBody"
|
||
},
|
||
"example": {
|
||
"albumName": "老照片",
|
||
"albumDesc": "family old photos",
|
||
"coverOssId": 2060000000000000000,
|
||
"sortOrder": 1,
|
||
"status": "0"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"AlbumPhoto": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/AlbumPhotoBody"
|
||
},
|
||
"example": {
|
||
"ossId": 2060000000000000000,
|
||
"photoTitle": "老宅合影",
|
||
"photoDesc": "old house photo",
|
||
"photographer": "彭小明",
|
||
"shootTime": "2026-07-09 10:00:00",
|
||
"sortOrder": 1,
|
||
"status": "0"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"Ceremony": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/CeremonyBody"
|
||
},
|
||
"example": {
|
||
"ceremonyType": "ancestor",
|
||
"ceremonyTitle": "清明祭祖",
|
||
"ceremonyDesc": "online ancestor ceremony",
|
||
"ceremonyTime": "2026-04-04 09:00:00",
|
||
"location": "祠堂",
|
||
"locationAddress": "四川省成都市示例路1号",
|
||
"longitude": 104.066541,
|
||
"latitude": 30.572269,
|
||
"coverOssId": 2060000000000000000,
|
||
"sortOrder": 1,
|
||
"status": "0"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"CeremonyGift": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/CeremonyGiftBody"
|
||
},
|
||
"example": {
|
||
"giverName": "彭小明",
|
||
"giftAmount": 66.66,
|
||
"giftMessage": "缅怀先祖"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"GrowthRecord": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/GrowthRecordBody"
|
||
},
|
||
"example": {
|
||
"lineagePersonId": 900020001,
|
||
"recordType": "birth",
|
||
"recordTitle": "出生记录",
|
||
"recordContent": "birth record",
|
||
"recordDate": "2026-07-09 10:00:00",
|
||
"remindTime": "2027-07-09 10:00:00",
|
||
"mediaOssIds": "2060000000000000001",
|
||
"sortOrder": 1,
|
||
"status": "0"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"Memo": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/MemoBody"
|
||
},
|
||
"example": {
|
||
"memoTitle": "修谱事项",
|
||
"memoContent": "contact family members",
|
||
"remindTime": "2026-08-01 09:00:00",
|
||
"completed": "0",
|
||
"mediaOssIds": "2060000000000000001",
|
||
"sortOrder": 1,
|
||
"status": "0"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"MeritRecord": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/MeritRecordBody"
|
||
},
|
||
"example": {
|
||
"donorName": "彭小明",
|
||
"meritType": "donation",
|
||
"meritTitle": "修谱捐款",
|
||
"meritContent": "support genealogy work",
|
||
"amount": 100,
|
||
"meritTime": "2026-07-09 10:00:00",
|
||
"sortOrder": 1,
|
||
"status": "0"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"Feedback": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/FeedbackBody"
|
||
},
|
||
"example": {
|
||
"feedbackType": "bug",
|
||
"feedbackContent": "upload image failed",
|
||
"contactInfo": "13800000000"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"VipOrder": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/VipOrderBody"
|
||
},
|
||
"example": {
|
||
"packageId": 900060001,
|
||
"genealogyId": 900001001,
|
||
"payType": "wechat"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"VerificationChallenge": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/VerificationChallengeBody"
|
||
},
|
||
"example": {
|
||
"tenantId": "000000",
|
||
"subject": "13800000000"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"VerificationCheck": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/VerificationCheckBody"
|
||
},
|
||
"examples": {
|
||
"tianai_behavior": {
|
||
"summary": "天爱滑块/旋转/滑动还原/文字点选验证",
|
||
"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"
|
||
}
|
||
]
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"system_image": {
|
||
"summary": "系统图形验证码",
|
||
"value": {
|
||
"tenantId": "000000",
|
||
"subject": "13800000000",
|
||
"challengeId": "CAPTCHA_CHALLENGE_ID",
|
||
"providerCode": "ruoyi_image",
|
||
"captchaType": "math",
|
||
"payload": {
|
||
"uuid": "captcha-uuid",
|
||
"code": "6"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"RelativeRecord": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/RelativeRecordBody"
|
||
},
|
||
"example": {
|
||
"relativeName": "张三",
|
||
"relationName": "亲友",
|
||
"eventName": "礼尚往来",
|
||
"eventTime": "2026-07-16 10:00:00",
|
||
"giftAmount": 100,
|
||
"recordContent": "往来记录",
|
||
"mediaOssIds": "2060000000000000001",
|
||
"sortOrder": 1,
|
||
"status": "0"
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"CeremonyInvitees": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/CeremonyInviteesBody"
|
||
},
|
||
"example": {
|
||
"inviteeUserIds": [
|
||
900000001,
|
||
900000002
|
||
]
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"CeremonyInvitationResponse": {
|
||
"required": true,
|
||
"content": {
|
||
"application/json": {
|
||
"schema": {
|
||
"$ref": "#/components/schemas/CeremonyInvitationResponseBody"
|
||
},
|
||
"example": {
|
||
"inviteStatus": "ACCEPTED"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
},
|
||
"servers": [],
|
||
"security": [
|
||
{
|
||
"SaToken": []
|
||
}
|
||
]
|
||
} |