当前位置:   article > 正文

uni-app封装api请求(requery)_uniapp封装请求api

uniapp封装请求api

 方法一

一、项目根目录新建 util 文件夹

mkdir util

二、util 目录下新建 api.js

 三、编辑 api .js

  1. // uni.request、uni.showToast 为 uni-app官方API
  2. const BASE_URL = 'http://localhost:8082/'
  3. export const myRequery = (options) => {
  4. return new Promise((resolve, reject) => {
  5. uni.request({
  6. url: BASE_URL + options.url,
  7. method: options.method || 'GET',
  8. data: options.data || {},
  9. success: (res) => {
  10. if (res.data.status !== 0) {
  11. return uni.showToast({
  12. title: "获取数据失败",
  13. icon: 'error'
  14. })
  15. }
  16. resolve(res)
  17. },
  18. fail: (err) => {
  19. uni.showToast({
  20. title: "请求失败",
  21. icon: 'error'
  22. })
  23. reject(err)
  24. }
  25. })
  26. })
  27. }

 四、main.js 导入

  1. import Vue from 'vue'
  2. // 导入
  3. import { myRequery } from 'util/api.js'
  4. // vue 全局挂载
  5. Vue.prototype.$myRequery = myRequery

 五、在 index.vue 使用

  1. <template>
  2. <view class="content">
  3. 首页
  4. </view>
  5. </template>
  6. <script>
  7. export default {
  8. data() {
  9. return {
  10. swipers: []
  11. }
  12. },
  13. onLoad() {
  14. this.getSwipers()
  15. },
  16. methods: {
  17. async getSwipers() {
  18. const res = await this.$myRequery({ url: 'api/getlunbo' })
  19. this.swipers = res.data.message
  20. console.log(this.swipers)
  21. }
  22. }
  23. }
  24. </script>
  25. <style>
  26. </style>

方法二

1. 在项目根目录下新建一个`api`文件夹,用来存放api请求
2. 在`api`文件夹下新建一个`api.js`文件,用来存放api请求的具体方法

  1. const baseUrl = 'http://xxxx.com/api' // 接口请求地址
  2. // 封装请求方法
  3. const request = (url, method, data) => {
  4. wx.showLoading({
  5. title: '加载中' // 数据请求前loading
  6. })
  7. return new Promise((resolve, reject) => {
  8. wx.request({
  9. url: baseUrl + url, // 开发者服务器接口地址
  10. method: method,
  11. data: data,
  12. header: {
  13. 'content-type': 'application/json' // 默认值
  14. },
  15. success: function(res) {
  16. // 请求成功操作
  17. wx.hideLoading()
  18. resolve(res.data)
  19. },
  20. fail: function(err) {
  21. // 请求失败操作
  22. wx.hideLoading()
  23. reject(err)
  24. }
  25. })
  26. })
  27. }
  28. // 封装网络请求
  29. const get = (url, data) => {
  30. return request(url, 'GET', data)
  31. }
  32. const post = (url, data) => {
  33. return request(url, 'POST', data)
  34. }
  35. module.exports = {
  36. get,
  37. post
  38. }

 3. 在需要使用的页面中引入`api.js`文件,然后即可使用封装的api方法

  1. // pages/index/index.js
  2. import { get, post } from '../../api/api.js'
  3. Page({
  4. data: {},
  5. onLoad: function () {
  6. // 调用封装的get方法
  7. get('/getData', {
  8. type: 'getData'
  9. }).then(res => {
  10. // 请求成功操作
  11. }).catch(err => {
  12. // 请求失败操作
  13. })
  14. }
  15. })

 

 end;

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

闽ICP备14008679号