openapi: 3.0.1 info: title: APP description: | 家谱业务 APP/PC 用户侧接口文档,用于 Apifox 导入。 导入方式:Apifox -> 导入 API 数据 -> OpenAPI/Swagger -> 选择本文件。 约定: - APP 路径前缀为 `/genealogy/app` - PC/H5 路径前缀为 `/genealogy/pc` - 后台管理接口不包含在本文件内 - 登录后接口需要携带 token,且请求 Header 需携带 `clientid` version: 1.0.0 tags: - name: 验证中心 - name: 认证登录 - name: 文件上传 - name: 行政区划 - name: 家谱 - name: 家谱成员 - name: 字辈谱 - name: 世系人物 - name: 家族圈 - name: 内容文章 - name: 相册 - name: 祭祀 - name: 族务记录 - name: 消息通知 - name: 意见反馈 - name: VIP paths: /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_LOGIN、PC_LOGIN、APP_REGISTER required: true example: APP_LOGIN schema: type: string - name: subject in: query description: 验证主体,通常为手机号、用户ID或登录账号 required: false example: '13800000000' schema: type: string - name: clientid in: header description: '' required: false example: ced7e5f0498645c6ec642dcf450b036f schema: type: string responses: '200': $ref: '#/components/responses/VerificationRequireResult' description: 验证需求查询结果 security: - SaToken: [] /captcha/challenge: post: summary: 生成验证挑战 deprecated: false description: 统一生成验证码。策略为天爱时返回行为验证数据;策略为系统图形时返回 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_LOGIN subject: '13800000000' required: true responses: '200': $ref: '#/components/responses/VerificationChallengeResult' description: 验证挑战生成结果 security: - SaToken: [] /captcha/verify: post: summary: 校验验证结果并换取 validToken deprecated: false description: 验证通过后返回 validToken,登录、注册、发短信等业务接口将 validToken 随请求体一起提交。 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_LOGIN subject: '13800000000' challengeId: CAPTCHA_CHALLENGE_ID providerCode: tianai captchaType: SLIDER payload: id: tianai-captcha-id data: bgImageWidth: 340 bgImageHeight: 180 startSlidingTime: 1720000000000 endSlidingTime: 1720000001500 trackList: [] summary: 天爱滑块/旋转/滑动还原/文字点选验证 system_image: value: tenantId: '000000' clientId: 428a8310cd442757ae699df5d894f051 sceneCode: APP_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: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PasswordRegisterBody' required: true responses: '200': $ref: '#/components/responses/LoginResult' description: 登录结果 security: - SaToken: [] /genealogy/app/auth/login: post: summary: APP 密码登录 deprecated: false description: '' tags: - 认证登录 parameters: - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PasswordLoginBody' required: true responses: '200': $ref: '#/components/responses/LoginResult' description: 登录结果 security: - SaToken: [] /genealogy/app/auth/login/sms: post: summary: APP 短信登录 deprecated: false description: '' tags: - 认证登录 parameters: - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/SmsLoginBody' required: true responses: '200': $ref: '#/components/responses/LoginResult' description: 登录结果 security: - SaToken: [] /genealogy/app/auth/sms/code: post: summary: APP 发送短信验证码 deprecated: false description: '' tags: - 认证登录 parameters: - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/SmsCodeBody' required: true responses: '200': $ref: '#/components/responses/VoidResult' description: 通用成功响应 security: - SaToken: [] /genealogy/app/auth/profile: get: summary: APP 当前用户资料 deprecated: false description: '' tags: - 认证登录 parameters: - name: clientid in: header description: '' 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: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ProfileUpdateBody' 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: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PasswordChangeBody' 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: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PasswordResetBody' required: true responses: '200': $ref: '#/components/responses/VoidResult' description: 通用成功响应 security: - SaToken: [] /genealogy/app/auth/phone: put: summary: APP 换绑手机号 deprecated: false description: '' tags: - 认证登录 parameters: - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PhoneChangeBody' required: true responses: '200': $ref: '#/components/responses/ObjectResult' description: 通用对象响应 security: - SaToken: [] /genealogy/app/auth/account/deactivate: post: summary: APP 注销账号 deprecated: false description: '' tags: - 认证登录 parameters: - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/AccountDeactivateBody' required: true responses: '200': $ref: '#/components/responses/VoidResult' description: 通用成功响应 security: - SaToken: [] /genealogy/app/auth/logout: delete: summary: APP 退出登录 deprecated: false description: '' tags: - 认证登录 parameters: - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string responses: '200': $ref: '#/components/responses/VoidResult' description: 通用成功响应 security: - SaToken: [] /genealogy/pc/auth/register: post: summary: PC 用户注册 deprecated: false description: '' tags: - 认证登录 parameters: - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PasswordRegisterBody' required: true responses: '200': $ref: '#/components/responses/LoginResult' description: 登录结果 security: - SaToken: [] /genealogy/pc/auth/login: post: summary: PC 密码登录 deprecated: false description: '' tags: - 认证登录 parameters: - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PasswordLoginBody' required: true responses: '200': $ref: '#/components/responses/LoginResult' description: 登录结果 security: - SaToken: [] /genealogy/pc/auth/login/sms: post: summary: PC 短信登录 deprecated: false description: '' tags: - 认证登录 parameters: - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/SmsLoginBody' required: true responses: '200': $ref: '#/components/responses/LoginResult' description: 登录结果 security: - SaToken: [] /genealogy/pc/auth/sms/code: post: summary: PC 发送短信验证码 deprecated: false description: '' tags: - 认证登录 parameters: - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/SmsCodeBody' required: true responses: '200': $ref: '#/components/responses/VoidResult' description: 通用成功响应 security: - SaToken: [] /genealogy/pc/auth/profile: get: summary: PC 当前用户资料 deprecated: false description: '' tags: - 认证登录 parameters: - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string responses: '200': $ref: '#/components/responses/ObjectResult' description: 通用对象响应 security: - SaToken: [] put: summary: PC 修改用户资料 deprecated: false description: '' tags: - 认证登录 parameters: - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ProfileUpdateBody' required: true responses: '200': $ref: '#/components/responses/ObjectResult' description: 通用对象响应 security: - SaToken: [] /genealogy/pc/auth/password: put: summary: PC 修改密码 deprecated: false description: '' tags: - 认证登录 parameters: - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PasswordChangeBody' required: true responses: '200': $ref: '#/components/responses/VoidResult' description: 通用成功响应 security: - SaToken: [] /genealogy/pc/auth/password/reset: put: summary: PC 找回密码 deprecated: false description: '' tags: - 认证登录 parameters: - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PasswordResetBody' required: true responses: '200': $ref: '#/components/responses/VoidResult' description: 通用成功响应 security: - SaToken: [] /genealogy/pc/auth/phone: put: summary: PC 换绑手机号 deprecated: false description: '' tags: - 认证登录 parameters: - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/PhoneChangeBody' required: true responses: '200': $ref: '#/components/responses/ObjectResult' description: 通用对象响应 security: - SaToken: [] /genealogy/pc/auth/account/deactivate: post: summary: PC 注销账号 deprecated: false description: '' tags: - 认证登录 parameters: - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/AccountDeactivateBody' required: true responses: '200': $ref: '#/components/responses/VoidResult' description: 通用成功响应 security: - SaToken: [] /genealogy/pc/auth/logout: delete: summary: PC 退出登录 deprecated: false description: '' tags: - 认证登录 parameters: - name: clientid in: header description: '' 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: '' tags: - 文件上传 parameters: - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ResumableInitBody' 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: '' 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: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ResumableCompleteBody' 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/pc/files/upload: post: summary: PC 单文件上传 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/pc/files/resumable/init: post: summary: PC 分片上传初始化 deprecated: false description: '' tags: - 文件上传 parameters: - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ResumableInitBody' required: true responses: '200': $ref: '#/components/responses/ObjectResult' description: 通用对象响应 security: - SaToken: [] /genealogy/pc/files/resumable/chunk: post: summary: PC 上传分片 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: 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/pc/files/resumable/complete: post: summary: PC 完成分片上传 deprecated: false description: '' tags: - 文件上传 parameters: - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ResumableCompleteBody' required: true responses: '200': $ref: '#/components/responses/FileUploadResult' description: 文件上传结果 security: - SaToken: [] /genealogy/region/children: get: summary: 查询下级行政区划 deprecated: false description: '' tags: - 行政区划 parameters: - name: parentCode in: query description: '' 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: '' 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: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/JsonObject' 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: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string responses: '200': $ref: '#/components/responses/ListResult' description: 通用列表响应 security: - SaToken: [] /genealogy/app/genealogies/public: get: summary: APP 公开家谱 deprecated: false description: '' tags: - 家谱 parameters: - name: clientid in: header description: '' 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: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/JsonObject' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/JsonObject' 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: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: applyId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/JsonObject' 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: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: memberId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/JsonObject' required: true responses: '200': $ref: '#/components/responses/ObjectResult' description: 通用对象响应 security: - SaToken: [] delete: summary: APP 移除成员 deprecated: false description: '' tags: - 家谱成员 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: memberId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/JsonObject' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/JsonObject' required: true responses: '200': $ref: '#/components/responses/ObjectResult' description: 通用对象响应 security: - SaToken: [] /genealogy/app/genealogies/{genealogyId}/generation-poems/batch/preview: post: summary: APP 批量字辈预览 deprecated: false description: '' tags: - 字辈谱 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GenerationPoemBatchBody' required: true responses: '200': $ref: '#/components/responses/ListResult' description: 通用列表响应 security: - SaToken: [] /genealogy/app/genealogies/{genealogyId}/generation-poems/batch/save: post: summary: APP 批量保存字辈 deprecated: false description: '' tags: - 字辈谱 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/GenerationPoemBatchBody' required: true responses: '200': $ref: '#/components/responses/ListResult' description: 通用列表响应 security: - SaToken: [] /genealogy/app/genealogies/{genealogyId}/generation-poems/{poemId}: put: summary: APP 修改字辈 deprecated: false description: '' tags: - 字辈谱 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: poemId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/JsonObject' required: true responses: '200': $ref: '#/components/responses/ObjectResult' description: 通用对象响应 security: - SaToken: [] /genealogy/app/genealogies/{genealogyId}/lineage/persons: get: summary: APP 世系人物列表 deprecated: false description: '' tags: - 世系人物 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/LineagePersonBody' required: true responses: '200': $ref: '#/components/responses/ObjectResult' description: 通用对象响应 security: - SaToken: [] /genealogy/app/genealogies/{genealogyId}/lineage/persons/page: get: summary: APP 世系人物分页 deprecated: false description: '' tags: - 世系人物 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: pageNum in: query description: '' required: false schema: type: integer default: 1 - name: pageSize in: query description: '' required: false schema: type: integer default: 10 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string responses: '200': $ref: '#/components/responses/PageResult' description: 通用分页响应 security: - SaToken: [] /genealogy/app/genealogies/{genealogyId}/lineage/persons/options: get: summary: APP 世系人物选项 deprecated: false description: '' tags: - 世系人物 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string responses: '200': $ref: '#/components/responses/ListResult' description: 通用列表响应 security: - SaToken: [] /genealogy/app/genealogies/{genealogyId}/lineage/tree: get: summary: APP 世系树 deprecated: false description: '' tags: - 世系人物 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string responses: '200': $ref: '#/components/responses/ListResult' description: 通用列表响应 security: - SaToken: [] /genealogy/app/genealogies/{genealogyId}/lineage/persons/{personId}: get: summary: APP 世系人物详情 deprecated: false description: '' tags: - 世系人物 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: personId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: personId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/LineagePersonBody' required: true responses: '200': $ref: '#/components/responses/ObjectResult' description: 通用对象响应 security: - SaToken: [] delete: summary: APP 删除世系人物 deprecated: false description: '' tags: - 世系人物 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: personId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: personId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/LineagePersonBody' required: true responses: '200': $ref: '#/components/responses/ObjectResult' description: 通用对象响应 security: - SaToken: [] /genealogy/app/genealogies/{genealogyId}/lineage/persons/{personId}/parents: post: summary: APP 给人物添加父母 deprecated: false description: '' tags: - 世系人物 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: personId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/LineagePersonBody' required: true responses: '200': $ref: '#/components/responses/ObjectResult' description: 通用对象响应 security: - SaToken: [] /genealogy/app/genealogies/{genealogyId}/lineage/persons/{personId}/siblings: post: summary: APP 给人物添加兄弟姐妹 deprecated: false description: '' tags: - 世系人物 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: personId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/LineagePersonBody' required: true responses: '200': $ref: '#/components/responses/ObjectResult' description: 通用对象响应 security: - SaToken: [] /genealogy/app/genealogies/{genealogyId}/lineage/persons/{personId}/spouses: post: summary: APP 给人物添加配偶 deprecated: false description: '' tags: - 世系人物 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: personId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/LineagePersonBody' required: true responses: '200': $ref: '#/components/responses/ObjectResult' description: 通用对象响应 security: - SaToken: [] /genealogy/pc/genealogies/{genealogyId}/feeds: get: summary: PC 家族圈动态列表 deprecated: false description: '' tags: - 家族圈 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string responses: '200': $ref: '#/components/responses/ListResult' description: 通用列表响应 security: - SaToken: [] post: summary: PC 发布家族圈动态 deprecated: false description: '' tags: - 家族圈 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' 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: get: summary: APP 家族圈动态列表 deprecated: false description: '' tags: - 家族圈 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' 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/pc/genealogies/{genealogyId}/feeds/page: get: summary: PC 家族圈动态分页 deprecated: false description: '' tags: - 家族圈 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: pageNum in: query description: '' required: false schema: type: integer default: 1 - name: pageSize in: query description: '' required: false schema: type: integer default: 10 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string responses: '200': $ref: '#/components/responses/PageResult' description: 通用分页响应 security: - SaToken: [] /genealogy/pc/genealogies/{genealogyId}/feeds/{feedId}: get: summary: PC 家族圈动态详情 deprecated: false description: '' tags: - 家族圈 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: feedId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string responses: '200': $ref: '#/components/responses/ObjectResult' description: 通用对象响应 security: - SaToken: [] put: summary: PC 修改家族圈动态 deprecated: false description: '' tags: - 家族圈 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: feedId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' 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: PC 删除家族圈动态 deprecated: false description: '' tags: - 家族圈 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: feedId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string responses: '200': $ref: '#/components/responses/VoidResult' description: 通用成功响应 security: - SaToken: [] /genealogy/app/genealogies/{genealogyId}/feeds/page: get: summary: APP 家族圈动态分页 deprecated: false description: '' tags: - 家族圈 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: pageNum in: query description: '' required: false schema: type: integer default: 1 - name: pageSize in: query description: '' required: false schema: type: integer default: 10 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: feedId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: feedId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: feedId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string responses: '200': $ref: '#/components/responses/VoidResult' description: 通用成功响应 security: - SaToken: [] /genealogy/pc/genealogies/{genealogyId}/feeds/{feedId}/likes: post: summary: PC 点赞动态 deprecated: false description: '' tags: - 家族圈 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: feedId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string responses: '200': $ref: '#/components/responses/VoidResult' description: 通用成功响应 security: - SaToken: [] delete: summary: PC 取消点赞动态 deprecated: false description: '' tags: - 家族圈 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: feedId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: feedId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: feedId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string responses: '200': $ref: '#/components/responses/VoidResult' description: 通用成功响应 security: - SaToken: [] /genealogy/pc/genealogies/{genealogyId}/feeds/{feedId}/comments: get: summary: PC 动态评论列表 deprecated: false description: '' tags: - 家族圈 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: feedId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string responses: '200': $ref: '#/components/responses/ListResult' description: 通用列表响应 security: - SaToken: [] post: summary: PC 评论动态 deprecated: false description: '' tags: - 家族圈 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: feedId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/FamilyFeedCommentBody' required: true responses: '200': $ref: '#/components/responses/ObjectResult' description: 通用对象响应 security: - SaToken: [] /genealogy/app/genealogies/{genealogyId}/feeds/{feedId}/comments: get: summary: APP 动态评论列表 deprecated: false description: '' tags: - 家族圈 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: feedId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: feedId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/FamilyFeedCommentBody' required: true responses: '200': $ref: '#/components/responses/ObjectResult' description: 通用对象响应 security: - SaToken: [] /genealogy/pc/genealogies/{genealogyId}/feeds/{feedId}/comments/page: get: summary: PC 动态评论分页 deprecated: false description: '' tags: - 家族圈 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: feedId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: pageNum in: query description: '' required: false schema: type: integer default: 1 - name: pageSize in: query description: '' required: false schema: type: integer default: 10 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string responses: '200': $ref: '#/components/responses/PageResult' description: 通用分页响应 security: - SaToken: [] /genealogy/pc/genealogies/{genealogyId}/feeds/{feedId}/comments/{commentId}: delete: summary: PC 删除动态评论 deprecated: false description: '' tags: - 家族圈 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: feedId in: path description: '' 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: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string responses: '200': $ref: '#/components/responses/VoidResult' description: 通用成功响应 security: - SaToken: [] /genealogy/app/genealogies/{genealogyId}/feeds/{feedId}/comments/page: get: summary: APP 动态评论分页 deprecated: false description: '' tags: - 家族圈 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: feedId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: pageNum in: query description: '' required: false schema: type: integer default: 1 - name: pageSize in: query description: '' required: false schema: type: integer default: 10 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string responses: '200': $ref: '#/components/responses/PageResult' description: 通用分页响应 security: - SaToken: [] /genealogy/app/genealogies/{genealogyId}/feeds/{feedId}/comments/{commentId}: delete: summary: APP 删除动态评论 deprecated: false description: '' tags: - 家族圈 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: feedId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: commentId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/JsonObject' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: articleId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: articleId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/JsonObject' required: true responses: '200': $ref: '#/components/responses/ObjectResult' 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: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/JsonObject' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: albumId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/JsonObject' required: true responses: '200': $ref: '#/components/responses/ObjectResult' description: 通用对象响应 security: - SaToken: [] /genealogy/app/genealogies/{genealogyId}/albums/{albumId}/photos: get: summary: APP 相册图片列表 deprecated: false description: '' tags: - 相册 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: albumId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: albumId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/JsonObject' required: true responses: '200': $ref: '#/components/responses/ObjectResult' description: 通用对象响应 security: - SaToken: [] /genealogy/app/genealogies/{genealogyId}/ceremonies: get: summary: APP 祭祀列表 deprecated: false description: '' tags: - 祭祀 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/JsonObject' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: ceremonyId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: ceremonyId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/JsonObject' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: ceremonyId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: ceremonyId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/JsonObject' required: true responses: '200': $ref: '#/components/responses/ObjectResult' description: 通用对象响应 security: - SaToken: [] /genealogy/app/genealogies/{genealogyId}/growth-records: get: summary: APP 成长记录列表 deprecated: false description: '' tags: - 族务记录 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/JsonObject' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: recordId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: recordId in: path description: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/JsonObject' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/JsonObject' 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: '' 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: '' 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: '' 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: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/JsonObject' required: true responses: '200': $ref: '#/components/responses/ObjectResult' description: 通用对象响应 security: - SaToken: [] /genealogy/app/genealogies/{genealogyId}/merit-records: get: summary: APP 功德记录列表 deprecated: false description: '' tags: - 族务记录 parameters: - name: genealogyId in: path description: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' 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: '' required: true example: 900001001 schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/JsonObject' required: true responses: '200': $ref: '#/components/responses/ObjectResult' description: 通用对象响应 security: - SaToken: [] /genealogy/app/notifications: get: summary: APP 消息通知列表 deprecated: false description: '' tags: - 消息通知 parameters: - name: clientid in: header description: '' 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: '' required: true example: '' schema: type: integer format: int64 - name: clientid in: header description: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string responses: '200': $ref: '#/components/responses/VoidResult' description: 通用成功响应 security: - SaToken: [] /genealogy/app/notifications/read-all: post: summary: APP 全部标记已读 deprecated: false description: '' tags: - 消息通知 parameters: - name: clientid in: header description: '' 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: '' 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: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/JsonObject' 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: '' 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: '' 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: '' required: true example: 428a8310cd442757ae699df5d894f051 schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/JsonObject' required: true responses: '200': $ref: '#/components/responses/ObjectResult' description: 通用对象响应 security: - SaToken: [] components: schemas: JsonObject: type: object additionalProperties: true properties: {} PasswordRegisterBody: type: object required: - grantType - tenantId - phone - password properties: clientId: type: string grantType: type: string example: password tenantId: type: string example: '000000' phone: type: string example: '13800000000' password: type: string description: 32 位 MD5 example: e10adc3949ba59abbe56e057f20f883e nickName: type: string registerSource: type: string validToken: type: string PasswordLoginBody: type: object required: - grantType - tenantId - phone - password properties: clientId: type: string grantType: type: string example: password tenantId: type: string example: '000000' phone: type: string example: '13800000000' password: type: string description: 32 位 MD5 example: e10adc3949ba59abbe56e057f20f883e validToken: type: string SmsLoginBody: type: object required: - grantType - tenantId - phone - smsCode properties: clientId: type: string grantType: type: string example: sms tenantId: type: string example: '000000' phone: type: string example: '13800000000' smsCode: type: string example: '1234' SmsCodeBody: type: object required: - grantType - tenantId - sceneCode - phone - validToken properties: clientId: type: string grantType: type: string example: sms tenantId: type: string example: '000000' sceneCode: type: string example: APP_LOGIN phone: type: string example: '13800000000' validToken: type: string ProfileUpdateBody: type: object properties: nickName: type: string avatarOssId: type: integer format: int64 sex: type: string birthday: 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 required: - tenantId - phone - smsCode - newPassword properties: tenantId: type: string example: '000000' phone: type: string smsCode: type: string newPassword: type: string description: 32 位 MD5 validToken: type: string PhoneChangeBody: type: object required: - newPhone - smsCode properties: newPhone: type: string smsCode: type: string validToken: type: string AccountDeactivateBody: type: object required: - password properties: password: type: string description: 32 位 MD5 reason: type: string ResumableInitBody: type: object required: - fileName - fileSize - fileMd5 - chunkSize - totalChunks properties: fileName: type: string fileSize: type: integer format: int64 fileMd5: type: string contentType: type: string chunkSize: type: integer example: 4194304 totalChunks: type: integer bizType: type: string usageScene: type: string ResumableCompleteBody: type: object required: - uploadId - fileMd5 - fileSize properties: uploadId: type: string fileMd5: type: string fileSize: 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 properties: content: type: string example: 德承家亦 stopMissingOldGeneration: type: boolean example: false LineagePersonBody: type: object properties: appUserId: type: integer format: int64 personNo: type: string personName: type: string aliasName: type: string sex: type: string example: '0' generationNo: type: integer generationName: type: string avatarOssId: type: integer format: int64 birthDate: type: string deathDate: type: string introduction: 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: - content properties: parentCommentId: type: integer format: int64 nullable: true replyUserId: type: integer format: int64 nullable: true content: type: string VerificationChallengeBody: type: object required: - sceneCode properties: tenantId: type: string description: 租户 ID clientId: type: string description: 客户端 ID sceneCode: type: string description: 验证场景编码,如 ADMIN_LOGIN/APP_LOGIN/APP_REGISTER subject: type: string description: 验证主体,如手机号/用户名/IP example: tenantId: '000000' clientId: 428a8310cd442757ae699df5d894f051 sceneCode: APP_LOGIN subject: '13800000000' VerificationCheckBody: type: object required: - sceneCode properties: tenantId: description: 租户ID,用于区分不同租户的数据和验证策略 type: string clientId: description: 客户端ID,对应后台客户端管理中的APP/PC/小程序等终端 type: string sceneCode: description: 验证场景编码,例如APP_LOGIN、PC_LOGIN、APP_REGISTER 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: type: object additionalProperties: true description: 前端验证控件返回的轨迹/点击/图形验证码数据 properties: {} RVoid: type: object properties: code: type: integer example: 200 msg: type: string example: 操作成功 data: type: 'null' RObject: type: object properties: code: type: integer example: 200 msg: type: string example: 操作成功 data: type: object additionalProperties: true properties: {} RList: type: object properties: code: type: integer example: 200 msg: type: string example: 操作成功 data: type: array items: type: object additionalProperties: true properties: {} PageResult: type: object properties: code: type: integer example: 200 msg: type: string example: 操作成功 rows: type: array items: type: object additionalProperties: true properties: {} total: type: integer example: 0 RLogin: type: object properties: code: type: integer example: 200 msg: type: string example: 操作成功 data: $ref: '#/components/schemas/LoginVo' LoginVo: type: object properties: token: type: string accessToken: type: string tokenValue: type: string userId: type: integer format: int64 tenantId: type: string clientId: type: string clientKey: type: string RFileUpload: type: object properties: code: type: integer example: 200 msg: type: string example: 操作成功 data: $ref: '#/components/schemas/FileUploadVo' FileUploadVo: type: object properties: ossId: type: integer format: int64 url: type: string thumbnailUrl: type: string nullable: true fileName: type: string originalName: type: string RVerificationRequire: type: object properties: code: description: 系统图形验证码或响应状态码 type: integer example: 200 msg: description: 响应消息 type: string example: 操作成功 data: description: 响应数据主体 $ref: '#/components/schemas/VerificationRequireVo' VerificationRequireVo: type: object properties: required: description: 当前场景是否需要验证 type: boolean providerCode: description: 第三方服务商编码 type: string captchaType: description: 验证码类型,例如SLIDER、ROTATE、CONCAT、WORD_IMAGE_CLICK type: string sceneCode: description: 验证场景编码,例如APP_LOGIN、PC_LOGIN、APP_REGISTER type: string ttlSeconds: description: 验证或票据有效秒数 type: integer example: required: true providerCode: tianai captchaType: SLIDER sceneCode: APP_LOGIN ttlSeconds: 300 RVerificationChallenge: type: object properties: code: description: 系统图形验证码或响应状态码 type: integer example: 200 msg: description: 响应消息 type: string example: 操作成功 data: description: 响应数据主体 $ref: '#/components/schemas/VerificationChallengeVo' VerificationChallengeVo: type: object properties: required: description: 当前场景是否需要验证 type: boolean providerCode: description: 第三方服务商编码 type: string captchaType: description: 验证码类型,例如SLIDER、ROTATE、CONCAT、WORD_IMAGE_CLICK type: string challengeId: description: 验证挑战ID,由验证挑战接口返回 type: string uuid: type: string description: 系统图形验证码 uuid img: type: string description: 系统图形验证码 base64 图片 payload: type: object additionalProperties: true description: 天爱验证码数据,包括背景图、模板图、尺寸等 properties: {} expireSeconds: description: 验证挑战过期秒数 type: integer 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 RVerificationCheck: type: object properties: code: description: 系统图形验证码或响应状态码 type: integer example: 200 msg: description: 响应消息 type: string example: 操作成功 data: description: 响应数据主体 $ref: '#/components/schemas/VerificationCheckVo' VerificationCheckVo: type: object properties: passed: description: 验证是否通过 type: boolean validToken: type: string description: 验证通过后交给业务接口的票据 expireSeconds: description: 验证挑战过期秒数 type: integer message: description: 返回消息 type: string example: passed: true validToken: captcha-ticket expireSeconds: 300 message: 验证通过 RLegacyCaptcha: type: object properties: code: description: 系统图形验证码或响应状态码 type: integer example: 200 msg: description: 响应消息 type: string example: 操作成功 data: description: 响应数据主体 $ref: '#/components/schemas/LegacyCaptchaVo' 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,... 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' securitySchemes: SaToken: type: apiKey in: header name: Authorization description: 登录后返回的 token。若本地配置使用 sa-token 名称,请按项目实际 token-name 调整。 servers: [] security: - SaToken: []