美食杰项目 -- 登录注册(三)
创始人
2024-02-07 12:27:35

目录

  • 前言:
  • 具体实现思路:
  • 步骤:
    • 1. 展示美食杰菜谱大全效果
    • 在这里插入图片描述
    • 2. 引入element-ui
    • 3. 代码
  • 总结:

前言:

本文给大家讲解,美食杰项目中 登录注册实现的效果,和具体代码。


具体实现思路:

  1. 引入element-ui中的登录和分页功能实现方法
  2. 账号密码进行双向绑定
  3. 登录和注册把账号密码传递过去
  4. 成功把token报错至本地,失败则返回失败的结果
  5. 点击清空input框
  6. 引入当前的vuex,并写出所有路由跳转
  7. 使用全局导航守卫和meta字段进行登录验证判断
  8. 判断跳转的路由是否需要登录,已登录则判断是否获取到用户信息
  9. 未获取则删除存储至本地的 token,跳转至登录页
  10. 判断是否有 token 值,没有跳转至登录
  11. 判断已登录,并且跳转至登录页,跳转至首页

步骤:

1. 展示美食杰菜谱大全效果

在这里插入图片描述

2. 引入element-ui

点击跳转至 element-ui 中 Tabs 标签页使用方法:https://element.eleme.cn/#/zh-CN/component/tabs

点击跳转至 element-ui 中 Form 表单页使用方法:https://element.eleme.cn/#/zh-CN/component/form


3. 代码

  • 路由跳转页(router)
import Vue from 'vue'
import VueRouter from 'vue-router'
// import home from '@/components/home.vue'
import { userInfo } from '@/connector/api'
// 引入当前的vuex
import store from '@/store/index'
Vue.use(VueRouter)const routes = [    {path: '/',name: 'home',title: '首页',component: ()=>import('@/components/home.vue'),children: [{path: '',name: 'page',alias: 'page',title: '首页',component: ()=>import('@/views/home-page/index'),},{path: 'recipes',name: 'recipes',title: '菜谱大全',component: () => import('@/views/Daquan-recipes/index'),},{path: 'login',name: 'login',title: '登录',component: ()=>import('@/views/login/index'),},{path: 'DishesInformation',name: 'DishesInformation',title: '菜谱详情',component: () => import('@/views/DishesInformation/index'),},{path: 'MyHomepage',name: 'MyHomepage',title: '个人主页',redirect: { name: 'works' },component: () => import('@/views/MyHomepage/index'),meta:{IsLogin: true,},children: [{path: 'works',name: 'works',title: '作品',component: () => import('@/views/MyHomepage/roll'),meta: { login: true },},{path: 'collection',name: 'collection',title: '收藏',component: () => import('@/views/MyHomepage/roll'),meta: { login: true },},{path: 'fans',name: 'fans',title: '粉丝',component: () => import('@/views/MyHomepage/bean'),meta: { login: true },},{path: 'following',name: 'following',title: '关注',component: () => import('@/views/MyHomepage/bean'),meta: { login: true },},]},{path: 'PublishRecipes',name: 'PublishRecipes',title: '发布菜谱',component: () => import('@/views/PublishRecipes/PublishRecipes'),// 路由元信息,加上可以用来判断是否需要登录meta:{IsLogin: true,}},{path: 'personal',name: 'personal',title: '编辑个人资料',component: () => import('@/views/personal/index'),}]},]const router = new VueRouter({mode: 'history',base: process.env.BASE_URL,routes
})// meta为路由元信息,加上可以用来判断是否需要登录
// 路由守卫
router.beforeEach(async (to, from, next) => {// 获取存储至本地的 token 验证let token = localStorage.getItem('token')// 判断是否有值(!!token 返回 true 和 false)let islogin = !!token// 获取用户信息let user = await userInfo()// 存储至 vuexstore.commit('userInfo', user.data)// 判断跳转的路由是否需要登录(meta 路由元信息)if (to.matched.some((item) => item.meta.IsLogin)) {// 判断是否获取到用户信息if (user.error == 400) {// 删除存储至本地的 tokenlocalStorage.removeItem('token')// 跳转至登录页window.location.href = '/login'} else {// 判断是否有 token 值if (islogin) {next()} else {// 没有跳转至登录window.location.href = '/login'}}} else {// 判断已登录,并且跳转至登录页if (islogin && to.path === '/login') {// 跳转至首页window.location.href = '/'return}next()}
})export default router

  • 登录注册的根页面

登录注册页大致相同,只需要把接口进行改变,其他的都可以直接复制过去




  • 登录页


  • 注册页


总结:

总结:
以上就是 美食杰项目 中 登录注册的具体实现方法,不懂得也可以在评论区里问我,以后会持续发布一些新的功能,敬请关注。
我的其他文章:https://blog.csdn.net/weixin_62897746?type=blog

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...