Просмотр исходного кода

fix(录音权限): 添加麦克风权限检查防止无权限时继续录音

在开始录音后延迟2秒检查麦克风权限,如果未授权则停止录音流程并提示用户
SanHQin 4 недель назад
Родитель
Сommit
cb8dca1b57

+ 1 - 1
dist/index.html

@@ -37,7 +37,7 @@
       width: 100%;
       background: #e6eaf0;
       font-family: '黑体';
-    }</style><link href=./static/css/app.b35fa39d0fdb4cb9e3ee94a3f368fc84.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.23ea04dc469b57e2b4f8.js></script><script type=text/javascript src=./static/js/vendor.dfc8a8e3392292c7b8e5.js></script><script type=text/javascript src=./static/js/app.c7bcc5f4640aead87ecb.js></script></body></html><script>function stopSafari() {
+    }</style><link href=./static/css/app.1d4464e33d72d25bc04f3c6cf7ca6350.css rel=stylesheet></head><body><div id=app></div><script type=text/javascript src=./static/js/manifest.23ea04dc469b57e2b4f8.js></script><script type=text/javascript src=./static/js/vendor.dfc8a8e3392292c7b8e5.js></script><script type=text/javascript src=./static/js/app.1f0dbe0072bd7348519a.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/static/css/app.1d4464e33d72d25bc04f3c6cf7ca6350.css


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/static/css/app.1d4464e33d72d25bc04f3c6cf7ca6350.css.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/static/css/workPage.e8f5ed26834f63dd8ee0684619c99be4.css


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/static/css/workPage.e8f5ed26834f63dd8ee0684619c99be4.css.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/static/js/app.1f0dbe0072bd7348519a.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/static/js/app.1f0dbe0072bd7348519a.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/static/js/manifest.23ea04dc469b57e2b4f8.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/static/js/workPage-manifest.2ece51fa34be51c8610a.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/static/js/workPage.4133a6b7c8dc139d675a.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/static/js/workPage.4133a6b7c8dc139d675a.js.map


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/static/js/workPage.86f09b6ea5607414d78b.js


Разница между файлами не показана из-за своего большого размера
+ 0 - 0
dist/static/js/workPage.86f09b6ea5607414d78b.js.map


+ 1 - 1
dist/workPage.html

@@ -1,4 +1,4 @@
-<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>工作页面 - CocoFlow</title><link rel=icon href=../static/logo.ico><link href=./static/css/workPage.63dae65d2c64f60967d9c4d585b9d712.css rel=stylesheet></head><body><noscript><strong>We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script type=text/javascript src=./static/js/workPage-manifest.2ece51fa34be51c8610a.js></script><script type=text/javascript src=./static/js/workPage-vendor.7e4b52d86fde7f24e41c.js></script><script type=text/javascript src=./static/js/workPage.86f09b6ea5607414d78b.js></script></body></html><script>function stopSafari() {
+<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>工作页面 - CocoFlow</title><link rel=icon href=../static/logo.ico><link href=./static/css/workPage.e8f5ed26834f63dd8ee0684619c99be4.css rel=stylesheet></head><body><noscript><strong>We're sorry but this app doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script type=text/javascript src=./static/js/workPage-manifest.2ece51fa34be51c8610a.js></script><script type=text/javascript src=./static/js/workPage-vendor.7e4b52d86fde7f24e41c.js></script><script type=text/javascript src=./static/js/workPage.4133a6b7c8dc139d675a.js></script></body></html><script>function stopSafari() {
     //阻止safari浏览器双击放大功能
     let lastTouchEnd = 0  //更新手指弹起的时间
     document.documentElement.addEventListener("touchstart", function (event) {

+ 13 - 1
src/components/pages/workPage/components/questionsAndAnswers.vue

@@ -155,7 +155,19 @@ export default {
       iframe.contentWindow.ConversationTranscriber();
       this.recordObj.status = "1"
       this.recordObj.startTime = new Date().getTime();
-
+      setTimeout(()=>{
+        navigator.permissions && navigator.permissions.query({ name: 'microphone' }).then(permissionStatus => {
+        if (permissionStatus.state !== "granted") {
+          // 没有开启录音权限,直接确定停止录音
+          this.recordObj.status = "0";
+          this.recordObj.loading = false;
+          iframe.contentWindow.onSessionStopped = null;
+          iframe.contentWindow.window.onRecognizedResult = null;
+          this.$message.success(this.lang.ssNoPermStop);
+          return;
+        }
+      })
+      },2000)
     },
     stopRecord() {
       console.log("测试测试")

Некоторые файлы не были показаны из-за большого количества измененных файлов