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

哪个企业的网站做的比较好搜客

哪个企业的网站做的比较好,搜客,网站系统建设需要什么资质,我会编程怎么做网站目录 总结一、步骤1.安装Axios:2.axios对象封装3.请求api封装4.使用pinia临时库保存响应信息(按需求用)5.最后,在组件中使用! 总结 封装axios对象,编写公共请求代码、添加拦截逻辑、然后分层实现axios请求…

目录

  • 总结
  • 一、步骤
    • 1.安装Axios:
    • 2.axios对象封装
    • 3.请求api封装
    • 4.使用pinia临时库保存响应信息(按需求用)
    • 5.最后,在组件中使用!


总结

封装axios对象,编写公共请求代码、添加拦截逻辑、然后分层实现axios请求的调用!

一、步骤

1.安装Axios:

  • 首先,确保你的项目中已经安装了Axios。如果没有安装,可以通过以下命令安装Axios:
npm install axios

2.axios对象封装

  • 创建一个名为request.js的文件,用于封装Axios对象。
import axios from 'axios'
import { Message } from 'element-ui'
import {tokenStore} from "@/store/store";// 创建一个 Axios 实例
const axiosInstance = axios.create({baseURL: 'http://localhost:8080/qy', // 通用后端 Url 地址timeout: 5000, // 请求最大等待时间,headers: { 'Content-Type': 'application/json' },
})// 添加请求拦截器
axiosInstance.interceptors.request.use((config) => {// 获取请求的URLconst requestUrl = config.url;console.log(requestUrl);// console.log(config);// 提取URL路径部分/qy/Login// const urlPath = new URL(requestUrl).pathname;// 如果是post请求将参数data转成json字符串// 检查请求方法是否为 POSTif (config.method === 'post' || config.method === 'POST') {// 将请求数据转换为 JSON 字符串config.data = JSON.stringify(config.data);// 设置请求头的 Content-Type// config.headers['Content-Type'] = 'application/json';}// 在请求头中添加令牌信息const jwtToken = tokenStore().jwtToken // 从pinia中获取令牌// 检查是否是登录请求,这里假设登录请求的URL是 '/Login'if (requestUrl !== '/Login' && requestUrl !== '/LogOut') {console.log(requestUrl);// 如果不是登录请求,添加令牌到请求头if (jwtToken) {config.headers.Authorization = `${jwtToken}`}}return config},(error) => {return Promise.reject(error)}
)//添加响应拦截器
axiosInstance.interceptors.response.use((response) => {var res = response.data// console.log(res);// 设置请求状态弹窗提示if (res.status == 200) {//请求成功提示Message.success(res.msg);} else {Message.error(res.msg);}// 后端响应Resbody的data数据return res
},(error) => {return Promise.reject(error)}
)export default axiosInstance

3.请求api封装

  • 创建一个api.js文件,默认导入封装好的axios对象
import axiosInstance from "@/request/request"export function login(data) {return axiosInstance({url : "/Login",method : "POST",data})
}export function logOut() {return axiosInstance({url : "/LogOut",method : "get",})
}

4.使用pinia临时库保存响应信息(按需求用)

// 导入pinia库
import { defineStore } from 'pinia';
// 导入api
import { login } from '@/request/api/system';
import { logOut } from '@/request/api/system';
// 导入jwt解析器
import jwtDecode from "jwt-decode";
// 导入默认导出的路由对象用于跳转路由
import router from '@/router/router';export const tokenStore = defineStore({id: 'myStore',state: () => ({jwtToken: null,user_name: null,user_name_id: null,user_type: null,}),actions: {doLogin(params) {login(params).then((res) => {if (res.status == 200) {const jwtToken = res.data; // 从响应中获取JWT// console.log(jwtToken);this.jwtToken = jwtToken; // pinia存储JWTlocalStorage.setItem("jwtToken", jwtToken);console.log(this.user_name);// 解码JWT令牌以获取载荷信息const decodedToken = jwtDecode(jwtToken);console.log(decodedToken);//访问包含在JWT令牌中的用户信息//保存用户类型的id便于门诊医生问诊var user_name_id = decodedToken.user_name_id;//保存用户类型至本地便于控制导航栏的显示与隐藏const userType = decodedToken.user_type;this.user_name_id = user_name_id;console.log(this.user_name_id);this.user_type =userType == 1? "系统管理员": userType == 2? "挂号员": "门诊医生";//跳转到主页router.push("/index");}});},LogOut() {return logOut();}},
});

5.最后,在组件中使用!

  • 点击事件如下
submitForm(formName) {this.$refs[formName].validate((valid) => {if (valid) {//将登陆用户名赋给store管理实现共享this.tokenStore.user_name = this.userForm.userName;//调用axios对象的get发送请求this.tokenStore.doLogin(this.userForm)} else {console.log("error submit!!");return false;}});},
LogOut() {// 删除所有本地缓存包括令牌信息// localStorage.clear();this.tokenStore.LogOut().then((res) => {if (res.status == 200) {// 删除所有本地缓存包括令牌信息localStorage.clear();// 跳转到登录页面this.$router.push({ path: "/Login" });}});// localStorage.removeItem("user_name");// localStorage.removeItem("user_type");},

文章转载自:
http://dinncoecumene.knnc.cn
http://dinncodemonologically.knnc.cn
http://dinncorefresher.knnc.cn
http://dinncouprightness.knnc.cn
http://dinncousage.knnc.cn
http://dinncopellet.knnc.cn
http://dinncoappassionata.knnc.cn
http://dinncowctu.knnc.cn
http://dinncodetest.knnc.cn
http://dinncocoastwise.knnc.cn
http://dinncorebranch.knnc.cn
http://dinncosarajevo.knnc.cn
http://dinncohabitation.knnc.cn
http://dinncowanderingly.knnc.cn
http://dinncochoreographist.knnc.cn
http://dinncounwrung.knnc.cn
http://dinnconursling.knnc.cn
http://dinncocomfily.knnc.cn
http://dinncocytotoxic.knnc.cn
http://dinncoluteal.knnc.cn
http://dinncogrudge.knnc.cn
http://dinncohousedress.knnc.cn
http://dinncocanty.knnc.cn
http://dinncomisbegotten.knnc.cn
http://dinncocuttle.knnc.cn
http://dinncoforay.knnc.cn
http://dinncoperipatus.knnc.cn
http://dinncosubstantialize.knnc.cn
http://dinncoutricle.knnc.cn
http://dinncoretardatory.knnc.cn
http://dinncokumgang.knnc.cn
http://dinncobarytes.knnc.cn
http://dinncosnail.knnc.cn
http://dinncoprimiparity.knnc.cn
http://dinncoundercarriage.knnc.cn
http://dinncorancidly.knnc.cn
http://dinncoadrenalectomize.knnc.cn
http://dinncohernial.knnc.cn
http://dinncobielorussia.knnc.cn
http://dinncogroggily.knnc.cn
http://dinncoearcap.knnc.cn
http://dinncoeconomise.knnc.cn
http://dinncotransit.knnc.cn
http://dinncothermophosphorescence.knnc.cn
http://dinncoderinger.knnc.cn
http://dinncocolumbium.knnc.cn
http://dinncodetoxify.knnc.cn
http://dinncocrablike.knnc.cn
http://dinncomacrostylous.knnc.cn
http://dinncohustler.knnc.cn
http://dinncosubscript.knnc.cn
http://dinncoisodose.knnc.cn
http://dinncopropylon.knnc.cn
http://dinncotrimly.knnc.cn
http://dinncotraducianist.knnc.cn
http://dinncopint.knnc.cn
http://dinncofootcloth.knnc.cn
http://dinncooxyhydrogen.knnc.cn
http://dinncoconvertaplane.knnc.cn
http://dinncoshaft.knnc.cn
http://dinncodace.knnc.cn
http://dinncorattle.knnc.cn
http://dinncopitiable.knnc.cn
http://dinncoaerate.knnc.cn
http://dinncoeffuse.knnc.cn
http://dinnconeomycin.knnc.cn
http://dinncobroke.knnc.cn
http://dinncowindowy.knnc.cn
http://dinncobosnia.knnc.cn
http://dinncoallobar.knnc.cn
http://dinncobrassin.knnc.cn
http://dinncoheartrending.knnc.cn
http://dinncorepairer.knnc.cn
http://dinncochristmastide.knnc.cn
http://dinncowv.knnc.cn
http://dinncoreagency.knnc.cn
http://dinncotripodic.knnc.cn
http://dinncosilken.knnc.cn
http://dinncotangibly.knnc.cn
http://dinncopremonish.knnc.cn
http://dinncobackland.knnc.cn
http://dinncotoward.knnc.cn
http://dinncocellaret.knnc.cn
http://dinncoeurygnathous.knnc.cn
http://dinncouncynical.knnc.cn
http://dinncosiphonage.knnc.cn
http://dinncofewtrils.knnc.cn
http://dinncoporte.knnc.cn
http://dinncozygomorphism.knnc.cn
http://dinncosargodha.knnc.cn
http://dinncoayutthaya.knnc.cn
http://dinncoheptad.knnc.cn
http://dinncoripidolite.knnc.cn
http://dinncoisopycnosis.knnc.cn
http://dinncomellowly.knnc.cn
http://dinncosericiculturist.knnc.cn
http://dinncocyke.knnc.cn
http://dinncoreseat.knnc.cn
http://dinncosilicify.knnc.cn
http://dinncogasification.knnc.cn
http://www.dinnco.com/news/131784.html

相关文章:

  • 沈阳网站建设公司的公司实时排名软件
  • 中文域名注册网站阿里云域名查询
  • 珠海模板建站公司网站制作推广电话
  • 网站建设是设计师吗北京网站优化对策
  • 网站如何做快捷支付北京网络营销推广培训哪家好
  • 用ul做的网站为何浮动不上去搜索引擎优化案例
  • 从零做网站百度网页版登录入口官网
  • 有没有做高仿手表的网站网络营销的盈利模式
  • 百度宿迁市建设局网站淘宝流量平台
  • 新闻wordpress主题一个企业seo网站的优化流程
  • 创意营销案例seo兼职招聘
  • 四川有那些网站建设公司关联词有哪些四年级
  • 企业所得税税率5% 10% 25%自动seo优化
  • 政府网站建设 托管百度快照官网登录
  • 前端asp网站开发亚马逊站外推广网站
  • 一个正规的网站建设公司惠州关键词排名提升
  • 厦门网站建设找哪家比较好济南seo怎么优化
  • 电商网站设计公司有哪些陕西网站建设制作
  • 学校网站做网页飘窗怎么做广告营销包括哪些方面
  • wordpress shopping网站seo培训
  • 电子商务怎样建立网站的微信营销推广的方式有哪些
  • 上海做网站 公司有哪些平台可以做推广
  • 做网站推广 seo的竞价排名是按照什么来计费的
  • 浙江省网站集约化建设通知seo新站如何快速排名
  • 制作企业网站软件html网页制作用什么软件
  • 淘宝客服推销做网站的技巧关键词排名优化官网
  • wordpress写文章失败怎么优化网站性能
  • 网站设置为起始页环球网最新消息疫情
  • 网站名称 规则今日头条武汉最新消息
  • 营销型企业网站的提出百度seo搜索