瀏覽代碼

视频混流权限及断点失效时间限制

Michael Wang 4 年之前
父節點
當前提交
f6bbddd808
共有 2 個文件被更改,包括 24 次插入2 次删除
  1. 18 1
      src/features/examwork/ExamManagement/ExamEdit.vue
  2. 6 1
      src/store/modules/user.js

+ 18 - 1
src/features/examwork/ExamManagement/ExamEdit.vue

@@ -376,7 +376,10 @@
             </el-form-item>
           </el-row>
           <el-row>
-            <el-form-item v-if="form.monitorProxy" label="是否需要视频回放">
+            <el-form-item
+              v-if="form.monitorProxy && enablePrevilleges"
+              label="是否需要视频回放"
+            >
               <el-radio v-model="form.monitorRecord" label="MIX">是 </el-radio>
               <el-radio v-model="form.monitorRecord" label="OFF">否 </el-radio>
             </el-form-item>
@@ -633,6 +636,9 @@ export default {
     disableEdit() {
       return this.form.monitorStatus === "FINISHED";
     },
+    enablePrevilleges() {
+      return !!this.$store.state.user.orgInfo.enableMonitorRecord;
+    },
   },
   watch: {
     "form.mode": {
@@ -812,6 +818,17 @@ export default {
           },
           // message: "格式错误",
         },
+        breakExpireSeconds: {
+          validator: (rule, value) => {
+            return new Promise((resolve, reject) => {
+              if (this.form.monitorRecord === "MIX" && value > 20 * 60) {
+                reject("视频回放开启后,断点失效时间必须小于20分钟");
+              } else {
+                resolve();
+              }
+            });
+          },
+        },
       },
       orgSetting: null,
       loading: false,

+ 6 - 1
src/store/modules/user.js

@@ -8,6 +8,7 @@ const user = {
   state: {
     loginName: "",
     name: "",
+    orgInfo: {},
   },
 
   mutations: {
@@ -22,7 +23,11 @@ const user = {
     [LOGIN_BY_USERNAME]({ commit }, userInfo) {
       return loginByUsername(userInfo).then((response) => {
         const data = response.data.data;
-        commit("SET_USER", { ...data.account, roleCodes: data.roleCodes });
+        commit("SET_USER", {
+          ...data.account,
+          roleCodes: data.roleCodes,
+          orgInfo: data.orgInfo,
+        });
         setToken(data.accessToken);
         setSessionId(data.sessionId);
       });