@x-edu/live-player 0.0.32 → 0.0.34
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/.postcssrc.js +6 -6
- package/README.md +145 -145
- package/babel.config.js +33 -33
- package/dist/XEduLivePlayer.common.js +11436 -973
- package/dist/XEduLivePlayerPre.common.js +11281 -818
- 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/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 +22 -15
- package/src/component/IMChatroom/sdk/imcore/constants.js +130 -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 -32
- package/src/component/Pagination/index.module.less +117 -117
- 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/ncet-xedu-beta/api.js +175 -0
- package/src/config/env/ncet-xedu-beta/app.js +12 -0
- package/src/config/env/ncet-xedu-beta/cs.js +8 -0
- package/src/config/env/ncet-xedu-beta/index.js +14 -0
- package/src/config/env/ncet-xedu-beta/push.js +5 -0
- 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 +190 -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 +68 -68
- 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 +483 -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 +109 -109
- package/src/list/ListItem/Action/index.module.less +25 -25
- package/src/list/ListItem/img/dianzan.svg +4 -4
- package/src/list/ListItem/img/like-fill.svg +8 -8
- package/src/list/ListItem/img/play.svg +15 -15
- package/src/list/ListItem/img/view-fill.svg +8 -8
- package/src/list/ListItem/img/yiguankan.svg +3 -3
- package/src/list/ListItem/index.module.less +158 -158
- package/src/list/index.jsx +241 -240
- package/src/list/index.module.less +38 -38
- 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/live.js +293 -293
- 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/liveCountUtil.js +52 -52
- 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/src/service/live.js
CHANGED
|
@@ -1,293 +1,293 @@
|
|
|
1
|
-
import axios from 'axios'
|
|
2
|
-
import dayjs from 'dayjs'
|
|
3
|
-
import config from '@/config/env'
|
|
4
|
-
import liveActivityAPI, { proxyApi } from '@/config/request/live-activity'
|
|
5
|
-
import liveActivityGatewayAPI from '@/config/request/live-activity-gateway'
|
|
6
|
-
import { PUBLIC_LIVE_STATUS, LIVING_CLOSE_LOGIN, PUBLIC_LIVE_MODE, VIEW_REPLAY, PROVIDE_RECORD, SUB_TYPE } from '@/config/publicLive'
|
|
7
|
-
import getServiceConfig from '@/lib/getServiceConfig'
|
|
8
|
-
import { getAvatarURL } from '@/util/auth/func'
|
|
9
|
-
import { getLocalHlsLiveStatus } from '@/util/live'
|
|
10
|
-
import { withOnce } from '@/util/hof'
|
|
11
|
-
import { liveProxy } from '@/config/request/x-proxy'
|
|
12
|
-
|
|
13
|
-
export async function getLiveActivities(params) {
|
|
14
|
-
const { liveDateString, isTeacher, ...requestParams } = params
|
|
15
|
-
if (requestParams.status < 0) {
|
|
16
|
-
delete requestParams.status
|
|
17
|
-
}
|
|
18
|
-
if (liveDateString) {
|
|
19
|
-
requestParams.begin_time = `${liveDateString} 00:00:00`
|
|
20
|
-
requestParams.end_time = `${liveDateString} 23:59:59`
|
|
21
|
-
}
|
|
22
|
-
if (!isTeacher) {
|
|
23
|
-
delete requestParams.filter_creator
|
|
24
|
-
}
|
|
25
|
-
const requestFn = isTeacher ? getTeacherLiveActivities : getStudentLiveActivities
|
|
26
|
-
return requestFn(requestParams)
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
// 获取老师的直播列表
|
|
30
|
-
export async function getTeacherLiveActivities(params) {
|
|
31
|
-
const url = '/live_activities/actions/teacher_search'
|
|
32
|
-
const { data } = await liveActivityGatewayAPI.get(url, {
|
|
33
|
-
params
|
|
34
|
-
})
|
|
35
|
-
return data
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
// 获取学生的直播列表
|
|
39
|
-
export async function getStudentLiveActivities(params) {
|
|
40
|
-
const url = '/live_activities/actions/user_search'
|
|
41
|
-
const { data } = await liveActivityGatewayAPI.get(url, {
|
|
42
|
-
params
|
|
43
|
-
})
|
|
44
|
-
return data
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
// 获取直播详情
|
|
48
|
-
export async function getLiveActivity(id) {
|
|
49
|
-
const url = `/live_activities/${id}/actions/full_info`
|
|
50
|
-
const { data } = await liveActivityGatewayAPI.get(url)
|
|
51
|
-
return data
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
// 获取直播回放详情
|
|
55
|
-
export async function getLiveActivityReplay(id, params) {
|
|
56
|
-
const url = `/live_activity_replays/${id}/actions/full_info`
|
|
57
|
-
const { data } = await liveActivityGatewayAPI.get(url, {
|
|
58
|
-
params
|
|
59
|
-
})
|
|
60
|
-
return data
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
// 直播举报
|
|
64
|
-
export async function postLiveActivityAudit(data) {
|
|
65
|
-
const url = '/v1/live_activity_audit_report'
|
|
66
|
-
await liveActivityAPI.post(url, data)
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
// 获取 csToken
|
|
70
|
-
export async function getCsToken(data) {
|
|
71
|
-
// todo: 服务端为什么此接口没有版本号
|
|
72
|
-
const url = '/uranus/cs/tokens'
|
|
73
|
-
const response = await liveActivityAPI.post(url, data)
|
|
74
|
-
return response.data
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
export async function postLiveActivity(data) {
|
|
78
|
-
const url = '/v1/live_activities'
|
|
79
|
-
const response = await liveActivityAPI.post(url, data)
|
|
80
|
-
return response.data
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
// 获取用户是否被禁止直播
|
|
84
|
-
export async function getUserLiveStatus(id) {
|
|
85
|
-
const url = '/v1/live_activity_banned/actions/by_user_id'
|
|
86
|
-
const response = await liveActivityAPI.get(url, {
|
|
87
|
-
params: {
|
|
88
|
-
banned_user_id: id
|
|
89
|
-
}
|
|
90
|
-
})
|
|
91
|
-
return response.data
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
// 服务器时间
|
|
95
|
-
export async function getServerTime() {
|
|
96
|
-
// https://pms.101.com/index.php?m=bug&f=view&bugID=692948 返回浏览器会走disk cache 加时间戳
|
|
97
|
-
const url = `/v1/server_time?v=${Date.now()}`
|
|
98
|
-
const response = await liveActivityAPI.get(url).catch(() => ({
|
|
99
|
-
data: {
|
|
100
|
-
server_time: Date.now()
|
|
101
|
-
}
|
|
102
|
-
}))
|
|
103
|
-
return response.data
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
async function _getLiveAPICache() {
|
|
107
|
-
const url = config.api['live-static-json']
|
|
108
|
-
try {
|
|
109
|
-
const result = await axios.get(url)
|
|
110
|
-
const serverTime = dayjs(result.headers.date).valueOf()
|
|
111
|
-
return {
|
|
112
|
-
data: result.data,
|
|
113
|
-
serverTime,
|
|
114
|
-
diffTime: Date.now() - serverTime
|
|
115
|
-
}
|
|
116
|
-
} catch (e) {
|
|
117
|
-
console.error('getLiveAPICache fail', e)
|
|
118
|
-
return null
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
const getLiveAPICache = withOnce(_getLiveAPICache)
|
|
123
|
-
|
|
124
|
-
export async function getOpenClassWithCache(url) {
|
|
125
|
-
const fullUrl = `${window.location.protocol}${proxyApi.defaults.baseURL}${url}`
|
|
126
|
-
const cacheInfo = await getLiveAPICache()
|
|
127
|
-
if (cacheInfo) {
|
|
128
|
-
const cacheData = cacheInfo.data.find((item) => item.source_key === fullUrl)
|
|
129
|
-
if (cacheData) {
|
|
130
|
-
try {
|
|
131
|
-
return {
|
|
132
|
-
...JSON.parse(cacheData.json_value),
|
|
133
|
-
serverTime: cacheInfo.serverTime,
|
|
134
|
-
diffTime: cacheInfo.diffTime
|
|
135
|
-
}
|
|
136
|
-
} catch (e) {
|
|
137
|
-
console.error('getOpenClassWithCache parse error', e)
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
const result = await proxyApi.get(url)
|
|
142
|
-
if (result.headers.date) {
|
|
143
|
-
const serverTime = dayjs(result.headers.date).valueOf()
|
|
144
|
-
return {
|
|
145
|
-
...result.data,
|
|
146
|
-
serverTime,
|
|
147
|
-
diffTime: Date.now() - serverTime
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
return result.data
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
// 公开直播详情变化部分,失败要降级处理
|
|
154
|
-
export async function getOpenClassLiveSimple(liveInfo) {
|
|
155
|
-
const url = `/v1/open_class_lives/${liveInfo.live_id}/simple`
|
|
156
|
-
const data = await getOpenClassWithCache(url)
|
|
157
|
-
.catch(() => {
|
|
158
|
-
const isRecordLive = liveInfo.type === PUBLIC_LIVE_MODE.RECORDED
|
|
159
|
-
// 录播组件会计算状态,设置为0即可
|
|
160
|
-
const status = isRecordLive ? 0 : getLocalHlsLiveStatus(Date.now(), liveInfo.begin_time, liveInfo.end_time)
|
|
161
|
-
return {
|
|
162
|
-
live_id: liveInfo.live_id,
|
|
163
|
-
view_replay: VIEW_REPLAY.NOT_ALLOW,
|
|
164
|
-
replay_url: '',
|
|
165
|
-
provide_record: PROVIDE_RECORD.NOT_PROVIDED,
|
|
166
|
-
status
|
|
167
|
-
}
|
|
168
|
-
})
|
|
169
|
-
return data
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
// 公开直播详情拆分成两个接口
|
|
173
|
-
export async function getOpenClassLiveBase(id) {
|
|
174
|
-
const url = `/v3/open_class_lives/${id}`
|
|
175
|
-
const data = await getOpenClassWithCache(url)
|
|
176
|
-
const { sub_type: subType } = data
|
|
177
|
-
|
|
178
|
-
// 外部推流则直接返回, 不去请求兼容接口
|
|
179
|
-
if (subType === SUB_TYPE.OUTSIDE) {
|
|
180
|
-
return data
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
const dynamicInfo = await getOpenClassLiveSimple(data)
|
|
184
|
-
return {
|
|
185
|
-
...data,
|
|
186
|
-
...dynamicInfo
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
// 公开实时直播-发起直播-公共直播邀请页使用,适配为班级直播数据
|
|
191
|
-
export async function getOpenClassLiveAdapter(id) {
|
|
192
|
-
const data = await getOpenClassLiveBase(id)
|
|
193
|
-
return {
|
|
194
|
-
...data,
|
|
195
|
-
live_activity_id: data.live_id,
|
|
196
|
-
name: data.live_name,
|
|
197
|
-
stat: data.status === PUBLIC_LIVE_STATUS.PASUED ? PUBLIC_LIVE_STATUS.LIVEING : data.status, // 暂停按直播显示
|
|
198
|
-
is_deleted: data.status === PUBLIC_LIVE_STATUS.OFFLINE,
|
|
199
|
-
create_user_user_facade: {
|
|
200
|
-
icon: getAvatarURL(data.lecture_user_id),
|
|
201
|
-
display_real_name: data.lecture_user_name
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
export async function getOpenClassLive(id) {
|
|
207
|
-
const serviceConfig = await getServiceConfig('x-cloud')
|
|
208
|
-
const liveCloseLogin = serviceConfig.properties.live_close_login || LIVING_CLOSE_LOGIN.NORMAL
|
|
209
|
-
const data = await getOpenClassLiveBase(id)
|
|
210
|
-
if (liveCloseLogin === LIVING_CLOSE_LOGIN.CLOSE) {
|
|
211
|
-
data.login = false
|
|
212
|
-
}
|
|
213
|
-
return data
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
export async function getMyOpenClassLives({
|
|
217
|
-
offset = 0,
|
|
218
|
-
limit = 10
|
|
219
|
-
}) {
|
|
220
|
-
const url = '/v1/open_class_lives'
|
|
221
|
-
const response = await liveActivityAPI.get(url, {
|
|
222
|
-
params: {
|
|
223
|
-
offset,
|
|
224
|
-
limit
|
|
225
|
-
}
|
|
226
|
-
})
|
|
227
|
-
return response.data
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
/* 获取直播详情数据 */
|
|
231
|
-
export async function getLiveInfo(ids) {
|
|
232
|
-
const promies = ids.map((id) => liveProxy.get(`/v3/open_class_lives/${id}`))
|
|
233
|
-
const result = await Promise.all(promies)
|
|
234
|
-
return result.map((res) => res.data)
|
|
235
|
-
// return result?.data || {}
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
/**
|
|
239
|
-
* 查询直播列表-前台
|
|
240
|
-
*/
|
|
241
|
-
export async function OpenLiveSearchFront({
|
|
242
|
-
status,
|
|
243
|
-
scopeType,
|
|
244
|
-
scopeId,
|
|
245
|
-
offset,
|
|
246
|
-
limit
|
|
247
|
-
}) {
|
|
248
|
-
try {
|
|
249
|
-
const url = '/v1/open_class_lives/search_front'
|
|
250
|
-
const response = await proxyApi.get(url, {
|
|
251
|
-
params: {
|
|
252
|
-
status: status === 'all' ? undefined : status,
|
|
253
|
-
scope_type: scopeType,
|
|
254
|
-
scope_id: scopeId,
|
|
255
|
-
offset,
|
|
256
|
-
limit
|
|
257
|
-
}
|
|
258
|
-
})
|
|
259
|
-
return response?.data || {
|
|
260
|
-
count: 0,
|
|
261
|
-
items: []
|
|
262
|
-
}
|
|
263
|
-
} catch (_) {
|
|
264
|
-
return {
|
|
265
|
-
count: 0,
|
|
266
|
-
items: []
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
/**
|
|
272
|
-
* 获取预约直播
|
|
273
|
-
*/
|
|
274
|
-
export async function getSubscription() {
|
|
275
|
-
try {
|
|
276
|
-
const url = '/v1/open_class_lives/actions/get_subscription'
|
|
277
|
-
const response = await liveActivityAPI.get(url)
|
|
278
|
-
return response.data
|
|
279
|
-
} catch (_) {
|
|
280
|
-
return []
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
/**
|
|
285
|
-
* 预约直播
|
|
286
|
-
*/
|
|
287
|
-
export async function openLiveSubscribe({
|
|
288
|
-
liveId
|
|
289
|
-
}) {
|
|
290
|
-
const url = `/v1/open_class_lives/${liveId}/actions/subscribe`
|
|
291
|
-
const response = await liveActivityAPI.post(url)
|
|
292
|
-
return response?.data
|
|
293
|
-
}
|
|
1
|
+
import axios from 'axios'
|
|
2
|
+
import dayjs from 'dayjs'
|
|
3
|
+
import config from '@/config/env'
|
|
4
|
+
import liveActivityAPI, { proxyApi } from '@/config/request/live-activity'
|
|
5
|
+
import liveActivityGatewayAPI from '@/config/request/live-activity-gateway'
|
|
6
|
+
import { PUBLIC_LIVE_STATUS, LIVING_CLOSE_LOGIN, PUBLIC_LIVE_MODE, VIEW_REPLAY, PROVIDE_RECORD, SUB_TYPE } from '@/config/publicLive'
|
|
7
|
+
import getServiceConfig from '@/lib/getServiceConfig'
|
|
8
|
+
import { getAvatarURL } from '@/util/auth/func'
|
|
9
|
+
import { getLocalHlsLiveStatus } from '@/util/live'
|
|
10
|
+
import { withOnce } from '@/util/hof'
|
|
11
|
+
import { liveProxy } from '@/config/request/x-proxy'
|
|
12
|
+
|
|
13
|
+
export async function getLiveActivities(params) {
|
|
14
|
+
const { liveDateString, isTeacher, ...requestParams } = params
|
|
15
|
+
if (requestParams.status < 0) {
|
|
16
|
+
delete requestParams.status
|
|
17
|
+
}
|
|
18
|
+
if (liveDateString) {
|
|
19
|
+
requestParams.begin_time = `${liveDateString} 00:00:00`
|
|
20
|
+
requestParams.end_time = `${liveDateString} 23:59:59`
|
|
21
|
+
}
|
|
22
|
+
if (!isTeacher) {
|
|
23
|
+
delete requestParams.filter_creator
|
|
24
|
+
}
|
|
25
|
+
const requestFn = isTeacher ? getTeacherLiveActivities : getStudentLiveActivities
|
|
26
|
+
return requestFn(requestParams)
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// 获取老师的直播列表
|
|
30
|
+
export async function getTeacherLiveActivities(params) {
|
|
31
|
+
const url = '/live_activities/actions/teacher_search'
|
|
32
|
+
const { data } = await liveActivityGatewayAPI.get(url, {
|
|
33
|
+
params
|
|
34
|
+
})
|
|
35
|
+
return data
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// 获取学生的直播列表
|
|
39
|
+
export async function getStudentLiveActivities(params) {
|
|
40
|
+
const url = '/live_activities/actions/user_search'
|
|
41
|
+
const { data } = await liveActivityGatewayAPI.get(url, {
|
|
42
|
+
params
|
|
43
|
+
})
|
|
44
|
+
return data
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// 获取直播详情
|
|
48
|
+
export async function getLiveActivity(id) {
|
|
49
|
+
const url = `/live_activities/${id}/actions/full_info`
|
|
50
|
+
const { data } = await liveActivityGatewayAPI.get(url)
|
|
51
|
+
return data
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// 获取直播回放详情
|
|
55
|
+
export async function getLiveActivityReplay(id, params) {
|
|
56
|
+
const url = `/live_activity_replays/${id}/actions/full_info`
|
|
57
|
+
const { data } = await liveActivityGatewayAPI.get(url, {
|
|
58
|
+
params
|
|
59
|
+
})
|
|
60
|
+
return data
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// 直播举报
|
|
64
|
+
export async function postLiveActivityAudit(data) {
|
|
65
|
+
const url = '/v1/live_activity_audit_report'
|
|
66
|
+
await liveActivityAPI.post(url, data)
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// 获取 csToken
|
|
70
|
+
export async function getCsToken(data) {
|
|
71
|
+
// todo: 服务端为什么此接口没有版本号
|
|
72
|
+
const url = '/uranus/cs/tokens'
|
|
73
|
+
const response = await liveActivityAPI.post(url, data)
|
|
74
|
+
return response.data
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export async function postLiveActivity(data) {
|
|
78
|
+
const url = '/v1/live_activities'
|
|
79
|
+
const response = await liveActivityAPI.post(url, data)
|
|
80
|
+
return response.data
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
// 获取用户是否被禁止直播
|
|
84
|
+
export async function getUserLiveStatus(id) {
|
|
85
|
+
const url = '/v1/live_activity_banned/actions/by_user_id'
|
|
86
|
+
const response = await liveActivityAPI.get(url, {
|
|
87
|
+
params: {
|
|
88
|
+
banned_user_id: id
|
|
89
|
+
}
|
|
90
|
+
})
|
|
91
|
+
return response.data
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// 服务器时间
|
|
95
|
+
export async function getServerTime() {
|
|
96
|
+
// https://pms.101.com/index.php?m=bug&f=view&bugID=692948 返回浏览器会走disk cache 加时间戳
|
|
97
|
+
const url = `/v1/server_time?v=${Date.now()}`
|
|
98
|
+
const response = await liveActivityAPI.get(url).catch(() => ({
|
|
99
|
+
data: {
|
|
100
|
+
server_time: Date.now()
|
|
101
|
+
}
|
|
102
|
+
}))
|
|
103
|
+
return response.data
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
async function _getLiveAPICache() {
|
|
107
|
+
const url = config.api['live-static-json']
|
|
108
|
+
try {
|
|
109
|
+
const result = await axios.get(url)
|
|
110
|
+
const serverTime = dayjs(result.headers.date).valueOf()
|
|
111
|
+
return {
|
|
112
|
+
data: result.data,
|
|
113
|
+
serverTime,
|
|
114
|
+
diffTime: Date.now() - serverTime
|
|
115
|
+
}
|
|
116
|
+
} catch (e) {
|
|
117
|
+
console.error('getLiveAPICache fail', e)
|
|
118
|
+
return null
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
const getLiveAPICache = withOnce(_getLiveAPICache)
|
|
123
|
+
|
|
124
|
+
export async function getOpenClassWithCache(url) {
|
|
125
|
+
const fullUrl = `${window.location.protocol}${proxyApi.defaults.baseURL}${url}`
|
|
126
|
+
const cacheInfo = await getLiveAPICache()
|
|
127
|
+
if (cacheInfo) {
|
|
128
|
+
const cacheData = cacheInfo.data.find((item) => item.source_key === fullUrl)
|
|
129
|
+
if (cacheData) {
|
|
130
|
+
try {
|
|
131
|
+
return {
|
|
132
|
+
...JSON.parse(cacheData.json_value),
|
|
133
|
+
serverTime: cacheInfo.serverTime,
|
|
134
|
+
diffTime: cacheInfo.diffTime
|
|
135
|
+
}
|
|
136
|
+
} catch (e) {
|
|
137
|
+
console.error('getOpenClassWithCache parse error', e)
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
const result = await proxyApi.get(url)
|
|
142
|
+
if (result.headers.date) {
|
|
143
|
+
const serverTime = dayjs(result.headers.date).valueOf()
|
|
144
|
+
return {
|
|
145
|
+
...result.data,
|
|
146
|
+
serverTime,
|
|
147
|
+
diffTime: Date.now() - serverTime
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return result.data
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
// 公开直播详情变化部分,失败要降级处理
|
|
154
|
+
export async function getOpenClassLiveSimple(liveInfo) {
|
|
155
|
+
const url = `/v1/open_class_lives/${liveInfo.live_id}/simple`
|
|
156
|
+
const data = await getOpenClassWithCache(url)
|
|
157
|
+
.catch(() => {
|
|
158
|
+
const isRecordLive = liveInfo.type === PUBLIC_LIVE_MODE.RECORDED
|
|
159
|
+
// 录播组件会计算状态,设置为0即可
|
|
160
|
+
const status = isRecordLive ? 0 : getLocalHlsLiveStatus(Date.now(), liveInfo.begin_time, liveInfo.end_time)
|
|
161
|
+
return {
|
|
162
|
+
live_id: liveInfo.live_id,
|
|
163
|
+
view_replay: VIEW_REPLAY.NOT_ALLOW,
|
|
164
|
+
replay_url: '',
|
|
165
|
+
provide_record: PROVIDE_RECORD.NOT_PROVIDED,
|
|
166
|
+
status
|
|
167
|
+
}
|
|
168
|
+
})
|
|
169
|
+
return data
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
// 公开直播详情拆分成两个接口
|
|
173
|
+
export async function getOpenClassLiveBase(id) {
|
|
174
|
+
const url = `/v3/open_class_lives/${id}`
|
|
175
|
+
const data = await getOpenClassWithCache(url)
|
|
176
|
+
const { sub_type: subType } = data
|
|
177
|
+
|
|
178
|
+
// 外部推流则直接返回, 不去请求兼容接口
|
|
179
|
+
if (subType === SUB_TYPE.OUTSIDE) {
|
|
180
|
+
return data
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
const dynamicInfo = await getOpenClassLiveSimple(data)
|
|
184
|
+
return {
|
|
185
|
+
...data,
|
|
186
|
+
...dynamicInfo
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
// 公开实时直播-发起直播-公共直播邀请页使用,适配为班级直播数据
|
|
191
|
+
export async function getOpenClassLiveAdapter(id) {
|
|
192
|
+
const data = await getOpenClassLiveBase(id)
|
|
193
|
+
return {
|
|
194
|
+
...data,
|
|
195
|
+
live_activity_id: data.live_id,
|
|
196
|
+
name: data.live_name,
|
|
197
|
+
stat: data.status === PUBLIC_LIVE_STATUS.PASUED ? PUBLIC_LIVE_STATUS.LIVEING : data.status, // 暂停按直播显示
|
|
198
|
+
is_deleted: data.status === PUBLIC_LIVE_STATUS.OFFLINE,
|
|
199
|
+
create_user_user_facade: {
|
|
200
|
+
icon: getAvatarURL(data.lecture_user_id),
|
|
201
|
+
display_real_name: data.lecture_user_name
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
export async function getOpenClassLive(id) {
|
|
207
|
+
const serviceConfig = await getServiceConfig('x-cloud')
|
|
208
|
+
const liveCloseLogin = serviceConfig.properties.live_close_login || LIVING_CLOSE_LOGIN.NORMAL
|
|
209
|
+
const data = await getOpenClassLiveBase(id)
|
|
210
|
+
if (liveCloseLogin === LIVING_CLOSE_LOGIN.CLOSE) {
|
|
211
|
+
data.login = false
|
|
212
|
+
}
|
|
213
|
+
return data
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
export async function getMyOpenClassLives({
|
|
217
|
+
offset = 0,
|
|
218
|
+
limit = 10
|
|
219
|
+
}) {
|
|
220
|
+
const url = '/v1/open_class_lives'
|
|
221
|
+
const response = await liveActivityAPI.get(url, {
|
|
222
|
+
params: {
|
|
223
|
+
offset,
|
|
224
|
+
limit
|
|
225
|
+
}
|
|
226
|
+
})
|
|
227
|
+
return response.data
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
/* 获取直播详情数据 */
|
|
231
|
+
export async function getLiveInfo(ids) {
|
|
232
|
+
const promies = ids.map((id) => liveProxy.get(`/v3/open_class_lives/${id}`))
|
|
233
|
+
const result = await Promise.all(promies)
|
|
234
|
+
return result.map((res) => res.data)
|
|
235
|
+
// return result?.data || {}
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
/**
|
|
239
|
+
* 查询直播列表-前台
|
|
240
|
+
*/
|
|
241
|
+
export async function OpenLiveSearchFront({
|
|
242
|
+
status,
|
|
243
|
+
scopeType,
|
|
244
|
+
scopeId,
|
|
245
|
+
offset,
|
|
246
|
+
limit
|
|
247
|
+
}) {
|
|
248
|
+
try {
|
|
249
|
+
const url = '/v1/open_class_lives/search_front'
|
|
250
|
+
const response = await proxyApi.get(url, {
|
|
251
|
+
params: {
|
|
252
|
+
status: status === 'all' ? undefined : status,
|
|
253
|
+
scope_type: scopeType,
|
|
254
|
+
scope_id: scopeId,
|
|
255
|
+
offset,
|
|
256
|
+
limit
|
|
257
|
+
}
|
|
258
|
+
})
|
|
259
|
+
return response?.data || {
|
|
260
|
+
count: 0,
|
|
261
|
+
items: []
|
|
262
|
+
}
|
|
263
|
+
} catch (_) {
|
|
264
|
+
return {
|
|
265
|
+
count: 0,
|
|
266
|
+
items: []
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
/**
|
|
272
|
+
* 获取预约直播
|
|
273
|
+
*/
|
|
274
|
+
export async function getSubscription() {
|
|
275
|
+
try {
|
|
276
|
+
const url = '/v1/open_class_lives/actions/get_subscription'
|
|
277
|
+
const response = await liveActivityAPI.get(url)
|
|
278
|
+
return response.data
|
|
279
|
+
} catch (_) {
|
|
280
|
+
return []
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* 预约直播
|
|
286
|
+
*/
|
|
287
|
+
export async function openLiveSubscribe({
|
|
288
|
+
liveId
|
|
289
|
+
}) {
|
|
290
|
+
const url = `/v1/open_class_lives/${liveId}/actions/subscribe`
|
|
291
|
+
const response = await liveActivityAPI.post(url)
|
|
292
|
+
return response?.data
|
|
293
|
+
}
|
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
|
+
}
|