浏览代码

添加声部搜索默认缓存

lex 8 月之前
父节点
当前提交
bcc084fdff
共有 1 个文件被更改,包括 34 次插入2 次删除
  1. 34 2
      src/tenant/music/train-tool/index.tsx

+ 34 - 2
src/tenant/music/train-tool/index.tsx

@@ -263,6 +263,22 @@ export default defineComponent({
       }
     }
 
+    /** 设置声部 */
+    const operatoinCatchSubjectInfo = (
+      type: 'set' | 'get',
+      params?: { defaultSubject: string; defaultSubjectName: string }
+    ) => {
+      if (type === 'set') {
+        localStorage.setItem(
+          'trainTool-teacherSubjectInfo',
+          JSON.stringify(params)
+        )
+      } else if (type === 'get') {
+        const result = localStorage.getItem('trainTool-teacherSubjectInfo')
+        return result ? JSON.parse(result) : null
+      }
+    }
+
     onMounted(async () => {
       // useEventListener(document, 'scroll', evt => {
       //   const { y } = useWindowScroll()
@@ -276,8 +292,19 @@ export default defineComponent({
       // 老师端默认查询声部
       if (baseState.platformType === 'TEACHER') {
         const users = baseState.user.data
-        state.teacherSubjectId = users.defaultSubject || null
-        state.teacherSubjectName = users.defaultSubjectName || null
+        const catchSubject = operatoinCatchSubjectInfo('get')
+        if (catchSubject) {
+          state.teacherSubjectId = catchSubject.defaultSubject || null
+          state.teacherSubjectName = catchSubject.defaultSubjectName || null
+        } else {
+          state.teacherSubjectId = users.defaultSubject || null
+          state.teacherSubjectName = users.defaultSubjectName || null
+        }
+
+        operatoinCatchSubjectInfo('set', {
+          defaultSubject: state.teacherSubjectId,
+          defaultSubjectName: state.teacherSubjectName
+        })
       }
 
       state.loading = true
@@ -743,6 +770,11 @@ export default defineComponent({
               state.list = []
               FetchList()
               state.subjectStatus = false
+
+              operatoinCatchSubjectInfo('set', {
+                defaultSubject: state.teacherSubjectId,
+                defaultSubjectName: state.teacherSubjectName
+              })
             }}
           ></Picker>
         </Popup>