react.js 公共方法 集合
截取七牛上传图片的后缀名:
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';
}
react.js 公共方法 集合的更多相关文章
- 3分钟教会你把封装的js公共方法挂载在vue实例原型上
第一步:首先在src文件夹里面创建一个通用js文件夹,然后在创建的文件夹里面创建一个js文件 第二步:const 一个方法,然后通过export暴露出来(在同一个页面可以写多个方法,和暴露多个方法,在 ...
- javascript 公共方法 集合
数组去重: Array.prototype.unique1 = function () { var n = []; //一个新的临时数组 for (var i = 0; i < this.len ...
- js String方法集合
//https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String//返回对应索引的字符 ...
- JS 公共方法
1.Format函数 $.GM.Format = function (source, params) { if (arguments.length == 1) return function () { ...
- Js获取后台集合List的值和下标的方法
Js获取后台集合List的值和下标的方法 转载自:http://blog.csdn.net/XiaoKanZheShiJie/article/details/47280449 首先用的是struts2 ...
- js操作textarea方法集合
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- React.js 小书 Lesson7 - 组件的 render 方法
作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson7 转载请注明出处,保留原文链接和作者信息. React.js 中一切皆组件,用 React. ...
- 小程序-调用公共js对象方法/ app.js
在小程序中,如果在子页面想调用共公js的方法,需先在子页面js中先实例化app:具体过程如下 子页面js: 1 2 3 4 5 6 7 8 //调用公共js对象以便调用其方法 var app = ge ...
- JS常用公共方法封装
_ooOoo_ o8888888o 88" . "88 (| -_- |) O\ = /O ____/`---'\____ .' \\| |// `. / \\||| : |||/ ...
随机推荐
- HDU3535AreYouBusy[混合背包 分组背包]
AreYouBusy Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- java中有类似C#里ref或out的功能吗?
JAVA中都是值传递.JAVA中的“引用”和C++中的引用有本质的区别,倒是和C++中的指针非常类似.可以将JAVA的引用理解为“不支持指针运算的指针”.所以可以说JAVA中其实并不存在真正的引用,所 ...
- JVM再了解了解
转自 http://www.cnblogs.com/Coda/p/4331432.html 相信大家已经了解到Java具有跨平台的特性,可以“一次编译,到处运行”,在Windows下编写的程序,无需任 ...
- 调用newtonsoft.json反序列出错
调用newtonsoft.json反序列出错: Newtonsoft.Json.JsonSerializationException: Cannot deserialize the current J ...
- 入门HTML的回顾,小总结
1.HTML(是一种超文本标记语言 Hypertext Markup Language),HTML不是一种编程语言,而是一种标记语言,描述网页的语言,HTML是由一套标记标签(markup tag ...
- hadoop怎么读?怎么发音
hadoop不是一个英文单词,是作者发明的词,hadoop名称来源作者小孩的一个}h毛填充黄色大象玩具. 它的发音是:[hædu:p]
- JS明确指定函数的接受者
由于方法和值为对象的属性值没什么区别,因此很容易提取对象的方法作为回调函数直接传递给高阶函数.但这也很容易忘记应明确指定方法的接受者.例如,一个字符串缓冲对象使用数组来存储字符串. var buffe ...
- 使Eclipse符合Java编程规范
编程规范是很重要的东西,能让团队的代码易于阅读和维护,也便于日后的功能扩展. 工欲善其事必先利其器!作为一个Java程序员,与Eclipse打交道可能是一辈子的事情.将Eclipse设置为符合公司编程 ...
- redis 学习笔记(4)-HA高可用方案Sentinel配置
上一节中介绍了master-slave模式,在最小配置:master.slave各一个节点的情况下,不管是master还是slave down掉一个,“完整的”读/写功能都将受影响,这在生产环境中显然 ...
- Java 位运算(移位、位与、或、异或、非)
Java提供的位运算符有:左移( << ).右移( >> ) .无符号右移( >>> ) .位与( & ) .位或( | ).位非( ~ ).位异或( ...