您的位置:首页 > 财经 > 产业 > 沈阳第一建筑公司_用户体验设计的重要性_百度关键词指数查询_合肥品牌seo

沈阳第一建筑公司_用户体验设计的重要性_百度关键词指数查询_合肥品牌seo

2024/12/23 8:40:25 来源:https://blog.csdn.net/FXNup/article/details/144291408  浏览:    关键词:沈阳第一建筑公司_用户体验设计的重要性_百度关键词指数查询_合肥品牌seo
沈阳第一建筑公司_用户体验设计的重要性_百度关键词指数查询_合肥品牌seo

1. JWT介绍

JSON Web Token 是目前最为流行的跨域认证解决方案,本质就是一个包含信息的字符串。

如何获取:在使用 JWT 身份验证中,当用户使用其凭据成功登录时,将返回 JSON Web Token(令牌)。

作用:允许用户访问使用该令牌(token)允许的路由、服务和资源。

2. 黑马就业数据平台

2.1 页面访问控制(token)

// * 抽取判断是否有token的函数,供各个有敏感信息的页面使用 → index和student页面
// 1. localstorage里面获取token,判断,如果没有token提示请登录 → 跳转到login
function checkLogin() {const token = localStorage.getItem("token");if (token === null) {showToast("未登录,请先登录");setTimeout(() => {location.href = "./login.html";}, 1500);}
}

2.2 用户名渲染

// * 抽取函数渲染用户名 → 首页和学生页显示用户名
// 登录的时候保存了用户名在localstorage
// 取localstorage的用户名,找标签写入
function renderName() {const username = localStorage.getItem("username");document.querySelector(".username").innerHTML = username;
}

2.3 退出登录

// * 抽取退出登录的函数
// 点击 → 跳转到login 且删除localstorage里面的数据
function logout() {document.querySelector("#logout").addEventListener("click", function () {location.href = "./login.html";localStorage.removeItem("username");localStorage.removeItem("token");});
}

2.4 首页-统计数据

2.5 登录状态失效

// 统计数据区域
async function getData() {// const token = localStorage.getItem("token");// * common.js 已添加请求(统一设置token)和响应拦截器(统一处理token失效问题) → catch部分代码移除,try catch注释// try {/* const res = await axios.get("/dashboard", {// * 请求头参数:校验是否登录headers: { Authorization: token },}); */const res = await axios.get("/dashboard");// console.log(res);const { groupData, overview, provinceData, salaryData, year } = res.data;// console.log(overview);Object.keys(overview).forEach((key) => {document.querySelector(`.${key}`).innerHTML = overview[key];});// } catch (error) {// console.dir(error);// console.log(error.response.status); // 401// 401 token验证失败(token过期或被恶意篡改)// todo:跳转到登录页面重新登陆,本地存储数据清除/* if (error.response.status === 401) {showToast("登陆失败,请重新登录");localStorage.removeItem("username");localStorage.removeItem("token");// 延迟跳转登陆页面setTimeout(() => {location.href = "./login.html";}, 1500);} */// }
}

3. axios-拦截器

// 添加请求拦截器
axios.interceptors.request.use(function (config) {// 在发送请求之前做些什么return config;}, function (error) {// 对请求错误做些什么return Promise.reject(error);});// 添加响应拦截器
axios.interceptors.response.use(function (response) {// 对响应数据做点什么return response;}, function (error) {// 对响应错误做点什么return Promise.reject(error);});

3.1 请求拦截器

// * axios拦截器:请求发送之前,响应回来之后执行一些 公共 的逻辑
// * 添加请求拦截器 - 统一设置token 多次请求时需token验证,故设置拦截前完成
axios.interceptors.request.use(function (config) {// console.log(config);// config["headers"]["haha"] = "hehe";// config.headers.haha = "hehe";// headers.haha = "hehe"; // ×// 在发送请求之前做些什么,比如: 统一设置token// * 获取缓存中的token,设置请求头参数const token = localStorage.getItem("token");if (token) {config.headers.Authorization = token;}return config;},function (error) {// 对请求错误做些什么return Promise.reject(error);}
);

3.2 响应拦截器

// * 添加响应拦截器 - 统一处理token失效 + 数据剥离
axios.interceptors.response.use(function (response) {// 2xx 范围内的状态码都会触发该函数。// 对响应数据做点什么,比如: 数据剥离// console.log(response.data);return response.data;},function (error) {// 超出 2xx 范围的状态码都会触发该函数。// 对响应错误做点什么: 比如统一处理token失效if (error.response.status === 401) {showToast("登陆失败,请重新登录");localStorage.removeItem("username");localStorage.removeItem("token");// 延迟跳转登陆页面setTimeout(() => {location.href = "./login.html";}, 1500);}return Promise.reject(error);}
);

4. Git 远程仓库

远程仓库是指托管在因特网或其他网络中的个人项目版本库。

作用:本地仓库备份,多人协作。

4.1 新建仓库及推送

添加远程仓库:git remote add origin 远程仓库地址

推送到远程仓库(首次):git push -u origin "分支名"

推送到远程仓库(重复):git push

4.2 远程仓库-克隆

克隆(clone): 获得一份已经存在了的 Git 仓库的拷贝。

1. 执行命令,克隆仓库

  git clone 远程仓库地址

2. 命令行工具,进入目录

  cd 仓库目录

3. 查看并切换分支

  git branch –a

  git checkout 分支名

4.3 远程仓库-拉取

拉取(pull): 从远程仓库拉取代码并合并到本地。

注意: 如果要让其他人访问自己的仓库,需要设置为 开源

git pull

4.4 配置SSH

SSH是一种网络协议,用于计算机之间的加密登录。

1. 生成ssh公钥:ssh-keygen -t ed25519 -C "任意名字"

2. 查看及拷贝公钥:cat ~/.ssh/id_ed25519.pub

3. 配置公钥到gitee

4. 测试激活:ssh -T git@gitee.com

4.5 Git远程仓库-重新上传

1. 删除远程仓库地址

  git remote remove origin

2. 添加远程仓库(ssh)

  git remote add origin 远程仓库地址

3. 推送到远程仓库(首次)

  git push -u origin 分支名

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com