<!-- 登录页 -->
|
<template>
|
<WebViewPlus
|
ref="sWebViewRef"
|
:src="`${viewUrl}`"
|
@webMessage="onPostMessage"
|
/>
|
</template>
|
|
<script setup>
|
import { useUserStore } from "@/store/index.js"
|
import { getWebViewUrl } from "@/utils/index.js";
|
import { onLoad } from "@dcloudio/uni-app";
|
const userStore = useUserStore()
|
const userParams = userStore?.userInfo ? JSON.stringify(userStore.userInfo) : '{}'
|
const sWebViewRef = ref(null);
|
const viewUrl = ref("");
|
onLoad((options) => {
|
// 解析传递过来的contact参数
|
const contact = options.contact ? JSON.parse(decodeURIComponent(options.contact)) : null;
|
// 构建viewUrl,将contact参数拼接到URL中
|
const contactParam = contact ? encodeURIComponent(JSON.stringify(contact)) : '';
|
// viewUrl.value = `https://192.168.1.157:5176/mobile-web-view/#/webViewWrapper/voiceCallDetail?params=${encodeURIComponent(userParams)}&contact=${contactParam}`;
|
viewUrl.value = getWebViewUrl("/voiceCallDetail", { contact: options.contact ,voiceparams: options.voiceparams});
|
});
|
function onPostMessage(data) {}
|
// #ifdef APP-PLUS
|
function requestAndroidMicPermission() {
|
return new Promise((resolve) => {
|
const main = plus.android.runtimeMainActivity()
|
const Build = plus.android.importClass('android.os.Build')
|
if (Build.VERSION.SDK_INT < 23) return resolve(true)
|
|
const Manifest = plus.android.importClass('android.Manifest')
|
const ActivityCompat = plus.android.importClass('androidx.core.app.ActivityCompat')
|
|
const permission = Manifest.permission.RECORD_AUDIO
|
ActivityCompat.requestPermissions(main, [permission], 1001)
|
|
// 简化:延迟检查一次(更严谨可写原生回调插件)
|
setTimeout(() => {
|
const PackageManager = plus.android.importClass('android.content.pm.PackageManager')
|
const granted = ActivityCompat.checkSelfPermission(main, permission) === PackageManager.PERMISSION_GRANTED
|
resolve(granted)
|
}, 800)
|
})
|
}
|
|
|
requestAndroidMicPermission()
|
// #endif
|
|
</script>
|
|
<style lang="scss" scoped>
|
|
</style>
|