闲云旅游网03(基于vue+element ui)登录注册功能开发
登录功能
项目GitHub地址:https://github.com/q2419068625/xianyun
- 新建登录注册页的布局
- 新建了登录的表单
- 绑定了数据到data
- rules表单的验证
- 提交数据到接口
把数据保存到store
- 在
store
新建了user.js用于保存用户的信息数据 - 在登录成功之后调用user.js的设置用户信息的方法
- 把用户数据渲染到header.vue
// 用户管理
export const state = () => ({// 采用接口返回的数据结构userInfo: {token: "",user: {},},
}) export const mutations = {};export const actions = {};
保存store
到本地
现在用户已经保存到store
了,但是还有一个问题,数据是保存在缓存中的,如果页面一刷新,那么数据就会不见了,这样是不合理的。
所以我们需要使用localStorage
把数据保存到本地,但是由于nuxtjs
是运行在服务器的,不能直接在store
中使用浏览器的方法,所以我们需要依赖一些判断和插件。
思路
- 保存用户信息到本地
实现步骤
保存用户信息到本地
nuxtjs
中store
不能直接在浏览器的lcoalStorage
方法,所以我们需要依赖一个插件vuex-persistedstate
,该插件会把本地存储的数据读取到store
。
插件地址:https://github.com/robinvdvleuten/vuex-persistedstate
1.安装插件
npm install --save vuex-persistedstate
- 在根目录
plugins
中新建文件localStorage.js
,加入以下代码
import createPersistedState from 'vuex-persistedstate'export default ({store}) => {window.onNuxtReady(() => {createPersistedState({key: "store", // 读取本地存储的数据到store})(store)})
}
- 导入插件
修改nuxt.config.js
配置文件,在plugins
配置项中新增一条数据
// 其他代码...plugins: [// 其他代码...{ src: '@/plugins/localStorage', ssr: false }
],// 其他代码...
修改完后重新启动项目即可。
退出
- 在user.js的mutations下新建删除本地数据的方法
- 点击退出按钮时候调用
export const mutations = {//设置用户数据setUserInfo(state,data){state.userInfo = data},//清空用户数据clearUserInfo(state){state.userInfo = {token:'',user:{}}}
}
注册功能
- 在
components/user
中新建register.vue
表单组件 - 使用
Element-ui
的表单组件 - 表单数据绑定
- 表单验证
- 发送手机验证码
- 注册接口
注册接口
// 注册
handleRegSubmit(){this.$refs['form'].validate((valid) => {if (valid) {// 注册提交const {checkPassword, ...props} = this.regForm;this.$axios({url: `/accounts/register`,method: "POST",data: props}).then(res => {console.log(res.data);})} });
},
闲云旅游网03(基于vue+element ui)登录注册功能开发相关推荐
- 基于vue(element ui) + ssm + shiro 的权限框架
zhcc 基于vue(element ui) + ssm + shiro 的权限框架 引言 心声 现在的Java世界,各种资源很丰富,不得不说,从分布式,服务化,orm,再到前端控制,权限等等玲琅满目 ...
- 前端基于vue企业微信JS-SDK语音识别功能开发(同公众号)
前端基于vue企业微信JS-SDK语音识别功能开发(同公众号) 微信JS-SDK 1.前期准备 前端代码撰写 微信JS-SDK 前端需要实现一个功能,如录音,拍照,分享,地理位置等,前端想要实现这些功 ...
- php注册登录描述,基于PHP实现用户登录注册功能的详细教程
教程前先给大家看看小编的实现成果吧! 图1: 图2: 图3: 教程: 实现这个功能我们需要五个php文件: login.php (登录界面,如图2) 登录 登录页面 用户名: required=&qu ...
- 基于Vue+Element UI+Node+MongoDB的医院门诊预约挂号系统
目录 概述 3 系统目标 3 需求分析 3 功能需求 3 非功能需求 4 设计 4 数据库设计 4 数据库说明 4 数据结构 4 接口设计 5 登录 5 注册.添加信息 6 查询信息 6 查询全部病人 ...
- Vue项目二 登录注册功能的实现
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.系统注册功能的实现 1.配置注册页面路由 2.注册页面的搭建 3.api下发送ajax请求的文件创建 二.后台数据 ...
- 闲云旅游网02(基于vue+element ui)
首页开发 项目GitHub地址:https://github.com/q2419068625/xianyun 新建公共组件 在components中新建应用统一的头部组件和页脚组件. 在默认布局中la ...
- 闲云旅游网04(基于vue+element ui)完成机票数据列表渲染
机票列表页 渲染列表数据 项目GitHub地址:https://github.com/q2419068625/xianyun 1.请求接口数据 <template><section ...
- 闲云旅游网01(基于vue+element ui)
1.初始化项目 使用官网提供的脚手架工具 create-nuxt-app,创建一个nuxtjs项目. npx create-nuxt-app xianyun 需要等待片刻安装依赖的下载,下载完成后可以 ...
- vue+element ui+腾讯云开发打造会员管理系统之实战教程(三)系统登录
目录 登录逻辑 邮箱登录配置 登录逻辑 用户注册功能 注册页面效果 激活邮件 代码配置 程序预览 源码 登录逻辑 elment脚手架本身已经实现了登录逻辑,但是结合项目本身还需要进行改造,因为腾讯云开 ...
最新文章
- 【kafka】confluent_kafka重置offset
- C#访问SQLite完整增删改查代码
- 天大和武大计算机考研,985大学排名出炉,天大和武大并列第10,榜首是哪所?...
- 智能计米器jk76怎么安装_Redmi智能电视X系列性能有多好?怎么安装第三方软件?...
- 学习 launch-editor 源码整体架构,探究 vue-devtools「在编辑器中打开组件」功能实现原理...
- 【C++进阶】 遵循TDD原则,实现平面向量类(Vec2D)
- python 最小二乘回归 高斯核_从简单数学建模开始:08最小二乘准则的应用(附python代码)...
- html人物动画效果图,9款用HTML5/CSS3制作的动物、人物动画
- 6.数据结构 --- 树和二叉树
- 一个网站 一个域名跟服务器吗,域名服务器与根服务器区别吗
- 算法: 最大正方形面积221. Maximal Square
- Odoo免费开源MES功能应用简介
- 将DW数据窗口导出为EXCEL文件的方法(整理)
- exosip 对比osip
- 电容或电感的电压_测量电容或电感的电路
- Linux电源管理(五)thermal【转】
- STM32CubeIDE的一点使用技巧
- Python3_函数相关基础知识
- java学习视频网课收集
- python 机械臂控制_机械臂正运动学-DH参数-Python快速实现
热门文章
- html页面加载内容从左侧滑入,CSS 3从左过渡处滑入
- 服务器ip地址变化 u8修改,u8服务器ip地址变更后如何设置
- 上位机开发(怎么开发上位机)
- mnv -v报错JAVA_HOME配置有问题
- window7安装hadoop2.7.5
- 小程序如何帮助超市拓展线上销售渠道、拉新引流、增加销量?
- #杜甫诗作的主要内容#
- 【极简壁纸】桌面壁纸美图推荐_2019/01/27
- 异常检测中的评价指标——TPR/FPR/P/A/F/R
- SAP GUI 760 windows 免费下载