dedsudiyu 1 napja
szülő
commit
c42489a7c0
4 módosított fájl, 247 hozzáadás és 39 törlés
  1. 2 2
      api/request/config.js
  2. 3 11
      pages.json
  3. 4 6
      pages/views/login/login2.vue
  4. 238 20
      pages/views/login/ssoLoginH5.vue

+ 2 - 2
api/request/config.js

@@ -34,7 +34,7 @@ const config = {
 	imagesUrl: 'https://zj-wechat.oss-cn-beijing.aliyuncs.com/xcx_images/xcx_v3/',
 	/************************************ 扫一扫 ************************************/
 	//1.MSDS说明书			2.安全制度			3.危险源详情 地址配置 
-	saoCodeTypeUrl: 'http://10.103.75.81/#/codeHtml?',
+	saoCodeTypeUrl: 'http://sysaqjc.cumt.edu.cn/#/codeHtml?',
 	/************************************ 校级管理员身份ID ************************************/
   schoolId:'1815293314666532865',
 	/************************************ 院级管理员身份ID ************************************/
@@ -42,7 +42,7 @@ const config = {
 	/************************************ 版本标识-用于区别各学校差异化代码 ************************************/
 	VERSION_DIFFERENCE_FIELD :'xiBeiNongLinDaXue',
 	/************************************ H5统一认证地址-用于H5版本统一认证 ************************************/
-	UNIFIED_CERTIFICATION_URL:'https://labcontrol.nwafu.edu.cn/api/auth/cas/logout/applet',
+	UNIFIED_CERTIFICATION_URL:'https://sysaqjc.cumt.edu.cn/api/auth/cas/logout/applet',
 }
 export {
 	config

+ 3 - 11
pages.json

@@ -45,24 +45,16 @@
 				"navigationStyle": "custom" //关闭原生导航
 			}
 		},
-		// {
-		// 	"path": "pages/views/login/accountLogin", //账号密码登录
-		// 	"style": {
-		// 		"navigationBarTitleText": "账号密码登录",
-		// 		"navigationBarTextStyle": "white", //导航文字颜色
-		// 		"navigationBarBackgroundColor": "#0183FA" //导航背景色
-		// 	}
-		// },
 		{
-			"path": "pages/views/login/ssoLogin", //统一认证页面
+			"path": "pages/views/login/accountLogin", //账号密码登录
 			"style": {
-				"navigationBarTitleText": "统一身份认证",
+				"navigationBarTitleText": "账号密码登录",
 				"navigationBarTextStyle": "white", //导航文字颜色
 				"navigationBarBackgroundColor": "#0183FA" //导航背景色
 			}
 		},
 		{
-			"path": "pages/views/login/ssoLoginH5", //统一认证页面
+			"path": "pages/views/login/ssoLogin", //统一认证页面
 			"style": {
 				"navigationBarTitleText": "统一身份认证",
 				"navigationBarTextStyle": "white", //导航文字颜色

+ 4 - 6
pages/views/login/login2.vue

@@ -12,15 +12,13 @@
 			<view class="input-max-box-one">
 				<view class="input-box">
 					<img :src="imagesUrl('commonality/img_log_in_account.png')">
-					<input type="text" v-model="username" @confirm="login()"
-					placeholder="请输入账号" maxlength="20">
+					<input type="text" v-model="username" @confirm="login()" placeholder="请输入账号" maxlength="20">
 				</view>
 			</view>
 			<view class="input-max-box-two">
 				<view class="input-box">
 					<img :src="imagesUrl('commonality/img_log_in_password.png')">
-					<input type="password" v-model="password" @confirm="login()"
-					placeholder="请输入密码" maxlength="20">
+					<input type="password" v-model="password" @confirm="login()" placeholder="请输入密码" maxlength="20">
 				</view>
 			</view>
 			<view class="check-box" @click="checkboxChange()">
@@ -29,9 +27,9 @@
 				<view>记住我</view>
 			</view>
 			<view class="button-box" @click="login()">登录</view>
-			<view class="passwrod-button-box" @click="forgotPasswordButton()">忘记密码?</view>
+			<!-- <view class="passwrod-button-box" @click="forgotPasswordButton()">忘记密码?</view> -->
 		</view>
-		<!-- <view class="loginButton" @click="backButton()">统一身份认证登录</view> -->
+		<view class="loginButton" @click="backButton()">统一身份认证登录</view>
 	</view>
 </template>
 

+ 238 - 20
pages/views/login/ssoLoginH5.vue

@@ -1,46 +1,264 @@
-<!--登录页面-->
+<!--认证页面-->
 <template>
-	<view id="ssoLoginH5">
-		<web-view @message="handleMessage"
-		src="https://labcontrol.nwafu.edu.cn/api/auth/cas/logout/applet">
-		<!-- src="http://192.168.1.10:80/#/miniProgramAuthentication?token=41cd8b02-f612-4dd5-abbd-efb5c45d69ad"> -->
-		</web-view>
+	<view id="ssoCertification">
+		登录中请稍后
 	</view>
 </template>
 
 <script>
+	import {
+		config
+	} from '@/api/request/config.js'
+	import {
+		authGetAppletUser,
+		configInfo,
+		getConfigByType,
+		systemAppletRolePermission,
+		systemSubjectCheckIsAdminOrSafeUser,
+		securityDataStatisticsGetUserIdentity
+	} from '@/pages/api/index.js'
+	import {
+		Encrypt,
+		Decrypt
+	} from '@/utils/secret.js'
 	export default {
-		name: "ssoLoginH5",
+		name: "ssoCertification",
 		data() {
 			return {
 				
 			}
 		},
 		onLoad(option) {
-			
-		},
-		mounted() {
-			const pages = getCurrentPages();
-			const currentPage = pages[pages.length - 1];
-			const prevPage = pages[pages.length - 2];
-			if (prevPage && prevPage.route === 'pages/views/login/ssoCertification') {
-				uni.redirectTo({
-					url: '/pages/views/login/login',
+			console.log('option',option)
+			if(option.token){
+				uni.setStorageSync('token', option.token);
+				//获取登录人信息接口
+				this.authGetAppletUser();
+			}else{
+				uni.showToast({
+					mask: true,
+					icon: "none",
+					position: "center",
+					title: '数据异常,请稍候再试!',
+					duration: 2000
 				});
+				setTimeout(function() {
+					uni.redirectTo({
+						url: '/pages/views/login/login',
+					});
+				}, 2000);
+				
 			}
 		},
+		mounted() {
+
+		},
 		methods: {
-			handleMessage(e) {
-				const receivedData = e.detail.data; // 接收到的数据
-			}
+			async authGetAppletUser(){
+				const {
+					data
+				} = await authGetAppletUser();
+				if (data.code == 200) {
+					uni.setStorageSync('dataBoardType', false);
+					uni.setStorageSync('userId', data.data.userId);
+					uni.setStorageSync('isInitPwd', true);
+					// userType 0-系统 1-教职工 2-学生 3-大屏
+					uni.setStorageSync('userType', data.data.userType == 0 || data.data.userType == 1 ? '1' :
+						(data.data.userType == 2 ? '2' : (data.data.userType == 3 ? '3' : 'none')));
+					//等待配置与字段获取到后跳转
+					Promise.all([
+						//查询公共配置
+						this.getConfigInfo(),
+						//获取开发配置
+						this.getConfigByType(),
+						//获取权限字段
+						this.systemAppletRolePermission(),
+						//查询身份
+						this.securityDataStatisticsGetUserIdentity(),
+						//查询是否是管理员/安全员
+						this.systemSubjectCheckIsAdminOrSafeUser(),
+					]).then((result) => {
+						if (uni.getStorageSync('codeData')) {
+							uni.redirectTo({
+								url: '/pages/views/saoCode/saoCode',
+							});
+						} else if (uni.getStorageSync('warningId')) {
+							uni.reLaunch({
+								url: '/pages_basics/views/earlyWarningManage/earlyWarningDetail',
+							});
+						} else if (uni.getStorageSync('manageCation')) {
+							uni.reLaunch({
+								url: '/pages_manage/views/accessQualification/accessQualificationInfo?item=' + uni.getStorageSync('manageCation')
+							})
+						} else if (uni.getStorageSync('studentCation')) {
+							uni.reLaunch({
+								url: '/pages_student/views/accessApplication/applicationDetails?item=' + uni.getStorageSync('studentCation')
+							})
+						} else if(uni.getStorageSync('recyclingReportRecord')){
+							//短信跳转-危废回收-报备
+							uni.removeStorageSync('recyclingReportRecord')
+							uni.reLaunch({
+								url: "/pages_hazardousWasteRecycling/views/recyclingReportRecord/index",
+							});
+						} else if(uni.getStorageSync('permissionApply')){
+							//短信跳转-危废回收-申请列表
+							uni.removeStorageSync('permissionApply')
+							uni.reLaunch({
+								url: "/pages_hazardousWasteRecycling/views/permissionApply/listPage",
+							});
+						} else {
+							uni.reLaunch({
+								url: '/pages/views/home/home',
+							});
+						}
+					}).catch((error) => {
+						uni.showToast({
+							mask: true,
+							icon: "none",
+							position: "center",
+							title: '数据异常,请稍候再试!',
+							duration: 2000
+						});
+						setTimeout(function() {
+							uni.redirectTo({
+								url: '/pages/views/login/login',
+							});
+						}, 2000);
+					})
+				}else{
+					uni.redirectTo({
+						url: '/pages/views/home/home',
+					});
+				}
+			},
+			//查询是否是管理员/安全员
+			async systemSubjectCheckIsAdminOrSafeUser(){
+				let self = this;
+				const {
+					data
+				} = await systemSubjectCheckIsAdminOrSafeUser();
+				if (data.code == 200) {
+					if(data.data.isSafe || data.data.isAdmin){
+						uni.setStorageSync('subAdmin','1');
+					}else{
+						uni.setStorageSync('subAdmin','0');
+					}
+				}
+			},
+			//查询公共配置
+			async getConfigInfo() {
+				const {
+					data
+				} = await configInfo({
+					type: '1,2,4'
+				});
+				if (data.code == 200) {
+					let list = JSON.parse(data.data)
+					let newData = {};
+					list.forEach((item) => {
+						let obj = JSON.parse(item.configValue)
+						newData = {
+							...newData,
+							...obj
+						}
+					})
+					uni.setStorageSync('circularLogo', config.base_url + newData.circularLogo)
+					uni.setStorageSync('rectangleLogo', config.base_url + newData.rectangleLogo)
+					uni.setStorageSync('videoCover', config.base_url + newData.videoCover)
+					this.$set(this, 'loginBanner', config.base_url + newData.loginBanner);
+					uni.setStorageSync('loginBanner', config.base_url + newData.loginBanner)
+					this.$set(this, 'supplierType', newData.supplier);
+					uni.setStorageSync('supplierType', newData.supplier)
+					uni.setStorageSync('homepageBanner', config.base_url + newData.homepageBanner)
+				}
+			},
+			//获取开发配置
+			async getConfigByType() {
+				const {
+					data
+				} = await getConfigByType({
+					category: 2,
+					configType: 5
+				});
+				if (data.code == 200) {
+					let obj = JSON.parse(data.data.configValue)
+					//文件预览地址
+					uni.setStorageSync('filePreviewUrl', 'https://' + obj.fileExtranetUrl)
+					//小程序视频地址
+					uni.setStorageSync('cameraExtranetAgent', 'https://' + obj.cameraExtranetAgent)
+					//MQTT地址
+					uni.setStorageSync('mqttUrl', Decrypt(obj.mqttExtranetUrl))
+					//MQTT地址-内网
+					uni.setStorageSync('mqttIntranetUrl', Decrypt(obj.mqttIntranetUrl))
+					//MQTT账号
+					uni.setStorageSync('mqttUser', Decrypt(obj.mqttExtranetUser))
+					//MQTT密码
+					uni.setStorageSync('mqttPassword', Decrypt(obj.mqttExtranetPassword))
+					//版本号
+					if(config.weChatProgramVersion === obj.weChatProgramVersion){
+						uni.setStorageSync('weChatProgramVersion', true)
+					}else{
+						uni.setStorageSync('weChatProgramVersion', false)
+					}
+					//文件浏览环境
+					uni.setStorageSync('fileBrowseEnvironment','http://'+Decrypt(obj.fileBrowseEnvironment))
+					uni.setStorageSync('fileBrowseEnvironmentExtranet','https://'+Decrypt(obj.fileBrowseEnvironmentExtranet))
+				}
+			},
+			//获取权限字段
+			async systemAppletRolePermission() {
+				let self = this;
+				const {
+					data
+				} = await systemAppletRolePermission();
+				if (data.code == 200) {
+					uni.setStorageSync('permissions', data.data.data)
+					uni.setStorageSync('controlsRestrict', data.data.roleKeys ? data.data.roleKeys : [])
+					uni.setStorageSync('user', data.data.userInfo)
+				}
+			},
+			//查询身份
+			async securityDataStatisticsGetUserIdentity(routeUrl) {
+				let self = this;
+				const {
+					data
+				} = await securityDataStatisticsGetUserIdentity();
+				if(data.schoolAdmin){
+					//校级管理员
+					uni.setStorageSync('identityData',{
+						type:'schoolAdmin'
+					});
+				}else if(data.collegeAdmin){
+					//院级管理员
+					uni.setStorageSync('identityData',{
+						type:'collegeAdmin'
+					});
+				}else if(data.schoolGroup){
+					//校级督导组
+					uni.setStorageSync('identityData',{
+						type:'schoolGroup',
+						groupIds:data.groupIds
+					});
+				}else if(data.collegeGroup){
+					//院级督导组
+					uni.setStorageSync('identityData',{
+						type:'collegeGroup',
+						groupIds:data.groupIds
+					});
+				}else{
+					uni.removeStorageSync('identityData');
+				}
+			},
 		},
 	}
 </script>
 
 <style lang="stylus" scoped>
-	#ssoLoginH5 {
+	#ssoCertification {
 		width:100%;
 		height:100%;
 		overflow:scroll;
+		text-align: center;
+		line-height:200rpx;
 	}
 </style>