This commit is contained in:
田岩
2025-12-11 14:07:23 +08:00
parent df9b433216
commit 2dd2e29304
37 changed files with 430 additions and 118 deletions
+3 -3
View File
@@ -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:7001'
VITE_APP_BASE_API_Url = 'https://aitstest.jlbank.com.cn:7002'
# VITE_APP_BASE_API_Url = 'https://aitstest.jlbank.com.cn:7002'
@@ -33,10 +33,10 @@ VITE_APP_BASE_API_Url = 'https://aitstest.jlbank.com.cn:7001'
# 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'
# VITE_APP_BASE_H5_API_Url = 'http://25.18.122.91:9786'
# VITE_APP_BASE_H5_API_Url = 'http://25.18.122.78:9786'
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -5,12 +5,6 @@
<action android:name="android.media.action.IMAGE_CAPTURE" />
</intent>
</queries>
<!-- <uses-permission android:name="android.permission.CAMERA"/>-->
<!-- <uses-permission android:name="android.permission.RECORD_AUDIO"/>-->
<!-- <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>-->
<!-- <uses-permission android:name="android.permission.INTERNET"/>-->
<!-- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>-->
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.VIBRATE"/>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -17,7 +17,9 @@
"url": ""
},
"permissions": {
"Camera": {},
"Camera": {
"description": "用于访问摄像头进行实时预览"
},
"Barcode": {},
"Record": {},
"VideoPlayer": {},
@@ -92,7 +94,17 @@
]
},
"apple": {
"dSYMs": false
"dSYMs": false,
"deploymentTarget": "11.0",
"privacyDescription": {
"NSCameraUsageDescription": "此应用需要访问您的摄像头来进行视频录制和拍照功能",
"NSMicrophoneUsageDescription": "此应用需要访问您的麦克风来录制音频"
},
"capabilities": {
"entitlements": {
"com.apple.developer.avfoundation.multitasking-camera-access": true
}
}
},
"plugins": {
"audio": {
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
.uni-popup[data-v-4d2f82f0]{position:fixed;z-index:99}.uni-popup.top[data-v-4d2f82f0],.uni-popup.left[data-v-4d2f82f0],.uni-popup.right[data-v-4d2f82f0]{top:0}.uni-popup .uni-popup__wrapper[data-v-4d2f82f0]{display:block;position:relative}.uni-popup .uni-popup__wrapper.left[data-v-4d2f82f0],.uni-popup .uni-popup__wrapper.right[data-v-4d2f82f0]{padding-top:0;flex:1}.fixforpc-z-index[data-v-4d2f82f0]{z-index:999}.fixforpc-top[data-v-4d2f82f0]{top:0}.overlay-box[data-v-66e18456]{position:fixed;left:0;top:0;width:100vw;height:100vh;z-index:999;background-color:rgba(0,0,0,.65)}.overlay-box .detail-img[data-v-66e18456]{position:absolute;left:50%;top:50%;width:100vw;max-height:100%;transform:translate(-50%,-50%)}.nav-bar[data-v-6f106210]{width:100%;height:var(--status-bar-height);position:fixed}.nav-bar-seat[data-v-6f106210]{width:100%;height:var(--status-bar-height)}.nav-bar-div[data-v-6f106210]{z-index:1900;width:100%;position:relative}.switch-div[data-v-18101377]{display:flex;justify-content:flex-end;align-items:center;margin-right:.625rem;margin-top:.3125rem;width:100%}.switch-div .switch-text[data-v-18101377]{font-weight:400;font-size:.875rem;color:#fff}.switch-div .switch[data-v-18101377]{transform:scale(.7) rotate(180deg)}.switch-div .switch[data-v-18101377] .uni-switch-input.uni-switch-input-checked{border-color:#9eacbf!important;background-color:#9eacbf!important}.switch-div .switch[data-v-18101377] .uni-switch-input:after{top:5px;left:5px;width:20px;height:20px}.switch-div .switch[data-v-18101377] .uni-switch-input:before{background-color:#62a1ff!important;border-color:#62a1ff!important}.switch-div .switch[data-v-18101377] .uni-switch-input:not(.uni-switch-input-checked){background-color:#62a1ff!important;border-color:#62a1ff!important}.fl1-div-1[data-v-18101377]{min-height:3.75rem;max-height:7.5rem}.show-box[data-v-18101377]{width:100vw;height:100vh;background:linear-gradient(120deg,rgba(51,51,51,.8),rgba(102,102,102,.8),rgba(51,51,51,.8));backdrop-filter:blur(10px);position:fixed;top:0;left:0;z-index:999;display:flex;flex-direction:column;align-items:center}.show-box-avatar[data-v-18101377]{width:100vw;height:100vh;position:fixed;top:0;left:0;z-index:900}.role-info[data-v-18101377]{position:relative;width:100vw;padding-top:6.5625rem;text-align:center;color:#fff;line-height:1.8125rem;font-size:1.1875rem}.role-info .role-avatar[data-v-18101377]{width:5.78125rem;height:5.78125rem;border-radius:50%;overflow:hidden;position:absolute;left:50%;transform:translate(-50%);top:0}.role-info .role-name[data-v-18101377]{margin-bottom:.8125rem}.role-info .title-tip[data-v-18101377]{padding-right:.625rem;position:relative}.role-info .title-tip[data-v-18101377]:after{content:"";position:absolute;animation:loading-18101377 2.5s infinite}@keyframes loading-18101377{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}.body-scene[data-v-18101377]{overflow:auto;width:calc(100% - 2.875rem);padding:.8125rem;color:rgba(255,255,255,.8);border:.125rem dashed rgba(255,255,255,.3);border-radius:.5rem;opacity:0;transition:opacity .5s ease}.body-scene.show[data-v-18101377]{opacity:1}.close-btn[data-v-18101377]{width:3.6875rem;height:3.6875rem;background-image:url(../../static/images/sparring/close-talk.png);background-repeat:no-repeat;background-position:center;background-size:cover;border-radius:50%;margin-top:1.4375rem;margin-bottom:3.5rem;flex-shrink:0}
.uni-popup[data-v-4d2f82f0]{position:fixed;z-index:99}.uni-popup.top[data-v-4d2f82f0],.uni-popup.left[data-v-4d2f82f0],.uni-popup.right[data-v-4d2f82f0]{top:0}.uni-popup .uni-popup__wrapper[data-v-4d2f82f0]{display:block;position:relative}.uni-popup .uni-popup__wrapper.left[data-v-4d2f82f0],.uni-popup .uni-popup__wrapper.right[data-v-4d2f82f0]{padding-top:0;flex:1}.fixforpc-z-index[data-v-4d2f82f0]{z-index:999}.fixforpc-top[data-v-4d2f82f0]{top:0}.overlay-box[data-v-66e18456]{position:fixed;left:0;top:0;width:100vw;height:100vh;z-index:999;background-color:rgba(0,0,0,.65)}.overlay-box .detail-img[data-v-66e18456]{position:absolute;left:50%;top:50%;width:100vw;max-height:100%;transform:translate(-50%,-50%)}.nav-bar[data-v-6f106210]{width:100%;height:var(--status-bar-height);position:fixed}.nav-bar-seat[data-v-6f106210]{width:100%;height:var(--status-bar-height)}.nav-bar-div[data-v-6f106210]{z-index:1900;width:100%;position:relative}.live-container[data-v-58b77a4d]{position:absolute;right:0;top:4.6875rem;overflow:hidden;border-radius:.625rem;width:8.4375rem;height:15rem}.switch-div[data-v-68fe24c9]{display:flex;justify-content:flex-end;align-items:center;margin-right:.625rem;margin-top:.3125rem;width:100%}.switch-div .switch-text[data-v-68fe24c9]{font-weight:400;font-size:.875rem;color:#fff}.switch-div .switch[data-v-68fe24c9]{transform:scale(.7) rotate(180deg)}.switch-div .switch[data-v-68fe24c9] .uni-switch-input.uni-switch-input-checked{border-color:#9eacbf!important;background-color:#9eacbf!important}.switch-div .switch[data-v-68fe24c9] .uni-switch-input:after{top:5px;left:5px;width:20px;height:20px}.switch-div .switch[data-v-68fe24c9] .uni-switch-input:before{background-color:#62a1ff!important;border-color:#62a1ff!important}.switch-div .switch[data-v-68fe24c9] .uni-switch-input:not(.uni-switch-input-checked){background-color:#62a1ff!important;border-color:#62a1ff!important}.fl1-div-1[data-v-68fe24c9]{min-height:3.75rem;max-height:7.5rem}.show-box[data-v-68fe24c9]{width:100vw;height:100vh;background:linear-gradient(120deg,rgba(51,51,51,.8),rgba(102,102,102,.8),rgba(51,51,51,.8));backdrop-filter:blur(10px);position:fixed;top:0;left:0;z-index:999;display:flex;flex-direction:column;align-items:center}.show-box-avatar[data-v-68fe24c9]{width:100vw;height:100vh;position:fixed;top:0;left:0;z-index:900}.role-info[data-v-68fe24c9]{position:relative;width:100vw;padding-top:6.5625rem;text-align:center;color:#fff;line-height:1.8125rem;font-size:1.1875rem}.role-info .role-avatar[data-v-68fe24c9]{width:5.78125rem;height:5.78125rem;border-radius:50%;overflow:hidden;position:absolute;left:50%;transform:translate(-50%);top:0}.role-info .role-name[data-v-68fe24c9]{margin-bottom:.8125rem}.role-info .title-tip[data-v-68fe24c9]{padding-right:.625rem;position:relative}.role-info .title-tip[data-v-68fe24c9]:after{content:"";position:absolute;animation:loading-68fe24c9 2.5s infinite}@keyframes loading-68fe24c9{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}.body-scene[data-v-68fe24c9]{overflow:auto;width:calc(100% - 2.875rem);padding:.8125rem;color:rgba(255,255,255,.8);border:.125rem dashed rgba(255,255,255,.3);border-radius:.5rem;opacity:0;transition:opacity .5s ease}.body-scene.show[data-v-68fe24c9]{opacity:1}.close-btn[data-v-68fe24c9]{width:3.6875rem;height:3.6875rem;background-image:url(../../static/images/sparring/close-talk.png);background-repeat:no-repeat;background-position:center;background-size:cover;border-radius:50%;margin-top:1.4375rem;margin-bottom:3.5rem;flex-shrink:0}
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
.container[data-v-cb49aff8]{padding:.625rem}uni-button[data-v-cb49aff8]{margin:.3125rem 0;padding:.46875rem .9375rem;background:#007aff;color:#fff;border:none;border-radius:.25rem}uni-button[data-v-cb49aff8]:disabled{background:#ccc}.tip[data-v-cb49aff8]{margin:.46875rem 0;font-size:.875rem;color:#333}
.live-container[data-v-7ff9fa80]{position:absolute;right:0;top:4.6875rem;overflow:hidden;border-radius:.625rem;width:8.4375rem;height:15rem}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,300 @@
! function() {
"use strict";
function t(t, e) {
for (var r = 0; r < e.length; r++) {
var n = e[r];
n.enumerable = n.enumerable || !1, n.configurable = !0, "value" in n && (n.writable = !0), Object
.defineProperty(t, (i = n.key, o = void 0, "symbol" == typeof(o = function(t, e) {
if ("object" != typeof t || null === t) return t;
var r = t[Symbol.toPrimitive];
if (void 0 !== r) {
var n = r.call(t, e || "default");
if ("object" != typeof n) return n;
throw new TypeError("@@toPrimitive must return a primitive value.")
}
return ("string" === e ? String : Number)(t)
}(i, "string")) ? o : String(o)), n)
}
var i, o
}
function e(t) {
return e = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function(t) {
return t.__proto__ || Object.getPrototypeOf(t)
}, e(t)
}
function r(t, e) {
return r = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function(t, e) {
return t.__proto__ = e, t
}, r(t, e)
}
function n() {
if ("undefined" == typeof Reflect || !Reflect.construct) return !1;
if (Reflect.construct.sham) return !1;
if ("function" == typeof Proxy) return !0;
try {
return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function() {}))), !0
} catch (t) {
return !1
}
}
function i(t, e, o) {
return i = n() ? Reflect.construct.bind() : function(t, e, n) {
var i = [null];
i.push.apply(i, e);
var o = new(Function.bind.apply(t, i));
return n && r(o, n.prototype), o
}, i.apply(null, arguments)
}
function o(t) {
var n = "function" == typeof Map ? new Map : void 0;
return o = function(t) {
if (null === t || (o = t, -1 === Function.toString.call(o).indexOf("[native code]"))) return t;
var o;
if ("function" != typeof t) throw new TypeError("Super expression must either be null or a function");
if (void 0 !== n) {
if (n.has(t)) return n.get(t);
n.set(t, a)
}
function a() {
return i(t, arguments, e(this).constructor)
}
return a.prototype = Object.create(t.prototype, {
constructor: {
value: a,
enumerable: !1,
writable: !0,
configurable: !0
}
}), r(a, t)
}, o(t)
}
function a(t) {
if (void 0 === t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
return t
}
function s(t) {
var r = n();
return function() {
var n, i = e(t);
if (r) {
var o = e(this).constructor;
n = Reflect.construct(i, arguments, o)
} else n = i.apply(this, arguments);
return function(t, e) {
if (e && ("object" == typeof e || "function" == typeof e)) return e;
if (void 0 !== e) throw new TypeError(
"Derived constructors may only return object or undefined");
return a(t)
}(this, n)
}
}
function f(t) {
return function(t) {
if (Array.isArray(t)) return u(t)
}(t) || function(t) {
if ("undefined" != typeof Symbol && null != t[Symbol.iterator] || null != t["@@iterator"]) return Array
.from(t)
}(t) || function(t, e) {
if (!t) return;
if ("string" == typeof t) return u(t, e);
var r = Object.prototype.toString.call(t).slice(8, -1);
"Object" === r && t.constructor && (r = t.constructor.name);
if ("Map" === r || "Set" === r) return Array.from(t);
if ("Arguments" === r || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)) return u(t, e)
}(t) || function() {
throw new TypeError(
"Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."
)
}()
}
function u(t, e) {
(null == e || e > t.length) && (e = t.length);
for (var r = 0, n = new Array(e); r < e; r++) n[r] = t[r];
return n
}
function l(t, e, r, n) {
this.fromSampleRate = t, this.toSampleRate = e, this.channels = 0 | r, this.noReturn = !!n, this.initialize()
}
l.prototype.initialize = function() {
if (!(this.fromSampleRate > 0 && this.toSampleRate > 0 && this.channels > 0)) throw new Error(
"Invalid settings specified for the resampler.");
this.fromSampleRate == this.toSampleRate ? (this.resampler = this.bypassResampler, this.ratioWeight = 1) : (
this.fromSampleRate < this.toSampleRate ? (this.lastWeight = 1, this.resampler = this
.compileLinearInterpolation) : (this.tailExists = !1, this.lastWeight = 0, this.resampler = this
.compileMultiTap), this.ratioWeight = this.fromSampleRate / this.toSampleRate)
}, l.prototype.compileLinearInterpolation = function(t) {
var e = t.length;
this.initializeBuffers(e);
var r, n, i = this.outputBufferSize,
o = this.ratioWeight,
a = this.lastWeight,
s = 0,
f = 0,
u = 0,
l = this.outputBuffer;
if (e % this.channels == 0) {
if (e > 0) {
for (; a < 1; a += o)
for (s = 1 - (f = a % 1), r = 0; r < this.channels; ++r) l[u++] = this.lastOutput[r] * s + t[
r] * f;
for (a--, e -= this.channels, n = Math.floor(a) * this.channels; u < i && n < e;) {
for (s = 1 - (f = a % 1), r = 0; r < this.channels; ++r) l[u++] = t[n + r] * s + t[n + this
.channels + r] * f;
a += o, n = Math.floor(a) * this.channels
}
for (r = 0; r < this.channels; ++r) this.lastOutput[r] = t[n++];
return this.lastWeight = a % 1, this.bufferSlice(u)
}
return this.noReturn ? 0 : []
}
throw new Error("Buffer was of incorrect sample length.")
}, l.prototype.compileMultiTap = function(t) {
var e = [],
r = t.length;
this.initializeBuffers(r);
var n = this.outputBufferSize;
if (r % this.channels == 0) {
if (r > 0) {
for (var i = this.ratioWeight, o = 0, a = 0; a < this.channels; ++a) e[a] = 0;
var s = 0,
f = 0,
u = !this.tailExists;
this.tailExists = !1;
var l = this.outputBuffer,
h = 0,
c = 0;
do {
if (u)
for (o = i, a = 0; a < this.channels; ++a) e[a] = 0;
else {
for (o = this.lastWeight, a = 0; a < this.channels; ++a) e[a] += this.lastOutput[a];
u = !0
}
for (; o > 0 && s < r;) {
if (!(o >= (f = 1 + s - c))) {
for (a = 0; a < this.channels; ++a) e[a] += t[s + a] * o;
c += o, o = 0;
break
}
for (a = 0; a < this.channels; ++a) e[a] += t[s++] * f;
c = s, o -= f
}
if (0 != o) {
for (this.lastWeight = o, a = 0; a < this.channels; ++a) this.lastOutput[a] = e[a];
this.tailExists = !0;
break
}
for (a = 0; a < this.channels; ++a) l[h++] = e[a] / i
} while (s < r && h < n);
return this.bufferSlice(h)
}
return this.noReturn ? 0 : []
}
throw new Error("Buffer was of incorrect sample length.")
}, l.prototype.bypassResampler = function(t) {
return this.noReturn ? (this.outputBuffer = t, t.length) : t
}, l.prototype.bufferSlice = function(t) {
if (this.noReturn) return t;
try {
return this.outputBuffer.subarray(0, t)
} catch (e) {
try {
return this.outputBuffer.length = t, this.outputBuffer
} catch (e) {
return this.outputBuffer.slice(0, t)
}
}
}, l.prototype.initializeBuffers = function(t) {
this.outputBufferSize = Math.ceil(t * this.toSampleRate / this.fromSampleRate);
try {
this.outputBuffer = new Float32Array(this.outputBufferSize), this.lastOutput = new Float32Array(this
.channels)
} catch (t) {
this.outputBuffer = [], this.lastOutput = []
}
};
var h = function(e) {
! function(t, e) {
if ("function" != typeof e && null !== e) throw new TypeError(
"Super expression must either be null or a function");
t.prototype = Object.create(e && e.prototype, {
constructor: {
value: t,
writable: !0,
configurable: !0
}
}), Object.defineProperty(t, "prototype", {
writable: !1
}), e && r(t, e)
}(h, e);
var n, i, o, u = s(h);
function h() {
var t;
! function(t, e) {
if (!(t instanceof e)) throw new TypeError("Cannot call a class as a function")
}(this, h);
var e = a(t = u.call(this));
return t.port.onmessage = function(t) {
var r = t.data,
n = r.type,
i = r.data;
if (console.log("type", n), "init" === n) {
var o = i.frameSize,
a = i.toSampleRate,
s = i.arrayBufferType,
f = i.fromSampleRate;
return e.frameSize = o * Math.floor(f / a), e.resampler = new l(f, a, 1), e
.frameBuffer = [], void(e.arrayBufferType = s),e.gain = i.gain || 1.0;
}
"stop" === n && (e.port.postMessage({
frameBuffer: e.transData(e.frameBuffer),
isLastFrame: !0
}), e.frameBuffer = [])
}, t
}
return n = h, (i = [{
key: "process",
value: function(t) {
var e, r = t[0][0];
return this.frameSize ? ((e = this.frameBuffer).push.apply(e, f(r)), this
.frameBuffer.length >= this.frameSize && (this.port.postMessage({
frameBuffer: this.transData(this.frameBuffer),
isLastFrame: !1
}), this.frameBuffer = []), !0) : (r && this.port.postMessage({
frameBuffer: this.transData(r),
isLastFrame: !1
}), !0)
}
}, {
key: "transData",
value: function(t) {
const gain = this.gain; // 增益系数,可根据实际需求修改
t = t.map(sample => sample * gain); // 对每个样本应用增益
return "short16" === this.arrayBufferType && (t = function(t) {
for (var e = new ArrayBuffer(2 * t.length), r = new DataView(e), n = 0,
i = 0; i < t.length; i += 1, n += 2) {
var o = Math.max(-1, Math.min(1, t[i]));
r.setInt16(n, o < 0 ? 32768 * o : 32767 * o, !0)
}
return r.buffer
}(t = this.resampler.resampler(t))), t
}
}]) && t(n.prototype, i), o && t(n, o), Object.defineProperty(n, "prototype", {
writable: !1
}), h
}(o(AudioWorkletProcessor));
registerProcessor("processor-worklet", h)
}();
+22 -17
View File
@@ -1,4 +1,4 @@
<template >
<template>
<!-- 热门课程分模块标题 -->
<view class="module_title_div" v-if="class_list.length !== 0">
<view class="icon icon_1">
@@ -13,6 +13,10 @@
<view class="item_div">
<uv-skeletons :loading="!item.crsNum" avatar avatar-shape="square" :title="false" :skeleton="skeleton">
<view class="item" @click="goto_course_detail(item.crsId)">
<view class="title ellipsis-text">
{{ item.crsName }}
</view>
<view class="content">
<view class="left">
<image-preview
class="img-box img"
@@ -23,16 +27,14 @@
></image-preview>
</view>
<view class="right">
<view class="title ellipsis-text">
{{ item.crsName }}
</view>
<view class="note ellipsis-text">更新{{ (item.mtTime || '').substr(0, 10) }}</view>
<view class="button_div">
<view class="note ellipsis-text">已学{{ item.accmStdyCnt }}人次</view>
<view class="button_div">
<view class="button">去学习</view>
</view>
</view>
</view>
</view>
</uv-skeletons>
</view>
</view>
@@ -115,8 +117,7 @@
}
];
const get_data = () => {
class_list.value = [...init_class_data]
class_list.value = [...init_class_data];
fetchFunction().then((res) => {
if (props.name === 'hot_class') {
} else {
@@ -150,18 +151,26 @@
background-color: #ffffff;
border-radius: 22rpx;
box-shadow: #eaeaea 0 0 6rpx;
padding: 32rpx 20rpx 36rpx 34rpx;
padding: 20rpx 20rpx 36rpx 34rpx;
}
.item_div {
// width: 562rpx;
width: calc(562rpx + 56rpx);
// display: block;
}
.item {
display: flex;
width: calc(562rpx + 56rpx);
flex-direction: column;
.title {
font-weight: 500;
font-size: 30rpx;
color: #333333;
margin-bottom: 10rpx;
width: 100%;
}
.content {
display: flex;
.left {
border-radius: 16rpx;
overflow: hidden;
@@ -180,12 +189,7 @@
display: flex;
flex-direction: column;
justify-content: space-between;
.title {
font-weight: 500;
font-size: 30rpx;
color: #333333;
line-height: 40rpx;
}
.note {
font-family: PingFangSC, PingFang SC;
font-weight: 400;
@@ -198,7 +202,7 @@
.button_div {
display: flex;
justify-content: space-between;
justify-content: flex-end;
.button {
text-align: center;
line-height: 62rpx;
@@ -216,6 +220,7 @@
}
}
}
}
.module_title_div {
display: flex;
@@ -61,9 +61,9 @@
});
if (getPhoneEnvBool('AND')) {
console.log('切换前置');
setTimeout(() =>{
switchCamera()
}, 1000)
// setTimeout(() =>{
// switchCamera()
// }, 1000)
}
});
+1 -1
View File
@@ -673,7 +673,7 @@
font-size: 66rpx;
color: #06f;
font-family: Arial, Helvetica, sans-serif;
marign-bottom: 20rpx;
// marign-bottom: 20rpx;
}
.static-desc {
+11 -6
View File
@@ -9,7 +9,7 @@
</view>
<view class="fl1-div-1"></view>
<view class="role-info">
<image-preview :src="dataInfo.ossAddr" class="role-avatar"></image-preview>
<image-preview :src="dataInfo.ossAddr" class="role-avatar" @click="test()"></image-preview>
<view class="role-name">{{ dataInfo.chaName }}</view>
<view class="title-time" v-if="isRecording">{{ formattedTime }}</view>
<view class="title-tip" v-if="!isRecording">正在接通中</view>
@@ -61,12 +61,16 @@
//
const closeTalking = async () => {
// todo
common.show('', '挂断电话将结束训练,是否确认?').then((res) => {
if (res) {
destroy(); //
}
});
};
const test = () => {
isVideo.value && talkCameraRef.value.switchCamera();
}
//
const destroy = (type = 0) => {
if (type <= 0) {
@@ -163,16 +167,14 @@
};
const onError = (error) => {
// websocket
console.log('websocket错误处理', error);
common.show('', '系统网络异常,通话结束!', false).then((res) => {
console.log('websocket错误处理', error.code);
common.show('', '系统网络异常,通话结束!', false).then((res) => {
if (res) {
destroy();
}
});
};
const onClose = (error) => {
//
// websocket
console.log('websocketonClose关闭', error);
if (error?.code === 1002) {
@@ -186,7 +188,10 @@
}
} else if (error?.code === 1001) {
// 线
onError({});
onError({code:1001}); //
} else if (error?.code === 1011) {
//
onError({code:1011}); //
} else if (error?.code === 1000) {
//
} else if (error?.code === 4001) {