uniapp接口请求(第二种)

1. 新建config文件夹=>index.js文件
文件内容

1. 新建api文件夹=>api.js文件夹
文件内容

 1 import baseURL from '../config/index.js'; //引入网址前缀文件
 2 // 得到传来的参数 用params来接收
 3 module.exports = (params) => {
 4     const URL = baseURL.baseURL;
 5     let url = URL + params.url;
 6     let method = params.method;
 7     let header = params.header || {};
 8     let data = params.data || {};
 9     // 请求方式 GET POST
10     if (method) {
11         method = method.toUpperCase()
12         if (method === 'POST') {
13             header = {
14                 "content-type": "application/x-www-form-urlencoded"
15             }
16         }
17     }
18 
19     //  发起请求 加载动画
20     if (!params.hideLoading) {
21         uni.showLoading({
22             title: '加载中'
23         })
24     }
25 
26     // 发起网络请求
27     uni.request({
28         url: url,
29         method: method || 'GET',
30         header: header,
31         data: data,
32         dataType: 'json',
33         sslVerify: false, //是否验证ssl证书
34         success: (res) => {
35             //  当statusCode 等于200的时候是请求成功了,请求到的数据应该回传给调用的地方,在调用的地方拿到数据后再进行处理
36             if (res.statusCode && res.statusCode != 200) {
37                 uni.showModal({
38                     content: res.msg
39                 })
40                 return;
41             }
42             typeof params.success == "function" && params.success(res.data)
43         },
44         fail: err => {
45             uni.showModal({
46                 content: err.msg
47             })
48             //  在请求失败的fail里写上对应的处理,失败的时候把失败信息回传给调用的地方
49             typeof params.fail == "function" && params.fail(err.data);
50         },
51         complete: (e) => {
52             console.log("请求完成");
53             // 关掉请求的loading
54             setTimeout(function() {
55                 uni.hideLoading()
56             }, 1200);
57             typeof params.complete == "function" && params.complete(e.data);
58             return;
59         }
60     })
61 }

 

3. 在main.js文件夹中全局注册引用
`import http from './utils/api/api.js';`
`Vue.prototype.http = http;`

4.使用方法

参考自“油麦菜大佬”的uniapp封装网络请求
地址链接https://www.cnblogs.com/easth/p/uniapp_http.html

posted @ 2020-11-20 15:59  打工人001  阅读(1071)  评论(0编辑  收藏  举报