接口入参返回值说明文档
环境地址
日常环境: https://www-daily.youngget.com
预发环境:https://www-pre.youngget.com
参数格式说明
{name: string // 参数名:name ; 类型:string; 必填参数age?: number // 参数名:age ; 类型:number; 可选参数}
返回格式:
success:请求是否成功
content:返回结果(预期返回值or错误信息)
errorLevel: 错误级别
errorCode:错误类型
errorMsg:错误信息
请求成功:
{
“success”: true,
“content”: {
“room_info”: [
{
“id”: “1ec81b1fd79011e89fd50506ce178f4d”,
“room_id”: “12e1a5d4d79011e89fd50506ce178f4d”,
“room_img”: “https://yg-basedata.oss-cn-hangzhou.aliyuncs.com/onlinePicture/1542182318491-6“,
“room_no”: “1006”,
“name”: “房间名称1006”
}
]
}
}
请求失败:
示例:
{
“success”: false,
“content”: {
“errors”: {
“id”: [
“The id field is required.”
]
}
},
“errorLevel”: “error”,
“errorCode”: “ERR$PARAM”,
“errorMsg”: “参数错误”
}
发送短信sdk
sdkNum:
0:阿里云SMS
1:网易
音视频接口
1、初始化房间
请求路径:/rest/room/init
interface IN {uid: string // 用户IDroomid: string // 房间ID}interface OUT {code: number // 状态码member: string[] // 房间内成员online: string[] // 连麦列表option: {account: string // 房间账号appkey: string // key值token: string // token值}queue: string[] // 排麦数组role: number // 用户在房内的角色roomKine: string // 房间类型room_no: string // 房间账号self: { // 有关自己的信息account_no: string // 账号avatar: string // 头像id: string // IDnick_name: string // 昵称role: string // 用户在房内的角色roomid: string // 房间ID}}
2、获取连麦列表
请求路径:/rest/room/linkMicrophoneList
interface IN {roomid: string // 房间ID}interface OUT {sucess:boolean // 请求状态code: number // 状态码online:{uid: string // 用户idSN: number // 麦号avatar: string // 用户头像account_no: string // 用户账号nick_name: string // 用户昵称role: number // 角色}[]}
3、上麦
请求路径:/rest/room/openMicrophone
interface IN {uid: string // 用户IDroomid: string // 房间IDroom_no: string // 房间账号SN: string // 麦序号}interface OUT {success: boolean // 请求的处理状态code: number // 返回的是麦序号}
4、下麦
请求路径:/rest/room/closeMicrophone
interface IN {uid: string // 用户IDroomid: string // 房间ID}interface OUT {sucess: boolean // 请求状态code: number // 状态码}
5、从连麦列表中删除
请求路径:/rest/room/deleteFromList
interface IN {uid: string // 用户IDroomid: string // 房间IDtargetUid: string // 被删除的用户ID}interface OUT {sucess: boolean // 请求状态code: number // 状态码}
6、踢麦
请求路径:/rest/room/forceDisconnect
interface IN {uid: string // 用户IDroomid: string // 房间IDroom_no: string // 房间账号SN: string // 麦序号kickedid: string // 被踢麦者ID}interface OUT {sucess: boolean // 请求状态code: number // 状态码}
7、抱麦
请求路径:/rest/room/inviteLinkMicrophone
interface IN {uid: string // 用户IDroomid: string // 房间IDsm_uid: string // 上麦用户IDxm_uid: string // 下麦用户IDsm_SN: string // 上麦麦序号}interface OUT {sucess: boolean // 请求状态code: number // 状态码}
8、邀请抱麦结果
请求路径:/rest/room/inviteAnswer
interface IN {uid: string // 用户IDroomid: string // 房间IDisAgree: boolean // 是否同意SN: string // 麦序号bmuid: string // 被抱麦的用户}interface OUT {sucess: boolean // 请求状态code: number // 状态码}
9、上/排麦
请求路径:/rest/room/openOrWaitMicrophone
interface IN {uid: string // 用户IDroomid: string // 房间ID}interface OUT {sucess: boolean // 请求状态code: number // 状态码}
10、房间公告
请求路径:/rest/room/roomNotice
interface IN {uid: string // useridroomid: string // 房间ID}interface OUT {sucess: boolean // 请求处理是否成功code: number //data: { // 请求返回的内容notice: string // 房间公告notice_url // 房间公告链接}}
首页接口
1、推荐教练
请求路径:/rest/home/recommendCoach
interface IN {id: string // 推荐表自增id}interface OUT {room_id: string // 房间idroom_img: string // 房间图片nick_name: string // 用户(教练)昵称avatar: string // 教练头像user_account: number // 教练账号desc: string // 推荐介绍}
2、推荐课程
请求路径:/rest/home/recommendCourse
interface IN {id: string // 推荐表自增id}interface OUT {room_id: string // 房间idroom_no: number // 房间账号room_name: string // 房间名称room_img: string // 房间图片desc: string // 推荐介绍}
3、推荐房间(待定)
请求路径:/rest/home/recommendRoom
个人中心接口
1、个人中心(获取个人资料)
请求路径:/rest/ucenter/userCenter/userCenter
interface IN {id: string // 用户ID}interface OUT {avatar: string // 头像图片urlaccount_no: number // 用户账号,nick_name: string // 昵称mobile: string // 手机号birthday: string // 生日sex: number // 性别area_code: string // 地区国标编码sign: string // 签名type: number // 用户类型}
2、保存个人资料(更新)
请求路径:/rest/ucenter/userCenter/savePersonalInfo
interface IN {id: string // 用户IDaccount_no: number // 用户账号nick_name: string // 昵称birthday: string // 生日sex: number // 性别area_code: string // 地区国标编码detailed_address: string // 详细地址}
3、修改密码
请求路径:/rest/ucenter/userCenter/changePassword
interface IN {id: string // 用户IDcode: string // 验证码firstPassword: string // 第一个密码secondPassword: string // 第二个密码}
4、修改手机号
请求路径:/rest/ucenter/userCenter/changePhone
interface IN {id: string // 用户IDnewMobile: string // 新手机newMobileCode: string // 新手机验证码}
5、获取手机号
请求路径:/rest/ucenter/userCenter/getPhone
interface IN {id: string // 用户ID}interface OUT {mobile: string // 手机号}
6、修改头像
请求路径:/rest/ucenter/userCenter/user/headerPortrait
interface IN {id: string // 用户IDaccount_no: number // 用户账号avatar: string // 头像地址}
7、生成oss密钥
请求路径:/rest/ucenter/userCenter/ossGet
interface IN {}interface OUT {OSSAccessKeyId: string // key值host: string // hostpolicy: string // 生效时段signature: string // 秘钥saveName: number // 上传文件名startsWith: string // 上传路径}
登录注册接口
1、注册
请求路径:/rest/ucenter/identity/register
// 输入定义interface IN {phone: string // 手机号code: string // 验证码password: string // 密码}// 输出定义interface OUT {id: string // 用户IDaccount_no: number // 用户账号avatar: string // 头像}
2、账号/手机号密码登录
请求路径:/rest/ucenter/identity/loginByPassword
interface IN {account: number // 账号password: string // 密码}interface OUT {account_no: number // 用户账号avatar: string // 头像图片url}
3、手机号验证码登录
请求路径:/rest/ucenter/identity/loginByCode
interface IN {mobile: string // 手机号code: string // 验证码}interface OUT {account_no: number // 用户账号avatar: string // 头像图片url}
4、登出
请求路径:/rest/ucenter/identity/logOut
type IN = void
5、忘记密码
请求路径:/rest/ucenter/identity/forgetPassword
interface IN {mobile: string // 手机号code: string // 验证码firstPassword: string // 密码secondPassword: string // 确认密码}type OUT = void
6、注册获取验证码
请求路径:/rest/ucenter/identity/registerGetCode
interface IN {phone: string // 手机号sdkNum: number // 第几次发送}type OUT = void
7、登录获取验证码
请求路径:/rest/ucenter/identity/loginGetCode
interface IN {phone: string // 手机号sdkNum?: number // 选择sdk}type OUT = void
8、修改手机号获取验证码
请求路径:/rest/ucenter/identity/changePhoneGetCode
interface IN {sdkNum: number // 选择sdk}type OUT = void
9、修改密码获取验证码
请求路径:/rest/ucenter/identity/changePasswordGetCode
interface IN {sdkNum: number // 选择sdk}type OUT = void
�
CODE整理:
SUCCESS: 1, // 执行成功FAILED: -1, // 执行失败OPENWAIT_VISITOR: -662, // 上排麦-用户为游客OPENWAIT_NOT_ALLOW: -1, // 上排麦-不允许上排麦ANSWER_NOT_AGREE: -22, // 抱麦答复-不同意被抱上麦FORCE_NOT_ON: -2, // 提麦-用户当前不在麦上INIT_NOT_PRIVATE: -262, // 房间初始化-非教学房间,不予处理INIT_NOT_EXIST: -162, // 房间初始化-redis缓存中无此房间CLOSE_ON_LINK_LIST: 1, // 下麦-在连麦队列CLOSE_REMOVE: 2, // 下麦-从列表移除CLOSE_ON_WAIT_LIST: 3, // 下麦-在排麦队列OPEN_ALREADY: -123, // 上麦-用户已在麦上OPEN_REDIS_EXCEPTION: -1234 // 上麦-redis操作异常
枚举值:
用户类型(0 普通用户 1 教练)
状态(0有效 1无效):包括用户、房间、课程、教练、推荐房间、推荐课程、推荐教练,用于假删除
性别(0 男 1女 2 其他)
房间付费标志( 0 普通 1 VIP):
房间类型(0活动房间 1教学房间)
视频的分辨率 (可能值:‘480P’,‘720P’)
配置类型(0 推荐房间 1 明星教练 2精品课程)
全局变量:
/*** 全局常量定义*/export const GCONST = Object.freeze({invalidRoomid:101, //roomid对应的房间不存在noPrivilegeOfCreateRoom:102,//uid用户无权创建roomid房间hasPrivilegeOfCreateRoom:103,//uid用户有权创建roomid房间noPrivilegeOfJoinRoom:104,//uid用户无权加入roomid房间hasPrivilegeOfJoinRoom:105,//uid用户有权加入roomid房间noPrivilegeOfSM:106, //uid用户无权在roomid房间上 连麦列表snNotEmptyOfSM:107, //roomid房间的第SN个麦 当前不是空闲状态canSM:108, //可以上麦roomKindOfTeach:1,//m_room房间表 kind 字段 教学房间roomKindOfLive:0, //m_room房间表 kind 字段 活动房间[娱乐直播 带 合流 旁路直播]waitingCreated:201,//用于 redis 缓存中 房间状态status;等待被创建[通过第三方SDK]hasCreated:202,//用于 redis 缓存中 房间状态status;已经创建[通过第三方SDK]roleInRoom_MainTeacher:1,//用户在房间内的角色 - 主教练【房主】roleInRoom_Assistant:2,//用户在房间内的角色 - 副教练【副房主】roleInRoom_Student:3,//用户在房间内的角色 - 学员[可上麦]roleInRoom_Audience:4,//用户在房间内的角色 -一般注册用户【非学员】roleInRoom_Visitor:5, //用户在房间内的角色 -游客[不可上麦]eventPMDel:1, //排麦列表删除 srv->clieventLMDel:2, //连麦列表删除 srv->clieventPMAdd:3, //排麦列表添加 srv->clieventLMAdd:4, //连麦列表添加 srv->clicmdKick:5, //踢麦命令 srv->clicmdBM:6, // srv->cli 被抱麦cmdKickOfBm:7, //srv->cli 通知由于抱麦命令而被踢麦的用户下麦eventNewNotice:8, //房间公告刷新eventMemberDel:11, //成员列表删除 srv->clieventMemberAdd:12, //成员列表添加 srv->clilm_max:3, //最大连麦数量rCodeSmOkOne:1,rCodeSmOkTwo:2,rCodeSmOkThree:3,rCodeSmFailure:-1,rCodeSmOkFour:4,theEnd:62,shouldIN:1, //应接收登录消息抄送shouldOUT:2, //应接收登出消息抄送shouldNONE:3, //不应接收任何消息抄送});
