常用方法

時間類

  • 時間格式化
//獲取nextDate 2017-01-01
// 火狐瀏覽器不支持傳入字符串 即 arguments=['2017-12-12']
Date.prototype.autoString = function() {
  var month = this.getMonth() + 1;
  var day = this.getDate();
  month = month < 10 ? '0' + month : month;
  day = day < 10 ? '0' + day : day;
  var val = this.getFullYear() + "-" + month + "-" + day;
  return val;
}
//格式化時間 2017-01
Date.prototype.autoYM = function() {
  var month = this.getMonth() + 1;
  month = month < 10 ? '0' + month : month;
  var val = this.getFullYear() + "-" + month;
  return val;
}
  • 時間計算
//時間天數(shù)加減
Date.prototype.GetDateStr = function(AddDayCount) {
        AddDayCount = AddDayCount || 0;
        var dd = this;
        dd.setDate(dd.getDate() + AddDayCount); //獲取AddDayCount天后的日期
        var y = dd.getFullYear();
        var m = (dd.getMonth() + 1) < 10 ? "0" + (dd.getMonth() + 1) : (dd.getMonth() + 1); //獲取當前月份的日期,不足10補0
        var d = dd.getDate() < 10 ? "0" + dd.getDate() : dd.getDate(); //獲取當前幾號,不足10補0
        return y + "-" + m + "-" + d;
    }

字符串

  • 字符串截取
getString(str,length=6){
  if(str.length>length){
    str=str.slice(0,length)+"..."
  }
  return str
},
  • 數(shù)字格式化
function formatText(str,size,delimiter){
    var _str=str.toString();
    var _size=size||3,_delimiter=delimiter||',';
    /* 
     如果_size是3
     "\d{1,3}(?=(\d{3})+$)" 
     */
    var regText='\\d{1,'+_size+'}(?=(\\d{'+_size+'})+$)';
    /*   
    /\d{1,3}(?=(\d{3})+$)/g     這個正則的意思:匹配連續(xù)的三個數(shù)字,但是這些三個數(shù)字不能是字符串的開頭1-3個字符  
     */
    var reg=new RegExp(regText,'g');
    /* 
    (-?) 匹配前面的-號   (\d+)匹配中間的數(shù)字   ((\.\d+)?)匹配小數(shù)點后面的數(shù)字
    //$0-匹配結(jié)果,$1-第一個括號返回的內(nèi)容----(-?)    $2,$3如此類推  
    */
    return _str.replace(/^(-?)(\d+)((\.\d+)?)$/, function ($0, $1, $2, $3) {
          return $1 + $2.replace(reg, '$&,') + $3;
    })
}

axios攔截器

axios.interceptors.response.use(
    response => {
        if (response.status != 200) {
            return Promise.reject("err state:" + response.status) // 返回接口返回的錯誤信息
        }

        if (response.data.status == 0) {
            store.commit('CLEAR_TOKEN');
            store.commit('CLEAR_USERINFO')
            router.replace({
                path: '/login'
            })
        }
        return response;
    },
    error => {
        if (error.response) {
            switch (error.response.status) {
                case 401:
                    // 返回 401 清除token信息并跳轉(zhuǎn)到登錄頁面
                    store.commit('CLEAR_TOKEN');
                    router.replace({
                        path: '/login'
                    })
                    error.message = '未授權(quán),請重新登錄'
                    break
                case 400:
                    error.message = '錯誤請求'
                    break;                                       
                case 403:
                    error.message = '拒絕訪問'
                    break;
                case 404:
                    error.message = '請求錯誤,未找到該資源'
                    break;
                case 405:
                    error.message = '請求方法未允許'
                    break;
                case 408:
                    error.message = '請求超時'
                    break;
                case 500:
                    error.message = '服務(wù)器端出錯'
                    break;
                case 501:
                    error.message = '網(wǎng)絡(luò)未實現(xiàn)'
                    break;
                case 502:
                    error.message = '網(wǎng)絡(luò)錯誤'
                    break;
                case 503:
                    error.message = '服務(wù)不可用'
                    break;
                case 504:
                    error.message = '網(wǎng)絡(luò)超時'
                    break;
                case 505:
                    error.message = 'http版本不支持該請求'
                    break;
                default:
                    error.message = `連接錯誤${error.response.status}`
            }
        }else{
            error.message = "連接到服務(wù)器失敗"
        }
        //全局提示
        vue.$Notice.open({
            title: '網(wǎng)絡(luò)錯誤',
            desc: error.message ? '' : error.message
        });
        return Promise.reject(error.message) // 返回接口返回的錯誤信息
    });
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 原文: objective-c常用方法列表(總結(jié))在簡書保存一份 第1章Objective-C學習環(huán)境準備1.1O...
    14cat閱讀 1,271評論 0 2
  • 在編寫程序的過程中,不了避免的要用到字符串,所以String類的常用方法的用法是必須掌握的。學習一個類的使用方法最...
    Geg_Wuz閱讀 1,515評論 0 4
  • 提示:前面的較為常用 1、創(chuàng)建字符串 實例方法: - (instancetype)initWithFormat:(...
    SmithJackyson閱讀 1,268評論 2 1
  • 種一棵樹最好的時間是十年前,其次就是現(xiàn)在。生活沒有那么多來不及,多的是借口,逃避,懶惰,不想去面對,只要意識到就來...
    海藍_fab3閱讀 469評論 0 0
  • 今天的晨讀我超喜歡,大約一年前就接觸到斷舍離,幾個月前知道了極簡生活,一下子喜歡上了這種生活方式。 自己其實是個囤...
    大果果大沐沐閱讀 176評論 0 3

友情鏈接更多精彩內(nèi)容