2025-01-22 10:53:47 +08:00
|
|
|
|
//设置本都存储
|
|
|
|
|
|
const SETSTORAGE = function(key, val) {
|
|
|
|
|
|
uni.setStorage({
|
|
|
|
|
|
key: key,
|
|
|
|
|
|
data: val,
|
|
|
|
|
|
success: _ => {
|
|
|
|
|
|
console.log('设置成功')
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
console.log(wx, jWeixin)
|
|
|
|
|
|
let WXSDK = "";
|
|
|
|
|
|
if (wx.config) {
|
|
|
|
|
|
WXSDK = wx;
|
|
|
|
|
|
} else {
|
|
|
|
|
|
WXSDK = jWeixin;
|
|
|
|
|
|
}
|
|
|
|
|
|
console.log(WXSDK, "WXSDK");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 微信公众号授权
|
|
|
|
|
|
const WXAUTHORIZE = function() {
|
|
|
|
|
|
let link = window.location.href;
|
|
|
|
|
|
// let params = this._getUrlParams(link); // 地址解析
|
|
|
|
|
|
let params = ''; // 地址解析
|
|
|
|
|
|
|
|
|
|
|
|
// 已经授权登录过的就不用再授权了
|
|
|
|
|
|
//if (store.state.token) return;
|
|
|
|
|
|
|
|
|
|
|
|
// 如果拿到code,调用授权接口,没有拿到就跳转微信授权链接获取
|
|
|
|
|
|
if (params.code) {
|
|
|
|
|
|
api.wxAuth(params.code); // 调用后台接口,授权
|
|
|
|
|
|
} else {
|
|
|
|
|
|
let appid = 'wx7d707414e4623461'; //sj :wx7d707414e4623461 华中 : wx61ecc513905e876a
|
|
|
|
|
|
let uri = encodeURIComponent(link);
|
|
|
|
|
|
let authURL =
|
|
|
|
|
|
`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appid}&redirect_uri=${uri}&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect`;
|
|
|
|
|
|
window.location.href = authURL;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
//获取本地存储
|
|
|
|
|
|
const GETSTORAGE = function(key) {
|
|
|
|
|
|
return uni.getStorageSync(key);
|
|
|
|
|
|
}
|
|
|
|
|
|
//清除本地存储
|
|
|
|
|
|
const CLEARSTORAGE = function(key) {
|
|
|
|
|
|
return uni.clearStorageSync()
|
|
|
|
|
|
}
|
|
|
|
|
|
const DEVENV = true; //用于判断是否是开发环境
|
|
|
|
|
|
/*
|
|
|
|
|
|
// const BASE = 'http://hz.witrear.logplat.top:27001/greenH5/greenH5modul/rest/mainInterface/approvalModule';
|
|
|
|
|
|
*/
|
2025-02-25 15:19:01 +08:00
|
|
|
|
const BASE = 'http://192.168.2.97:18080/greenH5/greenH5modul/rest/mainInterface/approvalModule';
|
2025-01-22 10:53:47 +08:00
|
|
|
|
// const BASE = 'http://192.168.0.99:27000/greenH5/greenH5modul/rest/mainInterface/approvalModule';
|
|
|
|
|
|
|
|
|
|
|
|
//'http://127.0.0.1:'+uni.getStorageSync("ZHHQ_HZ_PORT")+'/greenH5/greenH5modul/rest/mainInterface/approvalModule';
|
|
|
|
|
|
//发送请求
|
|
|
|
|
|
const DOMAIN = BASE;
|
|
|
|
|
|
const VBPICTURE = function(a) {
|
|
|
|
|
|
WXSDK.previewImage({
|
|
|
|
|
|
current: a[0], // 当前显示图片的http链接
|
|
|
|
|
|
urls: a, // 需要预览的图片http链接列表
|
|
|
|
|
|
hidePreviewMenuList: [] // 要隐藏的菜单项,只能隐藏“传播类”和“保护类”按钮
|
|
|
|
|
|
});
|
|
|
|
|
|
// uni.previewImage({
|
|
|
|
|
|
// current:0,
|
|
|
|
|
|
// urls: a,
|
|
|
|
|
|
// success: function(data) {
|
|
|
|
|
|
// console.log(data,'data');
|
|
|
|
|
|
// },
|
|
|
|
|
|
// fail: function(err) {
|
|
|
|
|
|
// console.log(err,'err');
|
|
|
|
|
|
// }
|
|
|
|
|
|
// // longPressActions: {
|
|
|
|
|
|
// // itemList: [],
|
|
|
|
|
|
// // success: function(data) {
|
|
|
|
|
|
// // console.log('选中了第' + (data.tapIndex + 1) + '个按钮,第' + (data.index + 1) + '张图片');
|
|
|
|
|
|
// // },
|
|
|
|
|
|
// // fail: function(err) {
|
|
|
|
|
|
// // console.log(err.errMsg);
|
|
|
|
|
|
// // }
|
|
|
|
|
|
// // }
|
|
|
|
|
|
// });
|
|
|
|
|
|
}
|
|
|
|
|
|
const CALLPHONE = function(a) {
|
|
|
|
|
|
uni.makePhoneCall({
|
|
|
|
|
|
phoneNumber: a //仅为示例
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
const CALLBACK_REQUEST = function(data, method) {
|
|
|
|
|
|
data.checkTime = new Date().getTime();
|
|
|
|
|
|
data.clientId = uni.getStorageSync("clientId");
|
|
|
|
|
|
let url = "";
|
|
|
|
|
|
if (!DEVENV) {
|
|
|
|
|
|
url = 'http://127.0.0.1:' + uni.getStorageSync("ZHHQ_HZ_PORT") +
|
|
|
|
|
|
'/greenH5/greenH5modul/rest/mainInterface/approvalModule';
|
|
|
|
|
|
} else {
|
|
|
|
|
|
url = DOMAIN;
|
|
|
|
|
|
}
|
|
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
|
|
uni.showLoading({
|
|
|
|
|
|
title: '加载中'
|
|
|
|
|
|
})
|
|
|
|
|
|
uni.request({
|
|
|
|
|
|
url: url,
|
|
|
|
|
|
data: JSON.stringify(data),
|
|
|
|
|
|
method: method || 'POST',
|
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
|
header: {
|
|
|
|
|
|
'content-type': 'application/x-www-form-urlencoded', //自定义请求头信息
|
|
|
|
|
|
},
|
|
|
|
|
|
success: res => {
|
|
|
|
|
|
uni.hideLoading();
|
|
|
|
|
|
console.log("返回参数", res.data);
|
|
|
|
|
|
resolve(res)
|
|
|
|
|
|
},
|
|
|
|
|
|
fail: err => {
|
|
|
|
|
|
console.log(err, "err");
|
|
|
|
|
|
reject(err);
|
|
|
|
|
|
uni.hideLoading();
|
|
|
|
|
|
ALERTTIP('数据加载失败')
|
|
|
|
|
|
},
|
|
|
|
|
|
complete() {
|
|
|
|
|
|
// uni.hideLoading();
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
const UPLOAD_IMG = function(data) {
|
|
|
|
|
|
let url = "";
|
|
|
|
|
|
if (!DEVENV) {
|
|
|
|
|
|
url = 'http://127.0.0.1:' + uni.getStorageSync("ZHHQ_HZ_PORT") +
|
|
|
|
|
|
'/greenH5/greenH5modul/rest/greenImageInfo/uploadImgBuGroup';
|
|
|
|
|
|
} else {
|
|
|
|
|
|
url = 'http://192.168.0.39:8080/greenH5/greenH5modul/rest/greenImageInfo/uploadImgBuGroup';
|
|
|
|
|
|
// url = 'http://10.40.92.31:8080/greenH5/greenH5modul/rest/greenImageInfo/uploadImgBuGroup';
|
|
|
|
|
|
}
|
|
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
|
|
uni.request({
|
|
|
|
|
|
url: url,
|
|
|
|
|
|
data: JSON.stringify(data),
|
|
|
|
|
|
method: 'POST',
|
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
|
header: {
|
|
|
|
|
|
'content-type': 'application/x-www-form-urlencoded', //自定义请求头信息
|
|
|
|
|
|
},
|
|
|
|
|
|
success: res => {
|
|
|
|
|
|
resolve(res)
|
|
|
|
|
|
},
|
|
|
|
|
|
fail: err => {
|
|
|
|
|
|
console.log(err, "err");
|
|
|
|
|
|
reject(err);
|
|
|
|
|
|
ALERTTIP('数据加载失败')
|
|
|
|
|
|
},
|
|
|
|
|
|
complete() {
|
|
|
|
|
|
// uni.hideLoading();
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const CALLBACK_REQUEST_NOLOADING = function(data, method) {
|
|
|
|
|
|
data.checkTime = new Date().getTime();
|
|
|
|
|
|
data.clientId = uni.getStorageSync("clientId");
|
|
|
|
|
|
let url = "";
|
|
|
|
|
|
if (!DEVENV) {
|
|
|
|
|
|
url = 'http://127.0.0.1:' + uni.getStorageSync("ZHHQ_HZ_PORT") +
|
|
|
|
|
|
'/greenH5/greenH5modul/rest/mainInterface/approvalModule';
|
|
|
|
|
|
} else {
|
|
|
|
|
|
url = DOMAIN;
|
|
|
|
|
|
}
|
|
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
|
|
uni.request({
|
|
|
|
|
|
url: url,
|
|
|
|
|
|
data: JSON.stringify(data),
|
|
|
|
|
|
method: method || 'POST',
|
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
|
header: {
|
|
|
|
|
|
'content-type': 'application/x-www-form-urlencoded', //自定义请求头信息
|
|
|
|
|
|
},
|
|
|
|
|
|
success: res => {
|
|
|
|
|
|
resolve(res)
|
|
|
|
|
|
},
|
|
|
|
|
|
fail: err => {
|
|
|
|
|
|
console.log(err, "err");
|
|
|
|
|
|
reject(err);
|
|
|
|
|
|
ALERTTIP('数据加载失败')
|
|
|
|
|
|
},
|
|
|
|
|
|
complete() {
|
|
|
|
|
|
// uni.hideLoading();
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
//发送无提示加载中的请求
|
|
|
|
|
|
const CALLBACK_REQUEST_NOTIP = function(url, data, method) {
|
|
|
|
|
|
data.checkTime = new Date().getTime();
|
|
|
|
|
|
if (!DEVENV) {
|
|
|
|
|
|
url = 'http://127.0.0.1:' + uni.getStorageSync("ZHHQ_HZ_PORT") +
|
|
|
|
|
|
'/greenH5/greenH5modul/rest/mainInterface/approvalModule';
|
|
|
|
|
|
} else {
|
|
|
|
|
|
url = DOMAIN;
|
|
|
|
|
|
}
|
|
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
|
|
|
|
|
|
|
|
uni.request({
|
|
|
|
|
|
url: url,
|
|
|
|
|
|
data: JSON.stringify(data),
|
|
|
|
|
|
method: method || 'POST',
|
|
|
|
|
|
dataType: 'json',
|
|
|
|
|
|
header: {
|
|
|
|
|
|
'content-type': 'application/x-www-form-urlencoded', //自定义请求头信息
|
|
|
|
|
|
'X-Frame-Options': 'SAMEORIGIN'
|
|
|
|
|
|
},
|
|
|
|
|
|
success: res => {
|
|
|
|
|
|
resolve(res)
|
|
|
|
|
|
},
|
|
|
|
|
|
fail: err => {
|
|
|
|
|
|
console.log(err, "err");
|
|
|
|
|
|
reject(err);
|
|
|
|
|
|
uni.hideLoading();
|
|
|
|
|
|
ALERTTIP('数据加载失败')
|
|
|
|
|
|
},
|
|
|
|
|
|
complete() {
|
|
|
|
|
|
uni.hideLoading();
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
const REMOVEELEMENTOFARRAY = function(value, array) {
|
|
|
|
|
|
var index = -1;
|
|
|
|
|
|
for (var i = 0; i < array.length; i++) {
|
|
|
|
|
|
if (array[i] == value) {
|
|
|
|
|
|
index = i;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
if (index >= 0) {
|
|
|
|
|
|
array.splice(index, 1);
|
|
|
|
|
|
}
|
|
|
|
|
|
return array;
|
|
|
|
|
|
}
|
|
|
|
|
|
//提示信息
|
|
|
|
|
|
const ALERTTIP = function(msg, icon, duration) {
|
|
|
|
|
|
uni.showToast({
|
|
|
|
|
|
title: msg,
|
|
|
|
|
|
icon: icon || 'none',
|
|
|
|
|
|
duration: duration || 3000
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
//需确认的提示信息
|
|
|
|
|
|
const SUREALERTTIP = function(title, content, showCancel) {
|
|
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
|
|
uni.showModal({
|
|
|
|
|
|
title: title || '',
|
|
|
|
|
|
content: content,
|
|
|
|
|
|
showCancel: showCancel,
|
|
|
|
|
|
success: res => {
|
|
|
|
|
|
if (res.confirm) {
|
|
|
|
|
|
resolve(200);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
//时间格式化
|
|
|
|
|
|
const FORMATDATE = function(date, type) {
|
|
|
|
|
|
if (typeof date === 'string') {
|
|
|
|
|
|
date = date.replace(/-/g, '/');
|
|
|
|
|
|
}
|
|
|
|
|
|
let oldVal = new Date(date);
|
|
|
|
|
|
let newVal = '';
|
|
|
|
|
|
let year = oldVal.getFullYear();
|
|
|
|
|
|
let mount = oldVal.getMonth() + 1;
|
|
|
|
|
|
let day = oldVal.getDate();
|
|
|
|
|
|
let h = oldVal.getHours();
|
|
|
|
|
|
let m = oldVal.getMinutes();
|
|
|
|
|
|
let s = oldVal.getSeconds();
|
|
|
|
|
|
if (type == 'dateTime') {
|
|
|
|
|
|
newVal = year + '-' + format(mount) + '-' + format(day) + ' ' + format(h) + ':' + format(m) + ':' + format(
|
|
|
|
|
|
s);
|
|
|
|
|
|
} else if (type == 'm_Time') {
|
|
|
|
|
|
newVal = year + '-' + format(mount) + '-' + format(day) + ' ' + format(h) + ':' + format(m);
|
|
|
|
|
|
} else if (type == 'mTime') {
|
|
|
|
|
|
newVal = year + '/' + format(mount) + '/' + format(day) + ' ' + format(h) + ':' + format(m);
|
|
|
|
|
|
} else {
|
|
|
|
|
|
newVal = year + '-' + format(mount) + '-' + format(day);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function format(data) {
|
|
|
|
|
|
return data > 9 ? data : '0' + data
|
|
|
|
|
|
}
|
|
|
|
|
|
return newVal;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Date.prototype.format = function(fmt) {
|
|
|
|
|
|
var o = {
|
|
|
|
|
|
"M+": this.getMonth() + 1, //月份
|
|
|
|
|
|
"d+": this.getDate(), //日
|
|
|
|
|
|
"h+": this.getHours(), //小时
|
|
|
|
|
|
"m+": this.getMinutes(), //分
|
|
|
|
|
|
"s+": this.getSeconds(), //秒
|
|
|
|
|
|
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
|
|
|
|
|
|
"S": this.getMilliseconds() //毫秒
|
|
|
|
|
|
};
|
|
|
|
|
|
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
|
|
|
|
|
|
for (var k in o)
|
|
|
|
|
|
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : ((
|
|
|
|
|
|
"00" + o[
|
|
|
|
|
|
k]).substr(("" + o[k]).length)));
|
|
|
|
|
|
return fmt;
|
|
|
|
|
|
}
|
|
|
|
|
|
//获取近30天日期
|
|
|
|
|
|
const GETDATE = function() {
|
|
|
|
|
|
let time = new Date()
|
|
|
|
|
|
var a = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
|
|
|
|
|
|
let gday = 24 * 60 * 60 * 1000
|
|
|
|
|
|
let arr = [];
|
|
|
|
|
|
for (let i = 0; i < 30; i++) {
|
|
|
|
|
|
// let tiems = new Date((time.getTime() + gday * i)).format('MM-dd');
|
|
|
|
|
|
let tiems = new Date((time.getTime() + gday * i));
|
|
|
|
|
|
tiems = FORMATDATE(tiems);
|
|
|
|
|
|
var day = new Date(tiems).getDay();
|
|
|
|
|
|
var week = a[day]
|
|
|
|
|
|
arr.push({
|
|
|
|
|
|
tiems: tiems,
|
|
|
|
|
|
week: week,
|
|
|
|
|
|
weekDay: day + "",
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
// var param ={
|
|
|
|
|
|
// "method": "greenCalendar/getCalendarList",
|
|
|
|
|
|
// "data": {
|
|
|
|
|
|
// date_name:arr[0].tiems,
|
|
|
|
|
|
// }
|
|
|
|
|
|
// };
|
|
|
|
|
|
// await getCalendar(param);
|
|
|
|
|
|
return arr;
|
|
|
|
|
|
}
|
|
|
|
|
|
const GETWEEK = function() {
|
|
|
|
|
|
var a = ["周一", "周二", "周三", "周四", "周五", "周六", "周日"];
|
|
|
|
|
|
let arr = []
|
|
|
|
|
|
var now = new Date();
|
|
|
|
|
|
var year = now.getFullYear()
|
|
|
|
|
|
var day = now.getDay();
|
|
|
|
|
|
for (var i = 0; i < 7; i++) {
|
|
|
|
|
|
var firstDay = new Date(now - (now.getDay() - 1) * 86400000);
|
|
|
|
|
|
firstDay.setDate(firstDay.getDate() + i);
|
|
|
|
|
|
var mon = Number(firstDay.getMonth()) + 1 < 10 ? "0" + (Number(firstDay.getMonth()) + 1) : Number(firstDay
|
|
|
|
|
|
.getMonth()) + 1;
|
|
|
|
|
|
var day = firstDay.getDate() < 10 ? "0" + firstDay.getDate() : firstDay.getDate();
|
|
|
|
|
|
arr.push({
|
|
|
|
|
|
tiems: year + "-" + mon + "-" + day,
|
|
|
|
|
|
week: a[i],
|
|
|
|
|
|
weekDay: i,
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
return arr
|
|
|
|
|
|
}
|
|
|
|
|
|
const FORMATIMGURL = function(url) {
|
|
|
|
|
|
let oldUrl = url || "";
|
|
|
|
|
|
let imgName = oldUrl.split("webImageDir")[1];
|
|
|
|
|
|
if (imgName) {
|
|
|
|
|
|
let newUrl = 'http://127.0.0.1:' + uni.getStorageSync("ZHHQ_HZ_PORT") + '/webImageDir' + imgName;
|
|
|
|
|
|
return newUrl;
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return "bucunzaideimg.jpg";
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 判断 json ,数组 等是否相等
|
|
|
|
|
|
const Compare = function Compare(objA, objB) {
|
|
|
|
|
|
if (!isObj(objA) || !isObj(objB)) return false; //判断类型是否正确
|
|
|
|
|
|
if (getLength(objA) != getLength(objB)) return false; //判断长度是否一致
|
|
|
|
|
|
return CompareObj(objA, objB, true); //默认为true
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function isObj(object) {
|
|
|
|
|
|
return object && typeof(object) == 'object' && Object.prototype.toString.call(object).toLowerCase() ==
|
|
|
|
|
|
"[object object]";
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function isArray(object) {
|
|
|
|
|
|
return object && typeof(object) == 'object' && object.constructor == Array;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function getLength(object) {
|
|
|
|
|
|
var count = 0;
|
|
|
|
|
|
for (var i in object) count++;
|
|
|
|
|
|
return count;
|
|
|
|
|
|
}
|
|
|
|
|
|
const CompareObj = function CompareObj(objA, objB, flag) {
|
|
|
|
|
|
for (var key in objA) {
|
|
|
|
|
|
if (!flag) //跳出整个循环
|
|
|
|
|
|
break;
|
|
|
|
|
|
if (!objB.hasOwnProperty(key)) {
|
|
|
|
|
|
flag = false;
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
if (!isArray(objA[key])) { //子级不是数组时,比较属性值
|
|
|
|
|
|
if (objB[key] != objA[key]) {
|
|
|
|
|
|
flag = false;
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
} else {
|
|
|
|
|
|
if (!isArray(objB[key])) {
|
|
|
|
|
|
flag = false;
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
var oA = objA[key],
|
|
|
|
|
|
oB = objB[key];
|
|
|
|
|
|
if (oA.length != oB.length) {
|
|
|
|
|
|
flag = false;
|
|
|
|
|
|
break;
|
|
|
|
|
|
}
|
|
|
|
|
|
for (var k in oA) {
|
|
|
|
|
|
if (!flag) //这里跳出循环是为了不让递归继续
|
|
|
|
|
|
break;
|
|
|
|
|
|
flag = CompareObj(oA[k], oB[k], flag);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
return flag;
|
|
|
|
|
|
}
|
|
|
|
|
|
// 获取今天起 指定天数的日期
|
|
|
|
|
|
const GETNUMDATE = function(num) {
|
|
|
|
|
|
|
|
|
|
|
|
let time = new Date()
|
|
|
|
|
|
var a = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
|
|
|
|
|
|
let gday = 24 * 60 * 60 * 1000
|
|
|
|
|
|
let arr = []
|
|
|
|
|
|
if (num <= 0) {
|
|
|
|
|
|
return arr
|
|
|
|
|
|
}
|
|
|
|
|
|
for (let i = 0; i < num; i++) {
|
|
|
|
|
|
// let tiems = new Date((time.getTime() + gday * i)).format('MM-dd');
|
|
|
|
|
|
let tiems = new Date((time.getTime() + gday * i));
|
|
|
|
|
|
tiems = FORMATDATE(tiems);
|
|
|
|
|
|
var day = new Date(tiems).getDay();
|
|
|
|
|
|
var week = a[day]
|
|
|
|
|
|
arr.push({
|
|
|
|
|
|
tiems: tiems,
|
|
|
|
|
|
week: week,
|
|
|
|
|
|
weekDay: day + "",
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
return arr
|
|
|
|
|
|
}
|
|
|
|
|
|
//验证手机号
|
|
|
|
|
|
const REGPHONE = /^1[3|4|5|6|7|8|9]\d{9}$/;
|
|
|
|
|
|
//验证身份证号
|
|
|
|
|
|
const REGIDCARD =
|
|
|
|
|
|
/^[1-9][0-9]{5}(19|20)[0-9]{2}((01|03|05|07|08|10|12)(0[1-9]|[1-2][0-9]|31|30)|(04|06|09|11)(0[1-9]|[1-2][0-9]|30)|02(0[1-9]|[1-2][0-9]))[0-9]{3}([0-9]|x|X)$/;
|
|
|
|
|
|
// 解决图片旋转问题 压缩
|
|
|
|
|
|
const resetOrientation = function(srcBase64, srcOrientation, callback) {
|
|
|
|
|
|
var img = new Image();
|
|
|
|
|
|
img.onload = function() {
|
|
|
|
|
|
var width = img.width,
|
|
|
|
|
|
height = img.height,
|
|
|
|
|
|
canvas = document.createElement('canvas'),
|
|
|
|
|
|
ctx = canvas.getContext("2d");
|
|
|
|
|
|
var maxWidth = 1024,
|
|
|
|
|
|
maxHeight = 1024;
|
|
|
|
|
|
if (width > maxWidth || height > maxHeight) {
|
|
|
|
|
|
if (width / height > maxWidth / maxHeight) {
|
|
|
|
|
|
maxHeight = Math.round(maxWidth * (height / width));
|
|
|
|
|
|
} else {
|
|
|
|
|
|
maxWidth = Math.round(maxHeight * (width / height));
|
|
|
|
|
|
}
|
|
|
|
|
|
} else {
|
|
|
|
|
|
maxWidth = width;
|
|
|
|
|
|
maxHeight = height;
|
|
|
|
|
|
}
|
|
|
|
|
|
if ([5, 6, 7, 8].indexOf(srcOrientation) > -1) {
|
|
|
|
|
|
canvas.width = maxHeight;
|
|
|
|
|
|
canvas.height = maxWidth;
|
|
|
|
|
|
} else {
|
|
|
|
|
|
canvas.width = maxWidth;
|
|
|
|
|
|
canvas.height = maxHeight;
|
|
|
|
|
|
}
|
|
|
|
|
|
switch (srcOrientation) {
|
|
|
|
|
|
case 2:
|
|
|
|
|
|
ctx.transform(-1, 0, 0, 1, maxWidth, 0);
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 3:
|
|
|
|
|
|
ctx.transform(-1, 0, 0, -1, maxWidth, maxHeight);
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 4:
|
|
|
|
|
|
ctx.transform(1, 0, 0, -1, 0, maxHeight);
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 5:
|
|
|
|
|
|
ctx.transform(0, 1, 1, 0, 0, 0);
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 6:
|
|
|
|
|
|
ctx.transform(0, 1, -1, 0, maxHeight, 0);
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 7:
|
|
|
|
|
|
ctx.transform(0, -1, -1, 0, maxHeight, maxWidth);
|
|
|
|
|
|
break;
|
|
|
|
|
|
case 8:
|
|
|
|
|
|
ctx.transform(0, -1, 1, 0, 0, maxWidth);
|
|
|
|
|
|
break;
|
|
|
|
|
|
default:
|
|
|
|
|
|
ctx.transform(1, 0, 0, 1, 0, 0);
|
|
|
|
|
|
}
|
|
|
|
|
|
ctx.drawImage(img, 0, 0, maxWidth, maxHeight);
|
|
|
|
|
|
callback(canvas.toDataURL('image/jpeg'));
|
|
|
|
|
|
};
|
|
|
|
|
|
img.src = srcBase64;
|
|
|
|
|
|
}
|
|
|
|
|
|
const CONVERTIMGTOBASE64 = function(url, callback, outputFormat) {
|
|
|
|
|
|
var canvas = document.createElement('CANVAS'),
|
|
|
|
|
|
ctx = canvas.getContext('2d'),
|
|
|
|
|
|
img = new Image;
|
|
|
|
|
|
img.crossOrigin = 'Anonymous';
|
|
|
|
|
|
img.onload = function() {
|
|
|
|
|
|
var _this = this,
|
|
|
|
|
|
wid = img.width,
|
|
|
|
|
|
hei = img.height,
|
|
|
|
|
|
maxWidth = 1024,
|
|
|
|
|
|
maxHeight = 1024;
|
|
|
|
|
|
if (wid > maxWidth || hei > maxHeight) {
|
|
|
|
|
|
if (wid / hei > maxWidth / maxHeight) {
|
|
|
|
|
|
maxHeight = Math.round(maxWidth * (hei / wid));
|
|
|
|
|
|
} else {
|
|
|
|
|
|
maxWidth = Math.round(maxHeight * (wid / hei));
|
|
|
|
|
|
}
|
|
|
|
|
|
} else {
|
|
|
|
|
|
maxWidth = wid;
|
|
|
|
|
|
maxHeight = hei;
|
|
|
|
|
|
}
|
|
|
|
|
|
canvas.width = maxWidth;
|
|
|
|
|
|
canvas.height = maxHeight;
|
|
|
|
|
|
ctx.drawImage(img, 0, 0, maxWidth, maxHeight);
|
|
|
|
|
|
let newUrl = canvas.toDataURL(outputFormat || 'image/jpeg');
|
|
|
|
|
|
callback.call(_this, newUrl);
|
|
|
|
|
|
canvas = null;
|
|
|
|
|
|
};
|
|
|
|
|
|
img.src = url;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// 定义转换函数
|
|
|
|
|
|
const TRANSFORMNUM2CHINESE = function(tranvalue) {
|
|
|
|
|
|
try {
|
|
|
|
|
|
var i = 1;
|
|
|
|
|
|
var dw2 = new Array("", "万", "亿"); //大单位
|
|
|
|
|
|
var dw1 = new Array("十", "百", "千"); //小单位
|
|
|
|
|
|
var dw = new Array("零", "一", "二", "三", "四", "五", "六", "七", "八", "九"); //整数部分用
|
|
|
|
|
|
//以下是小写转换成大写显示在合计大写的文本框中
|
|
|
|
|
|
//分离整数与小数
|
|
|
|
|
|
// var source = SPLITS(tranvalue);
|
|
|
|
|
|
var source = [tranvalue.toString(), ""];
|
|
|
|
|
|
var num = tranvalue;
|
|
|
|
|
|
var dig = "";
|
|
|
|
|
|
|
|
|
|
|
|
//转换整数部分
|
|
|
|
|
|
var k1 = 0; //计小单位
|
|
|
|
|
|
var k2 = 0; //计大单位
|
|
|
|
|
|
var sum = 0;
|
|
|
|
|
|
var str = "";
|
|
|
|
|
|
var len = source[0].length; //整数的长度
|
|
|
|
|
|
for (i = 1; i <= len; i++) {
|
|
|
|
|
|
var n = source[0].charAt(len - i); //取得某个位数上的数字
|
|
|
|
|
|
var bn = 0;
|
|
|
|
|
|
if (len - i - 1 >= 0) {
|
|
|
|
|
|
bn = source[0].charAt(len - i - 1); //取得某个位数前一位上的数字
|
|
|
|
|
|
}
|
|
|
|
|
|
sum = sum + Number(n);
|
|
|
|
|
|
if (sum != 0) {
|
|
|
|
|
|
str = dw[Number(n)].concat(str); //取得该数字对应的大写数字,并插入到str字符串的前面
|
|
|
|
|
|
if (n == '0') sum = 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
if (len - i - 1 >= 0) { //在数字范围内
|
|
|
|
|
|
if (k1 != 3) { //加小单位
|
|
|
|
|
|
if (bn != 0) {
|
|
|
|
|
|
str = dw1[k1].concat(str);
|
|
|
|
|
|
}
|
|
|
|
|
|
k1++;
|
|
|
|
|
|
} else { //不加小单位,加大单位
|
|
|
|
|
|
k1 = 0;
|
|
|
|
|
|
var temp = str.charAt(0);
|
|
|
|
|
|
if (temp == "万" || temp == "亿") //若大单位前没有数字则舍去大单位
|
|
|
|
|
|
str = str.substr(1, str.length - 1);
|
|
|
|
|
|
str = dw2[k2].concat(str);
|
|
|
|
|
|
sum = 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
if (k1 == 3) //小单位到千则大单位进一
|
|
|
|
|
|
{
|
|
|
|
|
|
k2++;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//转换小数部分
|
|
|
|
|
|
var strdig = "";
|
|
|
|
|
|
if (dig != "") {
|
|
|
|
|
|
var n = dig.charAt(0);
|
|
|
|
|
|
if (n != 0) {
|
|
|
|
|
|
strdig += dw[Number(n)] + "角"; //加数字
|
|
|
|
|
|
}
|
|
|
|
|
|
var n = dig.charAt(1);
|
|
|
|
|
|
if (n != 0) {
|
|
|
|
|
|
strdig += dw[Number(n)] + "分"; //加数字
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
str += strdig;
|
|
|
|
|
|
} catch (e) {
|
|
|
|
|
|
return "";
|
|
|
|
|
|
}
|
|
|
|
|
|
return str;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//拆分整数与小数
|
|
|
|
|
|
const SPLITS = function(tranvalue) {
|
|
|
|
|
|
var value = new Array('', '');
|
|
|
|
|
|
temp = tranvalue.split(".");
|
|
|
|
|
|
for (var i = 0; i < temp.length; i++) {
|
|
|
|
|
|
value[i] = temp[i];
|
|
|
|
|
|
}
|
|
|
|
|
|
return value;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// if (/(Android)/i.test(navigator.userAgent)) {
|
|
|
|
|
|
// WXSDK=jWeixin;
|
|
|
|
|
|
// }else{
|
|
|
|
|
|
// WXSDK=wx;
|
|
|
|
|
|
// }
|
|
|
|
|
|
// if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) {
|
|
|
|
|
|
// WXSDK=wx;
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
|
|
module.exports = {
|
|
|
|
|
|
callPhone: CALLPHONE,
|
|
|
|
|
|
vbPicture: VBPICTURE,
|
|
|
|
|
|
alertTip: ALERTTIP,
|
|
|
|
|
|
setStorage: SETSTORAGE,
|
|
|
|
|
|
wxAuthorize: WXAUTHORIZE,
|
|
|
|
|
|
getStorage: GETSTORAGE,
|
|
|
|
|
|
clearStorage: CLEARSTORAGE,
|
|
|
|
|
|
callbackRequest: CALLBACK_REQUEST,
|
|
|
|
|
|
callbackRequestNoTip: CALLBACK_REQUEST_NOTIP,
|
|
|
|
|
|
callbackRequestNoLoading: CALLBACK_REQUEST_NOLOADING,
|
|
|
|
|
|
uploadImg: UPLOAD_IMG,
|
|
|
|
|
|
sureAlterTip: SUREALERTTIP,
|
|
|
|
|
|
formatDate: FORMATDATE,
|
|
|
|
|
|
getDate: GETDATE,
|
|
|
|
|
|
regPhone: REGPHONE,
|
|
|
|
|
|
convertImgToBase64: CONVERTIMGTOBASE64,
|
|
|
|
|
|
devEnv: DEVENV,
|
|
|
|
|
|
getNumDate: GETNUMDATE,
|
|
|
|
|
|
compare: Compare,
|
|
|
|
|
|
regIdCard: REGIDCARD,
|
|
|
|
|
|
resetOrientation: resetOrientation,
|
|
|
|
|
|
removeElementOfArray: REMOVEELEMENTOFARRAY,
|
|
|
|
|
|
transformNum2Chinese: TRANSFORMNUM2CHINESE,
|
|
|
|
|
|
getWeek: GETWEEK,
|
|
|
|
|
|
formatImgUrl: FORMATIMGURL,
|
|
|
|
|
|
wxSdk: WXSDK,
|
|
|
|
|
|
}
|