@x-edu/live-player 0.0.21 → 0.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.browserslistrc +10 -10
- package/.eslintignore +8 -8
- package/.eslintrc.js +26 -26
- package/.gem-mine +11 -11
- package/.postcssrc.js +6 -6
- package/README.md +145 -145
- package/babel.config.js +33 -33
- package/doc/develop.md +23 -23
- package/gem-mine.config.js +86 -86
- package/jest.config.js +9 -9
- package/jsconfig.json +15 -15
- package/mock/helper.js +8 -8
- package/mock/index.js +34 -34
- package/package.json +99 -99
- package/public/3rd/ali-player/alipayercomponents-1.0.8.min.js +26 -26
- package/public/3rd/ali-player/aliplayer-hls-min.js +27 -27
- package/public/3rd/ali-player/aliplayer-min.js +1 -1
- package/public/3rd/im-web-push/index.umd.js +14 -14
- package/public/JsBridge.js +1602 -1602
- package/public/fish/editor/themes/default/css/ueditor.css +1905 -1905
- package/public/fish/editor/third-party/codemirror/codemirror.css +104 -104
- package/public/fish/editor/third-party/codemirror/codemirror.js +3581 -3581
- package/public/fish/editor/third-party/zeroclipboard/ZeroClipboard.js +1255 -1255
- package/public/fish/editor/ueditor.all.min.js +16 -16
- package/public/fish/editor/ueditor.config.js +467 -467
- package/public/fish/icon/umd-4.1.2.js +1 -1
- package/public/fish/video/videoplayer.min.css +6 -6
- package/public/fish/video/videoplayer.min.js +31 -31
- package/public/fish/video/zh-CN.js +82 -82
- package/public/icon/demo.css +539 -539
- package/public/icon/demo_index.html +2189 -2189
- package/public/icon/iconfont.css +363 -363
- package/public/icon/iconfont.json +618 -618
- package/public/index.html +50 -50
- package/script/image/readme.md +77 -77
- package/script/postcss.js +48 -48
- package/src/App.jsx +24 -24
- package/src/asset/img/course/playing.svg +21 -21
- package/src/asset/img/icon-course-white.svg +3 -3
- package/src/asset/img/icon-course.svg +3 -3
- package/src/asset/img/icon-eye-white.svg +4 -4
- package/src/asset/img/icon-eye.svg +4 -4
- package/src/asset/img/icon-school-white.svg +3 -3
- package/src/asset/img/icon-school.svg +3 -3
- package/src/asset/img/loading.svg +52 -52
- package/src/asset/img/video-play.svg +6 -6
- package/src/asset/style/background.less +19 -19
- package/src/asset/style/banner.less +36 -36
- package/src/asset/style/base.less +74 -74
- package/src/asset/style/index.less +114 -114
- package/src/asset/style/reset-theme.less +141 -141
- package/src/asset/style/theme/index.less +55 -55
- package/src/asset/style/theme/party/global.less +20 -20
- package/src/asset/style/theme/party/override.less +57 -57
- package/src/asset/style/theme/test/global.less +18 -18
- package/src/asset/style/theme/test/override.less +45 -45
- package/src/asset/style/variable.less +12 -12
- package/src/component/AliPlayer/index.jsx +49 -49
- package/src/component/Avatar/index.jsx +50 -50
- package/src/component/Empty/index.jsx +34 -34
- package/src/component/Empty/index.module.less +37 -37
- package/src/component/IMChatroom/component/status/403.jsx +13 -13
- package/src/component/IMChatroom/component/status/404.jsx +13 -13
- package/src/component/IMChatroom/component/status/Error.jsx +23 -23
- package/src/component/IMChatroom/component/status/Loading.jsx +5 -5
- package/src/component/IMChatroom/config/app/config.js +118 -118
- package/src/component/IMChatroom/config/app/index.js +60 -60
- package/src/component/IMChatroom/config/env.js +5 -5
- package/src/component/IMChatroom/config/index.js +3 -3
- package/src/component/IMChatroom/config/request/config/base.js +124 -124
- package/src/component/IMChatroom/config/request/config/chatroom.js +26 -26
- package/src/component/IMChatroom/config/request/config/imCoreApi.js +21 -21
- package/src/component/IMChatroom/config/request/index.js +21 -21
- package/src/component/IMChatroom/config/request/proxy.js +39 -39
- package/src/component/IMChatroom/config/url.js +7 -7
- package/src/component/IMChatroom/constants/errorCode.js +9 -9
- package/src/component/IMChatroom/constants/index.js +84 -84
- package/src/component/IMChatroom/constants/origin.js +27 -27
- package/src/component/IMChatroom/context/chatroom.js +154 -154
- package/src/component/IMChatroom/context/connect.js +28 -28
- package/src/component/IMChatroom/i18n/en/index.json +73 -73
- package/src/component/IMChatroom/i18n/index.jsx +14 -14
- package/src/component/IMChatroom/i18n/language.js +9 -9
- package/src/component/IMChatroom/i18n/zh-CN/index.json +73 -73
- package/src/component/IMChatroom/index.jsx +49 -49
- package/src/component/IMChatroom/page/chat/index.jsx +27 -27
- package/src/component/IMChatroom/page/chat/messageEditor/index.jsx +375 -375
- package/src/component/IMChatroom/page/chat/messageList/index.jsx +354 -354
- package/src/component/IMChatroom/page/chat/stickedMessage/index.jsx +59 -59
- package/src/component/IMChatroom/page/chat/stickedMessage/style/index.module.less +7 -7
- package/src/component/IMChatroom/page/chat/style/index.module.less +51 -51
- package/src/component/IMChatroom/page/home/connect/index.jsx +188 -188
- package/src/component/IMChatroom/page/home/connect/status.jsx +124 -124
- package/src/component/IMChatroom/page/home/context/cmd.jsx +37 -37
- package/src/component/IMChatroom/page/home/context/index.jsx +67 -67
- package/src/component/IMChatroom/page/home/index.jsx +164 -164
- package/src/component/IMChatroom/page/home/notice/index.jsx +123 -123
- package/src/component/IMChatroom/page/home/notice/style/index.module.less +49 -49
- package/src/component/IMChatroom/page/home/style/index.module.less +110 -110
- package/src/component/IMChatroom/page/member/index.jsx +15 -15
- package/src/component/IMChatroom/page/member/memberCount/index.jsx +44 -44
- package/src/component/IMChatroom/page/member/memberList/index.jsx +121 -121
- package/src/component/IMChatroom/page/member/style/index.module.less +2 -2
- package/src/component/IMChatroom/sdk/bridge.js +39 -39
- package/src/component/IMChatroom/sdk/cs/constants.js +20 -20
- package/src/component/IMChatroom/sdk/cs/index.js +101 -101
- package/src/component/IMChatroom/sdk/imChatroom.js +15 -15
- package/src/component/IMChatroom/sdk/imcore/constants.js +128 -128
- package/src/component/IMChatroom/sdk/imcore/emitters/chatroomDestroyed.js +5 -5
- package/src/component/IMChatroom/sdk/imcore/emitters/chatroomInfoGetFail.js +5 -5
- package/src/component/IMChatroom/sdk/imcore/emitters/chatroomKickedByAdmin.js +5 -5
- package/src/component/IMChatroom/sdk/imcore/emitters/chatroomKickedBySelf.js +5 -5
- package/src/component/IMChatroom/sdk/imcore/emitters/chatroomLoginFail.js +5 -5
- package/src/component/IMChatroom/sdk/imcore/emitters/chatroomLoginSuccess.js +5 -5
- package/src/component/IMChatroom/sdk/imcore/emitters/chatroomMemberLogin.js +5 -5
- package/src/component/IMChatroom/sdk/imcore/emitters/chatroomMemberLogout.js +5 -5
- package/src/component/IMChatroom/sdk/imcore/emitters/connectionConnected.js +5 -5
- package/src/component/IMChatroom/sdk/imcore/emitters/connectionConnecting.js +5 -5
- package/src/component/IMChatroom/sdk/imcore/emitters/connectionDisconnect.js +5 -5
- package/src/component/IMChatroom/sdk/imcore/emitters/index.js +57 -57
- package/src/component/IMChatroom/sdk/imcore/emitters/messageReceive.js +36 -36
- package/src/component/IMChatroom/sdk/imcore/index.js +178 -178
- package/src/component/IMChatroom/sdk/imcore/interceptors/request.js +7 -7
- package/src/component/IMChatroom/sdk/imcore/interceptors/response.js +5 -5
- package/src/component/IMChatroom/sdk/imcore/plugins/getAuth.js +64 -64
- package/src/component/IMChatroom/sdk/imcore/plugins/getConversationId.js +20 -20
- package/src/component/IMChatroom/sdk/imcore/plugins/getExtInfo.js +10 -10
- package/src/component/IMChatroom/sdk/imcore/plugins/getLoginInfo.js +48 -48
- package/src/component/IMChatroom/sdk/imcore/plugins/getPlatformType.js +12 -12
- package/src/component/IMChatroom/sdk/imcore/plugins/index.js +22 -22
- package/src/component/IMChatroom/sdk/imcore/util/format.js +177 -177
- package/src/component/IMChatroom/sdk/imcore/util/parser.js +35 -35
- package/src/component/IMChatroom/sdk/oms.js +18 -18
- package/src/component/IMChatroom/sdk/uc.js +3 -3
- package/src/component/IMChatroom/subscription/channel/app.js +5 -5
- package/src/component/IMChatroom/subscription/channel/ctl.js +22 -22
- package/src/component/IMChatroom/subscription/channel/member.js +40 -40
- package/src/component/IMChatroom/subscription/channel/message.js +13 -13
- package/src/component/IMChatroom/subscription/channel/ntf.js +86 -86
- package/src/component/IMChatroom/subscription/channel/tel.js +5 -5
- package/src/component/IMChatroom/subscription/channel/websocket.js +5 -5
- package/src/component/IMChatroom/subscription/event.js +37 -37
- package/src/component/IMChatroom/subscription/index.js +19 -19
- package/src/component/IMChatroom/util/account.js +8 -8
- package/src/component/IMChatroom/util/chatroom.js +255 -255
- package/src/component/IMChatroom/util/jsonBigInt.js +5 -5
- package/src/component/IMChatroom/util/location.js +12 -12
- package/src/component/Icon/index.jsx +16 -16
- package/src/component/Icon/index.module.less +2 -2
- package/src/component/Pagination/LocalPagination.jsx +27 -27
- package/src/component/Pagination/RemotePagination.jsx +32 -32
- package/src/component/Pagination/index.jsx +32 -31
- package/src/component/Pagination/index.module.less +117 -110
- package/src/component/PlayerTip/index.jsx +34 -34
- package/src/component/VideoBase/index.jsx +242 -242
- package/src/component/VideoBase/style.less +65 -65
- package/src/component/VideoBase/utils.js +81 -81
- package/src/component/mixin.less +9 -9
- package/src/component/status/403.jsx +15 -15
- package/src/component/status/404/index.jsx +73 -73
- package/src/component/status/404/index.module.less +36 -36
- package/src/component/status/Error/error.module.less +13 -13
- package/src/component/status/Error/index.jsx +47 -47
- package/src/component/status/Loading/img/loading.svg +52 -52
- package/src/component/status/Loading/index.jsx +31 -31
- package/src/component/status/Loading/index.less +56 -56
- package/src/component/status/None/index.jsx +20 -20
- package/src/component/status/None/index.module.less +35 -35
- package/src/component/status/Status/index.jsx +26 -26
- package/src/component/status/Status/index.module.less +8 -8
- package/src/config/constant/commonUrl.js +2 -2
- package/src/config/constant/user.js +6 -6
- package/src/config/context/site-config.js +48 -48
- package/src/config/env/index.js +5 -5
- package/src/config/env/local/index.js +13 -13
- package/src/config/env/ncet-xedu/api.js +175 -175
- package/src/config/env/ncet-xedu/app.js +12 -12
- package/src/config/env/ncet-xedu/cs.js +8 -8
- package/src/config/env/ncet-xedu/index.js +14 -14
- package/src/config/env/ncet-xedu/push.js +5 -5
- package/src/config/env/preproduction/api.js +144 -144
- package/src/config/env/preproduction/app.js +12 -12
- package/src/config/env/preproduction/cs.js +8 -8
- package/src/config/env/preproduction/index.js +14 -14
- package/src/config/env/preproduction/push.js +5 -5
- package/src/config/env/product/api.js +113 -113
- package/src/config/env/product/app.js +12 -12
- package/src/config/env/product/cs.js +5 -5
- package/src/config/env/product/index.js +14 -14
- package/src/config/env/product/push.js +5 -5
- package/src/config/live.js +80 -80
- package/src/config/publicLive.js +53 -53
- package/src/config/request/assessments.js +24 -24
- package/src/config/request/config-center.js +8 -8
- package/src/config/request/helper.js +166 -166
- package/src/config/request/im-broadcasts.js +12 -12
- package/src/config/request/live-activity-gateway.js +8 -8
- package/src/config/request/live-activity.js +13 -13
- package/src/config/request/raw.js +6 -6
- package/src/config/request/x-cloud-web.js +13 -13
- package/src/config/request/x-proxy.js +34 -34
- package/src/demo/Detail.jsx +11 -11
- package/src/demo/List.jsx +66 -64
- package/src/demo/index.jsx +17 -17
- package/src/detail/LineSwitch/index.jsx +71 -71
- package/src/detail/LiveCountDown/index.jsx +44 -44
- package/src/detail/LiveCountDown/index.module.less +31 -31
- package/src/detail/LiveOnlineCount/img/icon.svg +15 -15
- package/src/detail/LiveOnlineCount/index.jsx +68 -68
- package/src/detail/LiveOnlineCount/index.module.less +34 -34
- package/src/detail/LiveOnlineCount/util.js +74 -74
- package/src/detail/LiveStatus/AnchorOnTheWay.jsx +88 -88
- package/src/detail/LiveStatus/index.jsx +202 -202
- package/src/detail/LiveStatus/index.module.less +192 -192
- package/src/detail/LiveVideo/config.js +37 -37
- package/src/detail/LiveVideo/index.jsx +188 -188
- package/src/detail/LiveVideo/index.module.less +41 -41
- package/src/detail/NotLoginChatroom/index.jsx +37 -37
- package/src/detail/NotLoginChatroom/index.module.less +46 -46
- package/src/detail/RecordVideo/index.jsx +150 -150
- package/src/detail/RecordVideo/index.module.less +31 -31
- package/src/detail/ReplayVideo/index.jsx +93 -93
- package/src/detail/ReplayVideo/index.module.less +65 -65
- package/src/detail/const.js +20 -20
- package/src/detail/hook/usePullSource.js +82 -82
- package/src/detail/hook/usePullState.js +51 -51
- package/src/detail/index.jsx +482 -482
- package/src/detail/index.module.less +188 -188
- package/src/hook/useAsync.js +84 -84
- package/src/hook/useGoToPage.js +83 -83
- package/src/hook/useInterval.js +28 -28
- package/src/hook/useIsMounted.js +17 -17
- package/src/hook/useModuleByRole.js +53 -53
- package/src/hook/usePageScrollable.js +52 -52
- package/src/hook/usePortal.js +83 -83
- package/src/hook/useScrollRestore/index.js +32 -32
- package/src/hook/useScrollRestore/scrollContext.js +20 -20
- package/src/hook/useTrackRef.js +11 -11
- package/src/hook/useWindowSize.js +28 -28
- package/src/hook/useZoom.js +47 -47
- package/src/index.js +10 -10
- package/src/lib/getLiveOnlineCount.js +10 -10
- package/src/lib/getServiceConfig.js +102 -102
- package/src/list/Empty/index.jsx +20 -20
- package/src/list/Empty/index.module.less +23 -23
- package/src/list/ListItem/Action/index.jsx +100 -98
- package/src/list/ListItem/Action/index.module.less +19 -21
- package/src/list/ListItem/img/play.svg +15 -15
- package/src/list/ListItem/img/video.svg +3 -0
- package/src/list/ListItem/index.jsx +46 -28
- package/src/list/ListItem/index.module.less +152 -146
- package/src/list/index.module.less +35 -35
- package/src/service/common.js +73 -73
- package/src/service/content-mgr.js +73 -73
- package/src/service/im-group.js +12 -12
- package/src/service/im.js +7 -7
- package/src/service/imBroadcasts.js +33 -33
- package/src/service/like.js +134 -134
- package/src/service/manageApi.js +7 -7
- package/src/service/managePortal.js +6 -6
- package/src/service/myStudyRecord.js +93 -93
- package/src/service/navigation.js +47 -47
- package/src/service/ndMeeting.js +10 -10
- package/src/service/ndr.js +122 -122
- package/src/service/news.js +93 -93
- package/src/service/personalCenter.js +270 -270
- package/src/service/qualityCourse.js +31 -31
- package/src/service/recommend.js +81 -81
- package/src/service/school.js +323 -323
- package/src/service/search.js +170 -170
- package/src/service/site-config.js +7 -7
- package/src/service/socialCensor.js +45 -45
- package/src/service/specialEdu.js +31 -31
- package/src/service/suggestion.js +85 -85
- package/src/service/syncClassroom.js +321 -321
- package/src/service/tCourse.js +204 -204
- package/src/service/tchTraining.js +37 -37
- package/src/service/uc.js +45 -45
- package/src/util/app.js +1 -1
- package/src/util/array.js +3 -3
- package/src/util/auth/func.js +57 -57
- package/src/util/date.js +53 -53
- package/src/util/env.js +9 -9
- package/src/util/getTimestamp.js +10 -10
- package/src/util/hof.js +105 -105
- package/src/util/live/index.js +42 -42
- package/src/util/netUrl.js +35 -35
- package/src/util/object.js +13 -13
- package/src/util/push/index.js +58 -58
- package/src/util/request.js +227 -227
- package/src/util/type.js +17 -17
- package/src/util/url.js +203 -203
- package/src/util/video.js +26 -26
- package/test/setup.js +21 -21
- package/test/unit/component/header/logo.spec.jsx +8 -8
- package/test/unit/helper.jsx +25 -25
- package/test/unit/util/date.spec.js +40 -40
- package/dist/XEduLivePlayer.common.js +0 -72605
- package/dist/XEduLivePlayerPre.common.js +0 -72625
package/src/service/im-group.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { imGroupWithUC } from '@/config/request/imGroup'
|
|
2
|
-
|
|
3
|
-
/* 获取群头像内容服务上传token */
|
|
4
|
-
export async function getCSToken(id, params) {
|
|
5
|
-
const response = await imGroupWithUC.post(`/groups/${id}/upload_token/avatar`, params)
|
|
6
|
-
return response.data
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
/* 客户端上传群头像成功通知 */
|
|
10
|
-
export function avatarUploadOk(id) {
|
|
11
|
-
return imGroupWithUC.patch(`/groups/${id}/avatar_uploadOk`)
|
|
12
|
-
}
|
|
1
|
+
import { imGroupWithUC } from '@/config/request/imGroup'
|
|
2
|
+
|
|
3
|
+
/* 获取群头像内容服务上传token */
|
|
4
|
+
export async function getCSToken(id, params) {
|
|
5
|
+
const response = await imGroupWithUC.post(`/groups/${id}/upload_token/avatar`, params)
|
|
6
|
+
return response.data
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
/* 客户端上传群头像成功通知 */
|
|
10
|
+
export function avatarUploadOk(id) {
|
|
11
|
+
return imGroupWithUC.patch(`/groups/${id}/avatar_uploadOk`)
|
|
12
|
+
}
|
package/src/service/im.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import xProxy from '@/config/request/x-proxy'
|
|
2
|
-
|
|
3
|
-
// 获取资源点赞
|
|
4
|
-
export async function getUserInfo(userId) {
|
|
5
|
-
const { data } = await xProxy.get(`/v1/users/${userId}/actions/show_name`)
|
|
6
|
-
return data
|
|
7
|
-
}
|
|
1
|
+
import xProxy from '@/config/request/x-proxy'
|
|
2
|
+
|
|
3
|
+
// 获取资源点赞
|
|
4
|
+
export async function getUserInfo(userId) {
|
|
5
|
+
const { data } = await xProxy.get(`/v1/users/${userId}/actions/show_name`)
|
|
6
|
+
return data
|
|
7
|
+
}
|
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
import imBroadcastsAPI, {
|
|
2
|
-
staticAPI as imBroadcastsStaticAPI
|
|
3
|
-
} from '@/config/request/im-broadcasts'
|
|
4
|
-
|
|
5
|
-
// https://wiki.doc.101.com/index.php?title=IM%E7%9B%B4%E6%92%ADv2#.5BGET.5D_.2Fapis.2Fbroadcasts.2F.7BroomId.7D_.E6.A0.B9.E6.8D.AEroomId_.E8.8E.B7.E5.8F.96.E7.9B.B4.E6.92.AD.E4.BF.A1.E6.81.AF
|
|
6
|
-
export const getIMLiveInfo = async (roomId) => {
|
|
7
|
-
const url = `/v4/apis/broadcasts/${roomId}`
|
|
8
|
-
const response = await imBroadcastsAPI.get(url)
|
|
9
|
-
return response.data
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* 预生产
|
|
14
|
-
https://betacs.101.com/v0.1/static/preproduction_content_chatroom/livecache/{bid}.json
|
|
15
|
-
百度
|
|
16
|
-
https://bdcs-file-1.ykt.cbern.com.cn/xxuexiimbr/livecache/{bid}.json
|
|
17
|
-
|
|
18
|
-
*/
|
|
19
|
-
export const getGuestIMLiveInfoStatic = async (bId) => {
|
|
20
|
-
const { data } = await imBroadcastsStaticAPI.get(`/livecache/${bId}.json`)
|
|
21
|
-
return data
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
// https://wiki.doc.101.com/index.php?title=IM%E7%9B%B4%E6%92%ADv2#.5BGET.5D_.2Fguest.2Fbroadcasts.2F.7Bbid.7D_.E8.8E.B7.E5.8F.96.E7.9B.B4.E6.92.AD
|
|
25
|
-
// 访客获取直播接口
|
|
26
|
-
export const getGuestIMLiveInfo = async (bId) => {
|
|
27
|
-
try {
|
|
28
|
-
return await getGuestIMLiveInfoStatic(bId)
|
|
29
|
-
} catch (e) {
|
|
30
|
-
const { data } = await imBroadcastsAPI.get(`/v2/guest/broadcasts/${bId}`)
|
|
31
|
-
return data
|
|
32
|
-
}
|
|
33
|
-
}
|
|
1
|
+
import imBroadcastsAPI, {
|
|
2
|
+
staticAPI as imBroadcastsStaticAPI
|
|
3
|
+
} from '@/config/request/im-broadcasts'
|
|
4
|
+
|
|
5
|
+
// https://wiki.doc.101.com/index.php?title=IM%E7%9B%B4%E6%92%ADv2#.5BGET.5D_.2Fapis.2Fbroadcasts.2F.7BroomId.7D_.E6.A0.B9.E6.8D.AEroomId_.E8.8E.B7.E5.8F.96.E7.9B.B4.E6.92.AD.E4.BF.A1.E6.81.AF
|
|
6
|
+
export const getIMLiveInfo = async (roomId) => {
|
|
7
|
+
const url = `/v4/apis/broadcasts/${roomId}`
|
|
8
|
+
const response = await imBroadcastsAPI.get(url)
|
|
9
|
+
return response.data
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* 预生产
|
|
14
|
+
https://betacs.101.com/v0.1/static/preproduction_content_chatroom/livecache/{bid}.json
|
|
15
|
+
百度
|
|
16
|
+
https://bdcs-file-1.ykt.cbern.com.cn/xxuexiimbr/livecache/{bid}.json
|
|
17
|
+
|
|
18
|
+
*/
|
|
19
|
+
export const getGuestIMLiveInfoStatic = async (bId) => {
|
|
20
|
+
const { data } = await imBroadcastsStaticAPI.get(`/livecache/${bId}.json`)
|
|
21
|
+
return data
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// https://wiki.doc.101.com/index.php?title=IM%E7%9B%B4%E6%92%ADv2#.5BGET.5D_.2Fguest.2Fbroadcasts.2F.7Bbid.7D_.E8.8E.B7.E5.8F.96.E7.9B.B4.E6.92.AD
|
|
25
|
+
// 访客获取直播接口
|
|
26
|
+
export const getGuestIMLiveInfo = async (bId) => {
|
|
27
|
+
try {
|
|
28
|
+
return await getGuestIMLiveInfoStatic(bId)
|
|
29
|
+
} catch (e) {
|
|
30
|
+
const { data } = await imBroadcastsAPI.get(`/v2/guest/broadcasts/${bId}`)
|
|
31
|
+
return data
|
|
32
|
+
}
|
|
33
|
+
}
|
package/src/service/like.js
CHANGED
|
@@ -1,134 +1,134 @@
|
|
|
1
|
-
import xCloudWeb from '@/config/request/x-cloud-web'
|
|
2
|
-
import { assessmentApi } from '@/config/request/assessments'
|
|
3
|
-
import xProxy from '@/config/request/x-proxy'
|
|
4
|
-
import config from '@/config/env'
|
|
5
|
-
|
|
6
|
-
const { appid } = config.app
|
|
7
|
-
|
|
8
|
-
// 获取资源点赞
|
|
9
|
-
export async function getResourceLikes(resId, type) {
|
|
10
|
-
const { data } = await xProxy.get(`/v1/res_stats/${resId}`, {
|
|
11
|
-
params: {
|
|
12
|
-
type
|
|
13
|
-
}
|
|
14
|
-
})
|
|
15
|
-
return data
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
// 获取资源点赞
|
|
19
|
-
export async function getResourceLikesForLive(resId, type) {
|
|
20
|
-
const { data } = await xProxy.get(`/v1/res_stats/open_lives/${resId}`, {
|
|
21
|
-
params: {
|
|
22
|
-
type
|
|
23
|
-
}
|
|
24
|
-
})
|
|
25
|
-
return data
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
// 资源点赞
|
|
29
|
-
export async function postResourceLikes(resId, type = 'like') {
|
|
30
|
-
await xCloudWeb.post(`/v1/res_stats/${resId}?type=${type}`, {
|
|
31
|
-
headers: {
|
|
32
|
-
'sdp-app-id': appid
|
|
33
|
-
}
|
|
34
|
-
})
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
async function getStatByChunk(resIds, requestFn) {
|
|
38
|
-
const chunkSize = 100
|
|
39
|
-
if (resIds.length <= chunkSize) {
|
|
40
|
-
const { data } = await requestFn(resIds)
|
|
41
|
-
return data
|
|
42
|
-
} else {
|
|
43
|
-
const chunkCount = Math.ceil(resIds.length / chunkSize)
|
|
44
|
-
const result = []
|
|
45
|
-
const t = new Array(chunkCount).fill(0)
|
|
46
|
-
await Promise.all(t.map(async (v, i) => {
|
|
47
|
-
const chunk = resIds.slice(chunkSize * i, chunkSize * i + chunkSize)
|
|
48
|
-
const { data } = await requestFn(chunk)
|
|
49
|
-
result[i] = data
|
|
50
|
-
}))
|
|
51
|
-
return [].concat(...result)
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
// 批量获取资源点赞、访问统计
|
|
56
|
-
export async function getResourceStat(resIds) {
|
|
57
|
-
return getStatByChunk(resIds, async (chunk) => xProxy.get(`/v1/res_stats/actions/query?res_ids=${chunk.join(',')}`))
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
// 批量获取评价统计
|
|
61
|
-
export async function getAssessmentStat(resIds, assessmentTypes) {
|
|
62
|
-
return getStatByChunk(resIds, async (chunk) => assessmentApi
|
|
63
|
-
.post('/assessments/actions/stats', chunk.map((t, i) => ({
|
|
64
|
-
assessment_id: t,
|
|
65
|
-
assessment_type: assessmentTypes[i]
|
|
66
|
-
}))))
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* 每 maxCount 个分为一组,默认每 100 个分为一组
|
|
71
|
-
* @param {array} data 带分组数据
|
|
72
|
-
* @param {number} [maxNum=100] 每组最大数量
|
|
73
|
-
* @return {array} [[data1], [data2], ...]
|
|
74
|
-
*/
|
|
75
|
-
function groupData(data, maxNum = 100) {
|
|
76
|
-
const result = []
|
|
77
|
-
for (let i = 0; i < data.length;) {
|
|
78
|
-
result.push(data.slice(i, i += maxNum))
|
|
79
|
-
}
|
|
80
|
-
return result
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
// 一次性获取资源点赞、访问统计
|
|
84
|
-
export function getAllResourceStat(data = []) {
|
|
85
|
-
const groupIds = groupData(data)
|
|
86
|
-
const maxNum = groupIds.length
|
|
87
|
-
// 请求总数量
|
|
88
|
-
const len = groupIds.length
|
|
89
|
-
// 根据请求数量创建一个数组来保存请求的结果
|
|
90
|
-
const result = new Array(len).fill(false)
|
|
91
|
-
// 当前完成的数量
|
|
92
|
-
let count = -1
|
|
93
|
-
|
|
94
|
-
return new Promise((resolve) => {
|
|
95
|
-
// 请求 maxNum 个
|
|
96
|
-
while (count < maxNum) {
|
|
97
|
-
next()
|
|
98
|
-
}
|
|
99
|
-
function next() {
|
|
100
|
-
const current = count + 1
|
|
101
|
-
count = current
|
|
102
|
-
// 处理边界条件
|
|
103
|
-
if (current >= len) {
|
|
104
|
-
// 请求全部完成就将promise置为成功状态, 然后将result作为promise值返回
|
|
105
|
-
if (!result.includes(false)) {
|
|
106
|
-
let r = []
|
|
107
|
-
result.forEach((arr) => {
|
|
108
|
-
r = r.concat(arr)
|
|
109
|
-
})
|
|
110
|
-
resolve(r)
|
|
111
|
-
}
|
|
112
|
-
return
|
|
113
|
-
}
|
|
114
|
-
const ids = groupIds[current]
|
|
115
|
-
getResourceStat(ids)
|
|
116
|
-
.then((res) => {
|
|
117
|
-
// 保存请求结果
|
|
118
|
-
result[current] = res
|
|
119
|
-
// 请求没有全部完成, 就递归
|
|
120
|
-
if (current < len) {
|
|
121
|
-
next()
|
|
122
|
-
}
|
|
123
|
-
})
|
|
124
|
-
.catch((err) => {
|
|
125
|
-
console.error(err)
|
|
126
|
-
result[current] = []
|
|
127
|
-
// 请求没有全部完成, 就递归
|
|
128
|
-
if (current < len) {
|
|
129
|
-
next()
|
|
130
|
-
}
|
|
131
|
-
})
|
|
132
|
-
}
|
|
133
|
-
})
|
|
134
|
-
}
|
|
1
|
+
import xCloudWeb from '@/config/request/x-cloud-web'
|
|
2
|
+
import { assessmentApi } from '@/config/request/assessments'
|
|
3
|
+
import xProxy from '@/config/request/x-proxy'
|
|
4
|
+
import config from '@/config/env'
|
|
5
|
+
|
|
6
|
+
const { appid } = config.app
|
|
7
|
+
|
|
8
|
+
// 获取资源点赞
|
|
9
|
+
export async function getResourceLikes(resId, type) {
|
|
10
|
+
const { data } = await xProxy.get(`/v1/res_stats/${resId}`, {
|
|
11
|
+
params: {
|
|
12
|
+
type
|
|
13
|
+
}
|
|
14
|
+
})
|
|
15
|
+
return data
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// 获取资源点赞
|
|
19
|
+
export async function getResourceLikesForLive(resId, type) {
|
|
20
|
+
const { data } = await xProxy.get(`/v1/res_stats/open_lives/${resId}`, {
|
|
21
|
+
params: {
|
|
22
|
+
type
|
|
23
|
+
}
|
|
24
|
+
})
|
|
25
|
+
return data
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
// 资源点赞
|
|
29
|
+
export async function postResourceLikes(resId, type = 'like') {
|
|
30
|
+
await xCloudWeb.post(`/v1/res_stats/${resId}?type=${type}`, {
|
|
31
|
+
headers: {
|
|
32
|
+
'sdp-app-id': appid
|
|
33
|
+
}
|
|
34
|
+
})
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
async function getStatByChunk(resIds, requestFn) {
|
|
38
|
+
const chunkSize = 100
|
|
39
|
+
if (resIds.length <= chunkSize) {
|
|
40
|
+
const { data } = await requestFn(resIds)
|
|
41
|
+
return data
|
|
42
|
+
} else {
|
|
43
|
+
const chunkCount = Math.ceil(resIds.length / chunkSize)
|
|
44
|
+
const result = []
|
|
45
|
+
const t = new Array(chunkCount).fill(0)
|
|
46
|
+
await Promise.all(t.map(async (v, i) => {
|
|
47
|
+
const chunk = resIds.slice(chunkSize * i, chunkSize * i + chunkSize)
|
|
48
|
+
const { data } = await requestFn(chunk)
|
|
49
|
+
result[i] = data
|
|
50
|
+
}))
|
|
51
|
+
return [].concat(...result)
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// 批量获取资源点赞、访问统计
|
|
56
|
+
export async function getResourceStat(resIds) {
|
|
57
|
+
return getStatByChunk(resIds, async (chunk) => xProxy.get(`/v1/res_stats/actions/query?res_ids=${chunk.join(',')}`))
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// 批量获取评价统计
|
|
61
|
+
export async function getAssessmentStat(resIds, assessmentTypes) {
|
|
62
|
+
return getStatByChunk(resIds, async (chunk) => assessmentApi
|
|
63
|
+
.post('/assessments/actions/stats', chunk.map((t, i) => ({
|
|
64
|
+
assessment_id: t,
|
|
65
|
+
assessment_type: assessmentTypes[i]
|
|
66
|
+
}))))
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* 每 maxCount 个分为一组,默认每 100 个分为一组
|
|
71
|
+
* @param {array} data 带分组数据
|
|
72
|
+
* @param {number} [maxNum=100] 每组最大数量
|
|
73
|
+
* @return {array} [[data1], [data2], ...]
|
|
74
|
+
*/
|
|
75
|
+
function groupData(data, maxNum = 100) {
|
|
76
|
+
const result = []
|
|
77
|
+
for (let i = 0; i < data.length;) {
|
|
78
|
+
result.push(data.slice(i, i += maxNum))
|
|
79
|
+
}
|
|
80
|
+
return result
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// 一次性获取资源点赞、访问统计
|
|
84
|
+
export function getAllResourceStat(data = []) {
|
|
85
|
+
const groupIds = groupData(data)
|
|
86
|
+
const maxNum = groupIds.length
|
|
87
|
+
// 请求总数量
|
|
88
|
+
const len = groupIds.length
|
|
89
|
+
// 根据请求数量创建一个数组来保存请求的结果
|
|
90
|
+
const result = new Array(len).fill(false)
|
|
91
|
+
// 当前完成的数量
|
|
92
|
+
let count = -1
|
|
93
|
+
|
|
94
|
+
return new Promise((resolve) => {
|
|
95
|
+
// 请求 maxNum 个
|
|
96
|
+
while (count < maxNum) {
|
|
97
|
+
next()
|
|
98
|
+
}
|
|
99
|
+
function next() {
|
|
100
|
+
const current = count + 1
|
|
101
|
+
count = current
|
|
102
|
+
// 处理边界条件
|
|
103
|
+
if (current >= len) {
|
|
104
|
+
// 请求全部完成就将promise置为成功状态, 然后将result作为promise值返回
|
|
105
|
+
if (!result.includes(false)) {
|
|
106
|
+
let r = []
|
|
107
|
+
result.forEach((arr) => {
|
|
108
|
+
r = r.concat(arr)
|
|
109
|
+
})
|
|
110
|
+
resolve(r)
|
|
111
|
+
}
|
|
112
|
+
return
|
|
113
|
+
}
|
|
114
|
+
const ids = groupIds[current]
|
|
115
|
+
getResourceStat(ids)
|
|
116
|
+
.then((res) => {
|
|
117
|
+
// 保存请求结果
|
|
118
|
+
result[current] = res
|
|
119
|
+
// 请求没有全部完成, 就递归
|
|
120
|
+
if (current < len) {
|
|
121
|
+
next()
|
|
122
|
+
}
|
|
123
|
+
})
|
|
124
|
+
.catch((err) => {
|
|
125
|
+
console.error(err)
|
|
126
|
+
result[current] = []
|
|
127
|
+
// 请求没有全部完成, 就递归
|
|
128
|
+
if (current < len) {
|
|
129
|
+
next()
|
|
130
|
+
}
|
|
131
|
+
})
|
|
132
|
+
}
|
|
133
|
+
})
|
|
134
|
+
}
|
package/src/service/manageApi.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import ManageApi from '@/config/request/manage-api'
|
|
2
|
-
|
|
3
|
-
// 获取管理后台角色
|
|
4
|
-
export async function getManageRoles() {
|
|
5
|
-
const { data } = await ManageApi.get('/v1/users/actions/get_my_manage_roles')
|
|
6
|
-
return data
|
|
7
|
-
}
|
|
1
|
+
import ManageApi from '@/config/request/manage-api'
|
|
2
|
+
|
|
3
|
+
// 获取管理后台角色
|
|
4
|
+
export async function getManageRoles() {
|
|
5
|
+
const { data } = await ManageApi.get('/v1/users/actions/get_my_manage_roles')
|
|
6
|
+
return data
|
|
7
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import ManagePortalApi from '@/config/request/manage-portal'
|
|
2
|
-
|
|
3
|
-
export async function checkAppPermission() {
|
|
4
|
-
const resp = await ManagePortalApi.get('/v2/apps/actions/check_app_permission')
|
|
5
|
-
return resp?.data
|
|
6
|
-
}
|
|
1
|
+
import ManagePortalApi from '@/config/request/manage-portal'
|
|
2
|
+
|
|
3
|
+
export async function checkAppPermission() {
|
|
4
|
+
const resp = await ManagePortalApi.get('/v2/apps/actions/check_app_permission')
|
|
5
|
+
return resp?.data
|
|
6
|
+
}
|
|
@@ -1,93 +1,93 @@
|
|
|
1
|
-
import myStudyRecordApi from '@/config/request/my-study-record'
|
|
2
|
-
import openLiveAPI from '@/config/request/open-live'
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* 获取学习进度列表
|
|
6
|
-
* @param {Object} params
|
|
7
|
-
* @return {Object} { total, items } | {} // total: 总数,items:当前页的资源数据
|
|
8
|
-
*/
|
|
9
|
-
export async function getLearningList({
|
|
10
|
-
catalogType,
|
|
11
|
-
offset,
|
|
12
|
-
limit
|
|
13
|
-
}) {
|
|
14
|
-
const { data } = await myStudyRecordApi.get('/study_details', {
|
|
15
|
-
params: {
|
|
16
|
-
catalog_type: catalogType,
|
|
17
|
-
offset,
|
|
18
|
-
limit
|
|
19
|
-
}
|
|
20
|
-
})
|
|
21
|
-
return data
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* 获取学习进度列表
|
|
26
|
-
* @param {Object} params
|
|
27
|
-
* @return {Object} { total, items } | {} // total: 总数,items:当前页的资源数据
|
|
28
|
-
*/
|
|
29
|
-
export async function getLearningProgress({
|
|
30
|
-
resourceId,
|
|
31
|
-
userId
|
|
32
|
-
}) {
|
|
33
|
-
const result = await myStudyRecordApi.get(`/study_details/${resourceId}/${userId}`)
|
|
34
|
-
if (result.data) {
|
|
35
|
-
return {
|
|
36
|
-
...result.data,
|
|
37
|
-
ext_info: JSON.parse(result.data.ext_info)
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* 报告学习进度
|
|
44
|
-
* https://wiki.doc.101.com/index.php?title=X%E5%AD%A6%E4%B9%A0%E9%A1%B9%E7%9B%AE%E6%B5%8F%E8%A7%88%E5%8E%86%E5%8F%B2
|
|
45
|
-
* @param {Object} body
|
|
46
|
-
* @return {void}
|
|
47
|
-
*/
|
|
48
|
-
export async function reportLearningProgress(body) {
|
|
49
|
-
const url = '/study_details'
|
|
50
|
-
const {
|
|
51
|
-
ext_info: extInfo,
|
|
52
|
-
...rest
|
|
53
|
-
} = body
|
|
54
|
-
await myStudyRecordApi.post(url, {
|
|
55
|
-
...rest,
|
|
56
|
-
ext_info: JSON.stringify(extInfo)
|
|
57
|
-
})
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* 获取学习位置
|
|
62
|
-
*/
|
|
63
|
-
export async function getLearningPosition({
|
|
64
|
-
resourceId,
|
|
65
|
-
userId
|
|
66
|
-
}) {
|
|
67
|
-
const { data } = await myStudyRecordApi.get(`/resource_learning_positions/${resourceId}/${userId}`)
|
|
68
|
-
return data
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
/**
|
|
72
|
-
* 报告学习位置
|
|
73
|
-
*/
|
|
74
|
-
export async function reportLearningPosition({
|
|
75
|
-
resourceId,
|
|
76
|
-
userId,
|
|
77
|
-
position
|
|
78
|
-
}) {
|
|
79
|
-
const { data } = await myStudyRecordApi.put(`/resource_learning_positions/${resourceId}/${userId}`, {
|
|
80
|
-
position
|
|
81
|
-
})
|
|
82
|
-
return data
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* 获取公开直播列表
|
|
87
|
-
* @return {Object} { total, items } | {} // total: 总数,items:所有资源数据(一次性)
|
|
88
|
-
*/
|
|
89
|
-
export async function getLiveList() {
|
|
90
|
-
const url = '/study_details'
|
|
91
|
-
const { data } = await openLiveAPI.get(url)
|
|
92
|
-
return data || {}
|
|
93
|
-
}
|
|
1
|
+
import myStudyRecordApi from '@/config/request/my-study-record'
|
|
2
|
+
import openLiveAPI from '@/config/request/open-live'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* 获取学习进度列表
|
|
6
|
+
* @param {Object} params
|
|
7
|
+
* @return {Object} { total, items } | {} // total: 总数,items:当前页的资源数据
|
|
8
|
+
*/
|
|
9
|
+
export async function getLearningList({
|
|
10
|
+
catalogType,
|
|
11
|
+
offset,
|
|
12
|
+
limit
|
|
13
|
+
}) {
|
|
14
|
+
const { data } = await myStudyRecordApi.get('/study_details', {
|
|
15
|
+
params: {
|
|
16
|
+
catalog_type: catalogType,
|
|
17
|
+
offset,
|
|
18
|
+
limit
|
|
19
|
+
}
|
|
20
|
+
})
|
|
21
|
+
return data
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* 获取学习进度列表
|
|
26
|
+
* @param {Object} params
|
|
27
|
+
* @return {Object} { total, items } | {} // total: 总数,items:当前页的资源数据
|
|
28
|
+
*/
|
|
29
|
+
export async function getLearningProgress({
|
|
30
|
+
resourceId,
|
|
31
|
+
userId
|
|
32
|
+
}) {
|
|
33
|
+
const result = await myStudyRecordApi.get(`/study_details/${resourceId}/${userId}`)
|
|
34
|
+
if (result.data) {
|
|
35
|
+
return {
|
|
36
|
+
...result.data,
|
|
37
|
+
ext_info: JSON.parse(result.data.ext_info)
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* 报告学习进度
|
|
44
|
+
* https://wiki.doc.101.com/index.php?title=X%E5%AD%A6%E4%B9%A0%E9%A1%B9%E7%9B%AE%E6%B5%8F%E8%A7%88%E5%8E%86%E5%8F%B2
|
|
45
|
+
* @param {Object} body
|
|
46
|
+
* @return {void}
|
|
47
|
+
*/
|
|
48
|
+
export async function reportLearningProgress(body) {
|
|
49
|
+
const url = '/study_details'
|
|
50
|
+
const {
|
|
51
|
+
ext_info: extInfo,
|
|
52
|
+
...rest
|
|
53
|
+
} = body
|
|
54
|
+
await myStudyRecordApi.post(url, {
|
|
55
|
+
...rest,
|
|
56
|
+
ext_info: JSON.stringify(extInfo)
|
|
57
|
+
})
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* 获取学习位置
|
|
62
|
+
*/
|
|
63
|
+
export async function getLearningPosition({
|
|
64
|
+
resourceId,
|
|
65
|
+
userId
|
|
66
|
+
}) {
|
|
67
|
+
const { data } = await myStudyRecordApi.get(`/resource_learning_positions/${resourceId}/${userId}`)
|
|
68
|
+
return data
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* 报告学习位置
|
|
73
|
+
*/
|
|
74
|
+
export async function reportLearningPosition({
|
|
75
|
+
resourceId,
|
|
76
|
+
userId,
|
|
77
|
+
position
|
|
78
|
+
}) {
|
|
79
|
+
const { data } = await myStudyRecordApi.put(`/resource_learning_positions/${resourceId}/${userId}`, {
|
|
80
|
+
position
|
|
81
|
+
})
|
|
82
|
+
return data
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* 获取公开直播列表
|
|
87
|
+
* @return {Object} { total, items } | {} // total: 总数,items:所有资源数据(一次性)
|
|
88
|
+
*/
|
|
89
|
+
export async function getLiveList() {
|
|
90
|
+
const url = '/study_details'
|
|
91
|
+
const { data } = await openLiveAPI.get(url)
|
|
92
|
+
return data || {}
|
|
93
|
+
}
|