面经pc端项目

创建项目

安装脚手架-----创建项目------选择自定义

sass基础语法

https://www.sass.hk/

sass语法有两个:sass(旧) scss(新)

1.scss语法

和less语法类似,支持嵌套,支持变量…

scss: $变量名

less: @变量名

$color:orange;
.box{width: 400px;height: 400px;border: 2px solid $color;a{color: $color;}
}

sass(旧)和stylus类似,需要去掉; 和 {}

<style lang="sass" scoped>
$color:orange
.boxwidth: 400pxheight: 400pxborder: 2px solid $coloracolor: $color</style>

element-ui组件库

链接: https://element.eleme.cn/#/zh-CN/component/installation

axios二次封装–api

storage封装

登录模块

1.构建登录基本架子

控制组件的样式

  • 给组件加类名,添加的类名会直接渲染到组件的根元素上
<el-card class="login-card">
  • 通过组件标签名作为类名控制样式

组件的根元素,有一个和组件名同名的类名

<el-card></el-card>     .el-card
  • 渗透选择器

加上scoped后,所有的样式只会作用于当前组件模板

但是 有时候我们也需要向下渗透,影响内组件内部的一些内容样式—深度作用选择器

 去掉scoped(1) less   /deep/  选择器前面添加  /deep/(2) scss  ::v-deep 选择器前面加  ::v-deep

2.美化样式

<style lang="scss" scoped>
// 加上scoped后,所有的样式只会作用于当前组件模板
// 但是 有时候我们也需要向下渗透,影响内组件内部的一些内容样式---深度作用选择器
//去掉scoped
// (1) less   /deep/  选择器前面添加/deep/
// (2) scss  ::v-deep 选择器前面加  ::v-deep
.login-page{min-height: 100vh;background: url(@/assets/login-bg.svg) no-repeat center;display: flex;align-items: center;justify-content: center;.el-card{width: 450px;margin: 0 auto;::v-deep .el-card__header{height: 80px;line-height: 40px;text-align: center;background-color: #727cf5;color: #fff;font-size: 18px;}}.tc{text-align: center;}
}
</style>

3.表单基础校验

在向后端发请求,调用接口之前,我们需要对所要传递的参数进行验证,把用户的错误扼杀在摇篮之中

element-ui的校验

  • el-form model属性 rules规则
  • el-form-item 绑定prop属性
  • el-input 绑定v-model

正则校验

规则说明
required非空校验
pattern正则表达式 校验手机号格式 邮箱格式
 password: [{ required: true, message: '请输入密码', trigger: ['blur', 'change'] },{ pattern: /^\w{5,11}$/, message: '长度在5~11个字符', trigger: ['blur', 'change'] }]

4.提交表单和重置功能

每次点击按钮,进行ajax登录钱,对整个表单内容校验,通过校验才发送请求

//ref
<el-form :model="formData" :rules="rules" ref="loginRef">
//添加点击事件
<el-form-item class="tc"><el-button type="primary" @click="login">登录</el-button><el-button @click="reset">重置</el-button>
</el-form-item>
//调用组件方法  验证
methods: {login () {//   登录的时候 需要先校验 校验通过才能发请求// 校验 通过ref和$refs 拿到el-form组件  调用组件的方法// console.log(this.$refs.loginRef)this.$refs.loginRef.validate((isOk) => {if (isOk) {console.log('成功')} else {console.log('error ')return false}})},reset () {this.$refs.loginRef.resetFields()}}

5.登录功能

封装API登录请求模块,vuex构建user模块存token

  • token存入vuex的好处 ,易获取 响应式
  • vuex需要分模块----user模块
  • vuex刷新会重新初始化,缓存的数据会丢失----本地存储也要存
    在这里插入图片描述
    登录功能代码
    在这里插入图片描述

6.错误统一处理

  • 登录成功,需要给提示,错误提示通过响应拦截器统一处理
  • 未登录的用户,不可以访问首页,需要登录访问拦截

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/111727.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何使用反 CSRF 令牌保护您的网站和 Web 应用程序

防止跨站点请求伪造攻击 (CSRF/XSRF)的最常见方法是使用反 CSRF 令牌&#xff0c;该令牌只是一个唯一值集&#xff0c;然后由 Web 应用程序需要。CSRF 是一种客户端攻击&#xff0c;可用于将用户重定向到恶意网站、窃取敏感信息或在用户会话中执行其他操作。幸运的是&#xff0…

python萌新爬虫学习笔记【建议收藏】

文章目录 1. 如何何请求解析url2. 如何获取标签里面的文本3. 如何解析JSON格式4. 如何添加常用的header5. 如何合并两个div6. 如何删除html dom的部分结构7. 如何一次性获取所有div标签里的文本8. python爬虫如何改变响应文本字符集编码9. 如何进行字符集转码11. response.text…

多输入多输出 | MATLAB实现PSO-LSSVM粒子群优化最小二乘支持向量机多输入多输出

多输入多输出 | MATLAB实现PSO-LSSVM粒子群优化最小二乘支持向量机多输入多输出 目录 多输入多输出 | MATLAB实现PSO-LSSVM粒子群优化最小二乘支持向量机多输入多输出预测效果基本介绍程序设计往期精彩参考资料 预测效果 基本介绍 MATLAB实现PSO-LSSVM粒子群优化最小二乘支持向…

华为云云服务器云耀L实例评测 | 智能不卡顿:如何实现流畅的业务运行

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

flink的几种常见的执行模式

背景 在运行flink时&#xff0c;我们经常会有几种不同的执行模式&#xff0c;比如在IDE中启动时&#xff0c;通过提交到YARN上&#xff0c;还有通过Kebernates启动时&#xff0c;本文就来记录一下这几种模式 flink的几种执行模式 flink嵌入式模式&#xff1a; 这是一种我们在…

黑马JVM总结(十四)

&#xff08;1&#xff09;分代回收_1 Java虚拟机都是结合前面几种算法&#xff0c;让他们协同工作&#xff0c;具体实现是虚拟机里面一个叫做分代的垃圾回收机制&#xff0c;把我们堆内存大的区域划分为两块新生代、老年代 新生代有划分为伊甸园、幸存区Form、幸存区To 为什…

迅为RK3399开发板创建android工程

打开 AndroidStudio 软件&#xff0c;点击“Start a new Android Studio project”新建一个 Native C工程&#xff08;因为我们要调用本地库&#xff0c;所以要创建这个 C实例工程&#xff09;&#xff0c;点击“Next” 2.填写创建信息&#xff0c;如下图所示。最后点击“finis…

计算机网络中的应用层和传输层(http/tcp)

目录 1、协议的通俗理解 1.1 理解协议 2.应用层 2.1 http协议 2.2 HTTP的方法 2.3 HTTP的状态码 2.4 HTTP常见Header 3、传输层 3.1 端口号 3.1.1 端口号范围划分 3.1.2 netstat 3.1.3 认识知名端口号(Well-Know Port Number) 3.2 UDP协议 3.2.1 UDP协议端格式 3…

本地Tomcat网页搭建结合Cpolar内网穿透实现公网访问

文章目录 1.前言2.本地Tomcat网页搭建2.1 Tomcat安装2.2 配置环境变量2.3 环境配置2.4 Tomcat运行测试2.5 Cpolar安装和注册 3.本地网页发布3.1.Cpolar云端设置3.2 Cpolar本地设置 4.公网访问测试5.结语 1.前言 Tomcat作为一个轻量级的服务器&#xff0c;不仅名字很有趣&#…

JDBC 学习笔记(基础)

示意图 目录 创建 JDBC 应用 例子&#xff1a;通过本地协议纯 Java 驱动程序实现JDBC 代码具体步骤&#xff1a; 1.注册驱动 2.建立与数据库的连接 3.获取执行SQL语句的对象 Statement 4.定义执行 SQL 语句 5.操作结果集对象 ResultSet 6.关闭操作对象及连接对象 JD…

82 # koa-bodyparser 中间件的使用以及实现

准备工作 安装依赖 npm init -y npm i koakoa 文档&#xff1a;https://koajs.cn/# koa 中不能用回调的方式来实现&#xff0c;因为 async 函数执行的时候不会等待回调完成 app.use(async (ctx, next) > {console.log(ctx.path, ctx.method);if (ctx.path "/login…

数据结构——四叉树

四叉树&#xff08;Quadtree&#xff09;是一种用于表示和管理二维空间的树状数据结构。它将二维空间递归地分割成四个象限&#xff0c;每个象限可以继续分割&#xff0c;以实现对空间的更精细的划分。四叉树通常用于解决空间搜索和查询问题&#xff0c;例如碰撞检测、图像压缩…