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 ____/`---'\____ .' \\| |// `. / \\||| : |||/ ...
随机推荐
- [No000059]知道这些,你的时间会比别人多一大截
大噶猴,这里是最近不爱断案,爱上了号脉问诊的包大人.来看看下面这些症状,你中了几条? 字的快餐阅读 2.微博.微信.QQ空间.微博.微信.QQ空间……陷在这样的循环里 3.每天好像接收了很多信息,然而 ...
- Eclipse的 JSON Edit插件
1. Json-Eclipse-Plugin https://github.com/boothen/Json-Eclipse-Plugin 2. 另外一个JSON Edit工具 https://tfe ...
- LFI漏洞利用总结
主要涉及到的函数 include(),require().include_once(),require_once() magic_quotes_gpc().allow_url_fopen().allo ...
- Nginx+keepalived双机热备(主主模式)
之前已经介绍了Nginx+Keepalived双机热备的主从模式,今天在此基础上说下主主模式的配置. 由之前的配置信息可知:master机器(master-node):103.110.98.14/19 ...
- linux运维中的命令梳理(三)
----------文本操作命令---------- sed命令:文本编辑工具 sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特 ...
- HTML5+jquery整屏页面切换效果
压缩包下载 演示地址 http://www.yyyweb.com/demo/page-transitions/
- JS/PHP 浮点数精确运算
php浮点数精确运算 bc是Binary Calculator的缩写.bc*函数的参数都是操作数加上一个可选的 [int scale],比如string bcadd(string $left_oper ...
- PHP程序设计
① 在设计评论系统时,关于文章的一些属性,我们最好存放在一个内存缓存中,通过下面的设计每次仅需要查询一次即可获取文章的所有属性 class CommentsDoc{ private static $d ...
- SQL GETDATE()日期格式化函数
Sql Server 中一个非常强大的日期格式化函数 Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AMSelect CONV ...
- 国内优秀Android学习资源
技术博客 应用开发 博主 博客 备注 任玉刚 CSDN博客 深入Android应用开发,深度与广度兼顾 郭霖 CSDN博客 内容实用,行文流畅,高人气博主 夏安明 CSDN博客 张鸿洋 CSDN博 ...