回滚备份
This commit is contained in:
parent
4b0c7ec534
commit
e4a21e1c6c
@ -1,29 +1,29 @@
|
|||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
|
|
||||||
const API_URL = 'http://localhost:8080/meetings';
|
//const API_URL = 'http://localhost:8080/meetings';
|
||||||
|
|
||||||
class MeetingService {
|
class MeetingService {
|
||||||
getAllMeetings() {
|
getAllMeetings() {
|
||||||
return axios.get(`${API_URL}/listAll`);
|
return axios.get(`/api/meetings/listAll`);
|
||||||
}
|
}
|
||||||
|
|
||||||
getMeetingById(id) {
|
getMeetingById(id) {
|
||||||
// 使用 POST 方法并传递请求体
|
// 使用 POST 方法并传递请求体
|
||||||
return axios.post(`${API_URL}/getMeetingById`, { id });
|
return axios.post(`/api/meetings/getMeetingById`, { id });
|
||||||
}
|
}
|
||||||
|
|
||||||
createMeeting(meeting) {
|
createMeeting(meeting) {
|
||||||
return axios.post(`${API_URL}/addMeeting`, meeting);
|
return axios.post(`/api/meetings/addMeeting`, meeting);
|
||||||
}
|
}
|
||||||
|
|
||||||
updateMeeting(id, meeting) {
|
updateMeeting(id, meeting) {
|
||||||
// 使用 POST 方法而不是 PUT 方法
|
// 使用 POST 方法而不是 PUT 方法
|
||||||
return axios.post(`${API_URL}/updateMeeting`, meeting);
|
return axios.post(`/api/meetings/updateMeeting`, meeting);
|
||||||
}
|
}
|
||||||
|
|
||||||
deleteMeeting(id) {
|
deleteMeeting(id) {
|
||||||
// 使用 POST 方法并传递请求体
|
// 使用 POST 方法并传递请求体
|
||||||
return axios.post(`${API_URL}/deleteMeeting`, { id });
|
return axios.post(`/api/meetings/deleteMeeting`, { id });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -33,15 +33,31 @@ const actions = {
|
|||||||
},
|
},
|
||||||
async createMeeting({ dispatch }, meeting) {
|
async createMeeting({ dispatch }, meeting) {
|
||||||
try {
|
try {
|
||||||
await MeetingService.createMeeting(meeting);
|
const formattedMeeting = {
|
||||||
|
name: meeting.name,
|
||||||
|
organizer: meeting.organizer,
|
||||||
|
startTime: meeting.startTime,
|
||||||
|
endTime: meeting.endTime,
|
||||||
|
content: meeting.content,
|
||||||
|
status: 'Scheduled' // 确保状态为 'Scheduled'
|
||||||
|
};
|
||||||
|
await MeetingService.createMeeting(formattedMeeting);
|
||||||
dispatch('fetchMeetings');
|
dispatch('fetchMeetings');
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Failed to create meeting:', error);
|
console.error('Failed to create meeting:', error);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async updateMeeting({ dispatch }, meeting) {
|
async editMeeting({ dispatch }, meeting) {
|
||||||
try {
|
try {
|
||||||
await MeetingService.updateMeeting(meeting.id, meeting);
|
const formattedMeeting = {
|
||||||
|
name: meeting.name,
|
||||||
|
organizer: meeting.organizer,
|
||||||
|
startTime: meeting.startTime,
|
||||||
|
endTime: meeting.endTime,
|
||||||
|
content: meeting.content,
|
||||||
|
status: 'Scheduled' // 确保状态为 'Scheduled'
|
||||||
|
};
|
||||||
|
await MeetingService.updateMeeting(meeting.id, formattedMeeting);
|
||||||
dispatch('fetchMeetings');
|
dispatch('fetchMeetings');
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Failed to update meeting:', error);
|
console.error('Failed to update meeting:', error);
|
||||||
|
|||||||
@ -16,14 +16,14 @@ const handleLogin = async () => {
|
|||||||
console.log('Logging in with', { username: username.value, password: password.value, rememberMe: rememberMe.value });
|
console.log('Logging in with', { username: username.value, password: password.value, rememberMe: rememberMe.value });
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const response = await store.dispatch('authentication/login', {
|
const response = await axios.post('/api/users/login', {
|
||||||
username: username.value,
|
username: username.value,
|
||||||
password: password.value,
|
password: password.value,
|
||||||
});
|
});
|
||||||
|
|
||||||
if (response.status === 200) {
|
if (response.status === 200) {
|
||||||
ElMessage.success('登录成功');
|
ElMessage.success('登录成功');
|
||||||
router.push('/profile');
|
await router.push('/profile');
|
||||||
} else {
|
} else {
|
||||||
ElMessage.error('登录失败,请稍后再试');
|
ElMessage.error('登录失败,请稍后再试');
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,17 +1,16 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import {ref} from 'vue';
|
import { ref } from 'vue';
|
||||||
import {ElButton, ElForm, ElFormItem, ElInput, ElMessage, ElMessageBox} from 'element-plus';
|
import { ElButton, ElForm, ElFormItem, ElInput, ElMessage, ElMessageBox } from 'element-plus';
|
||||||
import 'element-plus/dist/index.css';
|
import 'element-plus/dist/index.css';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
import {useRouter} from 'vue-router';
|
import { useRouter } from 'vue-router';
|
||||||
|
|
||||||
const username = ref('');
|
const username = ref('');
|
||||||
const phoneNumber = ref('');
|
const phoneNumber = ref('');
|
||||||
const password = ref('');
|
const password = ref('');
|
||||||
const verificationCode = ref('');
|
const verificationCode = ref('');
|
||||||
const correctCode = ref('');
|
const correctCode = '1234'; // 固定验证码
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const verificationCodeImage = ref('');
|
|
||||||
|
|
||||||
const handleRegister = async () => {
|
const handleRegister = async () => {
|
||||||
console.log('Registering with', {
|
console.log('Registering with', {
|
||||||
@ -20,43 +19,26 @@ const handleRegister = async () => {
|
|||||||
password: password.value,
|
password: password.value,
|
||||||
verificationCode: verificationCode.value
|
verificationCode: verificationCode.value
|
||||||
});
|
});
|
||||||
if (verificationCode.value!==correctCode.value){
|
|
||||||
|
if (verificationCode.value !== correctCode) {
|
||||||
await ElMessageBox.alert("验证码错误");
|
await ElMessageBox.alert("验证码错误");
|
||||||
return
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const response = await axios.post('/api/register', {
|
const response = await axios.post('/api/users/register', { // 修改为正确的端点
|
||||||
username: username.value,
|
username: username.value,
|
||||||
phoneNumber: phoneNumber.value,
|
|
||||||
password: password.value,
|
password: password.value,
|
||||||
verificationCode: verificationCode.value,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
if (response.status === 200) {
|
if (response.status === 200) {
|
||||||
ElMessage.success(response.data.message);
|
ElMessage.success('注册成功');
|
||||||
router.push('/login');
|
await router.push('/login');
|
||||||
} else {
|
} else {
|
||||||
await ElMessageBox.alert(response.data.message);
|
await ElMessageBox.alert(response.data.message);
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
await ElMessageBox.alert(error.response.data.message || '注册失败,请稍后再试');
|
await ElMessageBox.alert(error.response?.data?.message || '注册失败,请稍后再试');
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
const getVerificationCode = async () => {
|
|
||||||
try {
|
|
||||||
const response = await axios.get('/api/getVerificationCode');
|
|
||||||
|
|
||||||
if (response.status === 200) {
|
|
||||||
verificationCodeImage.value = '/api/'+response.data.path; // 更新验证码图片路径
|
|
||||||
correctCode.value = response.data.code;
|
|
||||||
ElMessage.success('验证码已获取');
|
|
||||||
} else {
|
|
||||||
ElMessage.error('获取验证码失败,请稍后再试');
|
|
||||||
}
|
|
||||||
} catch (error) {
|
|
||||||
ElMessage.error('获取验证码失败,请稍后再试');
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
@ -80,20 +62,13 @@ const getVerificationCode = async () => {
|
|||||||
</ElFormItem>
|
</ElFormItem>
|
||||||
<ElFormItem>
|
<ElFormItem>
|
||||||
<label for="verificationCode">验证码</label>
|
<label for="verificationCode">验证码</label>
|
||||||
<ElInput v-model="verificationCode" type="text" id="verificationCode" placeholder="请输入验证码" required>
|
<ElInput v-model="verificationCode" type="text" id="verificationCode" placeholder="请输入验证码" required/>
|
||||||
<template #append>
|
|
||||||
<ElButton type="primary" @click="getVerificationCode" class="verification-button">获取验证码</ElButton>
|
|
||||||
</template>
|
|
||||||
</ElInput>
|
|
||||||
</ElFormItem>
|
|
||||||
<ElFormItem v-if="verificationCodeImage">
|
|
||||||
<img :src="verificationCodeImage" alt="验证码" />
|
|
||||||
</ElFormItem>
|
</ElFormItem>
|
||||||
<ElFormItem>
|
<ElFormItem>
|
||||||
<ElButton type="primary" native-type="submit" class="register-button">注册</ElButton>
|
<ElButton type="primary" native-type="submit" class="register-button">注册</ElButton>
|
||||||
</ElFormItem>
|
</ElFormItem>
|
||||||
<ElFormItem>
|
<ElFormItem>
|
||||||
<ElButton type="text" @click="() => $router.push('/login')">返回登录</ElButton>
|
<ElButton type="text" @click="() => router.push('/login')">返回登录</ElButton>
|
||||||
</ElFormItem>
|
</ElFormItem>
|
||||||
</ElForm>
|
</ElForm>
|
||||||
</div>
|
</div>
|
||||||
@ -137,14 +112,6 @@ h2 {
|
|||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.verification-button {
|
|
||||||
width: 120px; /* 确保按钮宽度合适 */
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
align-items: center;
|
|
||||||
padding: 0; /* 去除默认内边距 */
|
|
||||||
}
|
|
||||||
|
|
||||||
.el-button {
|
.el-button {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 0.75rem;
|
padding: 0.75rem;
|
||||||
|
|||||||
@ -35,15 +35,19 @@ export default {
|
|||||||
startTime: '',
|
startTime: '',
|
||||||
endTime: '',
|
endTime: '',
|
||||||
content: '',
|
content: '',
|
||||||
status: 'Active'
|
status: 'Scheduled' // 确保状态为 'Scheduled'
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
...mapActions('meetingManagement', ['createMeeting']),
|
...mapActions('meetingManagement', ['createMeeting']),
|
||||||
async submitForm() {
|
async submitForm() {
|
||||||
await this.createMeeting(this.meeting);
|
try {
|
||||||
this.$router.push({ name: 'MeetingManagement' });
|
await this.createMeeting(this.meeting);
|
||||||
|
this.$router.push({ name: 'MeetingManagement' });
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Failed to create meeting:', error);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
cancel() {
|
cancel() {
|
||||||
this.$router.push({ name: 'MeetingManagement' });
|
this.$router.push({ name: 'MeetingManagement' });
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user