封装数据请求方法与接口方法

src\libs\http.js

封装 get、post 请求

javascript 复制代码
import axios from 'axios'
import qs from 'qs'

import { JUHE_APPKEY } from '@/configs/keys'

function axiosPost(options) {
  axios({
    url: options.url,
    method: 'post',
    header: {
      'Content-Type': 'application/x-www-form-urlencoded',
    },
    data: qs.stringify({
      ...options.data,
      key: JUHE_APPKEY,
    }),
  })
    .then((res) => options.success(res.data))
    .catch((err) => options.error(err))
}

function axiosGet(options) {
  axios(options.url + '&key=' + JUHE_APPKEY)
    .then((res) => options.success(res.data))
    .catch((err) => options.error(err))
}

export {
  axiosGet,
  axiosPost
}

src\services\request.js

封装聚合支付api请求

javascript 复制代码
import { axiosPost } from '@/libs/http'
function getDayData(date) {
  return new Promise((resolve, reject) => {
    axiosPost({
      url: '/api/calendar/day',
      data: { date },
      success(data) {
        resolve(data)
      },
      error(err) {
        reject(err)
      },
    })
  })
}
function getMonthData(yearMonth) {
  return new Promise((resolve, reject) => {
    axiosPost({
      url: '/api/calendar/month',
      data: { yearMonth },
      success(data) {
        resolve(data)
      },
      error(err) {
        reject(err)
      },
    })
  })
}
function getYearData(year) {
  return new Promise((resolve, reject) => {
    axiosPost({
      url: '/api/calendar/year',
      data: { year },
      success(data) {
        resolve(data)
      },
      error(err) {
        reject(err)
      },
    })
  })
}
export { getDayData, getMonthData, getYearData }
相关推荐
程序猿chen1 小时前
安全岗の夺命连环问:(第壹篇)从XSS到0day的灵魂拷问
前端·git·安全·面试·跳槽·xss·改行学it
前端_yu小白2 小时前
js异步机制
前端·javascript·async·promise·await·js异步·回调地狱
Spider Cat 蜘蛛猫2 小时前
chrome extension开发框架WXT之WXT Storage api解析【补充说明一】
前端·javascript·chrome
程序猿John5 小时前
ES6 新增特性 箭头函数
前端·javascript·es6
百锦再6 小时前
五种常用的web加密算法
前端·算法·前端框架·web·加密·机密
@大迁世界6 小时前
彻底改变我 React 开发方式的组件模式
前端·javascript·react.js·前端框架·ecmascript
William Dawson7 小时前
【Vue 3 + Element Plus 实现产品标签的动态添加、删除与回显】
前端·javascript·vue.js
拉不动的猪7 小时前
项目基础搭建时的一些基本注意点
前端·javascript·面试
蕉君桑7 小时前
vue2使用vue-echarts
前端·vue.js·echarts
runnerdancer8 小时前
React+Vite+Typescript项目脚手架模版
前端