更新记录

1.0.0(2022-06-30)

1.0.0 插件上线


平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
app-vue app-nvue
钉钉小程序 快手小程序 飞书小程序 京东小程序
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari

rt-uni-request

介绍

uniapp封装常用请求类

安装教程 使用hbuilderX 导入项目

使用说明

根目录下新建config文件夹,新建config.js,代码如下:请求接口的统一前缀、请求超时时间

class Config {
    // 接口地址前缀
    baseUrl = '';

    // 请求超时时间
    timeout = 60000;

    // 服务器返回401登录过期默认跳转的页面 一般是登录页
    loginPage = '/pages/login/login';

    constructor() {
        if (process.env.NODE_ENV === 'development') {
            // 开发环境 运行
            this.baseUrl = 'http://127.0.0.1';
        } else {
            // 生产环境 发行
            this.baseUrl = 'http:baidu.com'
        }
    }
}
export default new Config();

请求成功是根据服务器的 statuCode===200会返回数据,statusCode === 401无权限会跳转到登录页 res.statusCode >=500 会提示服务器错误

新建文件夹api,用来统一管理接口,新建login.js,下面是使用方法,get和post默认请求头是

header: {
        'content-type': 'application/json',
        Authorization: uni.getStorageSync('token') // 缓存的键名必须为token
    };

如果post是form表单形式提交,在api.ts中 请使用 uniHttp.postForm;

content-type为 application/x-www-form-urlencoded

import uniHttp from '/uni_modules/rt-uni-request/js_sdk/request.js';
//定义user类
class User {
    // 微信登录 post方法 请求头的content-type为application/json
    login(data){
        return uniHttp.post('/goods_order/shop/wechat_login',data)
    }
    // 获取验证码 get方法 请求头的content-type为application/json
    getCode(data){
        return uniHttp.get('/goods_order/common/send_code',data)
    }
    // 密码登录 postForm方法 请求头的content-type为application/x-www-form-urlencoded
    passwordLogin(data){
        return uniHttp.postForm('/goods_order/shop/mobile_login', data)
    }

}
export const user = new User();

在页面中使用

<template>
    <view class="content">
        <image class="logo" src="/static/logo.png"></image>
        <view class="text-area">

            <button @click="toLogin">登录</button>
        </view>
    </view>
</template>

<!-- vue2写法 -->
<!-- <script>
    import {user} from '../../api/login.js'
    export default {
        data() {
            return {
                title: 'Hello'
            }
        },
        onLoad() {

        },
        methods: {
            async toLogin(){
                const res = await user.login({
                    username:'123456',
                    password:'123456'
                })
                if(res.success){
                    console.log('登录成功')
                }else{
                    console.log('登录失败',res.msg)
                }
            }
        }
    }
</script> -->

<!-- vue3写法 -->
<script setup>
    import {user} from '../../api/login.js'
    const toLogin = async() => {
        const res = await user.login({
            username:'123456',
            password:'123456'
        })
        if(res.success){
            console.log('登录成功')
        }else{
            console.log('登录失败',res.msg)
        }
    }
</script>

隐私、权限声明

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

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

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

许可协议

MIT协议

暂无用户评论。

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