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

设计师喜欢的购物网站免费网站创建

设计师喜欢的购物网站,免费网站创建,软件编程入门自学教程,做英文网站📝个人主页:五敷有你 🔥系列专栏:Vue ⛺️稳中求进,晒太阳 Request模块 - axios 封装 使用axios来请求后端接口,一般会对axios进行一些配置(比如配置基础地址,请求响应拦截器…

       📝个人主页:五敷有你      

 🔥系列专栏:Vue

⛺️稳中求进,晒太阳

Request模块 - axios 封装

使用axios来请求后端接口,一般会对axios进行一些配置(比如配置基础地址,请求响应拦截器)

所以项目开发中都会对axios进行基本的二次封装,封装到一个request模块中,便于维护使用

  1. 安装axios
  2. 新建request模块(util/request.js)
  3. 创建实例&配置导出实例
import axios from "axios";
import {Toast} from 'vant'
//创建axios实例,将来对创建出来的实例进行自定义的配置
//好处,不会污染原始的axios
const instance = axios.create({//基础地址baseURL: 'http://cba.itlike.com/public/index.php?s=/api/',timeout: 1000,});//自定义配置 --配置请求响应拦截器// 添加请求拦截器
instance.interceptors.request.use(function (config) {// 在发送请求之前做些什么return config;
}, function (error) {// 对请求错误做些什么return Promise.reject(error);
});// 添加响应拦截器
instance.interceptors.response.use(function (response) {// 2xx 范围内的状态码都会触发该函数。// 对响应数据做点什么(默认axios会多一层data包装,需要拦截器处理一下)const res=response.data;if(res.status!==200){//给提示 Toast(res.message)//抛出错误的promisethrow Promise.reject(res.message)}return res}, function (error) {// 超出 2xx 范围的状态码都会触发该函数。// 对响应错误做点什么return Promise.reject(error);
});//导出配置好的实例
export default instance

测试使用

import request from '@/util/request'和普通的axios使用一样 ,就是自定义的axios
requset.get('路径')

其他:

 const { data: { base64, key } } = await getPicCode()可以拆开

Vuex的持久化存储

封装好storage 存储模块,利用本地存储。进行VueX持久化存储

问题一:vuex刷新会丢失

将token存入本地。

localStorage.setItem("userInfo",JSON.stringify(response.data.data))

问题二:每次存取的时间太长,太麻烦

封装一个storage模块

// 约定一个通用的键名
const INFO_KEY = 'hm_shopping_info'
const HISTORY_KEY = 'hm_history_list'// 获取个人信息
export const getInfo = () => {const defaultObj = { token: '', userId: '' }const result = localStorage.getItem(INFO_KEY)return result ? JSON.parse(result) : defaultObj
}// 设置个人信息
export const setInfo = (obj) => {localStorage.setItem(INFO_KEY, JSON.stringify(obj))
}// 移除个人信息
export const removeInfo = () => {localStorage.removeItem(INFO_KEY)
}// 获取搜索历史
export const getHistoryList = () => {const result = localStorage.getItem(HISTORY_KEY)return result ? JSON.parse(result) : []
}// 设置搜索历史
export const setHistoryList = (arr) => {localStorage.setItem(HISTORY_KEY, JSON.stringify(arr))
}//使用import {getInfo,setInfo} from '@/storage'setInfo(Info)

http://www.yayakq.cn/news/88689/

相关文章:

  • 自建博客wordpress搜索关键词排名优化技术
  • 中山网站百度优化男生学平面设计好就业吗
  • 微门户网站建设文化建设包括哪些
  • 网站前台修改网站备案在哪查
  • 做视频用的网站网站关键词分布情况
  • 建设个人网站赚钱做网站需要代码吗
  • 网站开发技术方案做网站到底要不要营业执照
  • 昭通网站建设 hardlcp做名片哪个网站最好
  • 网站开发属于哪个大学专业下列关于网站开发中网页额
  • 上海城乡建设部网站徐州网站建设制作工作室
  • 沈阳seo排名收费seo店铺描述例子
  • 网站后台修改图片哪个网站做的ppt模板好
  • 用asp.net做的购物网站做项目的网站
  • 在linux上做网站搭建动态ip建网站
  • 广东网站开发项目商城网站管理系统
  • 企业网站html诚信通旺铺网站建设
  • 投简历找工作哪个网站好足球排名最新排名世界
  • 河北爱站网络科技有限公司企业网站的作用和意义
  • 中国网站建设银行-个人客户浏览器如何推广自己网站
  • 壁纸公司网站源码医院网站域名备案
  • 查询邮箱注册过的网站注册微信号的网站
  • 黑龙江住房城乡建设厅网站网站标题的作用
  • html如果制作一个内容多的网站网页制作三剑客通常指
  • 如何快速开发一个网站网站布局评价
  • 网站定制排名如何用ps设计网站首页
  • 推荐企业门户网站建设装修论坛
  • 做单屏网站 高度是多少建和做网站
  • 广州云购网站建设深圳龙岗是穷人区吗
  • 网站开发流程相关知识wordpress无法登录后台
  • 建材做网站好吗wordpress标签分页