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

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 }
相关推荐
小满zs8 分钟前
Next.js第十二章(RSC/服务端组件/客户端组件)
前端
亿元程序员24 分钟前
明明直接用就可以了,非要在Creator里面写???
前端
wadesir1 小时前
Nginx负载均衡代理协议详解(从零开始搭建高可用Web服务)
前端·nginx·负载均衡
秋氘渔1 小时前
Vue 3 组合式写法:侦听器 watch 和 watchEffect 的区别及使用技巧
前端·javascript·vue.js·watch·watcheffect
想睡八个小时1 小时前
已包含的文件名 “a.vue“ 仅大小写与文件名 “A.vue“ 不同
前端·vscode
阿奇__1 小时前
element二次封装组件套餐 搜索组件 表格组件 弹窗组件
javascript·vue.js·elementui
The_era_achievs_hero2 小时前
Echarts
前端·javascript·echarts
亮子AI2 小时前
【JavaScript】修改数组的正确方法
开发语言·javascript·ecmascript
涔溪3 小时前
Vite 和 Webpack 这两款主流前端构建工具的核心区别,包括它们的设计理念、工作机制和实际使用体验上的差异。
前端·webpack·vite
0思必得03 小时前
[Web自动化] 开发者工具元素(Elements)面板
运维·前端·自动化·web自动化·开发者工具