diff --git a/package-lock.json b/package-lock.json index 42154f12..0dae3420 100644 --- a/package-lock.json +++ b/package-lock.json @@ -25,7 +25,7 @@ "@dcloudio/uni-mp-xhs": "3.0.0-4060620250520001", "@dcloudio/uni-quickapp-webview": "3.0.0-4060620250520001", "crypto-js": "^3.1.9-1", - "pinia": "^3.0.3", + "pinia": "^2.3.1", "terser": "^5.42.0", "uuid": "^11.1.0", "vue": "^3.5.11", @@ -4696,30 +4696,6 @@ "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", "license": "MIT" }, - "node_modules/@vue/devtools-kit": { - "version": "7.7.7", - "resolved": "http://25.12.10.69:8081/repository/aliyun-npm/@vue/devtools-kit/-/devtools-kit-7.7.7.tgz", - "integrity": "sha512-wgoZtxcTta65cnZ1Q6MbAfePVFxfM+gq0saaeytoph7nEa7yMXoi6sCPy4ufO111B9msnw0VOWjPEFCXuAKRHA==", - "license": "MIT", - "dependencies": { - "@vue/devtools-shared": "^7.7.7", - "birpc": "^2.3.0", - "hookable": "^5.5.3", - "mitt": "^3.0.1", - "perfect-debounce": "^1.0.0", - "speakingurl": "^14.0.1", - "superjson": "^2.2.2" - } - }, - "node_modules/@vue/devtools-shared": { - "version": "7.7.7", - "resolved": "http://25.12.10.69:8081/repository/aliyun-npm/@vue/devtools-shared/-/devtools-shared-7.7.7.tgz", - "integrity": "sha512-+udSj47aRl5aKb0memBvcUG9koarqnxNM5yjuREvqwK6T3ap4mn3Zqqc17QrBFTqSMjr3HK1cvStEZpMDpfdyw==", - "license": "MIT", - "dependencies": { - "rfdc": "^1.4.1" - } - }, "node_modules/@vue/reactivity": { "version": "3.5.17", "resolved": "http://25.12.10.69:8081/repository/aliyun-npm/@vue/reactivity/-/reactivity-3.5.17.tgz", @@ -5267,15 +5243,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/birpc": { - "version": "2.4.0", - "resolved": "http://25.12.10.69:8081/repository/aliyun-npm/birpc/-/birpc-2.4.0.tgz", - "integrity": "sha512-5IdNxTyhXHv2UlgnPHQ0h+5ypVmkrYHzL8QT+DwFZ//2N/oNV8Ch+BCRmTJ3x6/z9Axo/cXYBc9eprsUVK/Jsg==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, "node_modules/bmp-js": { "version": "0.1.0", "resolved": "http://25.12.10.69:8081/repository/aliyun-npm/bmp-js/-/bmp-js-0.1.0.tgz", @@ -5778,21 +5745,6 @@ "dev": true, "license": "MIT" }, - "node_modules/copy-anything": { - "version": "3.0.5", - "resolved": "http://25.12.10.69:8081/repository/aliyun-npm/copy-anything/-/copy-anything-3.0.5.tgz", - "integrity": "sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==", - "license": "MIT", - "dependencies": { - "is-what": "^4.1.8" - }, - "engines": { - "node": ">=12.13" - }, - "funding": { - "url": "https://github.com/sponsors/mesqueeb" - } - }, "node_modules/core-js": { "version": "3.43.0", "resolved": "http://25.12.10.69:8081/repository/aliyun-npm/core-js/-/core-js-3.43.0.tgz", @@ -6961,12 +6913,6 @@ "node": ">= 0.4" } }, - "node_modules/hookable": { - "version": "5.5.3", - "resolved": "http://25.12.10.69:8081/repository/aliyun-npm/hookable/-/hookable-5.5.3.tgz", - "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", - "license": "MIT" - }, "node_modules/html-encoding-sniffer": { "version": "2.0.1", "resolved": "http://25.12.10.69:8081/repository/aliyun-npm/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", @@ -7294,18 +7240,6 @@ "license": "MIT", "peer": true }, - "node_modules/is-what": { - "version": "4.1.16", - "resolved": "http://25.12.10.69:8081/repository/aliyun-npm/is-what/-/is-what-4.1.16.tgz", - "integrity": "sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==", - "license": "MIT", - "engines": { - "node": ">=12.13" - }, - "funding": { - "url": "https://github.com/sponsors/mesqueeb" - } - }, "node_modules/isbinaryfile": { "version": "5.0.4", "resolved": "http://25.12.10.69:8081/repository/aliyun-npm/isbinaryfile/-/isbinaryfile-5.0.4.tgz", @@ -8687,12 +8621,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mitt": { - "version": "3.0.1", - "resolved": "http://25.12.10.69:8081/repository/aliyun-npm/mitt/-/mitt-3.0.1.tgz", - "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", - "license": "MIT" - }, "node_modules/mkdirp": { "version": "0.5.6", "resolved": "http://25.12.10.69:8081/repository/aliyun-npm/mkdirp/-/mkdirp-0.5.6.tgz", @@ -9078,12 +9006,6 @@ "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", "license": "MIT" }, - "node_modules/perfect-debounce": { - "version": "1.0.0", - "resolved": "http://25.12.10.69:8081/repository/aliyun-npm/perfect-debounce/-/perfect-debounce-1.0.0.tgz", - "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", - "license": "MIT" - }, "node_modules/phin": { "version": "2.9.3", "resolved": "http://25.12.10.69:8081/repository/aliyun-npm/phin/-/phin-2.9.3.tgz", @@ -9119,12 +9041,13 @@ } }, "node_modules/pinia": { - "version": "3.0.3", - "resolved": "http://25.12.10.69:8081/repository/aliyun-npm/pinia/-/pinia-3.0.3.tgz", - "integrity": "sha512-ttXO/InUULUXkMHpTdp9Fj4hLpD/2AoJdmAbAeW2yu1iy1k+pkFekQXw5VpC0/5p51IOR/jDaDRfRWRnMMsGOA==", + "version": "2.3.1", + "resolved": "http://25.12.10.69:8081/repository/aliyun-npm/pinia/-/pinia-2.3.1.tgz", + "integrity": "sha512-khUlZSwt9xXCaTbbxFYBKDc/bWAGWJjOgvxETwkTN7KRm66EeT1ZdZj6i2ceh9sP2Pzqsbc704r2yngBrxBVug==", "license": "MIT", "dependencies": { - "@vue/devtools-api": "^7.7.2" + "@vue/devtools-api": "^6.6.3", + "vue-demi": "^0.14.10" }, "funding": { "url": "https://github.com/sponsors/posva" @@ -9139,15 +9062,6 @@ } } }, - "node_modules/pinia/node_modules/@vue/devtools-api": { - "version": "7.7.7", - "resolved": "http://25.12.10.69:8081/repository/aliyun-npm/@vue/devtools-api/-/devtools-api-7.7.7.tgz", - "integrity": "sha512-lwOnNBH2e7x1fIIbVT7yF5D+YWhqELm55/4ZKf45R9T8r9dE2AIOy8HKjfqzGsoTHFbWbr337O4E0A0QADnjBg==", - "license": "MIT", - "dependencies": { - "@vue/devtools-kit": "^7.7.7" - } - }, "node_modules/pirates": { "version": "4.0.7", "resolved": "http://25.12.10.69:8081/repository/aliyun-npm/pirates/-/pirates-4.0.7.tgz", @@ -9798,12 +9712,6 @@ "node": ">=0.10.0" } }, - "node_modules/rfdc": { - "version": "1.4.1", - "resolved": "http://25.12.10.69:8081/repository/aliyun-npm/rfdc/-/rfdc-1.4.1.tgz", - "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", - "license": "MIT" - }, "node_modules/rimraf": { "version": "3.0.2", "resolved": "http://25.12.10.69:8081/repository/aliyun-npm/rimraf/-/rimraf-3.0.2.tgz", @@ -10216,15 +10124,6 @@ "source-map": "^0.6.0" } }, - "node_modules/speakingurl": { - "version": "14.0.1", - "resolved": "http://25.12.10.69:8081/repository/aliyun-npm/speakingurl/-/speakingurl-14.0.1.tgz", - "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "http://25.12.10.69:8081/repository/aliyun-npm/sprintf-js/-/sprintf-js-1.0.3.tgz", @@ -10372,18 +10271,6 @@ "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", "license": "MIT" }, - "node_modules/superjson": { - "version": "2.2.2", - "resolved": "http://25.12.10.69:8081/repository/aliyun-npm/superjson/-/superjson-2.2.2.tgz", - "integrity": "sha512-5JRxVqC8I8NuOUjzBbvVJAKNM8qoVuH0O77h4WInc/qC2q5IreqKxYwgkga3PfA22OayK2ikceb/B26dztPl+Q==", - "license": "MIT", - "dependencies": { - "copy-anything": "^3.0.2" - }, - "engines": { - "node": ">=16" - } - }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "http://25.12.10.69:8081/repository/aliyun-npm/supports-color/-/supports-color-7.2.0.tgz", @@ -11023,6 +10910,32 @@ } } }, + "node_modules/vue-demi": { + "version": "0.14.10", + "resolved": "http://25.12.10.69:8081/repository/aliyun-npm/vue-demi/-/vue-demi-0.14.10.tgz", + "integrity": "sha512-nMZBOwuzabUO0nLgIcc6rycZEebF6eeUfaiQx9+WSk8e29IbLvPU9feI6tqW4kTo3hvoYAJkMh8n8D0fuISphg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "vue-demi-fix": "bin/vue-demi-fix.js", + "vue-demi-switch": "bin/vue-demi-switch.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vue/composition-api": "^1.0.0-rc.1", + "vue": "^3.0.0-0 || ^2.6.0" + }, + "peerDependenciesMeta": { + "@vue/composition-api": { + "optional": true + } + } + }, "node_modules/vue-i18n": { "version": "9.14.4", "resolved": "http://25.12.10.69:8081/repository/aliyun-npm/vue-i18n/-/vue-i18n-9.14.4.tgz", diff --git a/package.json b/package.json index e50b39a7..11a36ba7 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "@dcloudio/uni-mp-xhs": "3.0.0-4060620250520001", "@dcloudio/uni-quickapp-webview": "3.0.0-4060620250520001", "crypto-js": "^3.1.9-1", - "pinia": "3.0.3", + "pinia": "^2.3.1", "terser": "^5.42.0", "uuid": "^11.1.0", "vue": "^3.5.11", diff --git a/src/pages/course/components/talkingItem.vue b/src/pages/course/components/talkingItem.vue index 7726f5fe..319e81b4 100644 --- a/src/pages/course/components/talkingItem.vue +++ b/src/pages/course/components/talkingItem.vue @@ -44,11 +44,11 @@ src="@/static/images/course/play.png" style="width: 100%;height: 100%;" @click="playVoice" - v-show="props.activeVoiceId !== dataInfo.id" + v-show="!isPlaying" > getUserInfo()) - watch(() => props.activeVoiceId,(val) => { - if(val && (val !== unref(dataInfo).id)){ + watch(() => props.isPlaying,(val) => { + if(!val){ talkVoiceObj.value?.stop() } },{ diff --git a/src/pages/course/study.vue b/src/pages/course/study.vue index f38c9e9f..fe3b49de 100644 --- a/src/pages/course/study.vue +++ b/src/pages/course/study.vue @@ -49,6 +49,7 @@ :type="item.type" :dataInfo="item" :activeVoiceId="activeVoiceTalkingItemId" + :isPlaying="activeVoiceTalkingItemId === item.id" @changePlay="changePlayItemId" @nextQuestion="nextQuestionSuccess" :id="'item' + item.id" @@ -139,7 +140,7 @@ const talkingList = ref([]) const activeVoiceTalkingItemId = ref('') const answerValue = ref('') const inputRef = ref('') - +// 初始化数据 const getData = async () => { try{ const { body } = await getCourseStudyInfoApi({crsId: crsId.value}) @@ -205,7 +206,7 @@ const changePlayItemId = (id) => { activeVoiceTalkingItemId.value = id } } - +// 选择的教师对象信息 const choiceTeacherInfo = computed(()=>{ return teacherList.value.find(t=> t.teacherNo === choiceTeacher.value) })