大事件笔记

news/2024/7/11 0:13:13 标签: javascript, jquery, ui

这里我们使用到的是 layui ,先登录找到 layui 的官方文档: Layui - 经典开源模块化前端 UI 框架

使用流程:

• 左侧是快捷导航,能够让我们快速找到对应的一些页面效果分类或者是功能分类

• 左侧选中我们想要的分类之后,右侧会有一个子分类,例如:左侧点击的布局,那么右侧是二级分 类,里面有哪些布局的结构样式

• 当选中了对应的二级分类,就会跳转到对应效果那里 上面是示例效果 下面就是示例代码

• 我们需要做的就是找到对应效果的代码, copy 到我们项目中,然后按照我们需要的效果进行调整 即可

在目录下新建 login.html 和 index.html 页面, 推送到新建gitee仓库.

效果演示: 

注意一下提交按钮的设置: 

 设置自定义校验规则:  

 使用校验规则(用 | ) 不能有空格:  

发起登录的Ajax请求: 

• 查阅接口文档,关注几个重点要(请求URL,请求方式,请求参数,响应数据)

• 给按钮添加id,添加绑定事件,在事件处理函数里面先取消表单提交的默认行为

• 利用 $.ajax() 进行网络请求,注意添加根路径

• 请求成功之后提示用户,保存token信息,跳转到后台主页

• oken 用来标识用户是否登录的令牌,后台的页面需要用户登录之后才能查阅,那么权限校 验的机制也就出来了,需要检验权限的页面后台先判断请求头里面是否有token,以此来判断 是否是登录状

在ajaxPrefilter 中统一拼接请求的根路径: 

每次请求的时候都需要去添加根路径,比较的麻烦,如果根路径进行了修改,那么每个请求的页面都需 要调整,那么 jQuery 中提供了一个 过滤器,可以帮我们统一去进行设置,而这个过滤器调用的时机是 在我们调用 $.ajax() 之后,请求真正发给后台之前调用的: $.ajax() > ajaxPrefilter过滤器 -> 发送请求给服务器.

在 /assets/js 目录中新建 baseAPI.js

注意这里的引入JS的顺序: 

调用 $.ajaxPrefilter() 函数,里面传递一个回调函数,回调函数里面有一个形成 options , 这个形成里面就包含了这一次请求的相关信息

 然后提交login 分支的代码到远程仓库

使用iframe标签在内容主体区域显示网页内容:

要设置name

指定默认 iframe 页面,添加 src 的属性即可

 使用的时候: 

 

渲染图片头像和文字头像: 

 

统一为有权限的接口设置headers请求头: 

还记得之前的 ajaxPrefilter 函数吗,在我们调用 $.ajax() 后,并且在请求服务器之前调用的过 滤器,那么我们能统一设置根路径,那么我们就可以去统一设置请求头

• 在 baseAPI 的 ajaxPrefilter 中添加如下代码

• 判断 url 里面是否携带 /my/

• 如果携带,那么我们就设置 options.headers

 

控制用户的访问权限: 

用户如果没有登录,是否能够允许用户访问后台主页?肯定是不能的,所以我们需要进行权限的校验, 可以利用请求后服务器返回的状态来决定

• 在调用有权限接口的时候,指定 complete 回调函数,这个回调函数不管成功还是失败都会调用 • • 在回调里面判断 服务器返回的的状态是否等于 1,并且错误的信息是 "身份认证失败",如果成 立,那么就强制用户跳转到登录页

优化: 将权限控制的代码,从每个请求中,抽离到 ajaxPrefilter 中 利用 options 来挂在统一的 complete 函数

为表单快速赋值:

利用 form.val() 进行快速赋值,赋值之前我们需要给 form 表单添加 一个 lay-filter 的属性

 

 

 发起请求更新用户的信息:

 


http://www.niftyadmin.cn/n/1735337.html

相关文章

Python 设计真实反弹球算法及原理分析 (使用物理定律)

文章简单地使用物理定律, 编写程序模拟真实世界中的碰撞。 在开始正式讲解之前, 先看这两个代码: # 把球掉头 ball.speed[0] -ball.speed[0] ball.speed[1] -ball.speed[1]可以看到, 这个代码直接把球的速度反了一下, 比较粗糙。 这是提升的版本 (真实世界中两个球质量相同时…

Python turtle 实现图片旋转效果详解

众所周知, turtle模块由于使用简单, 是Python初学者中较受欢迎的模块之一。本文介绍如何使用PIL库实现turtle中的图片旋转效果。 如果前面看不懂,可以直接复制文章后面的代码。 目录使用PIL库实现图片旋转使用PIL库 在Python中, 实现图片的旋转需要使用PIL库, 该库…

Python tkinter 设计用鼠标拖动控件、缩放控件算法及程序

在使用tkinter开发的软件中, 常常需要拖动控件, 或者用鼠标改变控件的大小。为此, 用tkinter设计了一个拖曳、缩放控件的程序。 目录1.功能2.算法3.初次实现4.再次实现1.功能 拖动控件即可实现改变控件位置; 拖动控件边角的8个滑块可改变控件大小。 2.算法 获取前、后鼠标位…

头条移动端笔记

移动端 rem 适配: lib-flexible用于设置 rem 基准值 postcss-pxtorem是一款 postcss 插件,用于将单位转化为 rem 安装: yarn add amfe-flexible 在 main.js 中加载执行该模块: import amfe-flexible 安装: npm install postcss-pxtorem5.1.1 -D 在项目根目…

vuex笔记2

Vuex中的模块化-Module 如果把所有的状态都放在state中,当项目变得越来越大的时候,Vuex会变得越来越难以维护 由此,就有了Vuex的模块化 模块化中的命名空间 // 放置子模块modules: {user: {namespaced: true, // 加锁 模块化的命名空间s…

Element的表单校验笔记

安装Element 开发时依赖 : 开发环境所需要的依赖 -> devDependencies 运行时依赖: 项目上线依然需要的依赖 -> dependencies npm i element-ui 在main.js中对ElementUI进行注册 : import ElementUI from element-ui; import element-ui/lib/theme-chalk/…

Python 从零开始制作自己的声音 - wave模块读写wav文件详解

计算机经常被用于处理音频这种真实世界中的数据。声音经过采样,量化和编码后,存储在音频文件,如wav文件中。 文章首先介绍wave模块的基础用法; 再通过生成一定频率声波的算法实现,来深入讲解wave库的使用。 目录wave模块wave.open…

人资项目 笔记

跨域: 非同源(协议, 域名, 端口一致) 解决开发环境的跨域问题 vue-cli配置webpack的反向代理 在vue.config.js 里设置 module.exports { devServer: { } 处理token: 在src/utils/auth.js中: import Cookies from js-cookie // 本地存储const TokenKey hrsaas-ihrm-tok…