当前位置: 首页 > news >正文

网站模板的缺点网站建设分为

网站模板的缺点,网站建设分为,19寸 网站做多大,企业做网站公司排名口碑为了跨组件传递JWT令牌#xff0c;我们就会利用Pinia状态管理库#xff0c;它允许跨组件或页面共享状态。 使用Pinia步骤#xff1a; 安装pinia#xff1a;cnpm install pinia 在vue应用实例中使用pinia 在src/stores/token.js中定义store 在组件中使用store 1.在main.js文…为了跨组件传递JWT令牌我们就会利用Pinia状态管理库它允许跨组件或页面共享状态。 使用Pinia步骤 安装piniacnpm install pinia 在vue应用实例中使用pinia 在src/stores/token.js中定义store 在组件中使用store  1.在main.js文件导入pinia 这里因为Pinia是默认内存存储刷新浏览器会丢失数据我们使用pinia内的Persist插件就可以将Pinia中的数据持久化存储。 为了使用persist我们需要安装persistcnpm install pinia-persistedstate-plugin然后再pinia中使用persist并且需要再main.js导入一下。 import ./assets/main.scssimport { createApp } from vue import ElementPlus from element-plus import element-plus/dist/index.css import App from ./App.vue import router from /router import { createPinia } from pinia import { createPersistedState } from pinia-persistedstate-pluginconst app createApp(App); //创建createPinia()函数实例 const pinia createPinia(); const persist createPersistedState(); pinia.use(persist) app.use(pinia) app.use(router) app.use(ElementPlus); app.mount(#app) 2.定义store状态 其实无外乎就是使用defineStore()方法在方法内部分为两个参数来写 第一个参数名字确保唯一性。 第二个参数函数其内部可以定义状态的所有内容其内部先创建一个响应式数据然后设置获取数据以及删除数据的方法最后返回数据以及方法。 加上Persist插件就可以将Pinia中的数据持久化存储。 //定义store import { defineStore } from pinia; import {ref} from vue /*第一个参数名字确保唯一性第二个参数函数其内部可以定义状态的所有内容返回值函数 */ export const useTokenStore defineStore(token,(){//定义状态内容//1.定义响应式变量const token ref();//2.定义函数来修改token值const setToken (newToken){token.value newToken;}//3.定义函数来移除token值const removeToken (){token.value ;}return {token,setToken,removeToken} },{persist: true  //因为Pinia是默认内存存储刷新浏览器会丢失数据使用Persist插件就可以将Pinia中的数据持久化存储 } ); 这样我们就可以调用定义的useTokenStore来使用pinia了。 eg文章分类列表渲染 我们的目的是想要通过pinia来跨组件使用token请求头内的JWT令牌将其封装给请求头。 我们首先再Login.vue文件中把得到的token存储到pinia中 //导入store状态 import { useTokenStore } from /stores/token.js; //导入路由器 import { useRouter } from vue-router; const tokenstore useTokenStore(); const router useRouter(); //表单数据校验 const login async(){let result await userLoginService(registerData.value);// alert(result.msg ? result.msg : 登录成功); ElMessage.success(result.msg ? result.msg : 登录成功);//将得到的token存储到pinia中tokenstore.setToken(result.data);//通过路由跳转首页router.push(/); } 然后再article.js中定义请求函数 import request from /utils/request.js import { useTokenStore } from /stores/token.js;export const ArticleCategoryListService (){const tokenStore useTokenStore();//在pinia中定义的响应式数据不需要加.value才能使用数据return request.get(/category,{headers:{Authorization:tokenStore.token}}); }  但是这样我们需要将剩下的请求函数都要传递JWT令牌代码会很繁琐这个时候我们就可以添加请求拦截器来使用回调函数来发送。 添加请求拦截器 在request.js文件中添加请求拦截器 import { useTokenStore } from /stores/token.js; //添加请求拦截器 instance.interceptors.request.use((config){//请求前的回调const tokenStore useTokenStore();if(tokenStore.token){//通过config调用headers获取请求头在调用Authorization将JWT令牌存放到内部以此来添加统一的请求头config.headers.Authorization tokenStore.token;}return config;},(err){//请求错误的回调Promise.reject(err);//异步的状态转化成失败的状态} ) export default instance; 修改article.js文件的请求函数 import request from /utils/request.jsexport const ArticleCategoryListService (){return request.get(/category); }
http://www.dnsts.com.cn/news/236207.html

相关文章:

  • 飞飞cms悠悠电影网站没备案的网站可以做淘客
  • 延安网站设计公司在微信上做彩票网站
  • 创新的江苏网站建设户外广告公司
  • 网站备案网站要有内容吗会员卡管理系统自己做
  • 自己的网站没有域名解析东莞市的网站公司哪家好
  • 网站推广的含义云梦主城区核酸检测
  • 主题公园网站建设得物app订单制作
  • 自治区建设厅网站个人网站怎么申请
  • c 还可以做网站应届生求职网站官网
  • 中国建设银行太原招聘信息网站原网站开发新功能
  • 南宁网站建设价格公司介绍范文50字
  • 杭州外贸网站建设公司价格网站假备案举报
  • 模板网站的缺点张北县网站建设
  • 建一个网站模板网网站开发外包不给ftp
  • 中英双语网站怎么做淘客网站如果做优化
  • 个人网站布局自适应网站怎么做移动配置
  • 企业网站建设一站式服务搜索引擎网站推广法 怎么做
  • 网站总是跳转dede58中国工商银行app下载
  • 网站标题title怎么写济南网网络推广
  • 哪个网站可预约做头发本周国内新闻
  • 家装公司加盟哪个公司好seo课程
  • 免费建站的方法农业 网站源码
  • html5网站制作分工高唐住房建设局网站
  • 万网 网站托管平顶山网站建设电话
  • 网站开发框架拓扑北京住房和城乡建设厅官方网站
  • 烟台企业网站制作公司上海站优云网络科技有限公司
  • 绍兴网站制作方案定制密云网站开发公司
  • 网站中的轮播怎么做找人注册公司多少钱
  • 网站 做购物车求职招聘网站开发
  • 甘肃建设监理协会网站显示网站目录