<template>
	<view class="content min-h-dvh flex items-center justify-center px-4">
		<wd-form class="mb-36" ref="form" :model="model">
			<wd-cell-group border>
				<wd-input label="用户名" label-width="100px" prop="username" clearable v-model="model.username" placeholder="请输入用户名"
					:rules="[{ required: true, message: '请填写用户名' }]" />
				<wd-input label="密码" label-width="100px" prop="password" show-password clearable v-model="model.password"
					placeholder="请输入密码" :rules="[{ required: true, message: '请填写密码' }]" />
			</wd-cell-group>
			<view class="footer mt-4">
				<wd-button :loading="loading" type="primary" size="medium" @click="handleSubmit" block>登录</wd-button>
			</view>
		</wd-form>
	</view>
</template>

<script setup>
import { ref } from 'vue'
import user from '@/api/modules/user.js'
import utils from '@/utils/utils.js'
import md5 from 'js-md5';

const model = ref({
	username: "",
	password: "",
})

const loading = ref(false)
const form = ref(null)

// if (token) {
// 	const user_info = uni.getStorageSync("user_info");
// 	if (user_info.type == 1) {
// 		utils.toUrl("/store/index/index")
// 	}
// } else {
// 	utils.toUrl("/pages/login/index")
// }

function handleSubmit() {
	loading.value = true
	form.value
		.validate()
		.then(({ valid, errors }) => {
			if (valid) {

				user.login({
					...model.value,
					password: md5(model.value.password)
				}).then(res => {

					if (res.code == 0) {
						uni.setStorageSync("token", res.data.access_token);
						uni.setStorageSync("user_info", res.data.user_info);
						uni.showToast({
							icon: "none",
							title: "登录成功",
						});

						if (res.data.user_info.type == 1) {
							utils.toUrl("/store/index/index", "redirectTo")
						} else {
							uni.showToast({
								title: '登录平台开发中 ···',
								icon: 'none'
							})
						}
						loading.value = false
					} else {
						uni.showToast({
							title: res.message,
							icon: 'none'
						})
						loading.value = false
					}

					loading.value = false
				})
			}
		})
		.catch((error) => {
			console.log(error, 'error')
			loading.value = false
		})
}
</script>

<style>
.content {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.logo {
	height: 200rpx;
	width: 200rpx;
	margin-top: 200rpx;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 50rpx;
}

.text-area {
	display: flex;
	justify-content: center;
}

.title {
	font-size: 36rpx;
	color: #8f8f94;
}
</style>
