74 lines
2.0 KiB
JavaScript
74 lines
2.0 KiB
JavaScript
const formatTime = date => {
|
|
const year = date.getFullYear();
|
|
const month = date.getMonth() + 1;
|
|
const day = date.getDate();
|
|
const hour = date.getHours();
|
|
const minute = date.getMinutes();
|
|
const second = date.getSeconds();
|
|
return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':');
|
|
};
|
|
|
|
const formatNumber = n => {
|
|
n = n.toString();
|
|
return n[1] ? n : '0' + n;
|
|
};
|
|
|
|
|
|
|
|
const fsm = wx.getFileSystemManager();
|
|
const FILE_BASE_NAME = 'tmp_base64src';
|
|
|
|
const base64src = function(base64data) {
|
|
return new Promise((resolve, reject) => {
|
|
const [, format, bodyData] = /data:image\/(\w+);base64,(.*)/.exec(base64data) || [];
|
|
if (!format) {
|
|
reject(new Error('ERROR_BASE64SRC_PARSE'));
|
|
}
|
|
const filePath = `${wx.env.USER_DATA_PATH}/${FILE_BASE_NAME}.${format}`;
|
|
const buffer = wx.base64ToArrayBuffer(bodyData);
|
|
fsm.writeFile({
|
|
filePath,
|
|
data: buffer,
|
|
encoding: 'binary',
|
|
success() {
|
|
resolve(filePath);
|
|
},
|
|
fail() {
|
|
reject(new Error('ERROR_BASE64SRC_WRITE'));
|
|
},
|
|
});
|
|
});
|
|
};
|
|
|
|
|
|
/**
|
|
* 参数处理
|
|
* @param {*} params 参数
|
|
*/
|
|
function tansParams(params) {
|
|
let result = ''
|
|
for (const propName of Object.keys(params)) {
|
|
const value = params[propName];
|
|
var part = encodeURIComponent(propName) + "=";
|
|
if (value !== null && value !== "" && typeof (value) !== "undefined") {
|
|
if (typeof value === 'object') {
|
|
for (const key of Object.keys(value)) {
|
|
if (value[key] !== null && value[key] !== "" && typeof (value[key]) !== 'undefined') {
|
|
let params = propName + '[' + key + ']';
|
|
var subPart = encodeURIComponent(params) + "=";
|
|
result += subPart + encodeURIComponent(value[key]) + "&";
|
|
}
|
|
}
|
|
} else {
|
|
result += part + encodeURIComponent(value) + "&";
|
|
}
|
|
}
|
|
}
|
|
return result
|
|
}
|
|
|
|
module.exports = {
|
|
formatTime: formatTime,
|
|
base64src,
|
|
tansParams
|
|
}; |