uniapp二次封装request API

11 篇文章 0 订阅
3 篇文章 0 订阅

1.根目录新建plugins文件夹,下面新建request.js文件。

2.复制代码到文件里面。



export const BASE_URL = ''; //测试地址
const HEADER = {
    'content-type': "application/json"
}; 


export function request({ url, data, method, header }) {
    let headerObj = HEADER;
    // 在登录页面保存token,在这里添加token到请求头中。 
    /* const token = uni.getStorageSync('userToken');
    if (token) {
        headerObj = {
            'Authorization': token,
            ...HEADER
        }
    } */
    return new Promise((resolve, reject) => {
        //uni.app 发起网络请求
        uni.request({
            url: BASE_URL + url,
            data,
            method,
            header: headerObj,
            sslVerify: true,
            success: ({
                data,
                statusCode,
                header
            }) => {
                if (data.code == 0) {
                    //请求成功
                    resolve(data)
                } else {
                    //请求失败 提示用户
                    uni.showToast({
                        title: data.message,
                        icon: "error",
                        mask: true,
                        duration: 2000
                    });
                    //进行失败回调
                    reject(data.message);
                }
            },
            fail: (errot) => {
                //请求错误 直接进行错误回调
                reject(errot);
            }
        })
    }).catch(err=>{
        console.log(err)
    })
}

3.根目录新建api文件夹。

import { request, BASE_URL } from "../plugins/request"

// 正常使用
export function login(params) {
  return request({
    url: '/borrowUser/login',
    data: params,
    method: 'post',
    header: 'application/json'
  })
}


// 封装上传图片
export function uploadFilePromise(url) {
  return new Promise((resolve, reject) => {
    let a = uni.uploadFile({
      url: BASE_URL + "/third/uploadImageToOss",
      filePath: url,
      name: "file",
      formData: {
        user: "test",
      },
      success: (res) => {
        resolve(res.data);
      }
    });
  });
}

4.页面中使用,返回的是poromise。

<script>
// 引入
import { login } from "@/api/index";
export default {
  data() {
        async login(){
            let sign = {
                phone: 'xxx',
                code: 'xxx'
            }
            const res = await login(sign);
        }
    }
};
</script>

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值