main
p4payi836 1 month ago
parent 38331167f8
commit b185eecd85

@ -0,0 +1,169 @@
<template>
<view class="login-container">
<!-- Login Form -->
<view class="form">
<view class="input-group">
<text class="icon">👤</text>
<input class="input" v-model="form.username" placeholder="请输入账号" />
</view>
<view class="input-group">
<text class="icon">🔒</text>
<input class="input" v-model="form.password" type="password" placeholder="请输入密码" />
</view>
</view>
<!-- Buttons -->
<button class="login-button" @click="login"></button>
<button class="register-button" @click="navigateToRegister"></button>
</view>
</template>
<script setup>
import { ref } from 'vue';
const form = ref({
username: '',
password: ''
});
const loginData = ref([]);
const navigateToRegister = () => {
uni.navigateTo({
url: '/pages/login/zhuce/shenfen',
success: res => {
console.log("成功跳转到注册页面");
},
fail: err => {
console.error("跳转失败:", err);
}
});
}
const login = async () => {
try {
let res = await uni.request({
url: "http://10.198.140.41:3000/api/teacher/login",
method: 'POST',
header: {
'Content-Type': 'application/json' // JSON
},
data: {
username: form.value.username,
password: form.value.password
},
});
console.log("响应数据:", res.data); //
console.log("登录信息:",form.value);
if (res && res.data) {
loginData.value = res.data; //
if(res.data.message === "登录成功"){
uni.switchTab({
url:"/pages/index/index"/* 跳转到导航栏页面 */
})
console.log("登录成功!");
}
}
} catch (error) {
console.error("登录请求失败:", error); //
}
};
</script>
<style scoped>
.login-container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 20px;
height: 760px;
}
.title {
font-size: 30px;
font-weight: bold;
}
.subtitle {
font-size: 16px;
margin-top: 10px;
}
.form {
width: 100%;
max-width: 300px;
margin-bottom: 20px;
margin-top: 140px;
}
.input-group {
background-color: #fff;
border: 1px solid #ccc;
border-radius: 5px;
display: flex;
align-items: center;
height: 36px;
margin-bottom: 15px;
background-color: white;
border-radius: 25px;
padding: 10px;
}
.icon {
margin-right: 10px;
font-size: 18px;
}
.input {
flex: 1;
border: none;
outline: none;
}
.login-button {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
max-width: 300px;
padding: 10px;
height: 48px;
background-color: #4CAF50;
color: white;
border: none;
border-radius: 25px;
text-align: center;
margin-bottom: 10px;
}
.register-button {
display: flex;
align-items: center;
justify-content: center;
height: 48px;
width: 100%;
max-width: 300px;
padding: 10px;
background-color: transparent;
color: #4CAF50;
border: 1px solid #4CAF50;
border-radius: 25px;
text-align: center;
}
.error-message {
color: red;
margin-top: 20px;
}
</style>
Loading…
Cancel
Save