截取七牛上传图片的后缀名:

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 公共方法 集合的更多相关文章

  1. 3分钟教会你把封装的js公共方法挂载在vue实例原型上

    第一步:首先在src文件夹里面创建一个通用js文件夹,然后在创建的文件夹里面创建一个js文件 第二步:const 一个方法,然后通过export暴露出来(在同一个页面可以写多个方法,和暴露多个方法,在 ...

  2. javascript 公共方法 集合

    数组去重: Array.prototype.unique1 = function () { var n = []; //一个新的临时数组 for (var i = 0; i < this.len ...

  3. js String方法集合

    //https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String//返回对应索引的字符 ...

  4. JS 公共方法

    1.Format函数 $.GM.Format = function (source, params) { if (arguments.length == 1) return function () { ...

  5. Js获取后台集合List的值和下标的方法

    Js获取后台集合List的值和下标的方法 转载自:http://blog.csdn.net/XiaoKanZheShiJie/article/details/47280449 首先用的是struts2 ...

  6. js操作textarea方法集合

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  7. React.js 小书 Lesson7 - 组件的 render 方法

    作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson7 转载请注明出处,保留原文链接和作者信息. React.js 中一切皆组件,用 React. ...

  8. 小程序-调用公共js对象方法/ app.js

    在小程序中,如果在子页面想调用共公js的方法,需先在子页面js中先实例化app:具体过程如下 子页面js: 1 2 3 4 5 6 7 8 //调用公共js对象以便调用其方法 var app = ge ...

  9. JS常用公共方法封装

    _ooOoo_ o8888888o 88" . "88 (| -_- |) O\ = /O ____/`---'\____ .' \\| |// `. / \\||| : |||/ ...

随机推荐

  1. POJ 3384 Feng Shui --直线切平面

    题意:房间是一个凸多边形,要在里面铺设两条半径为r的圆形地毯,可以重叠,现在要求分别铺设到哪,使地毯所占的地面面积最大. 解法:要使圆形地毯所占面积最大,圆形地毯一定是与边相切的,这样才能使尽量不重叠 ...

  2. 第28章 行为型模式大PK

    27.1 策略模式 VS 命令模式 27.1.1 策略模式实现压缩算法 //行为型模式大PK——策略模式和命令模式 //实例:用策略模式实现压缩算法 #include <iostream> ...

  3. Jquery:小知识;

    Jquery:小知识: jQuery学习笔记(二):this相关问题及选择器   上一节的遗留问题,关于this的相关问题,先来解决一下. this的相关问题 this指代的是什么 这个应该是比较好理 ...

  4. 转: Git远程操作详解 (阮一峰)

    说明: 通过这个说明终于把远程操作给搞明白了. http://www.ruanyifeng.com/blog/2014/06/git_remote.html

  5. Android屏幕禁止休眠的方法

    实现这一功能的方法有两种,一种是在Manifest.xml文件里面声明,一种是在代码里面修改LayoutParams的标志位.具体如下: 1.在Manifest.xml文件里面用user-permis ...

  6. iOS多线程之NSThread详解

    在iOS中每个进程启动后都会建立一个主线程(UI线程),这个线程是其他线程的父线程.由于iOS中除了主线程,其他子线程是独立于Cocoa Touch的,所以只有主线程可以更新UI界面.iOS多线程的使 ...

  7. 实现鼠标拖动canvas绘制的图片

    不啰嗦上代码: <html> <head> <meta http-equiv="Content-Type" content="text/ht ...

  8. HOJ 2713 Matrix1

    Matrix1 My Tags   (Edit)   Source : Classical Problem   Time limit : 5 sec   Memory limit : 64 M Sub ...

  9. PHP & Delphi 語法

    明 C(区分大小写) Delphi(不区分大小写) PHP(区分大小写) 整型变量的定义 1 2 3 4 5 6 7 char a = 'a';         /* 8位有符号*/ int a=10 ...

  10. codevs 1907 方格取数 3

    Description 在一个有m*n 个方格的棋盘中,每个方格中有一个正整数.现要从方格中取数,使任意2 个数所在方格没有公共边,且取出的数的总和最大.试设计一个满足要求的取数算法. Input 第 ...