美文网首页
4.封装uniapp

4.封装uniapp

作者: 秀萝卜 | 来源:发表于2020-04-02 09:21 被阅读0次
引用:
import Uniapp from '@/common/request.js'


request.js文件
import rootPath from './config.js'

function getParam(data){
    var param = "";
    for (var k in data) {
        let value = data[k] !== undefined ? data[k] : ''
        param += '&' + k + '=' + encodeURIComponent(value)
    }
    return param.substring(1)
}
class Uniapp {

    static go(name,data){
        if(data){
            var url = "/pages/" + name + "/" + name+"?"+getParam(data);
            console.log(url);
            uni.navigateTo({ url: url })
        }else{
            uni.navigateTo({ url: "/pages/" + name + "/" + name })
        }
    }

    
    
    static showMsg(msg){
        uni.showToast({  title: msg,icon:"none"}) 
    }

    //有遮罩层,防止穿透,mask
    static showLoadingMask(){
        uni.showLoading({ title: '加载中',mask:true});    
    }

    static showLoading(){
        uni.showLoading({ title: '加载中'});
    }

    static hideLoading(){
        uni.hideLoading();
    }

    static post(api, params) {
        return new Promise((resolve, reject) => {
            let opts = {
                url: rootPath+api,
                data: Object.assign({}, params),
                method: 'POST',
                header: { 'content-type': 'application/x-www-form-urlencoded', 'Accept': 'application/json'},
                success(res){
                    if(res.statusCode=="404"){
                        uni.showToast({  title: "请求接口失败,请重新尝试", icon:"none"})
                    }else if(res.statusCode=="200"){
                        resolve(res);
                    }else{
                    }
                },
                fail(res){
                    uni.showToast({  title: "异常",icon:"none"})
                    reject(res)
                }
            }
            uni.request(opts);
        });
    };

    static post2(api, params) {
        let token = uni.getStorageSync('token');
        return new Promise((resolve, reject) => {
            let opts = {
                url: rootPath+api,
                data: Object.assign({}, params),
                method: 'POST',
                header: { 'content-type': 'application/x-www-form-urlencoded', 'Accept': 'application/json','yg-token':token },
                success: resolve,
                fail: reject
            }
            wx.request(opts);
        });
    };
    
    static get(api, params) {
        return new Promise((resolve, reject) => {
            let opts = {
                url: rootPath+api,
                data: Object.assign({}, params),
                method: 'GET',
                header: { 'content-type': 'application/x-www-form-urlencoded', 'Accept': 'application/json' },
                success: resolve,
                fail: reject
            }
            wx.request(opts);
        });
    };
};
export default Uniapp

相关文章

  • 4.封装uniapp

  • uniapp请求+uView2.0请求封装

    uniapp开发基础模板,对uniapp请求进行了简单封装,实现请求拦截及响应处理,同时引用了 uView2.0 ...

  • promise 封装get,post请求

    在uniapp中,使用promise对get,post请求进行封装 然后需要把promise封装的req函数,挂载...

  • uniapp请求封装

  • uniapp请求封装

    最近使用了uniapp开发了几个项目,参考了网上的一些案例根据自己的项目需求对网络请求做了封装,顺便记下方便以后使...

  • uniapp 请求封装

    最近使用了uniapp开发了几个项目,参考了网上的一些案例根据自己的项目需求对网络请求做了封装,顺便记下方便以后使...

  • uniapp 封装组件

    在项目根目录下,创建 components 文件夹,新建文件myinput.vue。 在index.vue中引用:

  • uni-app请求接口封装

    uniapp使用类封装接口 大致分为三步 1 封装请求2 定义接口3 页面调用 1 在项目根目录下新建utils文...

  • uniapp请求的封装

    uinapp 发送请求的简单封装 api.js main.js

  • uniapp文件上传封装

    1. 未封装前index.vue页面使用 备注:后台返回的data值如下 打印结果:uniapp上传文件api返回...

网友评论

      本文标题:4.封装uniapp

      本文链接:https://www.haomeiwen.com/subject/uvhwuhtx.html