更新记录

1.0.0(2025-01-03) 下载此版本

网络请求封装


平台兼容性

Vue2 Vue3
×
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.1.0 app-vue × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序 鸿蒙元服务
× × × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
注意:
1.该网络请求封装基于uview-plus的http请求使用,所以先引入uview-plus,如果不能顺利使用,请结合uview-plus中的http使用说明

image-20250103111540067

1.配置config文件

let config = {
    // appUrl: 'https://198.0.0.0.1', // 开发环境
    // appUrl: 'https://test.xxx.xxx.com.cn', // 测试环境
    appUrl: 'https://prod.xxx.xxx.com.cn', // 正式环境
    // 换成自己的接口域名
}

export default config;

2.配置http.interceptor.js文件

import { http, toast} from '@/uni_modules/uview-plus'

// 1.请求超时,加载等配置
http.setConfig((config) => {
    config.showLoading = false
    config.timeout = 30000
    return config
})

// 2.请求拦截
http.interceptors.request.use(config => {
    config.header = {
        ...config.header,
        'Token': '' // 传自己的token,可以从本地存储拿或者pinia
    }
    return config
}, config => {
    return Promise.reject(config)
})

3.在main.js文件引入http.interceptor.js

import '@/uni_modules/xy-request-promise/config/http.interceptor.js'

4.配置统一请求方法,请下载插件查看,代码比较多这里就不放出来了

5.新建接口示例

import {
    api
} from "../config/request.js"

export function userInfo(params) {
    return api('/api/userinfo/', params)
}

6.使用示例

<template>
    <view class='box'>
        <view @click="getUserInfo">接口请求测试</view>
    </view>
</template>

<script setup>
    import { userInfo } from '../../api/test.js'

    const getUserInfo = (() =>{
        userInfo({
            aa: 11,
            bb: 22
        }).then(res => {
            console.log(res);
        }).catch(err => {
            uni.$u.toast(err.msg);
        })
    })
</script>

<style lang='scss' scoped>
    .box{}
</style>

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问