Browse Source

基础配置

lilei 5 years ago
parent
commit
adb7c73b3e
2 changed files with 101 additions and 1 deletions
  1. 24 1
      App.vue
  2. 77 0
      libs/axios.js

+ 24 - 1
App.vue

@@ -1,7 +1,30 @@
 <script>
 <script>
+	const uat_URL = 'http://md.test.zyucgj.com/saas/clz/' // 预发布
+	// const uat_URL = 'http://192.168.16.103:9110/saas/clz/' // 本地
+	const pro_URL = 'https://car.zyucgj.com/saas/clz/'  // 生产
+	const buildType = 0 // 打包环境对应类型,1 生产 0 预发布
+	const buildURL = buildType ? pro_URL : uat_URL // 打包后实际对应的url
+	const envText = ['预发布环境','生产环境']
+	const envTips = process.env.NODE_ENV == 'development' ? envText[0] : envText[buildType]
 	export default {
 	export default {
+		globalData: {  
+			baseUrl: process.env.NODE_ENV == 'development' ? uat_URL : buildURL,
+			token: '',
+			version: '', // 当前版本号
+			buildType: buildType,
+			envTips: envTips
+		},
+		mounted() {
+			// 非V3模式
+			if(this.$scope){
+				this.$scope.globalData.token = this.$store.state.vuex_token
+			}else{
+				// V3模式
+				getApp({allowDefault: true}).globalData.token = this.$store.state.vuex_token
+			}
+		},
 		onLaunch: function() {
 		onLaunch: function() {
-			console.log('App Launch')
+			 console.log('App onLaunch')
 		},
 		},
 		onShow: function() {
 		onShow: function() {
 			console.log('App Show')
 			console.log('App Show')

+ 77 - 0
libs/axios.js

@@ -0,0 +1,77 @@
+const baseUrl = getApp().globalData.baseUrl
+//带Token请求
+const request = (opts, hasToken) => {
+	const authorization = getApp().globalData.token
+	// console.log(authorization, 'authorization')
+	//  hasToken是否传入token,为true则不传token
+	const header = {
+			'USER-TERM-TYPE': 'ipad', // 支付时需要用到 与pad一致
+			'App-Type': 2
+		}
+	if(!hasToken){
+		header.authorization = authorization
+	}	
+	//此token是登录成功后后台返回保存在storage中的
+	let DefaultOpts = {
+		url: baseUrl+opts.url,
+		data: opts.data,
+		method: opts.method,
+		header: header
+	}
+	let promise = new Promise(function(resolve, reject) {
+		uni.request(DefaultOpts).then(
+			(res) => {
+				// console.log(res[1])
+				// 是否超时已跳转
+				let loginTimeOut = uni.getStorageSync('loginTimeOut');
+				if(res[0]&&res[0].errMsg.indexOf('request:fail')>=0){
+					resolve({
+						status: 500,
+						message: "请求网络失败"
+					})
+				}
+				let ret = res[1]
+				if(res[1].data.status){
+					ret = res[1].data
+				}else if(res[1].status){
+					ret = res[1]
+				}
+				if(ret.status == '200'){
+					resolve(ret)
+				}else{
+					if(ret.status == 1001 && loginTimeOut == 'NO'){  //  未登录或登录过期
+						uni.showToast({
+							icon:'none',
+							title: ret.message,
+							duration: 5000 
+						})
+						uni.reLaunch({
+							url: '/pages/login/login'
+						})
+						uni.setStorageSync('loginTimeOut', 'YES');
+					}
+					// 503
+					if(ret.status == '503'){
+						uni.showToast({
+							icon:'none',
+							title: ret.message,
+							duration: 3000 
+						})
+					}
+					resolve(ret)
+				}
+				resolve(ret)
+			}
+		).catch(
+			(response) => {
+				reject(response)
+			}
+		)
+	})
+	return promise
+}
+
+export default {
+	baseUrl,
+	request
+}