<template>
	<view class="mobile-login-page">
		<view class="login-top">
			<img class="login-logo" :src="systemLogo">
			<text class="login-text">
				{{systemName}}
			</text>
		</view>
		<view class="login-body">
			<view class="input-container">
				<uni-icons type="auth" size="30" class="input-icon"></uni-icons>
				<input type="text" v-model="userName" placeholder="请输入用户名" class="input-item-1" />
			</view>
			<view class="input-container">
				<uni-icons type="locked" size="30" class="input-icon"></uni-icons>
				<input type="password" v-model="password" placeholder="请输入密码" class="input-item-1" />
			</view>
			<view class="login-change">
				<checkbox-group>
					<label class="checkbox-zhanghao">
						<checkbox value="cb" color="#0550e5" checked="true"/>记住此账号
					</label>
				</checkbox-group>
				<text class="checkbox-zhanghao" @click="forgetPassword"> 忘记密码？</text>
			</view>
			<button class="login-btn" @click="handleLogin">登录</button>
		</view>
	</view>
</template>

<script setup>
	import CryptoJS from 'crypto-js';
	import {toast} from "@/utils/common";
	import {onLoad} from "@dcloudio/uni-app";
	import {getAppConfig,login} from '@/api/login.js'
	import passwordLli from "@/components/password-lli/password-lli.vue";
	import JSEncrypt from 'jsencrypt';
	import {ref} from 'vue';
	const passLLiRef = ref(null)
	let systemName = ref('')
	let systemLogo = ref('../static/images/login/login-logo-sj.png')
	let userName = ref('')
	let password = ref('')
	let configData = ref(null)
	let encryptedPassword = ref(''); // 用于存储加密后的密码
	 
	// 密钥和偏移量（IV），需要转换为CryptoJS的WordArray格式
	const key = CryptoJS.enc.Utf8.parse('ax58bc32hp54kt68');
	const iv = CryptoJS.enc.Utf8.parse('cf46xy53kb64wt25');
	// 加密算法：AES/CBC 偏移：PKCS5Padding
	function encryptPassword(plainText) {
	  const ciphertext = CryptoJS.AES.encrypt(plainText, key, {
	    iv: iv,
	    mode: CryptoJS.mode.CBC,
	    padding: CryptoJS.pad.Pkcs7
	  });
	  return ciphertext.toString();
	}
	
	 onLoad(() => {
	 	getLoginInit()
	 })
	 
	function getLoginInit(){
		getLoginConfig();
	}
	
	function getLoginConfig(){
		/* config().then(res => {
			// console.log(res.data,'res');
			// systemName.value = res.data.name;
			// systemLogo.value = res.data.logo;
			// configData.value = res.data;
		}) */
	}
	
	function handleLogin(){
		if(userName.value.length ===0){
			toast('请输入手机号！')
			return
		}
		
		if(password.value.length ===0){
			toast('请输入密码！')
			return
		}
		
		encryptedPassword.value = encryptPassword(password.value.trim());
		// 去除 userName 两端的空格
		const trimmedUserName = userName.value.trim();
		
		let req = {
			userName: trimmedUserName,
			password: encryptedPassword.value,
		}


		login(req).then(res => {
			// 接口数据记缓存
			let obj = JSON.stringify(res.data)
			console.log(obj,'obj');
			uni.setStorage({
				key: 'Mta-Auth',
				data: obj 
			});
			// 待补充----判断checked信息，记缓存用户信息
			
			// 待补充根据后台返回值跳转不同页面
			if(res.data.modules ==='1'){
				// 考试
				uni.switchTab({
					url: '/pages/index/index'
				});
			}else{
				// 培训
				uni.switchTab({
					url: '/pages/index/index'
				});
			}
			
		})
	}
	
	function forgetPassword(){
		toast('请联系管理员修改密码！');
	}
</script>

<style lang="scss" scoped>
	.mobile-login-page {
		width: 100%;
		height: 100%;
		background: #FFF;
		text-align: center;
		position: absolute;
		overflow: auto;

		.login-top {
			height: 540rpx;
			background-size: cover;
			background-image: url("../static/images/login/login-bj-sj.png");
			// logo

		}

		.login-logo {
			width: 266rpx;
			max-height: 100rpx;
			margin-top: 156rpx;
		}

		.login-text {
			display: block;
			font-size: 64rpx;
			color: #FFF;
			margin: 24rpx 0 0;
			font-weight: 700
		}

		// 登录区域
		.login-body {
			width: 100%;
			padding: 0 60px;
			box-sizing: border-box;
			margin: 140rpx auto 0;

			.input-container {
				display: flex;
				align-items: center;
				/* 垂直对齐 */
				position: relative;
				height: 100rpx;
				border-radius: 50rpx;
				background-color: #F7F7F7;
				padding: 0;
				margin-bottom: 40rpx;

			}

			.input-icon {
				margin-left: 20rpx;
				/* 图标和输入框之间的间距 */
				color: #999;
			}


		}

		// 输入框
		.login-btn {
			width: 100%;
			height: 100rpx;
			margin-top: 60rpx;
			font-size: 36rpx;
			letter-spacing: 7.2rpx;
			background: linear-gradient(0deg, #436aff 0%, #234ff7 100%);
			border-radius: 50rpx;
			border: 0;
			color: #F7F7F7;
			line-height: 100rpx;
		}

		.login-change {
			display: flex;
			justify-content: space-between;
			align-items: center;

			.checkbox-zhanghao {
				font-size: 24rpx;
				color: #565656;

			}
		}
	}
</style>