InspectionCleaning/pages/login/login.vue

91 lines
2.3 KiB
Vue

<template>
<view class="content">
<view
style="margin-top: 50rpx; display: flex; align-items: center; padding-right: 50rpx"
>
<view style="margin-right: 50rpx">账号</view>
<u-input v-model="phone" border placeholder="账号"></u-input>
</view>
<view
style="margin-top: 50rpx; display: flex; align-items: center; padding-right: 50rpx"
>
<view style="margin-right: 50rpx">账号</view>
<u-input v-model="pwd" border placeholder="密码"></u-input>
</view>
<u-button type="primary" @click="loginFn" style="margin-top: 50rpx">登陆</u-button>
<u-button type="primary" @click="login1Fn" style="margin-top: 50rpx"
>登陆13800451500</u-button
>
<u-button type="primary" @click="login2Fn" style="margin-top: 50rpx"
>登陆18174010562</u-button
>
</view>
</template>
<script>
import bcrypt from "bcryptjs";
import { loginApi } from "@/api/apiList";
export default {
data() {
return {
phone: "13800451500",
pwd: "123456",
};
},
mounted() {
// console.log("%c%s", "color:red", "mounted--");
uni.hideLoading(); // 关闭 Loading
},
onLoad() {},
methods: {
login1Fn() {
this.phone = "13800451500";
this.pwd = "123456";
this.loginFn();
},
login2Fn() {
this.phone = "18174010562";
this.pwd = "123456";
this.loginFn();
},
async loginFn() {
let salt = bcrypt.genSaltSync(12);
console.log("666");
let req = {
phone: this.phone,
password: bcrypt.hashSync(this.pwd, salt),
};
console.log(req, "req--");
const res = await loginApi(req);
console.log(res, "res--");
if (!res.succeed) {
uni.showToast({
title: res.error || "登录失败",
icon: "none",
});
return;
}
let token = res.data;
uni.setStorageSync("token", "Bearer " + token);
uni.switchTab({
url: "/pages/index/index",
success() {
console.log("跳转成功");
window.initFn = null; // 清除全局函数
},
fail(err) {
console.error("跳转失败", err);
},
});
},
},
};
</script>
<style lang="scss" scoped>
.content {
height: 100vh; // 确保容器有明确高度
// background-color: skyblue;
overflow: hidden;
padding-bottom: 100rpx;
}
</style>