189 lines
4.4 KiB
Plaintext
189 lines
4.4 KiB
Plaintext
|
<template>
|
||
|
<view class="nodata">
|
||
|
<view class="nodata-content">
|
||
|
<view class="text-view a-i-c j-c-c t-a-c">
|
||
|
<text class="title">{{textTypes[networkType]}}</text>
|
||
|
</view>
|
||
|
<view class="icon-view"></view>
|
||
|
<view class="opera-view">
|
||
|
<view class="btn btn-default" v-if="networkType!='none'" @click="retry">
|
||
|
<text class="btn-text">重试</text>
|
||
|
</view>
|
||
|
<view class="btn btn-default" v-if="networkType=='none'" @click="openSettings">
|
||
|
<text class="btn-text">设置</text>
|
||
|
</view>
|
||
|
</view>
|
||
|
</view>
|
||
|
</view>
|
||
|
</template>
|
||
|
|
||
|
<script>
|
||
|
export default {
|
||
|
name: 'nodata',
|
||
|
data() {
|
||
|
return {
|
||
|
textTypes: {
|
||
|
none: "暂无网络"
|
||
|
},
|
||
|
isConnected: false,
|
||
|
networkType: "none"
|
||
|
}
|
||
|
},
|
||
|
mounted() {
|
||
|
this.isIOS = (uni.getSystemInfoSync().platform === 'ios');
|
||
|
uni.onNetworkStatusChange((res) => {
|
||
|
this.isConnected = res.isConnected;
|
||
|
this.networkType = res.networkType;
|
||
|
});
|
||
|
uni.getNetworkType({
|
||
|
success: (res) => {
|
||
|
this.networkType = res.networkType;
|
||
|
}
|
||
|
});
|
||
|
},
|
||
|
methods: {
|
||
|
retry() {
|
||
|
this.$emit('retry');
|
||
|
},
|
||
|
async openSettings() {
|
||
|
if (this.networkType == "none") {
|
||
|
this.openSystemSettings();
|
||
|
return;
|
||
|
}
|
||
|
},
|
||
|
openAppSettings() {
|
||
|
this.gotoAppSetting();
|
||
|
},
|
||
|
openSystemSettings() {
|
||
|
if (this.isIOS) {
|
||
|
this.gotoiOSSetting();
|
||
|
} else {
|
||
|
this.gotoAndroidSetting();
|
||
|
}
|
||
|
},
|
||
|
network() {
|
||
|
var result = null;
|
||
|
var cellularData = plus.ios.newObject("CTCellularData");
|
||
|
var state = cellularData.plusGetAttribute("restrictedState");
|
||
|
if (state == 0) {
|
||
|
result = null;
|
||
|
console.log("StateUnknown");
|
||
|
} else if (state == 2) {
|
||
|
result = 1;
|
||
|
console.log("已经开启了互联网权限:NotRestricted");
|
||
|
} else if (state == 1) {
|
||
|
result = 2;
|
||
|
console.log("Restricted");
|
||
|
}
|
||
|
plus.ios.deleteObject(cellularData);
|
||
|
return result;
|
||
|
},
|
||
|
gotoAppSetting() {
|
||
|
if (this.isIOS) {
|
||
|
var UIApplication = plus.ios.import("UIApplication");
|
||
|
var application2 = UIApplication.sharedApplication();
|
||
|
var NSURL2 = plus.ios.import("NSURL");
|
||
|
var setting2 = NSURL2.URLWithString("app-settings:");
|
||
|
application2.openURL(setting2);
|
||
|
plus.ios.deleteObject(setting2);
|
||
|
plus.ios.deleteObject(NSURL2);
|
||
|
plus.ios.deleteObject(application2);
|
||
|
} else {
|
||
|
var Intent = plus.android.importClass("android.content.Intent");
|
||
|
var Settings = plus.android.importClass("android.provider.Settings");
|
||
|
var Uri = plus.android.importClass("android.net.Uri");
|
||
|
var mainActivity = plus.android.runtimeMainActivity();
|
||
|
var intent = new Intent();
|
||
|
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
|
||
|
var uri = Uri.fromParts("package", mainActivity.getPackageName(), null);
|
||
|
intent.setData(uri);
|
||
|
mainActivity.startActivity(intent);
|
||
|
}
|
||
|
},
|
||
|
gotoiOSSetting() {
|
||
|
var UIApplication = plus.ios.import("UIApplication");
|
||
|
var application2 = UIApplication.sharedApplication();
|
||
|
var NSURL2 = plus.ios.import("NSURL");
|
||
|
var setting2 = NSURL2.URLWithString("App-prefs:root=General");
|
||
|
application2.openURL(setting2);
|
||
|
plus.ios.deleteObject(setting2);
|
||
|
plus.ios.deleteObject(NSURL2);
|
||
|
plus.ios.deleteObject(application2);
|
||
|
},
|
||
|
gotoAndroidSetting() {
|
||
|
var Intent = plus.android.importClass("android.content.Intent");
|
||
|
var Settings = plus.android.importClass("android.provider.Settings");
|
||
|
var mainActivity = plus.android.runtimeMainActivity();
|
||
|
var intent = new Intent(Settings.ACTION_SETTINGS);
|
||
|
mainActivity.startActivity(intent);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
</script>
|
||
|
|
||
|
<style>
|
||
|
.a-i-c {
|
||
|
align-items: center;
|
||
|
}
|
||
|
|
||
|
.j-c-c {
|
||
|
justify-content: center;
|
||
|
}
|
||
|
|
||
|
.t-a-c {
|
||
|
text-align: center;
|
||
|
}
|
||
|
|
||
|
.nodata {
|
||
|
flex: 1;
|
||
|
flex-direction: column;
|
||
|
/* #ifndef APP-PLUS */
|
||
|
display: flex;
|
||
|
/* #endif */
|
||
|
align-items: center;
|
||
|
justify-content: center;
|
||
|
padding: 30px;
|
||
|
background-color: #f8f8f8;
|
||
|
}
|
||
|
|
||
|
.nodata-content {
|
||
|
transform: translateY(-50px);
|
||
|
}
|
||
|
|
||
|
.text-view {
|
||
|
margin-bottom: 40px;
|
||
|
}
|
||
|
|
||
|
.title {
|
||
|
color: #999999;
|
||
|
font-size: 18px;
|
||
|
}
|
||
|
|
||
|
.opera-view {
|
||
|
flex-direction: column;
|
||
|
align-items: center;
|
||
|
justify-content: center;
|
||
|
}
|
||
|
|
||
|
.btn {
|
||
|
padding: 5px 10px;
|
||
|
width: 128px;
|
||
|
flex-direction: row;
|
||
|
align-items: center;
|
||
|
justify-content: center;
|
||
|
text-align: center;
|
||
|
}
|
||
|
|
||
|
.btn-text {
|
||
|
color: #999999;
|
||
|
font-size: 15px;
|
||
|
}
|
||
|
|
||
|
.btn-default {
|
||
|
border-color: #999999;
|
||
|
border-style: solid;
|
||
|
border-width: 1px;
|
||
|
border-radius: 3px;
|
||
|
}
|
||
|
</style>
|