Browse Source

所有页面添加身份权限判断

xiaoxin 3 years ago
parent
commit
89a2abd40a
43 changed files with 517 additions and 231 deletions
  1. 21 18
      index.html
  2. 80 79
      manifest.json
  3. 61 32
      pages/detail/detail.vue
  4. 7 11
      pages/detailDriver/detailDriver.vue
  5. 7 3
      pages/home/home.vue
  6. 18 7
      pages/index/index.vue
  7. 8 4
      pages/my/my.vue
  8. 7 18
      pages/record/record.vue
  9. 8 19
      pages/recordDriver/recordDriver.vue
  10. 1 1
      unpackage/dist/build/h5/assets/api.275d8b85.js
  11. 1 1
      unpackage/dist/build/h5/assets/detail-dfbf7c58.css
  12. 0 1
      unpackage/dist/build/h5/assets/detailDriver-cde17f92.css
  13. 1 0
      unpackage/dist/build/h5/assets/detailDriver-dd0550b8.css
  14. 1 0
      unpackage/dist/build/h5/assets/filterIdentity.d9c73917.js
  15. 1 1
      unpackage/dist/build/h5/assets/home-8696d240.css
  16. 1 1
      unpackage/dist/build/h5/assets/index-a909f5f2.js
  17. 0 1
      unpackage/dist/build/h5/assets/isWeixin.7d8069c5.js
  18. 0 1
      unpackage/dist/build/h5/assets/my-6775bfd6.css
  19. 1 0
      unpackage/dist/build/h5/assets/my-a1f7f279.css
  20. 1 1
      unpackage/dist/build/h5/assets/pages-404-404.3a13883f.js
  21. 0 1
      unpackage/dist/build/h5/assets/pages-detail-detail.63ff68f3.js
  22. 1 0
      unpackage/dist/build/h5/assets/pages-detail-detail.787a9293.js
  23. 1 0
      unpackage/dist/build/h5/assets/pages-detailDriver-detailDriver.5e1b469d.js
  24. 0 1
      unpackage/dist/build/h5/assets/pages-detailDriver-detailDriver.5e9cc2e2.js
  25. 0 1
      unpackage/dist/build/h5/assets/pages-home-home.3dfcf9ea.js
  26. 1 0
      unpackage/dist/build/h5/assets/pages-home-home.b0402fce.js
  27. 0 1
      unpackage/dist/build/h5/assets/pages-index-index.35d635c1.js
  28. 1 0
      unpackage/dist/build/h5/assets/pages-index-index.cd01903d.js
  29. 0 1
      unpackage/dist/build/h5/assets/pages-my-my.6a50ddc1.js
  30. 1 0
      unpackage/dist/build/h5/assets/pages-my-my.ae01bbe8.js
  31. 0 1
      unpackage/dist/build/h5/assets/pages-record-record.86bcbccb.js
  32. 1 0
      unpackage/dist/build/h5/assets/pages-record-record.ae5e5c1b.js
  33. 1 0
      unpackage/dist/build/h5/assets/pages-recordDriver-recordDriver.190f9eb3.js
  34. 0 1
      unpackage/dist/build/h5/assets/pages-recordDriver-recordDriver.6064c73f.js
  35. 1 0
      unpackage/dist/build/h5/assets/record-5d131fb6.css
  36. 0 1
      unpackage/dist/build/h5/assets/record-9e309213.css
  37. 0 1
      unpackage/dist/build/h5/assets/recordDriver-306b30fd.css
  38. 1 0
      unpackage/dist/build/h5/assets/recordDriver-a5887b05.css
  39. 1 1
      unpackage/dist/build/h5/assets/search.c86a0a2a.js
  40. 1 1
      unpackage/dist/build/h5/assets/uni-app.es.8385a485.js
  41. 24 21
      unpackage/dist/build/h5/index.html
  42. 48 0
      util/filterIdentity.js
  43. 209 0
      util/uni-webview.js

+ 21 - 18
index.html

@@ -1,20 +1,23 @@
 <!DOCTYPE html>
 <!DOCTYPE html>
 <html lang="en">
 <html lang="en">
-  <head>
-    <meta charset="UTF-8" />
-    <script>
-      var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
-        CSS.supports('top: constant(a)'))
-      document.write(
-        '<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
-        (coverSupport ? ', viewport-fit=cover' : '') + '" />')
-    </script>
-    <title></title>
-    <!--preload-links-->
-    <!--app-context-->
-  </head>
-  <body>
-    <div id="app"><!--app-html--></div>
-    <script type="module" src="/main.js"></script>
-  </body>
-</html>
+	<head>
+		<meta charset="UTF-8" />
+
+		<script>
+			var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
+				CSS.supports('top: constant(a)'))
+			document.write(
+				'<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
+				(coverSupport ? ', viewport-fit=cover' : '') + '" />')
+		</script>
+
+		<title></title>
+		<!--preload-links-->
+		<!--app-context-->
+	</head>
+	<body>
+		<div id="app"><!--app-html--></div>
+		<script type="module" src="/main.js"></script>
+		<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
+	</body>
+</html>

+ 80 - 79
manifest.json

@@ -1,81 +1,82 @@
 {
 {
-    "name" : "校车预约",
-    "appid" : "__UNI__43F49FA",
-    "description" : "",
-    "versionName" : "1.0.0",
-    "versionCode" : "100",
-    "transformPx" : false,
-    "app-plus" : {
-        /* 5+App特有相关 */
-        "usingComponents" : true,
-        "nvueCompiler" : "uni-app",
-        "nvueStyleCompiler" : "uni-app",
-        "splashscreen" : {
-            "alwaysShowBeforeRender" : true,
-            "waiting" : true,
-            "autoclose" : true,
-            "delay" : 0
-        },
-        "modules" : {},
-        /* 模块配置 */
-        "distribute" : {
-            /* 应用发布信息 */
-            "android" : {
-                /* android打包配置 */
-                "permissions" : [
-                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
-                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
-                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
-                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
-                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
-                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
-                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
-                    "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
-                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
-                    "<uses-feature android:name=\"android.hardware.camera\"/>",
-                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
-                ]
-            },
-            "ios" : {},
-            /* ios打包配置 */
-            "sdkConfigs" : {}
-        }
-    },
-    /* SDK配置 */
-    "quickapp" : {},
-    /* 快应用特有相关 */
-    "mp-weixin" : {
-        /* 小程序特有相关 */
-        "appid" : "",
-        "setting" : {
-            "urlCheck" : false
-        },
-        "usingComponents" : true
-    },
-    "vueVersion" : "3",
-    "h5" : {
-        "title" : "校车预约",
-        "devServer" : {
-            "disableHostCheck" : true,
-            "proxy" : {
-                "/carstop/carbook" : {
-                    //目标接口域名
-                    "target" : "https://chtech.ncjti.edu.cn/carstop/carbook",
-                    // "target": "http://192.168.161.170:8088/carBook",
-                    // "target": "https://chtech.ncjti.edu.cn/testingServertomcat/carbook/",
-                    //是否跨域
-                    "changeOrigin" : true,
-                    // 设置支持https协议的代理
-                    "secure" : false
-                }
-            }
-        },
-        "router" : {
-            "base" : "/carstop/dist5/"
-        }
-    }
+	"name": "校车预约",
+	"appid": "__UNI__43F49FA",
+	"description": "",
+	"versionName": "1.0.0",
+	"versionCode": "100",
+	"transformPx": false,
+	"app-plus": {
+		/* 5+App特有相关 */
+		"usingComponents": true,
+		"nvueCompiler": "uni-app",
+		"nvueStyleCompiler": "uni-app",
+		"splashscreen": {
+			"alwaysShowBeforeRender": true,
+			"waiting": true,
+			"autoclose": true,
+			"delay": 0
+		},
+		"modules": {},
+		/* 模块配置 */
+		"distribute": {
+			/* 应用发布信息 */
+			"android": {
+				/* android打包配置 */
+				"permissions": [
+					"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
+					"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
+					"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
+					"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
+					"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
+					"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.CAMERA\"/>",
+					"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
+					"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
+					"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
+					"<uses-feature android:name=\"android.hardware.camera\"/>",
+					"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
+				]
+			},
+			"ios": {},
+			/* ios打包配置 */
+			"sdkConfigs": {}
+		}
+	},
+	/* SDK配置 */
+	"quickapp": {},
+	/* 快应用特有相关 */
+	"mp-weixin": {
+		/* 小程序特有相关 */
+		"appid": "",
+		"setting": {
+			"urlCheck": false
+		},
+		"usingComponents": true
+	},
+	"vueVersion": "3",
+	"h5": {
+		"title": "校车预约",
+		"devServer": {
+			"disableHostCheck": true,
+			"proxy": {
+				"/carstop/carbook": {
+					//目标接口域名
+					"target": "https://chtech.ncjti.edu.cn/carstop/carbook",
+					// "target": "http://192.168.161.220:8088/carBook",
+					// "target": "https://chtech.ncjti.edu.cn/testingServertomcat/carbook/",
+					//是否跨域
+					"changeOrigin": true,
+					// 设置支持https协议的代理
+					"secure": false
+				}
+			}
+		},
+		"router": {
+			"base": "/carstop/dist5/"
+		}
+	}
 }
 }
+// "base" : "/testingServertomcat/dist5/"

+ 61 - 32
pages/detail/detail.vue

@@ -164,43 +164,72 @@ import { myRequest } from '@/util/api.js'
 
 
 import { isWeixin } from '@/util/isWeixin.js'
 import { isWeixin } from '@/util/isWeixin.js'
 
 
+import { filterIdentity } from '@/util/filterIdentity.js'
+
 import { time_to_sec, time_change } from '@/util/formatTime.js'
 import { time_to_sec, time_change } from '@/util/formatTime.js'
 
 
 onLoad(options => {
 onLoad(options => {
 	if (isWeixin()) {
 	if (isWeixin()) {
-		let userInfo = JSON.parse(uni.getStorageSync('bus-userInfo'))
-		// console.log(userInfo)
-		if (userInfo.user_zz !== '车队长') {
-			uni.redirectTo({
-				url: '/pages/404/404?message=暂无权限'
+		filterIdentity()
+		info.value = JSON.parse(options.info)
+		// console.log(info.value)
+		idRef.value = info.value.id
+		// 获取人员列表
+		getData()
+		// 获取路线数组
+		getPathList()
+		// 获取终点站列表
+		getEndList()
+		// 获取车牌号列表
+		getBusList()
+		// 获取发车时间提前推迟多少分钟可以扫码数据
+		getTimeConfig()
+		// 处理车牌号数据
+		form.value.selectValue = info.value.car_number
+
+		setTimeout(() => {
+			let temList = []
+			selectMultiple.value.columns.forEach(item => {
+				if (item.label == form.value.selectValue) {
+					temList.push(item.value)
+				}
 			})
 			})
-		} else {
-			info.value = JSON.parse(options.info)
-			// console.log(info.value)
-			idRef.value = info.value.id
-			// 获取人员列表
-			getData()
-			// 获取路线数组
-			getPathList()
-			// 获取终点站列表
-			getEndList()
-			// 获取车牌号列表
-			getBusList()
-			// 获取发车时间提前推迟多少分钟可以扫码数据
-			getTimeConfig()
-			// 处理车牌号数据
-			form.value.selectValue = info.value.car_number
-
-			setTimeout(() => {
-				let temList = []
-				selectMultiple.value.columns.forEach(item => {
-					if (item.label == form.value.selectValue) {
-						temList.push(item.value)
-					}
-				})
-				form.value.selectIndex = temList
-			}, 500)
-		}
+			form.value.selectIndex = temList
+		}, 500)
+
+		// let userInfo = JSON.parse(uni.getStorageSync('bus-userInfo'))
+		// // console.log(userInfo)
+		// if (userInfo.user_zz !== '车队长') {
+		// 	uni.redirectTo({
+		// 		url: '/pages/404/404?message=暂无权限'
+		// 	})
+		// } else {
+		// 	info.value = JSON.parse(options.info)
+		// 	// console.log(info.value)
+		// 	idRef.value = info.value.id
+		// 	// 获取人员列表
+		// 	getData()
+		// 	// 获取路线数组
+		// 	getPathList()
+		// 	// 获取终点站列表
+		// 	getEndList()
+		// 	// 获取车牌号列表
+		// 	getBusList()
+		// 	// 获取发车时间提前推迟多少分钟可以扫码数据
+		// 	getTimeConfig()
+		// 	// 处理车牌号数据
+		// 	form.value.selectValue = info.value.car_number
+
+		// 	setTimeout(() => {
+		// 		let temList = []
+		// 		selectMultiple.value.columns.forEach(item => {
+		// 			if (item.label == form.value.selectValue) {
+		// 				temList.push(item.value)
+		// 			}
+		// 		})
+		// 		form.value.selectIndex = temList
+		// 	}, 500)
+		// }
 	} else {
 	} else {
 		uni.redirectTo({
 		uni.redirectTo({
 			url: '/pages/404/404?message=请在微信客户端打开链接'
 			url: '/pages/404/404?message=请在微信客户端打开链接'

+ 7 - 11
pages/detailDriver/detailDriver.vue

@@ -111,19 +111,15 @@ import { myRequest } from '@/util/api.js'
 
 
 import { isWeixin } from '@/util/isWeixin.js'
 import { isWeixin } from '@/util/isWeixin.js'
 
 
+import { filterIdentity } from '@/util/filterIdentity.js'
+
 onLoad(options => {
 onLoad(options => {
 	if (isWeixin()) {
 	if (isWeixin()) {
-		let userInfo = JSON.parse(uni.getStorageSync('bus-userInfo'))
-		if (userInfo.user_zz !== '司机') {
-			uni.redirectTo({
-				url: '/pages/404/404?message=暂无权限'
-			})
-		} else {
-			info.value = JSON.parse(options.info)
-			idRef.value = info.value.id
-			// 获取人员列表
-			getData()
-		}
+		filterIdentity()
+		info.value = JSON.parse(options.info)
+		idRef.value = info.value.id
+		// 获取人员列表
+		getData()
 	} else {
 	} else {
 		uni.redirectTo({
 		uni.redirectTo({
 			url: '/pages/404/404?message=请在微信客户端打开链接'
 			url: '/pages/404/404?message=请在微信客户端打开链接'

+ 7 - 3
pages/home/home.vue

@@ -89,12 +89,15 @@ import { ref, computed, watch } from 'vue'
 
 
 import { onLoad, onPullDownRefresh, onShow } from '@dcloudio/uni-app'
 import { onLoad, onPullDownRefresh, onShow } from '@dcloudio/uni-app'
 
 
-import { myRequest } from '../../util/api.js'
+import { myRequest } from '@/util/api.js'
 
 
-import { isWeixin } from '../../util/isWeixin.js'
+import { isWeixin } from '@/util/isWeixin.js'
+
+import { filterIdentity } from '@/util/filterIdentity.js'
 
 
 onLoad(() => {
 onLoad(() => {
 	if (isWeixin()) {
 	if (isWeixin()) {
+		filterIdentity()
 		card_number.value = uni.getStorageSync('bus_card_number')
 		card_number.value = uni.getStorageSync('bus_card_number')
 	} else {
 	} else {
 		uni.redirectTo({
 		uni.redirectTo({
@@ -207,7 +210,8 @@ const getBusList = async route => {
 		url: '/appqueryCarNums.action',
 		url: '/appqueryCarNums.action',
 		data: {
 		data: {
 			date: `${year}-${currentMonth.value}-${currentDay.value}`,
 			date: `${year}-${currentMonth.value}-${currentDay.value}`,
-			route: route || currentPath.value
+			route: route || currentPath.value,
+			card_number: card_number.value
 		}
 		}
 	})
 	})
 	// console.log(res)
 	// console.log(res)

+ 18 - 7
pages/index/index.vue

@@ -5,9 +5,9 @@
 <script setup>
 <script setup>
 import { onLoad } from '@dcloudio/uni-app'
 import { onLoad } from '@dcloudio/uni-app'
 
 
-import { getQueryString } from '../../util/getParams.js'
+import { getQueryString } from '@/util/getParams.js'
 
 
-import { myRequest } from '../../util/api.js'
+import { myRequest } from '@/util/api.js'
 
 
 const APPKEY = '4AA7B3944BDF3739'
 const APPKEY = '4AA7B3944BDF3739'
 const ocode = '1015730314'
 const ocode = '1015730314'
@@ -15,7 +15,7 @@ const ocode = '1015730314'
 const URL = 'https://chtech.ncjti.edu.cn/carstop/carbook/appopenid.action'
 const URL = 'https://chtech.ncjti.edu.cn/carstop/carbook/appopenid.action'
 // const URL = 'https://chtech.ncjti.edu.cn/testingServertomcat/carbook/appopenid.action'
 // const URL = 'https://chtech.ncjti.edu.cn/testingServertomcat/carbook/appopenid.action'
 // 本地地址
 // 本地地址
-// const URL = 'http://192.168.161.75:8088/carBook/appopenid.action'
+// const URL = 'http://192.168.161.220:8088/carBook/appopenid.action'
 
 
 onLoad(() => {
 onLoad(() => {
 	loginFilter()
 	loginFilter()
@@ -27,7 +27,14 @@ const loginFilter = () => {
 	if (!card_number) {
 	if (!card_number) {
 		const card_number = getQueryString('card_number')
 		const card_number = getQueryString('card_number')
 		if (!card_number) {
 		if (!card_number) {
-			getCardnumberURL()
+			// 兼容小程序
+			const type = getQueryString('type')
+			if (type === 'weixin') {
+				// 跳转回小程序页面
+				jWeixin.miniProgram.reLaunch({ url: '/pages/index/index' })
+			} else {
+				getCardnumberURL()
+			}
 		} else {
 		} else {
 			uni.setStorageSync('bus_card_number', card_number)
 			uni.setStorageSync('bus_card_number', card_number)
 			getUserInfo()
 			getUserInfo()
@@ -49,18 +56,22 @@ const getUserInfo = async () => {
 	// console.log(res);
 	// console.log(res);
 	uni.setStorageSync('bus-userInfo', JSON.stringify(res.data))
 	uni.setStorageSync('bus-userInfo', JSON.stringify(res.data))
 	// 判断用户权限
 	// 判断用户权限
-	if (res.data && res.data.user_zz === '教师') {
+	if (res.data.user_zz === '教师' || res.data.user_zz === '临时人员') {
 		uni.switchTab({
 		uni.switchTab({
 			url: '/pages/home/home'
 			url: '/pages/home/home'
 		})
 		})
-	} else if (res.data && res.data.user_zz === '车队长') {
+	} else if (res.data.user_zz === '车队长') {
 		uni.reLaunch({
 		uni.reLaunch({
 			url: '/pages/record/record'
 			url: '/pages/record/record'
 		})
 		})
-	} else if (res.data && res.data.user_zz === '司机') {
+	} else if (res.data.user_zz === '司机') {
 		uni.reLaunch({
 		uni.reLaunch({
 			url: '/pages/recordDriver/recordDriver'
 			url: '/pages/recordDriver/recordDriver'
 		})
 		})
+	} else {
+		uni.reLaunch({
+			url: '/pages/404/404'
+		})
 	}
 	}
 }
 }
 
 

+ 8 - 4
pages/my/my.vue

@@ -72,14 +72,17 @@ import { ref } from 'vue'
 
 
 import { onLoad, onShow, onPullDownRefresh, onReachBottom } from '@dcloudio/uni-app'
 import { onLoad, onShow, onPullDownRefresh, onReachBottom } from '@dcloudio/uni-app'
 
 
-import { myRequest } from '../../util/api.js'
+import { myRequest } from '@/util/api.js'
 
 
-import { isWeixin } from '../../util/isWeixin.js'
+import { isWeixin } from '@/util/isWeixin.js'
 
 
-import Search from '../../components/search'
+import { filterIdentity } from '@/util/filterIdentity.js'
+
+import Search from '@/components/search'
 
 
 onLoad(() => {
 onLoad(() => {
 	if (isWeixin()) {
 	if (isWeixin()) {
+		filterIdentity()
 		card_number.value = uni.getStorageSync('bus_card_number')
 		card_number.value = uni.getStorageSync('bus_card_number')
 	} else {
 	} else {
 		uni.redirectTo({
 		uni.redirectTo({
@@ -349,7 +352,8 @@ const getConveyData = Obj => {
 			}
 			}
 
 
 			.list-info-item {
 			.list-info-item {
-				height: 60rpx;
+				display: flex;
+				// height: 60rpx;
 			}
 			}
 		}
 		}
 
 

+ 7 - 18
pages/record/record.vue

@@ -56,29 +56,18 @@ import { ref } from 'vue'
 
 
 import { onLoad, onPullDownRefresh } from '@dcloudio/uni-app'
 import { onLoad, onPullDownRefresh } from '@dcloudio/uni-app'
 
 
-import { myRequest } from '../../util/api.js'
+import { myRequest } from '@/util/api.js'
 
 
-import { isWeixin } from '../../util/isWeixin.js'
+import { isWeixin } from '@/util/isWeixin.js'
 
 
-import Search from '../../components/search'
+import { filterIdentity } from '@/util/filterIdentity.js'
+
+import Search from '@/components/search'
 
 
 onLoad(() => {
 onLoad(() => {
 	if (isWeixin()) {
 	if (isWeixin()) {
-		let userInfo = uni.getStorageSync('bus-userInfo')
-		if (!userInfo) {
-			uni.redirectTo({
-				url: '/pages/index/index'
-			})
-		} else {
-			let info = JSON.parse(userInfo)
-			if (info.user_zz !== '车队长') {
-				uni.redirectTo({
-					url: '/pages/404/404?message=暂无权限'
-				})
-			} else {
-				getData()
-			}
-		}
+		filterIdentity()
+		getData()
 	} else {
 	} else {
 		uni.redirectTo({
 		uni.redirectTo({
 			url: '/pages/404/404?message=请在微信客户端打开链接'
 			url: '/pages/404/404?message=请在微信客户端打开链接'

+ 8 - 19
pages/recordDriver/recordDriver.vue

@@ -56,30 +56,19 @@ import { ref } from 'vue'
 
 
 import { onLoad, onPullDownRefresh } from '@dcloudio/uni-app'
 import { onLoad, onPullDownRefresh } from '@dcloudio/uni-app'
 
 
-import { myRequest } from '../../util/api.js'
+import { myRequest } from '@/util/api.js'
 
 
-import { isWeixin } from '../../util/isWeixin.js'
+import { isWeixin } from '@/util/isWeixin.js'
 
 
-import Search from '../../components/search'
+import { filterIdentity } from '@/util/filterIdentity.js'
+
+import Search from '@/components/search'
 
 
 onLoad(() => {
 onLoad(() => {
 	if (isWeixin()) {
 	if (isWeixin()) {
-		let userInfo = uni.getStorageSync('bus-userInfo')
-		if (!userInfo) {
-			uni.redirectTo({
-				url: '/pages/index/index'
-			})
-		} else {
-			let info = JSON.parse(userInfo)
-			if (info.user_zz !== '司机') {
-				uni.redirectTo({
-					url: '/pages/404/404?message=暂无权限'
-				})
-			} else {
-				getBusList()
-				getData()
-			}
-		}
+		filterIdentity()
+		getBusList()
+		getData()
 	} else {
 	} else {
 		uni.redirectTo({
 		uni.redirectTo({
 			url: '/pages/404/404?message=请在微信客户端打开链接'
 			url: '/pages/404/404?message=请在微信客户端打开链接'

+ 1 - 1
unpackage/dist/build/h5/assets/api.275d8b85.js

@@ -1 +1 @@
-import{U as a,E as e,V as s,Z as t,y as d,p as o}from"./index-a909f5f2.js";const r=r=>(a({title:"加载中",mask:!0}),new Promise(((a,n)=>{e({url:"/carstop/carbook"+r.url,method:r.method||"GET",data:r.data||{},header:r.header,success:e=>{s(),200===e.data.code?a(e.data.data):"未查到用户信息"==e.data.message?(t("bus_card_number"),d({url:"/pages/index/index"})):o({title:e.data.message,icon:"none"})},fail:a=>{s(),o({title:"请求数据失败",icon:"none"}),n(a)}})})));export{r as m};
+import{U as a,E as e,V as s,Z as t,y as d,p as o}from"./index-0e1d4b94.js";const r=r=>(a({title:"加载中",mask:!0}),new Promise(((a,n)=>{e({url:"/carstop/carbook"+r.url,method:r.method||"GET",data:r.data||{},header:r.header,success:e=>{s(),200===e.data.code?a(e.data.data):"未查到用户信息"==e.data.message?(t("bus_card_number"),d({url:"/pages/index/index"})):o({title:e.data.message,icon:"none"})},fail:a=>{s(),o({title:"请求数据失败",icon:"none"}),n(a)}})})));export{r as m};

File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/build/h5/assets/detail-dfbf7c58.css


File diff suppressed because it is too large
+ 0 - 1
unpackage/dist/build/h5/assets/detailDriver-cde17f92.css


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/build/h5/assets/detailDriver-dd0550b8.css


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/build/h5/assets/filterIdentity.d9c73917.js


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/build/h5/assets/home-8696d240.css


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/build/h5/assets/index-a909f5f2.js


+ 0 - 1
unpackage/dist/build/h5/assets/isWeixin.7d8069c5.js

@@ -1 +0,0 @@
-const e=()=>!!(-1!=navigator.userAgent.toLowerCase().indexOf("micromessenger"));export{e as i};

File diff suppressed because it is too large
+ 0 - 1
unpackage/dist/build/h5/assets/my-6775bfd6.css


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/build/h5/assets/my-a1f7f279.css


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/build/h5/assets/pages-404-404.3a13883f.js


File diff suppressed because it is too large
+ 0 - 1
unpackage/dist/build/h5/assets/pages-detail-detail.63ff68f3.js


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/build/h5/assets/pages-detail-detail.787a9293.js


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/build/h5/assets/pages-detailDriver-detailDriver.5e1b469d.js


File diff suppressed because it is too large
+ 0 - 1
unpackage/dist/build/h5/assets/pages-detailDriver-detailDriver.5e9cc2e2.js


File diff suppressed because it is too large
+ 0 - 1
unpackage/dist/build/h5/assets/pages-home-home.3dfcf9ea.js


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/build/h5/assets/pages-home-home.b0402fce.js


File diff suppressed because it is too large
+ 0 - 1
unpackage/dist/build/h5/assets/pages-index-index.35d635c1.js


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/build/h5/assets/pages-index-index.cd01903d.js


File diff suppressed because it is too large
+ 0 - 1
unpackage/dist/build/h5/assets/pages-my-my.6a50ddc1.js


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/build/h5/assets/pages-my-my.ae01bbe8.js


File diff suppressed because it is too large
+ 0 - 1
unpackage/dist/build/h5/assets/pages-record-record.86bcbccb.js


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/build/h5/assets/pages-record-record.ae5e5c1b.js


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/build/h5/assets/pages-recordDriver-recordDriver.190f9eb3.js


File diff suppressed because it is too large
+ 0 - 1
unpackage/dist/build/h5/assets/pages-recordDriver-recordDriver.6064c73f.js


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/build/h5/assets/record-5d131fb6.css


File diff suppressed because it is too large
+ 0 - 1
unpackage/dist/build/h5/assets/record-9e309213.css


File diff suppressed because it is too large
+ 0 - 1
unpackage/dist/build/h5/assets/recordDriver-306b30fd.css


File diff suppressed because it is too large
+ 1 - 0
unpackage/dist/build/h5/assets/recordDriver-a5887b05.css


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/build/h5/assets/search.c86a0a2a.js


+ 1 - 1
unpackage/dist/build/h5/assets/uni-app.es.8385a485.js

@@ -1 +1 @@
-import{a6 as a,a7 as s,a8 as o,a9 as r,aa as n,ab as t,ac as c,ad as e}from"./index-a909f5f2.js";function i(a,s){return c(a)?s:a}const b=o=>(r,n=s())=>{!e&&a(o,r,n)},d=b(o),f=b(r),m=b(n),p=b(t);export{d as a,p as b,m as c,f as o,i as r};
+import{a6 as a,a7 as s,a8 as o,a9 as r,aa as n,ab as t,ac as c,ad as e}from"./index-0e1d4b94.js";function i(a,s){return c(a)?s:a}const b=o=>(r,n=s())=>{!e&&a(o,r,n)},d=b(o),f=b(r),m=b(n),p=b(t);export{d as a,p as b,m as c,f as o,i as r};

+ 24 - 21
unpackage/dist/build/h5/index.html

@@ -1,24 +1,27 @@
 <!DOCTYPE html>
 <!DOCTYPE html>
 <html lang="en">
 <html lang="en">
-  <head>
-    <link rel="stylesheet" href="/carstop/dist5/assets/uni.956a6ead.css">
+	<head>
+		<link rel="stylesheet" href="/carstop/dist5/assets/uni.956a6ead.css">
 
 
-    <meta charset="UTF-8" />
-    <script>
-      var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
-        CSS.supports('top: constant(a)'))
-      document.write(
-        '<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
-        (coverSupport ? ', viewport-fit=cover' : '') + '" />')
-    </script>
-    <title>校车预约</title>
-    <!--preload-links-->
-    <!--app-context-->
-    <script type="module" crossorigin src="/carstop/dist5/assets/index-a909f5f2.js"></script>
-    <link rel="stylesheet" href="/carstop/dist5/assets/index-88c6c4d6.css">
-  </head>
-  <body>
-    <div id="app"><!--app-html--></div>
-    
-  </body>
-</html>
+		<meta charset="UTF-8" />
+
+		<script>
+			var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
+				CSS.supports('top: constant(a)'))
+			document.write(
+				'<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
+				(coverSupport ? ', viewport-fit=cover' : '') + '" />')
+		</script>
+
+		<title>校车预约</title>
+		<!--preload-links-->
+		<!--app-context-->
+		<script type="module" crossorigin src="/carstop/dist5/assets/index-0e1d4b94.js"></script>
+		<link rel="stylesheet" href="/carstop/dist5/assets/index-88c6c4d6.css">
+	</head>
+	<body>
+		<div id="app"><!--app-html--></div>
+		
+		<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
+	</body>
+</html>

+ 48 - 0
util/filterIdentity.js

@@ -0,0 +1,48 @@
+// 判断用户是什么身份
+export const filterIdentity = () => {
+	// 从缓存中获取card_number
+	const card_number = uni.getStorageSync('bus_card_number')
+	// 从缓存中获取用户信息userInfo
+	const userInfo = uni.getStorageSync('bus-userInfo')
+
+	if (!card_number || !userInfo) {
+		// 如果card_number或者用户信息不存在,跳转回授权页
+		uni.reLaunch({
+			url: '/pages/index/index'
+		})
+
+	} else {
+		// 当前用户身份信息
+		const info = JSON.parse(userInfo)
+		// 当前页面路由
+		const curRouteStr = getPageUrl()
+
+		// 从用户信息中判断用户是什么身份并跳转到对应的路由
+		if ((info.user_zz === '教师' || info.user_zz === '临时人员') && curRouteStr !== 'home' && curRouteStr !==
+			'my') {
+			uni.switchTab({
+				url: '/pages/home/home'
+			})
+		} else if (info.user_zz === '车队长' && curRouteStr !== 'record' && curRouteStr !== 'detail') {
+			uni.reLaunch({
+				url: '/pages/record/record'
+			})
+		} else if (info.user_zz === '司机' && curRouteStr !== 'recordDriver' && curRouteStr !== 'detailDriver') {
+			uni.reLaunch({
+				url: '/pages/recordDriver/recordDriver'
+			})
+		}
+	}
+}
+
+// 获取当前页面路由
+const getPageUrl = () => {
+	// 获取当前打开过的页面路由数组
+	let routes = getCurrentPages()
+	// 获取当前页面路由,也就是最后一个打开的页面路由
+	let curRoute = routes[routes.length - 1].route
+
+	let curRouteStr = curRoute.split('/')[2]
+
+	return curRouteStr
+}

+ 209 - 0
util/uni-webview.js

@@ -0,0 +1,209 @@
+! function(e, n) {
+	"object" == typeof exports && "undefined" != typeof module ? module.exports = n() : "function" == typeof define &&
+		define.amd ? define(n) : (e = e || self).uni = n()
+}(this, (function() {
+	"use strict";
+	try {
+		var e = {};
+		Object.defineProperty(e, "passive", {
+			get: function() {
+				!0
+			}
+		}), window.addEventListener("test-passive", null, e)
+	} catch (e) {}
+	var n = Object.prototype.hasOwnProperty;
+
+	function i(e, i) {
+		return n.call(e, i)
+	}
+	var t = [];
+
+	function r() {
+		return window.__dcloud_weex_postMessage || window.__dcloud_weex_
+	}
+	var o = function(e, n) {
+			var i = {
+				options: {
+					timestamp: +new Date
+				},
+				name: e,
+				arg: n
+			};
+			if (r()) {
+				if ("postMessage" === e) {
+					var o = {
+						data: [n]
+					};
+					return window.__dcloud_weex_postMessage ? window.__dcloud_weex_postMessage(o) : window
+						.__dcloud_weex_.postMessage(JSON.stringify(o))
+				}
+				var a = {
+					type: "WEB_INVOKE_APPSERVICE",
+					args: {
+						data: i,
+						webviewIds: t
+					}
+				};
+				window.__dcloud_weex_postMessage ? window.__dcloud_weex_postMessageToService(a) : window
+					.__dcloud_weex_.postMessageToService(JSON.stringify(a))
+			}
+			if (!window.plus) return window.parent.postMessage({
+				type: "WEB_INVOKE_APPSERVICE",
+				data: i,
+				pageId: ""
+			}, "*");
+			if (0 === t.length) {
+				var d = plus.webview.currentWebview();
+				if (!d) throw new Error("plus.webview.currentWebview() is undefined");
+				var s = d.parent(),
+					w = "";
+				w = s ? s.id : d.id, t.push(w)
+			}
+			if (plus.webview.getWebviewById("__uniapp__service")) plus.webview.postMessageToUniNView({
+				type: "WEB_INVOKE_APPSERVICE",
+				args: {
+					data: i,
+					webviewIds: t
+				}
+			}, "__uniapp__service");
+			else {
+				var u = JSON.stringify(i);
+				plus.webview.getLaunchWebview().evalJS('UniPlusBridge.subscribeHandler("'.concat(
+					"WEB_INVOKE_APPSERVICE", '",').concat(u, ",").concat(JSON.stringify(t), ");"))
+			}
+		},
+		a = {
+			navigateTo: function() {
+				var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
+					n = e.url;
+				o("navigateTo", {
+					url: encodeURI(n)
+				})
+			},
+			navigateBack: function() {
+				var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
+					n = e.delta;
+				o("navigateBack", {
+					delta: parseInt(n) || 1
+				})
+			},
+			switchTab: function() {
+				var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
+					n = e.url;
+				o("switchTab", {
+					url: encodeURI(n)
+				})
+			},
+			reLaunch: function() {
+				var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
+					n = e.url;
+				o("reLaunch", {
+					url: encodeURI(n)
+				})
+			},
+			redirectTo: function() {
+				var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {},
+					n = e.url;
+				o("redirectTo", {
+					url: encodeURI(n)
+				})
+			},
+			getEnv: function(e) {
+				r() ? e({
+					nvue: !0
+				}) : window.plus ? e({
+					plus: !0
+				}) : e({
+					h5: !0
+				})
+			},
+			postMessage: function() {
+				var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : {};
+				o("postMessage", e.data || {})
+			}
+		},
+		d = /uni-app/i.test(navigator.userAgent),
+		s = /Html5Plus/i.test(navigator.userAgent),
+		w = /complete|loaded|interactive/;
+	var u = window.my && navigator.userAgent.indexOf(["t", "n", "e", "i", "l", "C", "y", "a", "p", "i", "l",
+		"A"].reverse().join("")) > -1;
+	var g = window.swan && window.swan.webView && /swan/i.test(navigator.userAgent);
+	var v = window.qq && window.qq.miniProgram && /QQ/i.test(navigator.userAgent) && /miniProgram/i.test(
+		navigator.userAgent);
+	var c = window.tt && window.tt.miniProgram && /toutiaomicroapp/i.test(navigator.userAgent);
+	var m = window.wx && window.wx.miniProgram && /micromessenger/i.test(navigator.userAgent) && /miniProgram/i
+		.test(navigator.userAgent);
+	var p = window.qa && /quickapp/i.test(navigator.userAgent);
+	var f = window.ks && window.ks.miniProgram && /micromessenger/i.test(navigator.userAgent) && /miniProgram/i
+		.test(navigator.userAgent);
+	var l = window.tt && window.tt.miniProgram && /Lark|Feishu/i.test(navigator.userAgent);
+	var _ = window.jd && window.jd.miniProgram && /micromessenger/i.test(navigator.userAgent) && /miniProgram/i
+		.test(navigator.userAgent);
+	var E = window.xhs && window.xhs.miniProgram && /xhsminiapp/i.test(navigator.userAgent);
+	for (var h, P = function() {
+			window.UniAppJSBridge = !0, document.dispatchEvent(new CustomEvent("UniAppJSBridgeReady", {
+				bubbles: !0,
+				cancelable: !0
+			}))
+		}, b = [function(e) {
+			if (d || s) return window.__dcloud_weex_postMessage || window.__dcloud_weex_ ? document
+				.addEventListener("DOMContentLoaded", e) : window.plus && w.test(document
+					.readyState) ? setTimeout(e, 0) : document.addEventListener("plusready", e), a
+		}, function(e) {
+			if (m) return window.WeixinJSBridge && window.WeixinJSBridge.invoke ? setTimeout(e, 0) :
+				document.addEventListener("WeixinJSBridgeReady", e), window.wx.miniProgram
+		}, function(e) {
+			if (v) return window.QQJSBridge && window.QQJSBridge.invoke ? setTimeout(e, 0) : document
+				.addEventListener("QQJSBridgeReady", e), window.qq.miniProgram
+		}, function(e) {
+			if (u) {
+				document.addEventListener("DOMContentLoaded", e);
+				var n = window.my;
+				return {
+					navigateTo: n.navigateTo,
+					navigateBack: n.navigateBack,
+					switchTab: n.switchTab,
+					reLaunch: n.reLaunch,
+					redirectTo: n.redirectTo,
+					postMessage: n.postMessage,
+					getEnv: n.getEnv
+				}
+			}
+		}, function(e) {
+			if (g) return document.addEventListener("DOMContentLoaded", e), window.swan.webView
+		}, function(e) {
+			if (c) return document.addEventListener("DOMContentLoaded", e), window.tt.miniProgram
+		}, function(e) {
+			if (p) {
+				window.QaJSBridge && window.QaJSBridge.invoke ? setTimeout(e, 0) : document
+					.addEventListener("QaJSBridgeReady", e);
+				var n = window.qa;
+				return {
+					navigateTo: n.navigateTo,
+					navigateBack: n.navigateBack,
+					switchTab: n.switchTab,
+					reLaunch: n.reLaunch,
+					redirectTo: n.redirectTo,
+					postMessage: n.postMessage,
+					getEnv: n.getEnv
+				}
+			}
+		}, function(e) {
+			if (f) return window.WeixinJSBridge && window.WeixinJSBridge.invoke ? setTimeout(e, 0) :
+				document.addEventListener("WeixinJSBridgeReady", e), window.ks.miniProgram
+		}, function(e) {
+			if (l) return document.addEventListener("DOMContentLoaded", e), window.tt.miniProgram
+		}, function(e) {
+			if (_) return window.JDJSBridgeReady && window.JDJSBridgeReady.invoke ? setTimeout(e, 0) :
+				document.addEventListener("JDJSBridgeReady", e), window.jd.miniProgram
+		}, function(e) {
+			if (E) return window.xhs.miniProgram
+		}, function(e) {
+			return document.addEventListener("DOMContentLoaded", e), a
+		}], y = 0; y < b.length && !(h = b[y](P)); y++);
+	h || (h = {});
+	var B = "undefined" != typeof uni ? uni : {};
+	if (!B.navigateTo)
+		for (var S in h) i(h, S) && (B[S] = h[S]);
+	return B.webView = h, B
+}));