当前位置:   article > 正文

vue和uniapp的网络请求封装_uniapp vue3 接口请求封装 js

uniapp vue3 接口请求封装 js

目录

一、vue请求封装

二、uniapp请求封装

一、vue请求封装

在项目的src文件夹下新建一个request文件夹,里面的request.js就是放封装代码的地方。api.js里面引入,然后去写对应的请求。

  1. import axios from "axios"
  2. const instance = axios.create({
  3. baseURL:process.env.VUE_APP_BASE_API,
  4. timeout:5000
  5. })
  6. // 设置请求拦截器
  7. instance.interceptors.request.use(config => {
  8. // console.log("每一次发起请求前,都会先执行这里的代码");
  9. // console.log(config); //config是一个对象:记录了本次请求的配置信息
  10. let token=localStorage.getItem("token");
  11. // 在发请求前携带请求头
  12. if(token){
  13. config.headers["X-Access-Token"]=token;
  14. }
  15. return config
  16. }, err => {
  17. return Promise.reject(err)
  18. })
  19. // 设置响应拦截器:对服务器响应回来的数据做统一处理
  20. instance.interceptors.response.use(res=>{
  21. // console.log("每一次接收到响应,都会先执行这里的代码,再去执行成功的那个回调函数then");
  22. // res :是一个对象:原先说的axios封装的res对象
  23. return res
  24. },err=>{
  25. return Promise.reject(err)
  26. })
  27. export default instance

api.js里面引入后,请求写法如下;import instance from './request'

举例get方法:

export const GetIMg = (params) => instance.get('/sys/oss/file/getOOSUrl',params)

举例post方法:

export const   postNewCopy= (params) => instance.post(`/h5/activiti_process/getProcessNode?id=${params.id}`)

.env.development.env.production里面写入网络头部:VUE_APP_BASE_API ="xxx"

二、uniapp请求封装

文件放的地方和vue一样,就是语法不一样,引用的时候是一致的!

  1. const $request = (url, data, method = 'POST', headers = "application/json;") => {
  2. return new Promise((resolve, reject) => {
  3. uni.showLoading({
  4. title: '数据加载中',
  5. icon: 'loading',
  6. mask: true
  7. });
  8. let token= uni.getStorageSync("token")
  9. uni.request({
  10. url: 'xxx/api' + url,
  11. method: method,
  12. data: data,
  13. header: {
  14. 'Content-Type': headers,
  15. 'X-Access-Token': token
  16. },
  17. success(res) {
  18. resolve(res)
  19. uni.hideLoading(); //关闭loading
  20. },
  21. fail(error) {
  22. reject(error);
  23. uni.hideLoading(); //关闭loading
  24. },
  25. complete() {
  26. uni.hideLoading(); //关闭loading
  27. }
  28. })
  29. })
  30. }
  31. //get请求
  32. const $get = (url, data) => {
  33. return $request(url, data, 'GET')
  34. }
  35. //post请求
  36. const $post = (url, data) => {
  37. return $request(url, data, 'POST')
  38. }
  39. //给uniapp原生的requset赋值
  40. //记得要在mian.js中引用
  41. uni.$request = $request
  42. uni.$get = $get
  43. uni.$post = $post

api.js里面引入后,请求写法如下;

举例get方法:

export const GetIMg = (params) => uni.$get('/sys/oss/file/getOOSUrl',params)

举例post方法:

export const   postNewCopy= (params) => uni.$post(`/h5/activiti_process/getProcessNode?id=${params.id}`)

注意:一定要在main.js里面引入:import '@/utils/request.js'

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/318513
推荐阅读