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

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. WCF添加服务失败一则

    原因是本机开发IIS没有安装HTTPS证书 将红色的字注释掉就好了! <services> <service behaviorConfiguration="basicSer ...

  2. [No000009]学习重要还是经营人脉重要?

    大说数人的朋友圈都是这样的:雪中送炭的寥寥无几,锦上添花的大多数人连你自己都不认识,碰到倒霉的时候还能遇到落进下石的.人脉是很重要,可相对自身的学习来说,就没有想象中那么重要了. 有一次在北大讲座,遇 ...

  3. 读Java面向对象编程(孙卫琴)

    2.1创建Java源文件 Java应用由一个或多个扩展名为".java"的文件构成,这些文件被称为Java源文件,从编译的角度,则被称为编译单元. 本章包含两个Java源文件:Do ...

  4. Eclipse块选取的情况 shift+tab 是块向前缩进

    Eclipse块选取的情况 shift+tab 是块向前缩进

  5. FiveChess笔记

    //为0,表示该位置没有棋子:1表示该位置下过黑子:2白子 int[][] allChess = new int[19][19];//同时还通过下标记录了棋子的相对位置 1.对话框: 确认对话框(0是 ...

  6. Spring的反射机制和依赖注入

    我们知道,Spring中大量使用了反射机制,那么究竟是什么地方使用了呢? spring的一大核心概念是注入, 但是,这存在的一个前提就是类是由spring管理起来的. 反射是根据className生成 ...

  7. 50个查询系列-第13个查询:把“SC”表中“叶平”老师教的课的成绩都更改为此课程的平均成绩;

    UPDATE tblscore SET tblscore.Score= ( -- 这里开始算叶平的平均值 SELECT AVG(tt.aa) FROM ( SELECT tblscore.Score ...

  8. CentOS 7.0 Nvidia显卡安装步骤

    from: http://blog.sina.com.cn/s/blog_49c0985a0102v3fa.html CentOS 7.0 Nvidia显卡安装步骤: 1 在英伟达官网下载相应驱动 搜 ...

  9. HAXM VT-X (与Hype-V冲突)

    之前一直使用vs emulator. 感觉性能各方面都比较好, 但在我更新完电脑后不知道什么原因各种起不来...  无奈之下想回到Google自带的模拟器. 然后发现intel haxm一直安装失败. ...

  10. express:webpack dev-server中如何将对后端的http请求转到https的后端服务器中?

    在上一篇文章(Webpack系列:在Webpack+Vue开发中如何调用tomcat的后端服务器的接口?)我们介绍了如何将对于webpack-dev-server的数据请求转发到后端服务器上,这在大部 ...