From bb1cfdbf33ed502f37a763785da8a1a11ef7409a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=94=B0=E5=B2=A9?= Date: Thu, 11 Dec 2025 10:36:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E5=8F=91=E8=A7=86=E9=A2=91=E9=80=9A?= =?UTF-8?q?=E8=AF=9D=EF=BC=8C=E4=BF=AE=E6=94=B9=E4=B8=A4=E4=B8=AAbug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.development | 6 +- .hbuilderx/launch.json | 2 +- certificate/ios/jiaixuedev.mobileprovision | Bin 12379 -> 12456 bytes src/manifest.json | 12 +- .../preview/components/previewAiSparring.vue | 1 + .../sparring/components/talk-camera.nvue | 102 +++ src/pages/sparring/js/useWebSocket.js | 31 +- src/pages/sparring/talk.vue | 200 +++-- src/pages/sparring/tip.vue | 55 +- src/pages/test/CameraPreview.nvue | 103 +++ src/pages/test/CameraPreview1.vue | 102 +++ src/pages/test/testChat.vue | 39 +- src/pages/test/testChat2.nvue | 0 src/pages/test/testChat2vue | 762 ++++++++++++++++++ src/pages/test/testChat3.vue | 20 + 15 files changed, 1319 insertions(+), 116 deletions(-) create mode 100644 src/pages/sparring/components/talk-camera.nvue create mode 100644 src/pages/test/CameraPreview.nvue create mode 100644 src/pages/test/CameraPreview1.vue delete mode 100644 src/pages/test/testChat2.nvue create mode 100644 src/pages/test/testChat2vue create mode 100644 src/pages/test/testChat3.vue diff --git a/.env.development b/.env.development index f296d9bd..59bec98a 100644 --- a/.env.development +++ b/.env.development @@ -6,7 +6,7 @@ ENV = 'development' # VITE_APP_BASE_API_Url = 'https://aits.jlbank.com.cn:7001' -VITE_APP_BASE_API_Url = 'https://aitstest.jlbank.com.cn:7002' +VITE_APP_BASE_API_Url = 'https://aitstest.jlbank.com.cn:7001' # VITE_APP_BASE_API_Url = 'https://aitstest.jlbank.com.cn:7002' @@ -17,7 +17,7 @@ VITE_APP_BASE_API_Url = 'https://aitstest.jlbank.com.cn:7002' #VITE_APP_BASE_API_Url = 'http://25.18.122.65:7001' # sit -# VITE_APP_BASE_API_Url = 'http://25.18.122.91:9786' +#VITE_APP_BASE_API_Url = 'http://25.18.122.91:9786' # UAT @@ -33,7 +33,7 @@ VITE_APP_BASE_API_Url = 'https://aitstest.jlbank.com.cn:7002' # h5专用地址x2 # VITE_APP_BASE_H5_API_Url_TRAAPP = 'http://25.64.32.150:9601' # dev -# VITE_APP_BASE_H5_API_Url = 'http://25.18.122.65:7001' +VITE_APP_BASE_H5_API_Url = 'http://25.18.122.65:7001' # sit #VITE_APP_BASE_H5_API_Url = 'http://25.18.122.91:9786' diff --git a/.hbuilderx/launch.json b/.hbuilderx/launch.json index 15f11888..e4668703 100644 --- a/.hbuilderx/launch.json +++ b/.hbuilderx/launch.json @@ -2,7 +2,7 @@ "version" : "1.0", "configurations" : [ { - "playground" : "custom", + "playground" : "standard", "type" : "uni-app:app-android" }, { diff --git a/certificate/ios/jiaixuedev.mobileprovision b/certificate/ios/jiaixuedev.mobileprovision index f77c4ce301a6f2cf1ef5e03a418627102e22fadb..1ef02c87437533aed1f1e6a2281a8782467bc281 100644 GIT binary patch delta 4125 zcmbVPZLH*0d1jZ*k_BbcBoIVO!iEqf^lCG<$DSEO5;*?0XKar>V|#3<8h^~#&Gc1j_%K==r1Awq=Eqy>QhwW<<{G=ON*R;W_jNT_N{N)@5D(Dux| zo6T-Ezj`IhcaD$G@%ui{`@GNjySx6#zY{xyeeU>)UpXtC{n-^q-f;BcGuTJa(C-{Q zas+=9cH;PDdnaFi^t#Jlhn+d~*elbHJbdQVXO5jY^~uNX>>W9Y6Q^;kixKa^tM4Id zkALpSH!t60v8y!4o}4U04HzLimSrt2S(fWHSYYrgt_xaBoX1HPGoGRHAm(8lYaJ%e z_LFQV(hy@9D8^`vV`Q0Ymm&+w8RP(z?807$M7|7SnE_p3aA0Ej4xZa0t@=GL2eG_i zf-dNCz|>vzfCKY=-w`H#$_yYL~}Uj$dhA`PFmQDAL`cxXKx%QL2PmB4}T89Y#>oghOx> zYKA@l&DmVA8Fqf5G$ZvcSZUe8W}GTZ2>X=~pzK8ADi0jQIZ1sP;XdP5-h_D|ZnAWBZ2n$y_-P9;s!?DT{+A`=+2`b^4*P*b0 znCHPhi^K;ajZsjhWM=K7LXUYC#PNJJSj*VVZslFjWa1dKBr7E|Qq36@x6fU9 z@AlzqFS~h#_=~9}SRraqD(CsA@=FB5MPu7{Uj5;XGLX+fqz{;E( z1HRC+W!qxb6P@VFqb9?z%7|BbtCg?mVFWEo zEV(^#w#IOzMds> zr?d^i{%n1MLIoO!W}DE-D8Et;#e+fLjqFhpRF^*q*%V`dfHcWZ9Vr3`<}T>)OEsA<-&s%C5Rd)OTtzY?2lOlPLW`d z1Zu4{orVQm9LkclI8YSgP*G6VT1KLlc%`~O7K*!ptr56J2vZhJsReRVxaXZ|uT^67-C zL_N*m9A~|-=4QMa&k3@HGQ8xKfzJ9Qu~?B+xLUDMZL%S2O2wa7LCPfRnp-so6)Gv4 zi)NT)?VeY+{B8#fX<}J`VK$I#ebfu*dP{6hg1uEd3OiZFR@z)+J(ZDMsnU+H(^urG z7dKOzmj*`Uxi<3zpW2k?v5xJ3n0hnfwclLwa*$<67AbzO|W7tjkeU*)O zIG}XF#Kt4u8X^u9G~pk*j!962@vgz5mU2)Kz7s8chZ=2f`=!cuam_n7ZO3w8oxug8 zB1V+xvi6`oCMPAaYG*v-hhG09xYqLL%eQhJUNdp%@Q(f>PV8%W4ldj-9gMGp@O?ZCr@Yi5EP zcpetWt+EUjteKakXopG`IU0uMBtc=Is+8kHA7{lOLTG1sLUgs#i(5g>Zs}aWi9=?R zcc#ODcPpzZLrKC>32wnv*KGPg1r3qy?28>asJaBQ@bI7K`)pZt_K5@)21Cm9h#P`PX%Bk!p}S`Uc^cakomTKP z!EYGTVIj61JtZrnE;<@SDykK!jaoXRO62x$uKxH;~ zF+gU1Y@zjEIq_t?+L3vgQzE@qt59vX zHkXZA#M*RWtXGL%Gpl0{uZVWBk^7z=27X5sCAN0hGntSL#?{4^tdjp&`@J%W1_+tN1!%ote5Edy?zs{1{oR zo)DBxvs@5l8nEp&zT=MDE0I6_5{nIZ!(zxt_&o|$`{LZ64`1Z43yz9HO@80rfPmA40K2`ew{zU65 zCyCqN>-};)zVFuG|Hw<X>fH;?@G z$KLS5jbHeKvyC5F_q^@zf4Khj`o9`)J@(x1{o>l6djWlwc;mai#=QAMe{qfZ(DD1e z|LpsJ*1Y#2`RV_7-Pb?$ko@lG#e4px@zeu9|Iyv^4@bA%{ojB1%>UeV(=Uwd@^9bs z!uT7LM`vdrO|N+VC-+}}X7r5*Pkral|M}A|z5AK{yYIjK-=BZ#)&~~f>izKO5B&cF Dd-;21 delta 4132 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 if(res.body.inRange){ + // todo common.navigateTo('/pages/sparring/detail?traId=' + item.traId + '&isPreview=1') }else{ common.show(res.body.message) diff --git a/src/pages/sparring/components/talk-camera.nvue b/src/pages/sparring/components/talk-camera.nvue new file mode 100644 index 00000000..5613d303 --- /dev/null +++ b/src/pages/sparring/components/talk-camera.nvue @@ -0,0 +1,102 @@ + + + + + diff --git a/src/pages/sparring/js/useWebSocket.js b/src/pages/sparring/js/useWebSocket.js index 723c88f2..ebfbae19 100644 --- a/src/pages/sparring/js/useWebSocket.js +++ b/src/pages/sparring/js/useWebSocket.js @@ -36,7 +36,8 @@ export default function useWebSocket(aaas = null, options = {}) { onStartRecord, playPcmCallback, setPlayNumber = () => {}, //设置当前播放的音频的id,用于播放完成回调 - onError = () => {} + onError = () => {}, + onClose = () => {}, }) => { const wsUrl = _baseUrl + url + '?summary=' + getToken() const finalAuthParams = { @@ -53,10 +54,20 @@ export default function useWebSocket(aaas = null, options = {}) { } }); ws.value.onOpen((res) => { + console.log('onOpen', finalAuthParams); ws.value.send({ data: ProtocolCodec.pack(MessageType.IDENTITY, finalAuthParams) }); }); + ws.value.onError((err) => onError(err)) + + + + ws.value.onClose((err) => { + console.log('onClose', err); + onClose(err) + }); + ws.value.onMessage((res) => { const { msgType, @@ -76,19 +87,27 @@ export default function useWebSocket(aaas = null, options = {}) { playPcmCallback(numArray) break; case MessageType.ERROR: - switch (body.errCode) { case 1: // ASR或TTS初始化出错 + console.log('后端返回的错误', body.errMsg); + case 4: + console.log('通话接通失败', body.errMsg); // 通话接通失败,请稍后再试! + ws.value.close({ + code: 4001, + reason: body.errMsg + }) break; default: // 其他错误码的默认处理(如果需要) + // ws.value.close({ + // code: 1001, + // reason: body.errMsg + // }) break; } - console.log('错误', body); - // this.handleErrorMessage(body); break; case MessageType.CONTROL_CMD: // 控制消息 @@ -96,11 +115,8 @@ export default function useWebSocket(aaas = null, options = {}) { if (body.type === 1) { // 开始播放,记录当前播放的语音id console.log('开始播放,记录当前播放的语音id', body.lock); setPlayNumber(body.lock) - } break; - - default: console.log('其他消息', msgType, body); break; @@ -112,6 +128,7 @@ export default function useWebSocket(aaas = null, options = {}) { data }); } + const close = () => { ws.value.close({ code: 1000, diff --git a/src/pages/sparring/talk.vue b/src/pages/sparring/talk.vue index 3d0d10df..a40760f9 100644 --- a/src/pages/sparring/talk.vue +++ b/src/pages/sparring/talk.vue @@ -1,6 +1,6 @@ + + diff --git a/src/pages/test/CameraPreview1.vue b/src/pages/test/CameraPreview1.vue new file mode 100644 index 00000000..1fae4ee8 --- /dev/null +++ b/src/pages/test/CameraPreview1.vue @@ -0,0 +1,102 @@ + + + + + diff --git a/src/pages/test/testChat.vue b/src/pages/test/testChat.vue index 5ff66349..336c20c6 100644 --- a/src/pages/test/testChat.vue +++ b/src/pages/test/testChat.vue @@ -1,13 +1,38 @@ - + \ No newline at end of file + diff --git a/src/pages/test/testChat2.nvue b/src/pages/test/testChat2.nvue deleted file mode 100644 index e69de29b..00000000 diff --git a/src/pages/test/testChat2vue b/src/pages/test/testChat2vue new file mode 100644 index 00000000..6543709f --- /dev/null +++ b/src/pages/test/testChat2vue @@ -0,0 +1,762 @@ + + + + + \ No newline at end of file diff --git a/src/pages/test/testChat3.vue b/src/pages/test/testChat3.vue new file mode 100644 index 00000000..e69a2c28 --- /dev/null +++ b/src/pages/test/testChat3.vue @@ -0,0 +1,20 @@ + + +