截取七牛上傳圖片的后綴名:
export function getInputKey(info){ let self = this; let obj = JSON.parse(info); let qiniuKey; let imaName; let imgSuffix; if(obj){ qiniuKey = obj.key; imaName = obj.fileName; imgSuffix = imaName.substring(imaName.lastIndexOf('.') + 1); } this.props.callback(qiniuKey,imgSuffix); }
批量新增:
addContent(e){ if(this.state.number.length >= this.state.maxNum){ return; } this.state.number.push(this.state.number[this.state.number.length -1] + 1); let temp = this.state.number; this.setState({ number: temp }); }
單組刪除:
removeContent(index){ if(this.state.number.length <= 1){ return; } this.state.number.splice(index, 1); this.setState({ number: this.state.number }); }
/** * fetch函數res狀態處理 */ export function alertPre(type,params){ if (params.ok) { alert("Outstanding! Your settings are saved."); } else if (params.status == 401) { alert("Warning! You are not authorized."); } else if (params.status == 200) { alert("Perfect! Your requests have bean received."); } else { alert("Upsetting! The request failed. status = " + params.status); } }
/** * Storage 工具類 */ class StorageUtils { localSetItem(key, val) { var value; if (typeof val == 'object') { value = 'o_' + JSON.stringify(val); localStorage.setItem(key, value); } else { value = 's_' + val; localStorage.setItem(key, value); } } localGetItem(key) { var value = localStorage.getItem(key); if (value) { if (value.indexOf('o') >= 0) { value = value.substring(2); value = JSON.parse(value); } else { value = value.substring(2); } } return value; } localRemoveItem(key) { localStorage.removeItem(key); } localRemoveAllItem() { localStorage.clear(); } sessionSetItem(key, val) { var value; if (typeof val == 'object') { value = 'o_' + JSON.stringify(val); sessionStorage.setItem(key, value); } else { value = 's_' + val; sessionStorage.setItem(key, value); } } sessionGetItem(key) { var value = sessionStorage.getItem(key); if (value) { if (value.indexOf('o') >= 0) { value = value.substring(2); value = JSON.parse(value); } else { value = value.substring(2); } } return value; } sessionRemoveItem(key) { sessionStorage.removeItem(key); } sessionRemoveAllItem() { sessionStorage.clear(); } }
/** * 格式化工具類 */ class FormatUtils { /** * 格式化刪除數組 * @param rows state里的已選中行 * @param row 當前操作的行 * @param param 操作數據的唯一標示:字符串 * @returns {*} */ formatDeleteList(rows ,row ,param) { let paramId = row[param]; let paramItem = {}; paramItem[param] = paramId; if (rows) { let index = -1; for (let i = 0 ;i < rows.length ;i++) { let rowItem = rows[i]; let id = rowItem[param]; if (paramId == id) { index = i; } } if (index > -1) { rows.splice(index,1); } else { rows.push(paramItem); } } else { rows = []; rows.push(paramItem); } return rows; } /** * 時間搓轉換為格式化的字符串 * @param timestamp 時間搓 * @param formatString 格式化格式 * @returns {*} */ formatTimestampToString(timestamp ,formatString) { let type = typeof timestamp; let times; let formatTimes; if (type === 'string') { times = new Date(timestamp); } else if (type === 'object' && timestamp instanceof Date) { times = timestamp; } else { times = new Date; } let year = times.getFullYear(); let month = times.getMonth() + 1; let date = times.getDate(); let hour = times.getHours(); let minute = times.getMinutes(); let second = times.getSeconds(); if(month < 10) month = '0' + month; if(date < 10) date = '0' + date; if(hour < 10) hour = '0' + hour; if(minute < 10) minute = '0' + minute; if(second < 10) second = '0' + second; if (formatString === 'yyyy-mm-dd'){ formatTimes = `${year}-${month}-${date}`; } else if(formatString === 'yyyy-mm-dd hh:mm:ss'){ formatTimes = `${year}-${month}-${date} ${hour}:${minute}:${second}`; } else if(formatString === 'yyyy-mm-dd hh:mm'){ formatTimes = `${year}-${month}-${date} ${hour}:${minute}`; } else { formatTimes = `${year}-${month}-${date} ${hour}:${minute}:${second}`; } return formatTimes; } }
- 將當前時間換算為北京時間
let date = new Date(); let defaultDate; let year = date.getFullYear(); let month = date.getMonth() + 1; let day = date.getDate(); let hour = date.getHours(); let minute = date.getMinutes(); let second = date.getSeconds(); month = month < 10 ? "0" + month : month; day = day < 10 ? "0" + day : day; defaultDate = year + "-" + month + "-" + day; //將當前時間換算為北京時間
let currentDate = defaultDate; let d = new Date(); let tmpHours = currentDate.getHours(); //算得時區
var time_zone = -d.getTimezoneOffset() / 60; //少於0的是西區 西區應該用時區絕對值加京八區 重新設置時間(西區時間比東區時間早 所以加時區間隔)
if (time_zone < 0) { time_zone = Math.abs(time_zone) + 8; currentDate.setHours(tmpHours + time_zone); } else { //大於0的是東區 東區時間直接跟京八區相減
time_zone -= 8; currentDate.setHours(tmpHours - time_zone); } return currentDate; let stateTwo = getState().iosAndroidState; let dateStart = stateTwo.startTimes ? stateTwo.startTimes : currentDate; let dateEnd = stateTwo.endTimes ? stateTwo.endTimes : currentDate;
/** * 獲取北京時間 */ export function BJTime(e){ return(dispatch,getState) => { //獲得當前運行環境時間
var d = new Date(), currentDate = new Date(), tmpHours = currentDate.getHours(); //算得時區
var time_zone = -d.getTimezoneOffset() / 60; //少於0的是西區 西區應該用時區絕對值加京八區 重新設置時間(西區時間比東區時間早 所以加時區間隔)
if (time_zone < 0) { time_zone = Math.abs(time_zone) + 8; currentDate.setHours(tmpHours + time_zone); } else { //大於0的是東區 東區時間直接跟京八區相減
time_zone -= 8; currentDate.setHours(tmpHours - time_zone); } dispatch(setBJTime(currentDate)); } } export const BEIJING_TIME = 'BEIJING_TIME'; function setBJTime(currentDate){ return{ type: BEIJING_TIME, data: { currentDate } } }
let localTime = date.getTime() -8 * 3600000 - date.getTimezoneOffset() * 60000; //有效轉換為北京時區的方法
將對象轉換為query類型,在api中使用,通過這個方法可以對查詢參數類型做判斷:
//將對象轉換為query路徑
entityFormatQueryParam(params) { let query = ''; let flag = false; //效驗一下
if (typeof params !== 'object' || null === params) { query = ''; } else { for (let key in params) { let value = params[key]; if (!value || '' === value || !params.hasOwnProperty(key)) { //排除undefined,null,'',原型鏈上的屬性
continue; } let path = `${key}=${value}`; if (flag) { query += `&${path}`; } else { query += `?${path}`; flag = true; } } } return query; }
判斷查詢接口傳過來的參數是否為對象:
parseParams(params){ let str = '?'; for(let key in params){ if(params[key] === undefined || params[key] === null || params[key] === ''){ continue; } str += key + '=' + params[key] + '&'; } return str + '_s=0'; }