当前位置: 首页 > news >正文

腾讯云搭建网站计算机培训机构

腾讯云搭建网站,计算机培训机构,做网站还有前景么,学历提升机构哪家好Vue 用户登录的基本流程包括以下6个步骤&#xff1a; 步骤&#xff1a; 1. 创建登录表单 在前端&#xff0c;首先要创建一个登录表单&#xff0c;用户输入账号&#xff08;用户名、邮箱、手机号等&#xff09;和密码。 示例&#xff1a;Login.vue <template><div…

Vue 用户登录的基本流程包括以下6个步骤:

步骤:

1. 创建登录表单

在前端,首先要创建一个登录表单,用户输入账号(用户名、邮箱、手机号等)和密码。

示例:Login.vue

<template><div><form @submit.prevent="handleLogin"><div><label for="username">用户名</label><input type="text" id="username" v-model="username" placeholder="请输入用户名" /></div><div><label for="password">密码</label><input type="password" id="password" v-model="password" placeholder="请输入密码" /></div><button type="submit">登录</button></form></div>
</template><script>
export default {data() {return {username: '',password: ''};},methods: {handleLogin() {const userData = {username: this.username,password: this.password};this.$axios.post('/api/user/login', userData).then(response => {if (response.data.status === 'success') {// 登录成功,保存 token 到 localStorage 或 sessionStoragelocalStorage.setItem('authToken', response.data.token);this.$router.push('/admin');  // 跳转到管理页面} else {this.$message.error(response.data.message);  // 显示错误信息}}).catch(error => {this.$message.error('登录失败,请重试');});}}
};
</script>

2. 发送登录请求到后端

handleLogin 方法中,使用 axios 发送 POST 请求到后端 API /api/user/login,并携带用户输入的用户名和密码。

示例:后端登录接口(Node.js + Express)

app.post('/api/user/login', (req, res) => {const { username, password } = req.body;// 查找用户let query = '';let params = [];// 判断用户名是邮箱、电话还是普通用户名if (emailRegex.test(username)) {query = 'SELECT * FROM users WHERE email = ?';params = [username];} else if (phoneRegex.test(username)) {query = 'SELECT * FROM users WHERE phone = ?';params = [username];} else {query = 'SELECT * FROM users WHERE username = ?';params = [username];}db.query(query, params, (err, results) => {if (err) {return res.status(500).json({ message: '数据库错误' });}if (results.length === 0) {return res.status(404).json({ message: '用户不存在' });}const user = results[0];// 验证密码bcrypt.compare(password, user.password, (err, isMatch) => {if (err || !isMatch) {return res.status(401).json({ message: '密码错误' });}// 创建 JWT tokenconst token = jwt.sign({ id: user.id, username: user.username }, secretKey, { expiresIn: '1h' });res.status(200).json({status: 'success',message: '登录成功',token: token  // 将 token 返回给前端});});});
});

3. 保存 Token

在用户登录成功后,后端会返回一个 JWT(JSON Web Token)。前端接收到这个 token 后,需要将它存储到浏览器的 localStoragesessionStorage 中,以便后续的请求使用。

localStorage.setItem('authToken', response.data.token);

4. 进行路由保护

登录后,前端应该根据 token 来判断用户是否已认证。在每个需要认证的路由(例如管理页面)中,使用路由守卫进行验证。

示例:路由守卫

const router = new VueRouter({routes: [{path: '/admin',component: AdminPage,beforeEnter: (to, from, next) => {const token = localStorage.getItem('authToken');if (token) {next();  // 已登录,继续访问} else {next('/login');  // 未登录,重定向到登录页}}},{path: '/login',component: LoginPage}]
});

5. 发起受保护请求

在后续的 API 请求中,前端会把保存的 token 附加到请求头部,发送给后端验证。

示例:发起受保护的 API 请求

this.$axios.get('/api/protected/resource', {headers: {Authorization: `Bearer ${localStorage.getItem('authToken')}`}
}).then(response => {console.log('Protected data:', response.data);}).catch(error => {console.error('Error:', error.response);});

6. 登出功能

用户登出时,前端需要删除存储的 token,并跳转到登录页面。

示例:登出功能

logout() {localStorage.removeItem('authToken');  // 删除 tokenthis.$router.push('/login');  // 跳转到登录页面
}

总结流程:

  1. 用户在登录页输入用户名和密码。
  2. 前端发送 POST 请求到后端,携带用户名和密码。
  3. 后端验证用户信息,生成并返回 JWT Token。
  4. 前端保存 token,并跳转到受保护页面。
  5. 在后续的 API 请求中,前端将 token 附加在请求头部。
  6. 用户登出时,删除 token 并跳转到登录页面。
http://www.yidumall.com/news/84036.html

相关文章:

  • 网站快速优化排名搭建一个app平台要多少钱
  • 天津市做网站公司网站安全检测在线
  • 政务公开 加强门户网站建设外贸平台排名
  • 织梦 网站首页重庆森林
  • 网站做系统叫什么名字吗广州网站优化页面
  • 购物网站的做seo排名首页
  • 网站管理员怎样管理员权限设置营业推广名词解释
  • 公司网站域名和空间推广赚钱软件排行
  • 自建网站该页无法显示舆情报告
  • 佛山微网站建设网站建设方案书模板
  • 做网站找哪家长春seo推广
  • 中煜建设有限公司网站如何网络推广新产品
  • 网站制作首页网络营销的成功案例
  • 织梦网站移动化什么样的人适合做营销
  • 天津高自考网站建设与实践2017企业邮箱如何申请注册
  • 怎样看出一个网站是那个公司做的百度竞价推广代理
  • 公司加盟代理如何优化关键词排名快速首页
  • wordpress 如何购买主题黑帽seo培训多少钱
  • 微信支付 公司网站百度推广的费用
  • 保山网站建设南京seo排名优化公司
  • 塘厦林村疫情windows7系统优化工具
  • 武汉市品牌网站建设怎么推广软件让别人下载
  • 金华网站建设建设设计网站新闻发稿发布平台
  • 给单位做网站需要多少钱百度指数专业版价格
  • wordpress换为中文seo方案怎么做
  • 自建网站平台的页面功能2022最近十大的新闻热点
  • 锡盟建设工程造价工程管理网站企业内训机构
  • 新闻资讯网站备案网站搜索引擎优化的方法
  • 哪些群体对网站开发有需求学生个人网页制作html
  • 网站 建立目录出错西安疫情最新数据消息5分钟前