uniapp,vue3,ts,接口封装、小程序登录

在src下创建public文件夹,在public文件夹里创建request.ts

//设置基地址
const baseUrl = 'https://meituan.thexxdd.cn/api'

//封装请求
function request(
  url: string,
  method: 'GET' | 'POST',
  data: string | object | ArrayBuffer
) {
  return new Promise((resolve, reject) => {
    //发起uni请求
    uni.request({
      url: baseUrl + url,//路径
      method,
      data,
      //进入接口成功
      success: (res) => {
        if (res.statusCode == 200) {
          resolve(res)
        } else if (res.statusCode == 401) {
          uni.showToast({
            title: "信息过期",
            icon: "none",
            duration: 1000
          })
          resolve(res)
        } else if (res.statusCode == 500) {
          uni.showToast({
            title: "服务器错误",
            icon: "none",
            duration: 1000
          })
          resolve(res)
        } else if (res.statusCode == 202) {
          uni.showToast({
            title: "服务器错误",
            icon: "none",
            duration: 1000
          })
          resolve(res)
        } else{
          uni.showToast({
            title: "服务器错误",
            icon: "none",
            duration: 1000
          })
          resolve(res)
        }
      },
      // 进入接口失败
      fail:(err)=>{
        uni.showToast({
          title:"服务器错误",
          icon:"none",
          duration:1000
        })
        reject(err)
      }
    })
  })
}
//抛出
export {request}
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
UniApp中使用Vue3进行接口请求的封装可以按照以下步骤进行。 1. 创建一个文件,例如`api.js`,用于定义接口请求相关的函数。 ```javascript import { createApp } from 'vue' import { reactive } from 'vue' const app = createApp({}) const state = reactive({ // 定义一些全局的请求相关配置,如baseURL等 baseURL: 'https://api.example.com', timeout: 10000, }) // 定义接口请求函数 export const request = async (config) => { config.url = state.baseURL + config.url config.timeout = state.timeout try { const response = await app.config.globalProperties.$http(config) return response.data } catch (error) { throw new Error(error) } } ``` 2. 在`main.js`中进行拦截器和全局挂载的配置。 ```javascript import { createApp } from 'vue' import App from './App.vue' const app = createApp(App) // 在app.config.globalProperties上挂载$http方法,用于发送请求 app.config.globalProperties.$http = (config) => { // 在这里可以使用uni.request或者其他库进行实际的请求发送 // 返回一个Promise对象 } app.mount('#app') ``` 3. 在需要使用接口的地方,引入`api.js`文件并调用接口请求函数。 ```javascript import { request } from './api.js' // 调用接口请求函数 request({ url: '/example', method: 'get', }).then((response) => { console.log(response) }).catch((error) => { console.error(error) }) ``` 通过以上步骤,你可以在UniApp中使用Vue3进行接口请求的封装。当然,你可以根据具体的需求进行更多的定制和封装

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值