<template>
	<view class="container">
		<view class="container_text">
			<image class="banner-img" src="/static/img/logo.png" mode="widthFix"></image>
		</view>
		<view class="login_text">
			<view class="login_input flex">
				<view class="login_img">
					<image src="/static/icon/ze.png"></image>
				</view>
				<view class="login_name">
					<input class="uni-input" v-model="account" focus :placeholder="$t('login.a1')" />
				</view>
			</view>
			<view class="login_input flex">
				<view class="login_img">
					<image src="/static/icon/ze2.png"></image>
				</view>
				<view class="login_name"><input class="uni-input" type="password" v-model="passward" focus
						:placeholder="$t('login.a3')" /></view>
			</view>
			<view>
				<button type="green" class="uni-button uni-button-green" @click="toLogin">{{$t('login.a4')}}</button>
			</view>
			<view><button type="green" class="uni-button uni-button-green uni-button-green-plain" plain="true"
					hover-class="none" @click="register">{{$t('login.a7')}}</button></view>
			<navigator url="./forget">
				<view class="forget">{{$t('login.b2')}}</view>
			</navigator>
		</view>
	</view>
</template>

<script>
	import {
		mapMutations
	} from 'vuex';
	import {
		login
	} from '@/api/login.js';
	import {
		getUserInfo
	} from '@/api/user.js';
	// #ifdef APP-PLUS
	// applelogin接口需要开发编写，基础项目中可能没有
	import {
		applelogin
	} from '@/api/set.js';
	// loginWx接口需要开发编写，基础项目中可能没有
	import {
		loginWx
	} from '@/api/login.js';
	// #endif
	// #ifdef H5
	import {
		loginWinxin
	} from '@/utils/wxAuthorized';
	import {
		getAppVersion
	} from '@/api/index.js'
	// #endif

	export default {
		data() {
			return {
				// account: '13245678911' ,// 账号
				// passward: '132456', //密码
				account: '',
				passward: '',
				// #ifdef APP-PLUS
				is_ios: false, //判断是否为ios手机
				is_apple_login: false, //是否有ios授权登录功能
				// #endif
			};
		},
		onLoad() {
			let obj = this;
			uni.setNavigationBarTitle({
				title: this.$t("login.a4"),
			});
			// #ifdef APP-PLUS
			let system = uni.getStorageSync('platform');
			// 判断是否为ios
			if (system == 'ios') {
				obj.is_ios = true;
			}
			uni.getSystemInfo({
				success(e) {
					if (+e.system.split('.')[0] >= 13) {
						obj.is_apple_login = true;
					}
				}
			})
			// #endif
		},
		methods: {
			...mapMutations('user', ['setUserInfo', 'login']),
			// #ifdef H5
			domApp(type) {
				console.log('111');
				const bool = navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger';
				if (bool) {
					uni.showModal({
						// title: '提示',
						title: this.$t("enter.a7"),
						// content: '无法在微信中下载，请用浏览器打开下载',
						content: this.$t("login.c2"),
						showCancel: false,
					});
				} else {
					if (type == 'apk') {
						getAppVersion().then((res) => {
							console.log(res, 'res');
							window.open(res.data.apk);
						}).catch((err) => {
							console.log(err, 'err');
						})
						return
					}
					if (type == "ios") {
						window.open("/index/dom/iosdom.mobileconfig");
					}
				}
			},
			// #endif
			// 微信登录
			wecahtLogin(type) {
				let obj = this;
				// #ifdef H5
				let weichatBrowser = uni.getStorageSync('weichatBrowser');
				if (weichatBrowser) {
					loginWinxin();
				}
				// #endif
				// #ifdef APP-PLUS
				uni.login({
					provider: type,
					success(e) {
						uni.getUserInfo({
							provider: type,
							success(es) {
								if (type === 'weixin') {
									loginWx(es.userInfo)
										.then(e => {
											uni.setStorageSync('token', e.data.token);
											getUserInfo({}).then(e => {
												obj.login();
												// 保存返回用户数据
												obj.setUserInfo(e.data);
												//成功跳转首页
												uni.switchTab({
													url: '/pages/index/index'
												});
											});
										})
										.catch(e => {
											console.log(e);
											uni.showModal({
												content: JSON.stringify(e),
												success() {},
												fail() {}
											});
										});
								}
								if (type === 'apple') {
									console.log(es.userInfo);
									applelogin({
											account: es.userInfo.openId,
										})
										.then(function(e) {
											console.log(e, 'token')
											uni.setStorageSync('token', e.data.token);
											getUserInfo({}).then(e => {
												obj.login();
												// 保存返回用户数据
												obj.setUserInfo(e.data);
												//成功跳转首页
												uni.switchTab({
													url: '/pages/index/index'
												});
											});

										})
										.catch(function(e) {
											console.log(e);
										});
								}

							},
							fail(es) {
								uni.showModal({
									content: JSON.stringify(es),
									success() {
										// obj.login();
										// // 保存返回用户数据
										// obj.setUserInfo(e.data);
										// //成功跳转首页
										// uni.switchTab({
										// 	url: '/pages/index/index'
										// });
									}
								});
							}
						});
					},
					fail(e) {
						uni.showModal({
							title: '提示',
							content: JSON.stringify(e),
							showCancel: false
						});
					}
				});
				// #endif
			},
			//登录
			async toLogin() {
				let obj = this;
				obj.logining = true;
				if (obj.account == '') {
					obj.$api.msg(obj.$t("login.a1"));
					// obj.$api.msg('132456789');
					return;
				}
				if (obj.passward == '') {
					obj.$api.msg(obj.$t("login.a3"));
					// obj.$api.msg('132456');
					return;
				}
				login({
						account: obj.account,
						password: obj.passward
					})
					.then(function(e) {
						uni.setStorageSync('token', e.data.token);
						getUserInfo({}).then(e => {
							obj.login();
							// 保存返回用户数据
							obj.setUserInfo(e.data);
							let ur = '';
							let url = uni.getStorageSync('present') || '';
							if (url != '/pages/public/login' && url) {
								ur = uni.getStorageSync('present')
							} else {
								ur = '/pages/index/index';
							}
							//成功跳转首页
							uni.switchTab({
								url: ur,
								fail(e) {
									uni.navigateTo({
										url: ur,
										fail(e) {
											uni.switchTab({
												url: '/pages/index/index',
											});
										}
									});
								}
							});
						});
					})
					.catch(function(e) {
						console.log(e);
					});
			},
			//跳转注册页
			register() {
				uni.navigateTo({
					url: `/pages/public/register`
				});
			},
			// 后退
			navBack() {
				uni.navigateBack();
			}
		}
	};
</script>

<style lang="scss">
	
	.container {
		width: 100%;
		height: 100%;
		background-size: 100%;
		background-image: url("../../static/img/loginBg.png");
		background-repeat: no-repeat;
		background-position: 100% 100%;
	}
	
	/* #ifdef APP-PLUS */

	.ios_login {
		width: 260rpx;
		border-radius: 12rpx;
		justify-content: center;
		border: 1px solid #212121;
		margin: 24rpx auto;
		padding: 10rpx;
		// background-color: #212121;
		color: #ffffff;

		.loginIcon {
			width: 50rpx;
			height: 50rpx;
		}

		.weixin_text {
			line-height: 1;
			margin-left: 20rpx;
			color: #ffffff !important;
		}
	}

	/* #endif */
	.ios_login {
		width: 350rpx;
		border-radius: 12rpx;
		justify-content: center;
		border: 1px solid #212121;
		margin: 24rpx auto;
		padding: 15rpx;
		// background-color: #212121;
		color: #ffffff;
		font-size: 32rpx;

		.loginIcon {
			font-size: 35rpx;
			width: 35rpx;
			height: 35rpx;
		}

		.weixin_text {
			line-height: 1;
			margin-left: 20rpx;
			color: #ffffff !important;
		}
	}

	page {
		height: 100%;
	}

	.container_text {
		width: 100%;
		height: 500rpx;
		top: 0rpx;

		.banner-img {
			width: 144rpx;
			margin-top: 100rpx;
			margin-left: 302rpx;
		}
	}

	.login_text {
		margin: auto 10rpx;
		position: relative;
		padding: 100rpx 74rpx;
		// background-color: #000000;
		margin-top: -180rpx;
		border-radius: 20rpx;

		.login_input {
			border-bottom: 1px solid #f0f0f0;
			margin-bottom: 65rpx;

			.login_img image {
				height: 35rpx;
				width: 29rpx;
			}

			.uni-input {
				text-align: left;
				width: 100%;
				font-size: 28rpx !important;
			}

			.login_name {
				margin-left: 20rpx;
				flex-grow: 1;
				color: #fff;
			}
		}

		.other {
			margin-top: 60rpx;

			.fenge {
				width: 30%;
				height: 2rpx;
				background-color: #eeeeee;
			}

			.qita {
				font-size: 28rpx;
				color: #999999;
			}
		}

		.weixin {
			width: 75rpx;
			height: 75rpx;
			margin: 25rpx auto;
		}

		.weixin image {
			width: 100%;
			height: 100%;
		}

		.weixin_text {
			text-align: center;
			font-size: 28rpx;
			color: #999999;
		}

		.forget {
			font-size: 28rpx;
			width: 100%;
			text-align: right;
			color: #999999;
		}

		.uni-button-green {
			color: #1257FE;
			background-color: #FFF;
			margin: 40rpx 0rpx;
			border-radius: 10rpx;
		}

		.uni-button-green-plain {
			border: 1px solid #FFF;
			margin: 40rpx 0rpx;
			border-radius: 10rpx;
			color: #FFF;
			background-color: transparent;
		}

		.uni-button {
			height: 85rpx;
			line-height: 85rpx;
		}
	}

	.loginTitle {
		position: absolute;
		top: 250rpx;
		width: 100%;
		text-align: center;
		color: #cbb174;
		font-size: 40rpx;
	}

	/* #ifdef H5 */
	.loadapp {
		margin-top: 20rpx;
		border: 1px solid #feb041;
		background-color: transparent;
		color: #feb041;
		width: 45%;
	}

	/* #endif */
</style>