appInit.js 2.6 KB
Newer Older
芊里 已提交
1
// #ifdef APP-PLUS
L
123  
linju 已提交
2
import checkUpdate from '@/uni_modules/uni-upgrade-center-app/utils/check-update';
芊里 已提交
3 4
import callCheckVersion from '@/uni_modules/uni-upgrade-center-app/utils/call-check-version';
// #endif
L
123  
linju 已提交
5 6 7 8 9 10
export default function() {

	// 初始化appVersion
	initAppVersion();

	// 检查更新
L
123  
linju 已提交
11
	checkUpdate();
L
123  
linju 已提交
12 13

	//自定义路由拦截
L
123  
linju 已提交
14
	setRouter()
芊里 已提交
15
	
L
123  
linju 已提交
16 17 18 19 20 21 22 23 24 25 26
	//提示网络变化
	eventListenerNetwork()
	
}
/**
 * // 初始化appVersion
 */
function initAppVersion() {
	// #ifdef APP-PLUS
	let appid = plus.runtime.appid;
	plus.runtime.getProperty(appid, (wgtInfo) => {
芊里 已提交
27 28
		let appVersion = plus.runtime;
		let currentVersion = appVersion.versionCode > wgtInfo.versionCode ? appVersion : wgtInfo;
L
123  
linju 已提交
29 30
		getApp({
			allowDefault: true
芊里 已提交
31 32
		}).appVersion = {
			...currentVersion,
L
123  
linju 已提交
33
			appid,
芊里 已提交
34 35 36 37 38 39 40 41 42 43 44 45
			hasNew:true
		}
		// 检查更新小红点
		callCheckVersion()
		.then(res=>{
			if(res.result.code>0){
				// 有新版本
				getApp({
					allowDefault: true
				}).appVersion.hasNew = true;
			}
		})
L
123  
linju 已提交
46 47 48 49
	});
	// #endif
}

L
123  
linju 已提交
50
//用于拦截路由
L
123  
linju 已提交
51 52
import baseappConfig from '@/baseapp.config.json';
console.log('baseappConfig',baseappConfig);
L
123  
linju 已提交
53
const {"router":{needLogin}} = baseappConfig //需要登陆的页面
L
123  
linju 已提交
54 55 56 57
function setRouter() {
	let before_action = e => {
		let res = true
		let token = uni.getStorageSync('uni-id-token')
L
123  
linju 已提交
58
		if (needLogin.includes(e.url) && token == '') {
L
123  
linju 已提交
59 60 61 62 63
			res = false
			console.log('该页面需要登陆,即将跳转到login页面');
		}
		return res
	}
芊里 已提交
64
	
L
123  
linju 已提交
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
	let before_after = e => {
		console.log('跳转之后');
	}

	let actions = ["navigateTo", "redirectTo", "reLaunch", "switchTab"]
	actions.forEach(action => {
		let old_action = uni[action]
		uni[action] = e => {
			//console.log(e);
			if (before_action(e)) {
				old_action(e)
				before_after(e)
			}
		}
	})
	uni.reLaunch({
		url: '/pages/grid/grid'
	})
芊里 已提交
83
}
L
123  
linju 已提交
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110

// 设备网络状态变化事件
function eventListenerNetwork () {
	uni.onNetworkStatusChange(function(res) {
		console.log(res.isConnected);
		console.log(res.networkType);
		if (!res.isConnected) {
			uni.showModal({
				content: "你未打开网络连接",
				confirmText: "前往打开",
				complete: (e) => {
					console.log(e);
					if (uni.getSystemInfoSync().platform == "ios") {
						plus.runtime.launchApplication({
							action: 'App-Prefs:root=WIFI'
						}, function(e) {
							console.log(JSON.stringify(e));
						});
					} else {
						var main = plus.android.runtimeMainActivity();
						var Intent = plus.android.importClass("android.content.Intent");
						var mIntent = new Intent('android.settings.DATA_ROAMING_SETTINGS');
						main.startActivity(mIntent);
					}
				}
			});
		}
芊里 已提交
111 112
	});
}