使用uni-app封装request

简介: 封装request请求

使用uni-app封装ajax请求


export default {
    // 全局配置
    common: {
        baseUrl: "",
        header: {
            'Content-Type': 'application/json;charset=UTF-8',
        },
        data: {},
        method: 'GET',
        dataType: 'json',
        token: false
    },

    // 请求 返回promise
    request(options = {}) {
        // 组织参数
        options.url = this.common.baseUrl + options.url
        options.header = options.header || this.common.header
        options.data = options.data || this.common.data
        options.method = options.method || this.common.method
        options.dataType = options.dataType || this.common.dataType
        options.token = options.token === true ? true : this.common.token
        // 请求
        return new Promise((res, rej) => {
            // token验证
            if (options.token) {
                let token = uni.getStorageSync('dxToken')
                // 二次验证
                if (!token) {
                    uni.showToast({
                        title: '请先登录',
                        icon: 'none'
                    });
                    // token不存在时跳转
                                      uni.navigateTo({
                        url:"/pages/login/login"
                      })
                    return rej("请先登录")
                }
                // 往header头中添加token
                options.header.Authorization = token
            }
            // 请求中...
            uni.request({
                ...options,
                success: (result) => {
                    // 服务端失败
                    let data = result.data;
                    if (!data) {
                        uni.showToast({
                            title: data.msg || '服务端失败',
                            icon: 'none'
                        });
                        return rej(data)
                    } else {
                        res(data)
                    }
                },
                fail: (error) => {
                    uni.showToast({
                        title: error.errMsg || '请求失败',
                        icon: 'none'
                    });
                    return rej(error)
                }
            });
        })
    },
    // get请求
    get(url, options = {}) {
        options.url = url
        options.data = {}
        options.method = 'GET'
        return this.request(options)
    },
    // post请求
    post(url, data = {}, options = {}) {
        options.url = url
        options.data = data
        options.method = 'POST'
        return this.request(options)
    },
    // delete请求
    del(url, data = {}, options = {}) {
        options.url = url
        options.data = data
        options.method = 'DELETE'
        return this.request(options)
    },
}
  1. 在main.js引入使用,这样就挂载全局使用
import http from './utils/request.js'
Vue.prototype.$http = http

2.在组件中使用

this.$http
        .post(`${baseUrl}/api`, {
          esWordSearch: this.search,
          pageNo: 1,
          pageSize: this.pageSize,
        })

这样就完成接口封装了。方便了很多

相关文章
|
10天前
|
存储 缓存 JavaScript
uni-app,vue,react,Trao之缓存类封装
uni-app,vue,react,Trao之缓存类封装
|
1月前
|
存储 前端开发
uni-app 74聊天类封装(九)-更新指定聊天记录
在`uni-app`中封装聊天功能并更新指定的聊天记录,通常涉及几个关键步骤:聊天记录的数据结构、更新聊天记录的逻辑,以及如何在UI中反映这些更新。以下是一个基本的指南,用于在`uni-app`中实现
|
1月前
|
存储 移动开发 JavaScript
uni-app 64聊天类chat.js封装(一)
`uni-app` 是一个使用 Vue.js 开发所有前端应用的框架,可以编译到iOS、Android、H5以及各种小程序等多个平台。当你提到“64聊天类`chat.js`封装”时,我假设你希望了解如
|
18天前
|
移动开发 小程序 安全
基础入门-APP架构&小程序&H5+Vue语言&Web封装&原生开发&Flutter
基础入门-APP架构&小程序&H5+Vue语言&Web封装&原生开发&Flutter
|
19天前
|
应用服务中间件 Linux 网络安全
PHP应用部署在App Service for Linux环境中,上传文件大于1MB时,遇见了413 Request Entity Too Large 错误的解决方法
在Azure App Service for Linux上部署的PHP应用遇到上传文件超过1MB时出现413 Request Entity Too Large错误的解决之法
|
2月前
|
安全 前端开发 开发工具
什么是APP封装?流程和实现方式是什么,有什么优势?
APP封装是将应用程序的代码、资源和依赖项打包成一个可执行的文件或安装包的过程。封装过程中,将应用的代码、资源和依赖项进行整合,并生成一个独立的安装包,用户只需下载并安装该包即可使用应用。
39 3
|
2月前
|
存储 开发框架 JSON
uni-app 73聊天类封装(八)-添加聊天记录,在移动应用开发中,聊
uni-app是跨平台移动应用开发框架,简化了聊天功能的实现。开发聊天应用涉及数据存储(如IndexedDB、SQLite、云服务)、数据结构设计、消息发送(WebSocket或HTTP接口)、消息接收与展示(组件化开发,如`<view>`、`<scroll-view>`)及消息保存。通过uni-app的组件和插件,开发者能高效实现聊天记录的完整流程。[Read more](http://colorsound.cn/post/173.html?093671)
22 0
|
2月前
|
Android开发 UED 开发者
专刊:如何使用网页封装技术将网站转化为移动应用,节省开发成本和时间
【4月更文挑战第27天】本文介绍了如何使用网页封装技术将网站转化为移动应用,节省开发成本和时间。通过选择合适的在线封装工具(如Cordova、Appy Pie、Web2App),用户可遵循简单流程,输入网站URL和APP信息,定制设置后生成APP。优化用户体验包括适应移动设备显示、优化加载速度和添加移动特性。发布前需充分测试,并遵循应用商店的发布规则。网页封装为小型企业和个人开发者提供了快速进入移动市场的途径,但成功APP的关键在于不断优化用户体验。
|
2月前
uni-app 113上传文件请求封装
uni-app 113上传文件请求封装
17 1
|
2月前
uni-app 81聊天类封装(十五)-读取会话功能
uni-app 81聊天类封装(十五)-读取会话功能
20 1