import axios from "axios"; export default { name: "AppNavbar", data() { return { activeIndex: "1", activeIndex2: "1", }; }, methods: { logout(){ localStorage.removeItem("token") localStorage.removeItem("id") this.$router.push("/") }, async deleteUser(){ const userid = localStorage.getItem('id') this.$confirm('确定要注销吗?','提示',{ confirmButtonText: "确定", cancelButtonText: "取消", type: "warning", }).then(async () => { try { // 根据需要替换为你的 API 地址 const apiUrl = http://127.0.0.1:5001/users/${userid}; const token = localStorage.getItem("token"); // 从 localStorage 中获取存储的令牌 const response = await axios.delete(apiUrl, { headers: { Authorization: Bearer ${token}, }, }); if (response.status === 200) { this.$message({ 'message':"注销成功!", 'type':'success' }) console.log(response.data.message); // 在控制台输出成功删除的消息 this.$router.push('/') // 在这里添加其他操作,例如更新界面或通知用户 } } catch (error) { console.error("Error deleting user:", error); // 在这里处理错误,例如通知用户删除失败 } }) .catch(() => { this.$message.info("取消注销"); this.$router.push('/main/userinfo') }); }, handleSelect(key, keyPath) { console.log(key, keyPath); }, }, };什么意思
时间: 2023-12-06 18:43:36 浏览: 77
这是一个 Vue.js 组件,包含了一个顶部导航栏的实现。其中,组件的 data 中包含了两个变量 activeIndex 和 activeIndex2,methods 中包含了三个方法:logout、deleteUser 和 handleSelect。
logout 方法用于清除本地存储的 token 和 id,并且跳转到登录页面。
deleteUser 方法用于删除用户信息,其中会弹出确认框提示用户是否确定要注销。如果用户点击确定,则会发送一个 Delete 请求到后端 API,删除对应用户的信息。如果删除成功,则会在控制台输出成功删除的消息,并且跳转到登录页面;否则会在控制台输出错误信息,并且在界面上提示用户删除失败。
handleSelect 方法用于处理导航栏菜单的点击事件,可以在控制台输出点击的菜单项的 key 和 keyPath。
阅读全文