接口说明
接口实现为两部分:
- 外部服务实现
- mock实现
总之就是为了快速开发
注意事项
api位置:
Tips
- 对外服务接口统一进行了参数签名,这里就不展示了,具体可以看插件请求拦截代码
- 接口可以根据命名搜索找到对应位置
1.查询首页列表数据, getHomeList->/home/list
请求参数
字段 | 类型 | 必填 | 含义 |
---|---|---|---|
type | String | 是 | 请求类型,'NOVEL' |
page | Number | 是 | 页码, 1 |
size | Number | 是 | 每页数量,默认 10 |
返回字段
字段 | 类型 | 默认值 | 含义 |
---|---|---|---|
全局字段 | |||
code | integer | 200 | 接口状态码(200表示成功) |
msg | string | "调用成功" | 接口返回消息 |
data 字段 | |||
tabBarCode | string | "NOVEL" | 当前 Tab 栏标识(如小说模块) |
tabBarTitle | string | "小说" | Tab 栏显示标题 |
bannerVos 字段 | |||
id | integer | - | 轮播图唯一 ID |
remove | boolean | false | 是否已下架 |
imageLink | string | - | 图片资源地址(相对路径或 URL) |
jumpUrl | string | - | 点击后的跳转链接(如书籍详情页) |
type | string | "NOVEL" | 业务类型(固定为小说模块) |
businessAd | string | "IN_AD" | 广告类型标识 |
channel | string | "OTHER" | 渠道标识(如 FEMALE 表示女性向) |
xsList 字段 | |||
id | integer | - | 小说唯一 ID |
title | string | - | 小说标题 |
categoryId | integer | - | 分类 ID(如 119 表示穿越奇情) |
categoryName | string | - | 分类名称 |
author | string | - | 作者名称 |
coverImg | string | - | 封面图片地址 |
intro | string | - | 小说简介 |
labelInfo | string | - | 标签信息(多个标签用 # 分隔) |
serialStatus | string | "FINISH" | 连载状态(如 FINISH 表示完结) |
latelyFollowerS | integer | 0 | 近期关注人数 |
score | string | "9.7" | 评分(字符串形式保留小数点) |
words | integer | 0 | 总字数 |
dayUpdateCount | integer | 2500 | 日更字数 |
createTime | string | - | 创建时间(格式 YYYY-MM-DD HH:mm:ss ) |
lastModified | string | - | 最后修改时间 |
adPages | integer | 7 | 广告页数 |
addShelf | boolean | false | 是否已加入书架 |
2.获取小说首页分页数据, getPageList->/home/page/list
请求参数
字段 | 类型 | 必填 | 含义 |
---|---|---|---|
type | String | 是 | 请求类型,'NOVEL' |
page | Number | 是 | 页码, 1 |
size | Number | 是 | 每页数量,默认 10 |
返回字段
字段名称 | 类型 | 示例/说明 |
---|---|---|
code | integer | 200 (表示接口调用成功) |
msg | string | "调用成功" (接口返回的消息) |
total | integer | 11586 (小说总数) |
page | integer | 0 (当前页码,可能表示第一页或特殊标识) |
size | integer | 0 (每页显示的数据条数,可能表示无限制或特殊设置) |
totalPages | integer | 1159 (总页数) |
list | array | 包含多个小说对象的数组 |
- id | integer | 7316 (小说唯一ID) |
- title | string | "最强都市神豪" (小说标题) |
- categoryId | integer | 21 (分类ID) |
- categoryName | string | "都市生活" (分类名称) |
- author | string | "凌云本尊" (作者名称) |
- coverImg | string | "/fmsf/cover/..." (封面图片地址,示例为部分路径) |
- intro | string | "今天你对我爱答不理,..." (小说简介,示例为部分文本) |
- latelyFollowerS | integer | 4795902 (近期关注人数) |
- totalFollower | integer | 4795902 (总关注人数) |
- retentionRatio | string | "50.68" (留存率,百分比形式) |
- lastChapterName | string | "第四百零八章 水家灭!" (最新章节名称) |
- score | string | "9.8" (评分,字符串形式保留小数点) |
- words | integer | 770360 (总字数) |
- dayUpdateCount | integer | 2500 (日更字数) |
- adPages | integer | 7 (广告页数) |
- addShelf | boolean | false (是否已加入书架) |
- subjectType | string | "NOVEL" (主题类型,固定为小说) |
3.获取大类统计数据, getMajorCatStatisticsData->/novel/cat/statistics
请求参数
无
返回字段
字段 | 类型 | 描述 |
---|---|---|
code | Integer | 返回的状态码,200 表示成功 |
msg | String | 返回的消息,"success" 表示成功 |
data | Array | 数据列表,包含具体的分类信息 |
└ genderChannel | String | 性别频道,"MALE" 表示男生频道 |
└ title | String | 频道名称,如 "男生" |
└ categoryList | Array | 分类列表,包含各个分类的信息 |
└ └ categoryId | Integer | 分类ID,唯一标识每个分类 |
└ └ categoryName | String | 分类名称,如 "玄幻"、"历史"等 |
└ └ categoryCover | String | 分类封面图片的URL |
└ └ bookCount | Integer | 分类下的书籍数量 |
4.查询分类小类列表 reqCatMinorList->/novel/cat/minor-list
请求参数
字段 | 类型 | 必填 | 含义 |
---|---|---|---|
genderChannel | String | 是 | 请求类型,男生:'MALE'、女生:'FEMALE' |
majorId | Number | 是 | 大类Id |
返回字段
字段 | 类型 | 描述 |
---|---|---|
code | Integer | 返回的状态码,200 表示成功 |
msg | String | 返回的消息,"调用成功" 表示成功 |
data | Array | 数据列表,包含具体的分类信息 |
└ label | String | 分类名称,如 "仙侠幻情"、"武侠情缘" |
└ value | Integer | 分类的对应值,如 20、104 等 |
5.获取大类基本数据列表 getMajorCatData->/novel/cat/major-list
请求参数
字段 | 类型 | 必填 | 含义 |
---|---|---|---|
genderChannel | String | 是 | 请求类型,男生:'MALE'、女生:'FEMALE' |
返回字段
字段 | 类型 | 描述 |
---|---|---|
code | Integer | 返回的状态码,200 表示成功 |
msg | String | 返回的消息,"调用成功" 表示成功 |
data | Array | 数据列表,包含具体的分类信息 |
└ superId | Integer | 分类的ID,如 1、2、3 等 |
└ superName | String | 分类名称,如 "玄幻"、"历史"等 |
6.查询书籍详情 getBookInfo->/novel/bookInfo
请求参数
字段 | 类型 | 必填 | 含义 |
---|---|---|---|
bookId | String | 是 | 书籍id |
返回字段
字段 | 类型 | 描述 |
---|---|---|
code | Integer | 返回的状态码,200 表示成功 |
msg | String | 返回的消息,"调用成功" 表示成功 |
data | Object | 数据对象,包含 bookInfo 和 interestBooks |
└ bookInfo | Object | 书籍信息 |
└ └ id | Integer | 书籍的唯一标识符 |
└ └ title | String | 书籍标题 |
└ └ categoryId | Integer | 分类ID |
└ └ categoryName | String | 分类名称 |
└ └ authorId | Integer | 作者ID |
└ └ author | String | 作者名称 |
└ └ coverImg | String | 书籍封面图片URL |
└ └ intro | String | 书籍简介 |
└ └ labelInfo | String | 标签信息,如“赘婿#复仇#悬疑” |
└ └ sellStatus | String | 销售状态,值如 "UP" 表示上架中 |
└ └ sensitiveStatus | String | 敏感状态,值如 "IN_SENSITIVE" 表示含有敏感内容 |
└ └ serialStatus | String | 连载状态,值如 "FINISH" 表示已完结 |
└ └ copyrightStatus | String | 版权状态,值如 "REPRINT" 表示已授权重印 |
└ └ source | String | 书籍来源 |
└ └ chapterPrice | Integer | 章节价格 |
└ └ price | Integer | 书籍价格 |
└ └ latelyFollowerS | Integer | 最近的粉丝数量 |
└ └ totalFollower | Integer | 总粉丝数量 |
└ └ retentionRatio | String | 保留率 |
└ └ nextRetentionRatio | String | 下一期的保留率 |
└ └ monthRetentionRatio | String | 月度保留率 |
└ └ lastChapterId | String | 最后章节ID |
└ └ lastChapterName | String | 最后章节名称 |
└ └ score | String | 评分 |
└ └ words | Integer | 文字数量 |
└ └ totalChapters | Integer | 总章节数 |
└ └ dayUpdateCount | Integer | 日更新数 |
└ └ createTime | String | 创建时间 |
└ └ lastModified | String | 最后修改时间 |
└ └ adPages | Integer | 广告页数 |
└ └ addShelf | Boolean | 是否已加入书架 |
└ └ subjectType | String | 书籍类型,值如 "NOVEL" 表示小说类 |
└ └ vcommend | Integer | 推荐等级 |
└ interestBooks | Array | 推荐书籍列表 |
└ └ └ id | Integer | 推荐书籍的ID |
└ └ └ title | String | 推荐书籍标题 |
└ └ └ coverImg | String | 推荐书籍封面图片URL |
└ └ └ intro | String | 推荐书籍简介 |
└ └ └ latelyFollowerS | Integer | 推荐书籍的粉丝数 |
└ └ └ words | Long | 字数 |
7.查询书架中随机热门书籍, getRandomRecommendBook->/novel/getRandomRecommendBook
请求参数
无
字段 | 类型 | 必填 | 含义 |
---|---|---|---|
bookId | String | 是 | 书籍id |
返回字段
字段 | 类型 | 描述 |
---|---|---|
code | integer | 接口调用返回的状态码,200表示调用成功 |
msg | string | 接口调用返回的消息,此处为"调用成功" |
data | array | 接口调用返回的数据数组,包含多个小说信息对象 |
- id | integer | 小说的唯一标识ID |
- title | string | 小说的标题 |
- coverImg | string | 小说的封面图片地址 |
- intro | string | 小说的简介或概述 |
- labelInfo | string | 小说的标签或分类信息,以"#"分隔多个标签 |
- latelyFollowerS | integer | 近期关注该小说的人数 |
- words | integer | 小说的总字数(此处为0,可能表示数据未填充或特殊标记) |
- dayUpdateCount | integer | 小说每日更新的字数 |
- createTime | string | 小说的创建时间 |
- lastModified | string | 小说最后修改的时间 |
- adPages | integer | 小说中的广告页数 |
- addShelf | boolean | 表示该小说是否已被用户添加到书架,false表示未添加 |
- subjectType | string | 小说的主题类型,此处为"NOVEL"表示小说 |
8.查询书架列表, reqBookshelfList->/bookshelf/list
(无,需要开发者结合自身的业务实现)
9.添加书籍到书架, saveBookshelfToDb->/bookshelf/add
(无,需要开发者结合自身的业务实现)
10.从书架中移除, deleteBookshelfToDb->/bookshelf/delete
(无,需要开发者结合自身的业务实现)
11.获取章节目录, getChaptersData->/novel/chapter/list
请求参数
字段 | 类型 | 必填 | 含义 |
---|---|---|---|
bookId | String | 是 | 书籍id |
返回字段
字段 | 类型 | 描述 |
---|---|---|
code | integer | 接口调用返回的状态码,200表示调用成功 |
msg | string | 接口调用返回的消息,描述调用结果 |
data | object | 包含章节信息的数据对象 |
-- chapters | array | 章节列表数组 |
--- chapterCover | string | 章节封面图片的链接(此例中为空字符串,表示无封面) |
--- unreadble | boolean | 标记章节是否未读(此例中均为false,表示已读或可读) |
--- link | string | 章节内容的链接(此例中为空字符串,可能表示链接未提供或需通过其他方式获取) |
--- sort | integer | 章节的排序序号,用于确定章节在列表中的位置 |
--- chapterNumber | integer | 章节的编号,通常表示小说中的第几章 |
--- title | string | 章节的标题 |
--- isVip | boolean | 标记章节是否为VIP内容(此例中均为false,表示非VIP内容) |
--- isLock | boolean | 标记章节是否被锁定(此例中均为false,表示章节未被锁定) |
--- currency | integer | 可能与章节相关的货币或积分数量(此例中均为0,具体含义需结合上下文理解) |
--- id | string | 章节的唯一标识符,用于区分不同的章节 |
--- time | integer | 章节的发布时间或更新时间戳(此例中均为0,可能表示时间信息未提供) |
12.获取章节内容, getChapterInfo->/novel/chapterInfo
请求参数
字段 | 类型 | 必填 | 含义 |
---|---|---|---|
chapterId | String | 是 | 章节id |
返回字段
字段 | 类型 | 描述 |
---|---|---|
code | integer | 接口调用返回的状态码,200表示成功 |
msg | string | 接口调用返回的消息,描述调用结果 |
data | object | 接口调用返回的数据对象,包含小说章节的详细信息 |
- id | string | 章节的唯一标识符,用于区分不同章节 |
- bookId | string | 小说的唯一标识符,用于关联章节所属的小说 |
- title | string | 章节的标题,概括章节的主要内容或情节 |
- content | string | 章节的正文内容,包含详细的叙述、对话等 |
- characters | array | 章节中出现的角色数组(此例中未直接给出,但可根据内容分析) |
- name | string | 角色的名称(如“柳悦清”、“如月老人”等) |
- age | integer/string | 角色的年龄(如“十七、八岁”等,可能以字符串形式给出) |
- description | string | 角色的描述或特征(如“面如冠玉,浓眉剑目”等) |
- dialogues | array | 章节中的对话数组(此例中未直接给出,但可根据“说道:”等分析) |
- speaker | string | 对话的发言者(如“少年”、“如月老人”等) |
- content | string | 对话的具体内容 |
- events | array | 章节中的事件数组(此例中未直接给出,但可根据情节分析) |
- event | string | 事件的描述或概述(如“两人策马沿着溪边奔驰”等) |
- settings | object | 章节的背景设置或环境描述(此例中未直接给出,但可分析) |
- location | string | 地点描述(如“山庄”、“厅堂之内”等) |
- atmosphere | string | 气氛或环境特征(如“天朗气清,清风拂拂”等) |
13.获取音色列表, getBaikeSpeakerList->/baike/tts/speaker/list
请求参数
无
返回字段
字段 | 类型 | 描述 |
---|---|---|
code | integer | 接口调用返回的状态码,200表示调用成功 |
msg | string | 接口调用返回的消息,描述调用结果 |
data | array | 语音列表数据数组 |
-- speakerId | string | 语音的唯一标识符 |
-- displayIndex | string | 语音的显示顺序索引 |
-- displayName | string | 语音的显示名称,如“成熟女声”、“成熟男声”等 |
-- onlineId | string | 语音的在线标识符,可能用于API调用或资源定位 |
-- coverImg | string | 语音的封面图片地址,用于展示 |
14.获取热词列表, reqHotWordList->/hot-word/list
请求参数
无
返回字段
字段 | 类型 | 描述 |
---|---|---|
code | integer | 接口调用返回的状态码,200表示调用成功 |
msg | string | 接口调用返回的消息,描述调用结果 |
data | array | 小说信息列表数组 ,子元素是每部小说的ID与名称的组合,以"#"分隔 |
-- 子元素 | string | 每部小说的ID与名称的组合,以"#"分隔 |
--- ID部分 | integer | 小说的唯一标识符,位于"#"左侧 |
--- 名称部分 | string | 小说的名称,位于"#"右侧 |
15.添加热词, reqAddHotWord->/hot-word/add
请求参数
字段 | 类型 | 必填 | 含义 |
---|---|---|---|
searchKey | String | 是 | 书籍id与名称组合,用于添加热词, eg:1#我爱大米 |
返回字段
字段 | 类型 | 描述 |
---|---|---|
code | integer | 接口调用返回的状态码,200表示调用成功 |
msg | string | 接口调用返回的消息,描述调用结果 |
16.关键字自动搜索列表, reqAutoCompleteList->/search/auto-complete/list
请求参数
字段 | 类型 | 必填 | 含义 |
---|---|---|---|
query | String | 是 | 查询内容 |
返回字段
字段 | 类型 | 描述 |
---|---|---|
code | integer | 接口调用返回的状态码,200表示调用成功 |
msg | string | 接口调用返回的消息,描述调用结果 |
data | array | 小说信息列表数组 ,子元素是每部小说的ID与名称的组合,以"#"分隔 |
-- 子元素 | string | 每部小说的ID与名称的组合,以"#"分隔 |
--- ID部分 | integer | 小说的唯一标识符,位于"#"左侧 |
--- 名称部分 | string | 小说的名称,位于"#"右侧 |
17.模拟搜索分页列表, reqFuzzySearchList->/search/fuzzy/list
请求参数
字段 | 类型 | 必填 | 含义 |
---|---|---|---|
query | String | 是 | 查询内容 |
resourceType | String | 是 | 资源类想,这里为'NOVEL' |
condition | String | 是 | 查询条件 |
返回字段
字段 | 类型 | 描述 |
---|---|---|
code | Integer | 返回的状态码,200 表示成功 |
msg | String | 返回的消息,"调用成功" 表示成功 |
data | Object | 数据对象 |
└ total | Number | 总记录数 |
└ page | Number | 页码 |
└ size | Number | 每页数量 |
└ totalPages | Number | 总页数 |
└ config | Object | 查询关键字配置 |
└ └ qList | Array | ["爱","妻","爱妻"] |
└ list | Array | 书籍信息 |
└ └ id | Integer | 书籍的唯一标识符 |
└ └ title | String | 书籍标题 |
└ └ categoryId | Integer | 分类ID |
└ └ categoryName | String | 分类名称 |
└ └ authorId | Integer | 作者ID |
└ └ author | String | 作者名称 |
└ └ coverImg | String | 书籍封面图片URL |
└ └ intro | String | 书籍简介 |
└ └ labelInfo | String | 标签信息,如“赘婿#复仇#悬疑” |
└ └ sellStatus | String | 销售状态,值如 "UP" 表示上架中 |
└ └ sensitiveStatus | String | 敏感状态,值如 "IN_SENSITIVE" 表示含有敏感内容 |
└ └ serialStatus | String | 连载状态,值如 "FINISH" 表示已完结 |
└ └ copyrightStatus | String | 版权状态,值如 "REPRINT" 表示已授权重印 |
└ └ source | String | 书籍来源 |
└ └ chapterPrice | Integer | 章节价格 |
└ └ price | Integer | 书籍价格 |
└ └ latelyFollowerS | Integer | 最近的粉丝数量 |
└ └ totalFollower | Integer | 总粉丝数量 |
└ └ retentionRatio | String | 保留率 |
└ └ nextRetentionRatio | String | 下一期的保留率 |
└ └ monthRetentionRatio | String | 月度保留率 |
└ └ lastChapterId | String | 最后章节ID |
└ └ lastChapterName | String | 最后章节名称 |
└ └ score | String | 评分 |
└ └ words | Integer | 文字数量 |
└ └ totalChapters | Integer | 总章节数 |
└ └ dayUpdateCount | Integer | 日更新数 |
└ └ createTime | String | 创建时间 |
└ └ lastModified | String | 最后修改时间 |
└ └ adPages | Integer | 广告页数 |
└ └ addShelf | Boolean | 是否已加入书架 |
└ └ subjectType | String | 书籍类型,值如 "NOVEL" 表示小说类 |
└ └ vcommend | Integer | 推荐等级 |
mock接口字段说明
api位置:uni_modules/miliqk-login/common/sampleApi.js
1. 发送验证码 API (sendSmsApi
)
请求参数
字段 | 类型 | 必填 | 含义 |
---|---|---|---|
phoneNumber | string | 手机号 |
返回字段
名称 | 类型 | 描述 |
---|---|---|
phoneNumber | string | 手机号 |
code | number | 响应状态码(200 表示成功) |
data | string | 生成的验证码 |
2. 获取用户信息 API (getUserInfoApi
)
请求参数
无
返回字段
名称 | 类型 | 描述 |
---|---|---|
code | number | 响应状态码(200 表示成功) |
data | object | 用户信息对象 |
├ accountId | string | 用户账号 ID |
├ nickname | string | 用户昵称 |
├ sex | string | 用户性别 |
├ motto | string | 座右铭 |
├ levelTag | string | 阅读级别标签 |
├ phoneNumber | string | 用户手机号 |
├ avatar | string | 用户头像 URL |
3. 校验验证码 API (smsCheckApi
)
请求参数
字段 | 类型 | 含义 |
---|---|---|
phoneNumber | string | 手机号 |
verificationCode | string | 验证码 |
返回字段
名称 | 类型 | 描述 |
---|---|---|
phoneNumber | string | 手机号 |
verificationCode | string | 用户输入的验证码 |
code | number | 响应状态码(200 表示成功) |
data | boolean | 验证码校验是否成功 |
4. 修改手机号 API (changePhoneApi
)
请求参数
字段 | 类型 | 含义 |
---|---|---|
newPhone | string | 手机号 |
返回字段
名称 | 类型 | 描述 |
---|---|---|
newPhone | string | 新手机号 |
code | number | 响应状态码(200 表示成功) |
data | object | 更新后的用户信息 |
├ token | string | 登录 token |
├ tokenExpired | number | token 过期时间戳 |
├ phoneNumber | string | 更新后的手机号 |
├ avatar | string | 用户头像 |
5. 登录 API (loginApi
)
请求参数
字段 | 类型 | 含义 |
---|---|---|
phoneNumber | string | 手机号 |
verificationCode | string | 短信验证码 |
loginType | string | 登录方式 (sms , univerify , weixinMobile ) |
返回字段
名称 | 类型 | 描述 |
---|---|---|
phoneNumber | string | 手机号(用于短信登录) |
verificationCode | string | 短信验证码(短信登录时需要) |
loginType | string | 登录方式 (sms , univerify , weixinMobile ) |
code | number | 响应状态码(200 表示成功) |
token | string | 登录成功后的 token |
tokenExpired | number | token 过期时间 |
accountId | string | 用户账号 ID |
nickname | string | 用户昵称 |
motto | string | 座右铭 |
levelTag | string | 阅读级别标签 |
sex | string | 用户性别 |
phoneNumber | string | 用户手机号 |
avatar | string | 用户头像 URL |
6. 微信手机号获取 API (getPhoneInfoByWeixin
)
请求参数
字段 | 类型 | 含义 |
---|---|---|
appid | string | 应用的appid |
code | string | 微信小程序code码 |
返回字段
名称 | 类型 | 描述 |
---|---|---|
phoneNumber | string | 手机号 |
loginType | string | 登录方式 |
code | number | 响应状态码(200 表示成功) |
data | object | 包含 phoneNumber |
7. 微信登录 API (loginByWeixin
)
请求参数
字段 | 类型 | 含义 |
---|---|---|
appid | string | 应用的appid |
code | string | 微信小程序code码 |
返回字段
名称 | 类型 | 描述 |
---|---|---|
phoneNumber | string | 手机号 |
loginType | string | 登录方式 |
code | number | 响应状态码(200 表示成功) |
data | boolean | 登录是否成功 |
8. 获取系统头像 API (getSystemAvatarListApi
)
请求参数
无
返回字段
名称 | 类型 | 描述 |
---|---|---|
code | number | 响应状态码(200 表示成功) |
list | array | 头像分类列表 |
├ categoryName | string | 头像分类名称 |
├ avatarData | array | 头像数据 |
├ imageLink | string | 头像图片 URL |
├ id | number | 头像 ID |
├ status | string | 头像状态 (ON ) |
bottomTitle | string | 底部提示文本 |
9. 更新用户头像 API (updateAvatarApi
)
请求参数
字段 | 类型 | 含义 |
---|---|---|
avatarId | string | 头像id |
avatar | string | 头像图片地址 |
返回字段
名称 | 类型 | 描述 |
---|---|---|
avatarId | number | 头像 ID |
avatar | string | 头像 URL |
code | number | 响应状态码(200 表示成功) |
data | boolean | 头像是否更新成功 |
10. 获取金币数据 API (getGoldCoinDataApi
)
请求参数
无
返回字段
名称 | 类型 | 描述 |
---|---|---|
code | number | 响应状态码(200 表示成功) |
todayMinutes | number | 今日阅读时长(分钟) |
todayGoldCoin | number | 今日获取金币数 |
totalGoldCoin | number | 总金币数 |
balance | number | 当前金币余额 |
11. 获取金币明细 API (getGoldCoinListApi
)
请求参数
无
返回字段
名称 | 类型 | 描述 |
---|---|---|
code | number | 响应状态码(200 表示成功) |
total | number | 总记录数 |
page | number | 当前页 |
size | number | 每页记录数 |
totalPages | number | 总页数 |
list | array | 金币明细列表 |
├ id | number | 记录 ID |
├ number | number | 金币数 |
├ type | string | 金币类型 (CJ_COIN , SIGN_COIN , LOOK_VIDEO ) |
├ typeDesc | string | 类型描述 |
├ createTime | string | 记录创建时间 |
├ tenantId | number | 租户 ID |