# web69
**Repository Path**: silence1224/web69
## Basic Information
- **Project Name**: web69
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 4
- **Forks**: 1
- **Created**: 2021-12-30
- **Last Updated**: 2022-01-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 所有课堂上相关的代码全部都在仓库 silence1224/web69
# 笔记:silence1224/big-hr
# 课程安排:12天
+ 组织架构
+ 文件导入导出
+ 权限管理 【重点】
+ 树形组件使用
+ 。。。。
特别是课程前面3天, 【我是谁 我在哪】
要求:
+ 项目不允许出现文件名是中文=====
+ 创建一个账号:写博客【】 所有人
关联远程仓库地址步骤说明:
+ 在web69中:git init
+ git add .
+ git commit -m '建议大家把提交日志说明写详细一点'
+ 本地和远程仓库关联起来:git remote add origin 仓库地址 [我刚刚是cv的]
+ 推送到远程仓库中:git push -u origin master 代码就提交到远程仓库中了
配置github镜像源:github.com==>hub.fastgit.org
直接以vscode的形式查看项目目录代码:https://github1s.com/PanJiaChen/vue-admin-template
====添加了1s =>类似vscode打开项目但是只能读不能写
+ native====作用:如果给组件绑定某一个事件,无法生效,这时需要添加修饰符native,添加之后就相当于把这个事件绑定给组件里的dom元素身上了
### 拦截器
+ 请求拦截:只要发送请求之前先拦截在发请求
+ 路由拦截:只要路由值[path]发生改变就会触发这个钩子函数
### 人资第一天任务安排
+ 熟悉sidebarLogo和navBar如何显示logo和控制头部导航固定
+ 熟悉permission.js 主要熟悉路由拦截
+ 熟悉请求拦截+axios封装
+ 熟悉login登录流程:请求地址是如何拼接的+请求是如何发送的
# day02
### 今日知识点:
+ token的存储处理
+ 解决跨域
+ 完成登录页面功能
渐变的语法:background: linear-gradient(方向, 颜色1, 颜色2,。。。。。);
PS: background: linear-gradient(to right, black, red);
## 跨域:
+ 什么情况下会产生跨域? 不满足同源策略[域名+协议+端口]
+ http:默认端口是:80
+ https:默认端口是:443
解决跨域有哪些方法:
+ jsonp
+ jsonp跟ajax没有关系
+ 实现的原理:动态创建的script
+ 解决方式:jsonp[前端和后端一起解决]+cors[后端解决]+
+ 正向代理Proxy[前端解决,注意点:只适用于开发版本地开发环境]
+ 反向nginx[后盾解决]
+ 产生跨域==请求到底有没有发送?
+ 请求有发送,数据也有返回,只是被浏览器拦截了,导致前端获取不到数据,
+ 解决方式:不经过浏览器,直接服务器和服务器发送请求,服务器和服务器之间请求是不存下跨域的
## proxy赔礼服务器如何配置步骤说明:
+ 配置代理服务器 vue.config.js
```
proxy: {
// 使用代理服务器
'/api': {
// 只要遇到请求地址中有api的就会进来
/*
代理服务器:http://localhost:8080,
后端服务器:http://ihrm-java.itheima.net
*/
target: 'http://ihrm-java.itheima.net', // 使用代理服务器想后端服务器发送请求,需要提供后端服务器的地址
},
},
```
+ 更改baseURL 设置的值直接获取的是环境变量中的api值=== baseURL: process.env.VUE_APP_BASE_API,
[环境变量中设置:VUE_APP_BASE_API = '/api'] request.js
+ 删除接口文档中的请求地址的api值 api/user.js======= url: 'sys/login',
+ 需要重启
## Content-Type
+ application
+ form-data
+ raw
+ libary
+ plain/html
## 登录相关的步骤分析
+ 点击登录按钮 login.vue
+ 封装登录请求api函数 api/user.js
+ 登录成功后
+ 获取token存储到vuex中 =>store/modules/user.js
+ this.$store.commit('user/SETTOKEN',res.data)===login.vue
+ 需要将token持久化 使用cookie提供的api setToken()====store/modules/user.js
今日总结:
+ mock 扩展
+ api函数的请求封装
+ 代理服务器
+ 响应数据的处理
+ token的存储以及持久化
# 产生跨域的条件:不满足同源策略
# 解决跨域:
+ jsonp[前端后端一起配合],实现原理:动态script
+ cors[后端]
+ 代理服务器 proxy
+ 产生跨域请求到底有没有发送:请求有发送,然后后端数据也反悔了,只不过数据被浏览器拦截了,
+ 解决方案:直接避开浏览器,利用服务器和服务器之间是可以发送请求没有跨域的
# 今日内容
+ 路由拦截
+ 完成左侧和头部效果的布局以及展示
+ token过期处理
192.168.91.86:3000
# day04
今天任务安排
+ 解决token过期
+ 展示用户信息 自定义指令
+ 修饰符的使用:@input.stop="" v-model.number='' trim lazy
router
```
{
path: '/permissions',
component: Layout,
children: [
{
path: '', // 作为默认渲染路由
name: 'permissions',
component: () => import('@/views/permissions/permissions.vue'),
meta: { title: '权限管理', icon: 'lock' },
},
],
}
```
如果二级没有写/,需要跟一级拼接,如果二级写了/ 那就跟一级path没有关系
今日总结:
+ 用户信息数据展示+图片
+ 实现退出
+ 自定义指令 自定义指令
+ Vue.use 理解他是如何注册自定义指令以及如何注册组件的
+ token过期如何处理 重点
+ 理解静态路由和动态路由
# day05
今日知识点介绍
+ 修饰符===事件修饰符native+属性修饰符sync[重点]
+ 树形组件
+ 如何处理树形数据 [扩展:递归算法来解决树形数据]
123
# day06
+ 完成给员工分配角色
+ 完成公司信息
+ 实现添加员工 [单个添加+批量添加]===重点
总结:
+ 封装组件
+ 批量注册组件
+ 树形控件的显示和影藏+数据获取
Vue.directive()
Vue.use()
Vue.filter()
# Vue内置组件有哪些?7个
+ slot
+ component 动态组件+异步组件
+ keep-alive
+ router-link
+ router-view
+ transition
+ transition-group
# 动态组件 [component] + 异步组件
# () => import('@/views/approvals/approvals.vue') 和 $.ajax() 返回值是什么?
Promise