mobile base

var pagesize = 10;//每页条数
var OpenID = isnull(sessionStorage.getItem("OpenID")); //缓存中的OpenID;
var currturl = window.location.href;  //获取当前url
var mname = "";
var code = "2e77e836fe07868acf005b603c7459e2"
var code1 = "cb33b9db8e150e8b2db1b1b6a627b740"
var dft_img = "../images/mobile/default.png"; //默认图片 
var dft_headimg = "../images/mobile/17.png"; //默认头像图片 
const linePage=20;
var crrentindex = currturl.split("mobile")[0];

/*  判断是本地测试还是正式服务器  */
var istest = (function () {
    var firsturl = currturl.split(".")[0]
    if (firsturl == "http://192" || firsturl == "192") {
        return true;
    }
    else {
        return false;
    }
})();

//微信登录code
function wxurl(statenum) {
    statenum=isnull(statenum) == ""?generateMixed(6):statenum;
    
    var xurl = "";
    if (is_weixin) {
        wxurl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxbbfff10e577b27a7&redirect_uri=" + crrentindex + "mobile/getcode.html&response_type=code&scope=snsapi_base&state=" + statenum + "#wechat_redirect";
    }
    else {
        wxurl="testlogin.html"
        //wxurl = "getcode.html?code=" + code + "&state=" + statenum;
    }
    return wxurl;
}


//绑定账号页面获取微信头像code
function wxheadurl(statenum) {
    if (isnull(statenum) == "") {
        statenum = generateMixed(6);
    }
    var xurl = "";
    if (is_weixin) {
        //https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxbbfff10e577b27a7&redirect_uri=http://demo.itaike.cn:8088/otc/mobile/login.html&response_type=code&scope=snsapi_base&state=ak2017&connect_redirect=1#wechat_redirect
        wxurl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxbbfff10e577b27a7&redirect_uri=" + crrentindex + "mobile/login.html&response_type=code&scope=snsapi_base&state=" + statenum + "#wechat_redirect";
    }
    else {
        wxurl = "login.html?code=" + code1 + "&state=" + statenum;
    }
    return wxurl;
}

//上传头像页面获取微信头像code
function wxauth(state){
    if (isnull(state) == "") {
        state = generateMixed(6);
    }
    var wxauth = "";
    if (is_weixin) {
        wxauth = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxbbfff10e577b27a7&redirect_uri=" + crrentindex + "mobile/getauthcode.html&response_type=code&scope=snsapi_base&state=" + state + "#wechat_redirect";
    }
    else {
        wxauth = "getauthcode.html?code=" + code1 + "&state=" + generateMixed(6);
    }
    return wxauth;
}




const loadings=(content="正在加载数据..")=>{
    return (
        `
        <div class='loading'>
            <div class='spinner'>
                <div class='bounce1'></div>
                <div class='bounce2'></div>
                <div class='bounce3'></div>
            </div>
            <P>${content}</p>
        </div>
        `
    )
    
}



// 刷新页面
function reload() {
    setTimeout(function () {
        location.reload();
    }, 320)
}

function back(str) {
    setTimeout(function () {
        window.location.href = topreurl(str);
    }, 320)
};

function linkto(str) {
    setTimeout(function () {
        window.location.href = str;
    }, 320)
};


//根据code获取头像
function getwxavatar(code, backtourl) {
    var object = new Object();
    object.code = code;
    console.log(code);
    $.ajax({
        url: "/otcdyanmic/wechatGetImg.do",
        data: { paramMap: JSON.stringify(object) },
        type: "post",
        dataType: "json",
        success: function (data) {
            console.log(data);
            if (data != "" && data != null && data != undefined) {
                //用户获取信息成功
                if (data.success == true) {
                    console.log("获取头像成功")
                    //设置属性
                    sessionStorage.setItem("avatar", isnull(data.map.imgUrl));

                    setTimeout(function () {
                        window.location.href = backtourl;
                    }, 2000);

                }
                //用户获取信息失败
                if (data.success == false) {

                    //sessionStorage.setItem("avatar", isnull(data.avatar));
                    console.log("获取信息失败;");
                    layer.open({
                        shade: false,
                        content: '获取头像失败!',
                        skin: 'msg',
                        className: 'tip',
                        time: 3 //3秒后自动关闭
                    });
                }
            }
            else {
                var failetext = "内部异常!请返回重新登录"
                $("#conter").html(Datafaile(failetext, backtourl));

            }


        }.bind(this),
        error: function () {
            console.log("2");
            var failetext = "获取登录信息失败:网络错误!请返回重新登录"
            $("#conter").html(Datafaile(failetext, backtourl));
            console.log("获取登录信息失败:网络错误")

        }.bind(this)
    });
}




/*
去除""或undefind null
*
*
*/

function isnull(str) {
    if (str == null || str == undefined || str == "undefined") {
        return "";
    }
    else {
        return str;
    }
}

//判断图片是否存在
function IsExist(imgurl) {


    var ImgObj = new Image(); //判断图片是否存在  
    ImgObj.src = imgurl;
    //没有图片,则返回-1  
    if (ImgObj.fileSize > 0 || (ImgObj.width > 0 && ImgObj.height > 0)) {
        return true;
    } else {
        return false;
    }
}



//判断图片是否为空
function isnullimg(str) {

    if (isnull(str) == null) {
        return dft_img;
    }
    else {
        var firsturl = currturl.split(".")[0]

        if (istest) {   //测试环境
            return crrentindex.replace("otc", "otcdyanmic") + str.replace("otc", "");
        }
        else {
            return str;
        }

    }
}



//判断头像是否为空
function isnullheadimg(str) {
    var firsturl = currturl.split(".")[0]
    if (str == null || str == undefined || str == "") {
        return dft_headimg;
    }
    else {
        var headimg = istest ? str.replace("otc", "otcdyanmic") : str  //istest为true时为测试环境
        return headimg;
    }
}






//下载
/*
function downloadFile() {
    alert(6);
    var imgURL = "otcdyanmic/images/u45.png";

    if (document.all.a1 == null) {
        objIframe = document.createElement("IFRAME");
        document.body.insertBefore(objIframe);
        objIframe.outerHTML = "<iframe name=a1 style='width:400px;hieght:300px' src=" + imageName.href + "></iframe>";
        re = setTimeout("savepic()", 1)
    }
    else {
        clearTimeout(re)
        pic = window.open(imageName.href, "a1")
        pic.document.execCommand("SaveAs")
        document.all.a1.removeNode(true)
    }

}
*/








//判断是否可以分页及总共多少页
function pagey(pagesize, cont, currentpage) {
    var pageinfo;
    pagesize = parseInt(pagesize);
    cont = parseInt(cont);
    currentpage = parseInt(currentpage);
    if (cont > pagesize) {  //总数大于每页数  分页

        var z = cont / pagesize;
        var z1 = cont % pagesize;

        var pagecont;
        if (z1 == 0) {
            pagecont = parseInt(z);

        }
        if (z1 > 0) {
            pagecont = parseInt(z) + 1;

        }
        var ispage;

        if (currentpage < pagecont) {
            ispage = "true"
        }
        if (currentpage >= pagecont) {
            ispage = "false"
        }

        pageinfo = { "pagecont": pagecont, "ispage": ispage }
        return pageinfo
    }
    else {   //一页,不分页

        $(".showmore").html("");
        pageinfo = { "pagecont": "1", "ispage": "false" }

        return pageinfo;
    }

}

//获取url参数
function geturl(name) {
    var reg = new RegExp("(^|\\?|&)" + name + "=([^&]*)(\\s|&|$)", "i");
    if (reg.test(location.href)) return decodeURI(RegExp.$2.replace(/\+/g, " ")); return "";
};


/* ------获取星期--------*/
/**
 * day:   要转换的日期
 * type: 转换的类型  1:大写 如星期一 2为数字 如5  默认为1
 */
 function getweek(day, type) {
    var arys1 = new Array();
    arys1 = day.split('-');     //日期为输入日期,格式为 2013-3-10
    var ssdate = new Date(arys1[0], parseInt(arys1[1] - 1), arys1[2]);
    var week1 = String(ssdate.getDay()) //就是你要的星期几
    var parse={
        "0":"星期日",
        "1":"星期一",
        "2": "星期二",
        "3": "星期三",
        "4": "星期四",
        "5": "星期五",
        "6": "星期六",
    }
    var week=type == "2"?parse[week1]:week1;
    return week;
}

//获取当月最后一天
function getLastDay(year, month) {
    var new_year = year;  //取当前的年份   
    var new_month = month++;//取下一个月的第一天,方便计算(最后一天不固定)   
    if (month > 12)      //如果当前大于12月,则年份转到下一年   
    {
        new_month -= 12;    //月份减   
        new_year++;      //年份增   
    }
    var new_date = new Date(new_year, new_month, 1);        //取当年当月中的第一天   
    return (new Date(new_date.getTime() - 1000 * 60 * 60 * 24)).getDate();//获取当月最后一天日期   
}




//月份小写转大写

function changecapital(str) {
    var str2 = String(str);

    var str1 = str2.replace("10", "十").replace("11", "十一").replace("12", "十二").replace("0", "零").replace("1", "一").replace("2", "二").replace("3", "三").replace("4", "四").replace("5", "五").replace("6", "六").replace("7", "七").replace("8", "八").replace("9", "九")
    return str1;
}

//返回上一页
function topreurl(str) {


    var referrerurl = document.referrer   //获取的上一页
    var currenturl = window.location.href;  //获取当前url
    var prevUrl = sessionStorage.getItem("prevUrl"); //缓存中的上一页


    if (referrerurl == "") {
        // alert("0");
        sessionStorage.setItem("prevUrl", str);
        return str;


    }
    if (referrerurl != "") {

        if (prevUrl == "undefined" || prevUrl == undefined || prevUrl == "" || prevUrl == null || prevUrl == "null") {
            sessionStorage.setItem("prevUrl", referrerurl);
            return referrerurl;
        }
        else {
            var currenturldo = todourl(currenturl);  //处理后的当前url
            var referrerurldo = todourl(referrerurl)    //处理后的上一页
            var prevUrldo = todourl(prevUrl); //处理后的缓存中的上一页

            if (prevUrldo == currenturldo) {  //循环了
                // alert("1");
                sessionStorage.setItem("prevUrl", str);
                return str;
            }
            if (prevUrldo != currenturldo) {
                // alert("2");
                sessionStorage.setItem("prevUrl", referrerurl);
                return referrerurl;
            }

        }

    }






}

//生成时间戳
function Timestamp() {
    var datetime = Date.parse(new Date());
    return datetime / 1000;
}

//处理当前url
function todourl(currturl) {
    if (currturl.indexOf("?") == "-1") {  //不存在
        if (currturl.indexOf("/") == "-1") {
            return currturl;
        }
        else {
            var currturl2 = currturl.split("/");
            return currturl2[currturl2.length - 1];
        }

    }
    else {
        var currturl1 = currturl.split("?");

        if (currturl1[0].indexOf("/") == "-1") {
            return currturl1[0];
        }
        else {
            var currturl3 = currturl1[0].split("/");
            return currturl3[currturl3.length - 1];

        }

    }
}







//判断是否是微信
var is_weixin = (function () { //判断微信UA
    var ua = navigator.userAgent.toLowerCase();
    if (ua.match(/MicroMessenger/i) == "micromessenger") {
        return true;
    } else {
        return false;
    }
})();


//判断移动端还是电脑端
var gopage = (function () {
    if ((navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i))) {
        return "mobile" //手机端";
    }
    else {
        return "pc"//pc端
    }
})();


/*获取上个月的月份*/
function getUpMonth(dateString = new Date()){
    let date = new Date(dateString);
    let year = date.getFullYear();
    let month = date.getMonth();
    if(month == 0){
        year--;
        month = 12;
    }
    return year+"-"+(month < 10 ? "0"+month : month);
}




//调用state时显示html
function createMarkup(str) {
    return { __html: str };
}





/*
判断字符串长度 (汉字为两个字符)
*/
function strlen(str) {
    var len = 0;
    for (var i = 0; i < str.length; i++) {
        var c = str.charCodeAt(i);
        //单字节加1
        if ((c >= 0x0001 && c <= 0x007e) || (0xff60 <= c && c <= 0xff9f)) {
            len++;
        }
        else {
            len += 2;
        }
    }
    return len;
}

/* 获取n天以前 */

 function getYestoday(str,date=new Date()) {
        var d = date;
        var beforday=isnull(str)==""?"7000":str*1000
        var yesterday_milliseconds = d.getTime() - beforday * 60 * 60 * 24;
        var yesterday = new Date();
        yesterday.setTime(yesterday_milliseconds);
        var strYear = yesterday.getFullYear();
        var strDay = yesterday.getDate();
        var strMonth = yesterday.getMonth() + 1;
        var datastr = strYear + "-" + (strMonth < 10 ? '0' + strMonth : strMonth) + "-" + (strDay < 10 ? '0' + strDay : strDay);
        return datastr;
    }

/* 获取n天以后 */

 function getNextday(str,date="") {
        var d = date=""?new Date():new Date(date);
        var beforday=isnull(str)==""?"7000":str*1000
        var yesterday_milliseconds = d.getTime() + beforday * 60 * 60 * 24;
        var yesterday = new Date();
        yesterday.setTime(yesterday_milliseconds);
        var strYear = yesterday.getFullYear();
        var strDay = yesterday.getDate();
        var strMonth = yesterday.getMonth() + 1;
        var datastr = strYear + "-" + (strMonth < 10 ? '0' + strMonth : strMonth) + "-" + (strDay < 10 ? '0' + strDay : strDay);
        return datastr;
    }







const isbefore=(day)=>{
    const currdatetime=togetdate();
    let isbefore="";
    if (Date.parse(currdatetime) <= Date.parse(day)) { //大于当前日期
        isbefore="false";
    }
    //小于等于当前日期
    if (Date.parse(currdatetime) > Date.parse(day)) {
        isbefore="true";
    }
    return isbefore;
}
/* 比较日期 */
/**
 * day 比较的日期
 * compareDay : 被比较的日期  默认为当天
 * 返回三个结果  after:大于当前日期 ; today  等于当前日期;before:小于等于当前日期
 */
const compareDay=(day,compareDay=togetdate())=>{
    const currdatetime=compareDay;
    let isbefore="";
    if (Date.parse(currdatetime) < Date.parse(day)) { //大于当前日期
        isbefore="after";
    }
    if (Date.parse(currdatetime) == Date.parse(day)) { //等于当前日期
        isbefore="today";
    }
    //小于等于当前日期
    if (Date.parse(currdatetime) > Date.parse(day)) {
        isbefore="before";
    }
    return isbefore;
}

/*获取当前月份*/
function getMonth(dateString = new Date()){
    let date = new Date(dateString);
    let year = date.getFullYear();
    let month = date.getMonth()+1;
    return year+"-"+(month < 10 ? "0"+month : month);
}

Array.prototype.removeByValue = function(val) {
  for(var i=0; i<this.length; i++) {
    if(this[i] == val) {
      this.splice(i, 1);
      break;
    }
  }
}

/*获取参数总和*/
function getSum(...values) {
    let sum = 0;
    for (var val of values) {
        sum += val;
    }
    return sum;
}
 

/* 加载外部js  */
function addjs(url,box=""){
    var script = document.createElement("script");
    script.src = url;
    script.charset="utf-8";
    script.type = "text/javascript";
    box==""?document.body.appendChild(script):$(box).append(script); 
  }


  /*填充表单数据*/
function toformdata(box,data){
    var ishasarry=[];   
    for(var i in data){
        var $boxs=$(box).find("*[name="+i+"]");
        if($boxs.length>0){
           if($boxs.is("input")){
               var $inputBox=$(box).find("input[name='"+i+"']"); 
               var types=$inputBox.attr("type");
               switch(types){
                   case "text":
                       $inputBox.val(data[i]);
                   break;
                   case "checkbox": 
                   if(ishasarry.indexOf(i)==-1){
                       ishasarry.push(i);
                       if(isnull(data[i])!="" && data[i].indexOf(",")==-1){
                           //console.log("indexOf(i)==-1")
                           if($(box).find("input[title='"+data[i]+"']").length>0){
                              $(box).find("input[title='"+data[i]+"']").attr("checked","checked");
                           }
                           if($(box).find("input[title='"+data[i]+"']").length<=0){
                              
                           }
                       }
                       if(isnull(data[i])!="" && data[i].indexOf(",")>=0){
                           //console.log("indexOf(i)>=0")
                           var checkboxs=data[i].split(",");
                           for(var j=0;j<checkboxs.length;j++){
                               var titles=checkboxs[j]
                               if($(box).find("input[title='"+titles+"']").length>0){
                                 $(box).find("input[title='"+titles+"']").attr("checked","checked")
                               }
                               if($(box).find("input[title='"+titles+"']").length<=0){
                                   $(box).find("input[name='"+i+"']").each(function(){
                                       if(isnull($(this).attr("data-change"))!==""){
                                          var ids=$(this).attr("data-change");
                                          $(this).attr("checked","checked")
                                          $(ids).show().val(titles)
                                          
                                       }
                                   })
                               }
                          }  
                       }
                   }
                   break; 
               }
           }
           if($boxs.is("select")){
               $(box).find("select[name='"+i+"']").val(data[i]);
           }
           if($boxs.is("textarea")){
               $(box).find("textarea[name='"+i+"']").val(data[i]);
           }
   
       }
    }
   
   }

   
   /* --------   获取几周 几天前     --------------*/
function getDateDiff(dateTimeStamp){
    var minute = 1000*60;
    var hour = minute*60;
    var day = hour*24;
    var halfmonth = day*15;
    var month = day*30;
    var now = new Date().getTime();
    var diffValue = now - new Date(dateTimeStamp);
    
    if(diffValue < 0 ){
        alert('结束日期不能小于开始日期');
    }
    var monthC = diffValue/month;
    var weekC = diffValue/(7*day);
    var dayC= diffValue/day;
    var hourC = diffValue/hour;
    var minC = diffValue/minute;
    
    // 7个显示阶段
    if(monthC > 12){// 大于12个月显示年-月-日 时:分
        return getLocalTime(dateTimeStamp);
    }else if(monthC >= 1){// 一年以内显示 几个月前
        return parseInt(monthC) + '个月前';
    }else if(weekC >= 1){// 几周前
        return parseInt(weekC) + '周前';
    }else if(dayC >= 1){// 几天前
        return parseInt(dayC) + '天前';
    }else if(hourC >= 1){// 几小时前
        return parseInt(hourC) + '个小时前';
    }else if(minC >= 1){// 几分钟前
        return parseInt(minC) + '分钟前';
    }else{// 刚刚
        return '刚刚';
    }
    
}


/* -----------------  时间戳转为为普通日期格式  ----------------- */
function getLocalTime(nS,type) { 
    type=isnull(type)==""?1:type;
    var dates=type==1?new Date(parseInt(nS) * 1000).toString().replace(/:\d{1,2}$/,' '):new Date(parseInt(nS)).toString().replace(/:\d{1,2}$/,' ');  
    return formatDateTime(dates);
   }


   /* 获取n天以后 */
 function getYestoday(str) {
    var d = new Date();
    var beforday=isnull(str)==""?"7000":str*1000
    var yesterday_milliseconds = d.getTime() - beforday * 60 * 60 * 24;
    var yesterday = new Date();
    yesterday.setTime(yesterday_milliseconds);
    var strYear = yesterday.getFullYear();
    var strDay = yesterday.getDate();
    var strMonth = yesterday.getMonth() + 1;
    var datastr = strYear + "-" + (strMonth < 10 ? '0' + strMonth : strMonth) + "-" + (strDay < 10 ? '0' + strDay : strDay);
    return datastr;
}

 

posted @ 2017-07-21 20:24  huihui2014  阅读(201)  评论(0)    收藏  举报