addnetconfirm

This commit is contained in:
scout 2024-10-28 15:31:46 +08:00
parent a7bc5506de
commit 951aabfe55
3 changed files with 137 additions and 96 deletions

72
App.vue
View File

@ -1,25 +1,61 @@
<script> <script>
export default { export default {
methods:{ data() {
networkStatusChange(res){ return {
if(res.isConnected){ //
lastNetworkStatus: null
}
},
methods: {
// APP
isFirstOpen(){
let isFirstOpen = uni.getStorageSync('isFirstOpen')
if (!isFirstOpen) {
uni.setStorageSync('isFirstOpen', true)
return true
}
return false
},
networkStatusChange(res) {
if (res.isConnected) {
//
if (this.isFirstOpen()) {
uni.redirectTo({ uni.redirectTo({
url:'/pages/index/index' url: '/pages/index/index'
})
}else{
uni.redirectTo({
url:'/pages/networko/index'
}) })
} }
//
if (this.lastNetworkStatus === false) {
uni.showModal({
title: "提示",
content: "当前设备网络发生更改,是否刷新页面?",
success: function (res) {
if (res.confirm) {
uni.redirectTo({
url: '/pages/index/index'
})
} else if (res.cancel) {
}
},
});
}
} } else {
uni.redirectTo({
url: '/pages/networko/index'
})
}
this.lastNetworkStatus = res.isConnected
}
}, },
onLaunch: function() { onLaunch: function () {
}, },
onShow: function() { onShow: function () {
uni.onNetworkStatusChange(this.networkStatusChange);
uni.getNetworkType({ uni.getNetworkType({
success:(res)=> { success: (res) => {
if(res.networkType==='none') { if (res.networkType === 'none') {
uni.redirectTo({ uni.redirectTo({
url: '/pages/networko/index' url: '/pages/networko/index'
}) })
@ -27,14 +63,14 @@
} }
} }
}) })
uni.onNetworkStatusChange(this.networkStatusChange);
}, },
onHide: function() { onHide: function () {
uni.offNetworkStatusChange(this.networkStatusChange) uni.offNetworkStatusChange(this.networkStatusChange)
} }
} }
</script> </script>
<style> <style>
/*每个页面公共css */ /*每个页面公共css */
</style> </style>

View File

@ -2,7 +2,7 @@ const env = 'prod';
const configs = { const configs = {
LocalTest: { LocalTest: {
apiBaseUrl: 'https://warehouse.szjixun.cn/oa_backend', apiBaseUrl: 'https://warehouse.szjixun.cn/oa_backend',
h5Url:'http://192.168.88.29:8080/#/' h5Url:'http://192.168.88.30:8080/#/'
}, },
dev: { dev: {
apiBaseUrl: 'https://warehouse.szjixun.cn/oa_backend', apiBaseUrl: 'https://warehouse.szjixun.cn/oa_backend',

View File

@ -4,46 +4,53 @@
</template> </template>
<script setup> <script setup>
import { ref } from 'vue' import { ref } from 'vue'
import {onExit } from "@dcloudio/uni-app"; import { onExit, onShow, onLoad } from "@dcloudio/uni-app";
import config from "../../config" import config from "../../config"
const wv = plus.webview.create(config.h5Url,"custom-webview") onShow(() => {
const currentPages=getCurrentPages() const { statusBarHeight } = uni.getSystemInfoSync()
const currentWebview = currentPages[currentPages.length-1].$getAppWebview() const wv1 = plus.webview.getWebviewById("custom-webview");
currentWebview.append(wv) let wv = null;
const {statusBarHeight} = uni.getSystemInfoSync() if (wv1) {
wv.setStyle({ wv = wv1;
} else {
wv = plus.webview.create(config.h5Url, "custom-webview", {
top: statusBarHeight, top: statusBarHeight,
bottom: 0, bottom: 0,
});
}
const currentPages = getCurrentPages()
const currentWebview = currentPages[currentPages.length - 1].$getAppWebview()
currentWebview.append(wv)
}) })
import { Communication } from '../../utils/communication.js'; import { Communication } from '../../utils/communication.js';
const commun=new Communication() const commun = new Communication()
import { import {
registerRequestPermissionTipsListener, registerRequestPermissionTipsListener,
unregisterRequestPermissionTipsListener, unregisterRequestPermissionTipsListener,
setRequestPermissionTips setRequestPermissionTips
} from "@/uni_modules/uni-registerRequestPermissionTips" } from "@/uni_modules/uni-registerRequestPermissionTips"
const PermissionTips = { const PermissionTips = {
"android.permission.READ_PHONE_STATE": "<h4 style=\"font-size:40px;\">正在读取网络状态权限</h4><font color=#cccccc>通讯录权限不会获取任何信息,请注意通讯录权限不会获取任何信息,请注意通讯录权限不会获取任何信息,请注意</font>", "android.permission.READ_PHONE_STATE": "<h4 style=\"font-size:40px;\">正在读取网络状态权限</h4><font color=#cccccc>通讯录权限不会获取任何信息,请注意通讯录权限不会获取任何信息,请注意通讯录权限不会获取任何信息,请注意</font>",
"android.permission.CAMERA": "<h4 style=\"font-size:40px;\">正在访问相机权限</h4><font color=#cccccc>需要扫描二维码或拍照,是否允许打开相机?</font>", "android.permission.CAMERA": "<h4 style=\"font-size:40px;\">正在访问相机权限</h4><font color=#cccccc>需要扫描二维码或拍照,是否允许打开相机?</font>",
"android.permission.WRITE_EXTERNAL_STORAGE": "<h4 style=\"font-size:40px;\">正在读取相册权限</h4><font color=#cccccc>我们需要获取访问您设备相册的权限,以便您能够选择并上传图片或视频到我们的应用中。</font>" "android.permission.WRITE_EXTERNAL_STORAGE": "<h4 style=\"font-size:40px;\">正在读取相册权限</h4><font color=#cccccc>我们需要获取访问您设备相册的权限,以便您能够选择并上传图片或视频到我们的应用中。</font>"
} }
onExit(()=>{ onExit(() => {
unregisterRequestPermissionTipsListener() unregisterRequestPermissionTipsListener()
}) })
const brand = uni.getSystemInfoSync().deviceBrand const brand = uni.getSystemInfoSync().deviceBrand
setRequestPermissionTips(PermissionTips) setRequestPermissionTips(PermissionTips)
registerRequestPermissionTipsListener({ registerRequestPermissionTipsListener({
onRequest: (e) => { onRequest: (e) => {
console.log('onRequest',e) console.log('onRequest', e)
}, },
onConfirm: (e) => { onConfirm: (e) => {
commun.sendToH5('permission-application',{action:'open-permission',data:e}); commun.sendToH5('permission-application', { action: 'open-permission', data: e });
}, },
onComplete: (e) => { onComplete: (e) => {
commun.sendToH5('permission-application',{action:'close-permission',data:e}); commun.sendToH5('permission-application', { action: 'close-permission', data: e });
// //
if (brand.toLowerCase() === "huawei") { if (brand.toLowerCase() === "huawei") {
@ -63,30 +70,30 @@ onExit(()=>{
}) })
} }
} }
}) })
function initializeWebView() { function initializeWebView() {
const currentWebview = getCurrentPages().pop().$getAppWebview() const currentWebview = getCurrentPages().pop().$getAppWebview()
commun.setWebView(currentWebview.children()[0]) commun.setWebView(currentWebview.children()[0])
} }
//load-complete //load-complete
commun.registerHandler('load-complete',()=>{ commun.registerHandler('load-complete', () => {
initializeWebView() initializeWebView()
const {statusBarHeight} = uni.getSystemInfoSync() const { statusBarHeight } = uni.getSystemInfoSync()
commun.webViewObj.setStyle({ commun.webViewObj.setStyle({
top: statusBarHeight, top: statusBarHeight,
bottom: 0, bottom: 0,
}) })
}) })
commun.registerHandler('getLocation',(data)=>{ commun.registerHandler('getLocation', (data) => {
uni.getLocation({ uni.getLocation({
type:'gcj02', type: 'gcj02',
geocode:true, geocode: true,
isHighAccuracy:true, isHighAccuracy: true,
...data, ...data,
success: (res) => { success: (res) => {
console.log('getLocation',res) console.log('getLocation', res)
commun.sendToH5('getLocation',res); commun.sendToH5('getLocation', res);
}, },
}) })
}) })
@ -96,6 +103,4 @@ const webLoad = (e) => {
}; };
</script> </script>
<style> <style></style>
</style>