vue.js 中cookie的封装

//获取cookie、
export function getCookie(name) {
 var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
 if (arr = document.cookie.match(reg))
  return (arr[2]);
 else
  return null;
}

//设置cookie,增加到vue实例方便全局调用
export function setCookie (c_name, value, expiredays) {
 var exdate = new Date();
 exdate.setDate(exdate.getDate() + expiredays);
 document.cookie = c_name + "=" + escape(value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString());
};

//删除cookie
export function delCookie (name) {
 var exp = new Date();
 exp.setTime(exp.getTime() - 1);
 var cval = getCookie(name);
 if (cval != null)
  document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
};

引入:

import {getCookie,setCookie,delCookie} from "../../api/cookie.js";
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是封装 HTTP 请求的模块: ```javascript // http.js import Vue from 'vue' import uni from 'uni-app' // 全局默认配置 const DEFAULT_OPTIONS = { baseURL: 'https://example.com', // 接口基础路径 timeout: 5000, // 请求超时时间 headers: { 'Content-Type': 'application/json', // 默认请求头 }, responseType: 'json', // 响应类型 withCredentials: false, // 是否允许跨域携带 cookie } // 创建 axios 实例 const axios = uni.request.create(DEFAULT_OPTIONS) // 请求拦截器 axios.interceptors.request.use( config => { // 在发送请求之前做些什么 const token = Vue.$cookies.get('token') // 从 cookie 读取 token if (token) { config.headers.Authorization = `Bearer ${token}` // 添加授权头 } return config }, error => { // 对请求错误做些什么 return Promise.reject(error) } ) // 响应拦截器 axios.interceptors.response.use( response => { // 对响应数据做些什么 return response.data }, error => { // 对响应错误做些什么 return Promise.reject(error) } ) export default axios ``` 以上代码将 `uni.request` 封装成了一个 axios 实例,并配置了请求拦截器和响应拦截器。在请求拦截器,我们读取了保存在 cookie 的 token,并添加到请求头,实现了全局授权。在响应拦截器,我们只返回了响应数据的 `data` 字段,这样就可以在业务代码直接使用数据,而不需要写很多重复的代码。 接下来,我们可以在业务代码使用封装好的 axios 模块,例如: ```javascript // 使用 http.js 发送 GET 请求 import axios from '@/utils/http' axios.get('/api/users') .then(response => { console.log(response) }) .catch(error => { console.error(error) }) // 使用 http.js 发送 POST 请求 axios.post('/api/login', { username: 'admin', password: '123456' }) .then(response => { console.log(response) }) .catch(error => { console.error(error) }) ``` 以上代码演示了如何使用封装好的 axios 模块发送 GET 和 POST 请求,业务代码只需要关注请求路径和请求参数即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值