145 lines
3.7 KiB
Vue
145 lines
3.7 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";
|
|
|
|
const normalTabBar = [
|
|
{
|
|
pagePath: "/pages/index/planList",
|
|
iconPath: "/static/tab/planList.png",
|
|
selectedIconPath: "/static/tab/planList-active.png",
|
|
text: "计划",
|
|
},
|
|
{
|
|
pagePath: "/pages/index/index",
|
|
iconPath: "/static/tab/admin-home.png",
|
|
selectedIconPath: "/static/tab/admin-home-acitve.png",
|
|
text: "首页",
|
|
},
|
|
{
|
|
pagePath: "/pages/user/index",
|
|
iconPath: "/static/tab/admin-my.png",
|
|
selectedIconPath: "/static/tab/admin-my-active.png",
|
|
text: "设置",
|
|
},
|
|
];
|
|
this.$u.vuex("vuex_tabbar", normalTabBar);
|
|
this.loginFn("user");
|
|
},
|
|
login2Fn() {
|
|
this.phone = "18174010562";
|
|
this.pwd = "123456";
|
|
|
|
const adminTabBar = [
|
|
{
|
|
pagePath: "/pages/adminHome/index",
|
|
iconPath: "/static/tab/admin-home.png",
|
|
selectedIconPath: "/static/tab/admin-home-acitve.png",
|
|
text: "首页",
|
|
},
|
|
{
|
|
pagePath: "/pages/adminNfc/index",
|
|
iconPath: "/static/tab/nfc.png",
|
|
selectedIconPath: "/static/tab/nfc-active.png",
|
|
text: "nfc写入",
|
|
},
|
|
{
|
|
pagePath: "/pages/adminMy/index",
|
|
iconPath: "/static/tab/admin-my.png",
|
|
selectedIconPath: "/static/tab/admin-my-active.png",
|
|
text: "我的",
|
|
},
|
|
];
|
|
this.$u.vuex("vuex_tabbar", adminTabBar);
|
|
this.loginFn("admin");
|
|
},
|
|
async loginFn(type) {
|
|
let salt = bcrypt.genSaltSync(12);
|
|
let req = {
|
|
phone: this.phone,
|
|
password: bcrypt.hashSync(this.pwd, salt),
|
|
};
|
|
const res = await loginApi(req);
|
|
if (!res.succeed) {
|
|
uni.showToast({
|
|
title: res.error || "登录失败",
|
|
icon: "none",
|
|
});
|
|
return;
|
|
}
|
|
let token = res.data;
|
|
uni.setStorageSync("token", "Bearer " + token);
|
|
console.log(type, "type--");
|
|
if (type === "user") {
|
|
uni.switchTab({
|
|
url: `/pages/index/planList`,
|
|
});
|
|
}
|
|
if (type === "admin") {
|
|
uni.switchTab({
|
|
url: `/pages/adminHome/index`,
|
|
});
|
|
}
|
|
},
|
|
},
|
|
};
|
|
</script>
|
|
<style lang="scss" scoped>
|
|
.content {
|
|
height: 100vh; // 确保容器有明确高度
|
|
// background-color: skyblue;
|
|
overflow: hidden;
|
|
padding-bottom: 100rpx;
|
|
}
|
|
</style>
|