guoyujia 4 ヶ月 前
コミット
a13b5431ae
1 ファイル変更68 行追加6 行削除
  1. 68 6
      utils/request.js

+ 68 - 6
utils/request.js

@@ -1,12 +1,21 @@
-import { getToken } from '@/utils/auth'
+import {
+	getToken
+} from '@/utils/auth'
+import {
+	store
+} from '@/store/index.js'
 // import baseURL from '@/api/base/path.js'
 
-function request({url, data, method="GET"}) {
+function behindRequist({
+	url,
+	data,
+	method = "GET"
+}) {
 	let token = 'Bearer ' + getToken();
 	let header = {
-	    Authorization: token
+		Authorization: token
 	}
-	return new Promise((resolve, reject)=>{
+	return new Promise((resolve, reject) => {
 		const urlList = uni.getStorageSync('baseUrl')
 		uni.request({
 			url: JSON.parse(urlList).baseUrl + url,
@@ -50,5 +59,58 @@ function request({url, data, method="GET"}) {
 		})
 	})
 }
-export default {request}
-
+// 拦截请求的函数
+function request(options) {
+	return preRequest().then(() => {
+		// 前置请求成功,继续执行原请求
+		return behindRequist(options);
+	}).catch((error) => {
+		// 前置请求失败,处理错误
+		uni.showToast({
+			icon: 'none',
+			title: error.message || '前置请求失败',
+			duration: 1500
+		});
+		return Promise.reject(error);
+	});
+}
+// 前置请求函数
+function preRequest() {
+	let token = 'Bearer ' + getToken();
+	let header = {
+		Authorization: token
+	};
+	return new Promise((resolve, reject) => {
+		const urlList = uni.getStorageSync('baseUrl')
+		console.log(urlList)
+		uni.request({
+			url: JSON.parse(urlList).baseUrl + '/business/notification/getHasNotification', // 前置请求的URL
+			header,
+			method: 'GET',
+			success: (res) => {
+				console.log(res)
+				if (res.data.code == 200) {
+					uni.navigateTo({
+						url: "/pages/notification/index",
+						success: (resqust) => {
+							// 通过eventChannel向被打开页面传送数据
+							resqust.eventChannel.emit("notification", {
+								data: res.data.data[0]
+							})
+						}
+					})
+				} else {
+					// 前置请求成功,继续执行原请求
+					resolve(true);
+				}
+			},
+			fail: (err) => {
+				// 前置请求失败,不执行原请求
+				reject(err);
+			}
+		});
+	});
+}
+export default {
+	request
+}