uniapp 封装request请求 前端

Vue.prototype.sendRequest = function(param,backpage, backtype){
    var _self = this, 
        url = param.url,
        method = param.method,
        header = {},
        data = param.data || {}, 
        token = "",
        hideLoading = param.hideLoading || false;

    //拼接完整请求地址
    var requestUrl = this.siteBaseUrl + url;
    //固定参数:仅仅在小程序绑定页面通过code获取token的接口默认传递了参数token = login
    if(!data.token){//其他业务接口传递过来的参数中无token
        token = uni.getStorageSync(this.sessionKey);//参数中无token时在本地缓存中获取
        console.log("当前token:" + token);
        if(!token){//本地无token需重新登录(退出时清缓存token)
            _self.login(backpage, backtype);
            return;
        }else{
            data.token = token;
        }
    }
    var timestamp = Date.parse(new Date());//时间戳
    data["timestamp"] = timestamp;
    // #ifdef MP-WEIXIN
    data["device"] = "wxapp";
    data["ver"] = "1.1.30";
    // #endif
    // #ifdef APP-PLUS || H5
    data["device"] = "iosapp";
    data["ver"] = "1.0.0";
    // #endif

    //请求方式:GET或POST(POST需配置header: {'content-type' : "application/x-www-form-urlencoded"},)
    if(method){
        method = method.toUpperCase();//小写改为大写
        if(method=="POST"){
            header = {'content-type' : "application/x-www-form-urlencoded"};
        }else{
            header = {'content-type' : "application/json"};
        }
    }else{
        method = "GET";
        header = {'content-type' : "application/json"};
    }
    //用户交互:加载圈
    if (!hideLoading) {
        uni.showLoading({title:'加载中...'});
    }

    console.log("网络请求start");
    //网络请求
    uni.request({
        url: requestUrl,
        method: method,
        header: header,
        data: data,
        success: res => {
            console.log("网络请求success:" + JSON.stringify(res));
            if (res.statusCode && res.statusCode != 200) {//api错误
                uni.showModal({
                    content:"" + res.errMsg
                });
                return;
            }
            if (res.data.code) {//返回结果码code判断:0成功,1错误,-1未登录(未绑定/失效/被解绑)
                if (res.data.code == "-1") {
                    _self.login(backpage, backtype);
                    return;
                }
                if (res.data.code != "0") {
                    uni.showModal({
                        showCancel:false,
                        content:"" + res.data.msg
                    });
                    return;
                }
            } else{
                uni.showModal({
                    showCancel:false,
                    content:"No ResultCode:" + res.data.msg
                });
                return;
            }
            typeof param.success == "function" && param.success(res.data);
        },
        fail: (e) => {
            console.log("网络请求fail:" + JSON.stringify(e));
            uni.showModal({
                content:"" + e.errMsg
            });
            typeof param.fail == "function" && param.fail(e.data);
        },
        complete: () => {
            console.log("网络请求complete");
            if (!hideLoading) {
                uni.hideLoading();
            }
            typeof param.complete == "function" && param.complete();
            return;
        }
    });
}

杨佳乐 发布于  2024-4-30 11:22 

HTML的电子邮件链接标签mailto用法详解 前端

大家知道,mailto 是网页设计制作中的一个非常实用的 html 标签,许多拥有个人网页的朋友都喜欢在网站的醒目位置处写上自己的电子邮件地址,这样网页浏览者一旦用鼠标单击一下由 mailto 组成的超级连接后,就能自动打开当前计算机系统中默认的电子邮件客户端软件,例如 OutLook Express 以及 Foxmail 等。当然有关 mailto 标签的使用,并不仅仅就象上面所说的那样简单,它还有其他方面的应用。现在我再进一步讲解一下 mailto 的用法。

mailto 四个常用的参数

subject — 代表邮件的标题

body — 代表邮件的内容

cc — 代表一个抄送对象

bcc — 代表一个暗送对象

mailto 示例:

杨佳乐
定义了邮件的标题为 杨佳乐

杨佳乐
定义了邮件的标题为 杨佳乐 和内容为 杨佳乐博客。

杨佳乐
定义了邮件的抄送对象为 1401586744@ss.com 和邮件的暗送对象为 1401586744@tt.com


杨佳乐 发布于  2024-4-30 11:21 

Layui 使用form表单 单独使用一个原始的元素 前端

例如

加上如下代码即可:
lay-ignore


杨佳乐 发布于  2024-4-30 11:20 

Bootstrap日期时间选择器(Bootstrap DateTime Picker) 分钟间隔30 前端

$('.js-date').datetimepicker({
    lang:'ch',
    format:'Y-m-d H:i',
    step:1,
    onChangeDateTime:logic,
    onShow:logic,

    allowTimes:[
        '00:00', '00:30', '01:00', '01:30', '02:00', '02:30', '03:00', '03:30',
        '04:00', '04:30', '05:00', '05:30', '06:00', '06:30', '07:00', '07:30',
        '08:00', '08:30', '09:00', '09:30', '10:00', '10:30', '11:00', '11:30',
        '12:00', '12:30', '13:00', '13:30', '14:00', '14:30', '15:00', '15:30',
        '16:00', '16:30', '17:00', '17:30', '18:00', '18:30', '19:00', '19:30',
        '20:00', '20:30', '21:00', '21:30', '22:00', '22:30', '23:00', '23:30'
    ]
});

杨佳乐 发布于  2024-4-30 11:20 

uniapp 配置花生壳内网穿透提示Invalid Host header解决方法 前端

uniapp 配置花生壳内网穿透提示Invalid Host header

打开manifest.json配置,重点是disableHostCheck

"h5" : {
        "devServer" : {
            "https" : false,
        "disableHostCheck":true,
        "port": 8080
        }
    }

杨佳乐 发布于  2024-4-30 11:19