首页 > 其他分享 >uniapp封装接口

uniapp封装接口

时间:2023-06-19 12:11:56浏览次数:51  
标签:uniapp 封装 res request 接口 USER uni data method

1.创建一个config文件夹,在里面创建app.js

let httpApi = '' //接口公共部分


module.exports = {//要传的 请求头 token 等
    HTTP_REQUEST_URL:httpApi,
    HEADER:{
        Headers,
        Authorization:'token ', 
'i-branch':'zh'
},

//H5接口是浏览器地址
HTTP_REQUEST_URL: httpApi || window.location.protocol + "//" + window.location.host,

// 回话密钥名称 请勿修改此配置

TOKENNAME: '',
USER_ID: '',
USER_STORE: '',
USER_INFO: ''
};

 2.创建一个utils文件在里面创建request.js,把config里面的app.js引入进去

import {
    HEADER,
    HTTP_REQUEST_URL
    
} from '@/config/app';

// function toLogin() {
//     uni.showToast({
//         icon: 'none',
//         duration: 2000,
//         title: '请先登录'
//     });

//     setTimeout(function() {
//         uni.reLaunch({
//             url: '/pages/login/login',
//         })
//     }, 2000);
// }

/**
 * 发送请求
 * noAuth 是否验证token 
 */
function baseRequest(url, method, data, {
    noAuth = false,
    noVerify = false
}) {
    console.log(url)
    let Url = HTTP_REQUEST_URL,
        header = HEADER;
    console.log(Url)
    // if (!noAuth) {
    //     //登录过期自动登录 检查token 存在则登录 否则返回登录
    //     if (!uni.getStorageSync(USER_ID)) {
    //         // 跳转登录页面
    //         toLogin();
    //         return Promise.reject({
    //             msg: '未登录'
    //         });
    //     }
    // }

    return new Promise((reslove, reject) => {
        uni.request({
            url: Url + url,
            method: method || 'GET',
            header: header,
            data: data || {},
            success: (res) => {
                reslove(res, res);
        // // #endif
                // if (noVerify)
                //     reslove(res.data, res);
                // if (res.data.code == 0)
                //     reslove(res.data, res);
                // else if (res.data.code == 10000)
                //     reslove(res.data, res);
                // else if ([410000, 410001, 410002, 40000].indexOf(res.data.code) !== -1) {
                //     toLogin();
                //     reject(res.data);
                // } else if (res.data.code == 501) {
                //     // uni.reLaunch({
                //     //     url: '/pages/error/index'
                //     // })
                //     reject(res.data);
                // } else {
                //     uni.showToast({
                //         icon: 'none',
                //         duration: 2000,
                //         title: res.data.message || '请求失败'
                //     });
                //     reject(res.data.message || 'Error');
                // }
            },
            fail: (message) => {
                uni.showToast({
                    icon: 'none',
                    duration: 2000,
                    title: '请求失败'
                });
                reject('Request Fail');
            }
        })
    });
}

const request = {};

['options', 'get', 'post', 'put', 'head', 'delete', 'trace', 'connect'].forEach((method) => {
    request[method] = (api, data, opt) => baseRequest(api, method, data, opt || {})
});



export default request;

3.创建一个api文件 里面创建需要封装接口的文件 把utils里面的request.js引入进去 

import request from "@/utils/request.js";

/**
 * ai回复
 * @param int data
 */
export function conversation(data) {
    return request.post(`/conversation-v2`, data, {
        noAuth:true
    })
}

4.在哪个页面需要掉request.js的接口就在哪个页面引入就行了

    import {
        conversation
    } from '@/api/homepage';
    import {
        USER_ID,
        USER_INFO
    } from '@/config/app';

    methods: { 

        // 发送
            emojiSend() {
          
                        
                conversation(date).then(res => {
                    const data = res.data
                    
                })
        
            },
}

 

标签:uniapp,封装,res,request,接口,USER,uni,data,method
From: https://www.cnblogs.com/bshit/p/17490818.html

相关文章

  • 使用Kotlin+Rretrofit+rxjava+设计模式+MVP封装网络请求
    0、前言:kotlin使用起来非常顺畅,尤其是结合rxjava、设计模式使用,你会发现写代码原来可以这么开心!什么?你还在使用java?赶紧去学一下kotlin吧!我相信你一定会对他爱不释手,kotlin也很容易学,花一天的时间就可以从java切换为kotlin一、正文本文主要介绍如何使用kotlin封装网络请求的工具,结......
  • 2023-06-19 uniapp云打包报错:app-plus.distribute.icons.android.hdpi 文件不存在
    详细报错:[HBuilder]11:02:51.408Manifest.json文件以下节点配置错误,请检查修复[HBuilder]11:02:51.408app-plus.distribute.icons.android.hdpi 文件不存在[HBuilder]11:02:51.408app-plus.distribute.icons.android.xxhdpi 文件不存在[HBuilder]11:02:51.408ap......
  • Tab切换以及倒计时组件封装
    1、Tab组件功能支持默认选中tab子元素可以是文本或者图片自定义tab的数量,并自适应展示实现方式用ul>li标签遍历传入的tabs数组参数渲染判断是否传入背景,未传则显示文字绑定点击事件特点简单易用可适配性2、倒计时组件功能常用于榜单或者活动结束倒计时......
  • 测试接口文档流程
    安装jmeterwindows批处理jmeter启动(双击)获取tokenappKey=6773dfd985c249a69916445137fb46c8appSecret=151a36625370491e9e6ee2721a2fc664jmeter工具弃用,改为使用postman工具::::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@快速查看本机公网IP地址真香IT于2022-04......
  • 深入理解Go语言接口
    1.引言接口是一种定义了软件组件之间交互规范的重要概念,其促进了代码的解耦、模块化和可扩展性,提供了多态性和抽象的能力,简化了依赖管理和替换,方便进行单元测试和集成测试。这些特性使得接口成为构建可靠、可维护和可扩展的软件系统的关键工具之一。在现代编程语言中,接口是不可......
  • 路由器界面接口
    路由器有web界面与cli界面配置。web界面也是一种特殊的GUI界面。web界面实现方法就是本地的LAMP架构,cli界面实现方式就是shell结构。为什么cli界面与linux的bash不同,因为系统原本就不是linux,就算是类unix系统,它也可以在shell的基础上自己实现一个虚拟shell,我们的操作就在虚拟的......
  • uniapp怎么关闭侧滑
    uniapp全局禁止侧滑首先找到并打开“manifest.json”,然后配置内容为“"popGesture":"none"”即可禁止响应左滑动画。"plus":{//uni-app项目对应节点名称为"app-plus""popGesture":"none"}uniapp单页面禁止侧滑返回(NVUE)//#ifdefAPP-PLUSletpa......
  • Java面向对象编程的三大特性:封装、继承、多态。
    一、封装封装的核心在于私有化(private),大部分情况下,来封装对象的属性,很少有封装方法的。通过将对象的属性封装,提供对外的公共方法来访问属性是最常见的方式。publicstaticclassFengZhuang{//通过封装,设置私有属性privateStringname;privat......
  • 匿名内部类implements(实现)interface(接口)
    interfaceIBye{voidBye();}classA{publicA(){System.out.println("A()"); }publicvoidsayhi() { System.out.println("A::sayhi()"); }}classB{Aobj; publicB(){ o......
  • Hive扩展之web界面:hwi接口
    HWI是HiveWebInterface的简称,是hivecli的一个web替换方案,以开发的网页形式查看数据切换用户启动集群[root@master~]#su-hadoopLastlogin:TueMay213:18:34CST2023onpts/0[hadoop@master~]$start-all.shThisscriptisDeprecated.Insteadusestart-dfs.......