shuisheng vor 2 Jahren
Ursprung
Commit
1d7c98d7e7
4 geänderte Dateien mit 19 neuen und 7 gelöschten Zeilen
  1. 8 0
      src/constant.ts
  2. 5 4
      src/hooks/use-play.ts
  3. 4 2
      src/hooks/use-srs-ws.ts
  4. 2 1
      src/views/account/index.vue

+ 8 - 0
src/constant.ts

@@ -23,6 +23,14 @@ export const COMMON_URL = {
   payCoursesArticle: 'https://www.hsslive.cn/article/151',
 };
 
+export const SRS_CB_URL_PARAMS = {
+  publishKey: 'pushkey',
+  publishType: 'pushtype',
+  userToken: 'usertoken',
+  userId: 'userid',
+  randomId: 'randomid',
+};
+
 // 全局的cookie的key
 export const COOKIE_KEY = {
   loginInfo: 'loginInfo',

+ 5 - 4
src/hooks/use-play.ts

@@ -6,6 +6,7 @@ import videoJs from 'video.js';
 import Player from 'video.js/dist/types/player';
 import { onMounted, onUnmounted, ref, watch } from 'vue';
 
+import { SRS_CB_URL_PARAMS } from '@/constant';
 import { useAppStore } from '@/store/app';
 import { usePiniaCacheStore } from '@/store/cache';
 import { useUserStore } from '@/store/user';
@@ -18,10 +19,10 @@ function handlePlayUrl(url: string) {
   const userInfo = userStore.userInfo;
   const userToken = md5(userStore.token) as string;
   return !userInfo
-    ? `${url}?randomid=${getRandomString(8)}`
-    : `${url}?usertoken=${userToken}&userid=${userInfo.id!}&randomid=${getRandomString(
-        8
-      )}`;
+    ? `${url}?${SRS_CB_URL_PARAMS.randomId}=${getRandomString(8)}`
+    : `${url}?${SRS_CB_URL_PARAMS.userToken}=${userToken}&${
+        SRS_CB_URL_PARAMS.userId
+      }=${userInfo.id!}&${SRS_CB_URL_PARAMS.randomId}=${getRandomString(8)}`;
 }
 
 export function useFlvPlay() {

+ 4 - 2
src/hooks/use-srs-ws.ts

@@ -2,7 +2,7 @@ import { getRandomString } from 'billd-utils';
 import { computed, onUnmounted, ref } from 'vue';
 
 import { fetchRtcV1Publish } from '@/api/srs';
-import { WEBSOCKET_URL } from '@/constant';
+import { SRS_CB_URL_PARAMS, WEBSOCKET_URL } from '@/constant';
 import {
   DanmuMsgTypeEnum,
   IDanmu,
@@ -99,7 +99,9 @@ export const useSrsWs = () => {
       api: `/rtc/v1/publish/`,
       clientip: null,
       sdp: sdp!.sdp!,
-      streamurl: `${myLiveRoom.rtmp_url!}?token=${myLiveRoom.key!}&type=${
+      streamurl: `${myLiveRoom.rtmp_url!}?${
+        SRS_CB_URL_PARAMS.publishKey
+      }=${myLiveRoom.key!}&${SRS_CB_URL_PARAMS.publishType}=${
         LiveRoomTypeEnum.user_srs
       }`,
       tid: getRandomString(10),

+ 2 - 1
src/views/account/index.vue

@@ -65,6 +65,7 @@ import { useRouter } from 'vue-router';
 
 import { fetchUpdateLiveRoomKey } from '@/api/liveRoom';
 import { fetchUserInfo } from '@/api/user';
+import { SRS_CB_URL_PARAMS } from '@/constant';
 import { loginTip } from '@/hooks/use-login';
 import { IUser, LiveRoomTypeEnum } from '@/interface';
 import { routerName } from '@/router';
@@ -105,7 +106,7 @@ function openLiveRoom() {
 }
 
 function handleUrl(data: { url: string; token: string }) {
-  return `${data.url}?token=${data.token}&type=${LiveRoomTypeEnum.user_obs}`;
+  return `${data.url}?${SRS_CB_URL_PARAMS.publishKey}=${data.token}&${SRS_CB_URL_PARAMS.publishType}=${LiveRoomTypeEnum.user_obs}`;
 }
 
 async function handleUpdateKey() {