You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

257 lines
8.7 KiB

"use strict";
// 日期格式化
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.wxLogin = exports.genToken = exports.fetch = exports.buttonClicked = exports.BASE_URL = exports.LOGIN_URL = exports.formatTimeStr = exports.formatDateStr = exports.formatTime = exports.formatDateTimeStr = void 0;
var des2_js_1 = require("../utils/des2.js");
/**
* 格式化时间
* 调用formatDate(strDate, 'yyyy-MM-dd');
* @param strDate(中国标准时间、时间戳等)
* @param strFormat(返回格式)
*/
var formatDateTimeStr = function (strDate, strFormat) {
if (!strDate) {
return;
}
if (!strFormat) {
strFormat = 'yyyy-MM-dd HH:mm:ss';
}
switch (typeof strDate) {
case 'string':
strDate = new Date(strDate.replace(/-/, '/'));
break;
case 'number':
strDate = new Date(strDate);
break;
}
if (strDate instanceof Date) {
var dict_1 = {
yyyy: strDate.getFullYear(),
M: strDate.getMonth() + 1,
d: strDate.getDate(),
H: strDate.getHours(),
m: strDate.getMinutes(),
s: strDate.getSeconds(),
MM: ('' + (strDate.getMonth() + 101)).substr(1),
dd: ('' + (strDate.getDate() + 100)).substr(1),
HH: ('' + (strDate.getHours() + 100)).substr(1),
mm: ('' + (strDate.getMinutes() + 100)).substr(1),
ss: ('' + (strDate.getSeconds() + 100)).substr(1),
};
return strFormat.replace(/(yyyy|MM?|dd?|HH?|mm?|ss?)/g, function () {
return dict_1[arguments[0]];
});
}
};
exports.formatDateTimeStr = formatDateTimeStr;
var formatTime = function (date) {
if (!date) {
date = new Date();
}
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
var hour = date.getHours();
var minute = date.getMinutes();
var second = date.getSeconds();
return ([year, month, day].map(formatNumber).join('-') +
' ' +
[hour, minute, second].map(formatNumber).join(':'));
};
exports.formatTime = formatTime;
var formatDateStr = function (date) {
if (!date) {
date = new Date();
}
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
// return (
// [year, month, day].map(formatNumber).join('/') +
// ' ' +
// [hour, minute, second].map(formatNumber).join(':')
// )
var datestr = [year, month, day].map(formatNumber).join('-');
console.log(datestr);
return datestr;
};
exports.formatDateStr = formatDateStr;
var formatTimeStr = function (date) {
if (!date) {
date = new Date();
}
var hour = date.getHours();
var minute = 0;
// return (
// [year, month, day].map(formatNumber).join('/') +
// ' ' +
// [hour, minute, second].map(formatNumber).join(':')
// )
var datestr = [hour, minute].map(formatNumber).join(':');
console.log(datestr);
return datestr;
};
exports.formatTimeStr = formatTimeStr;
// 数字格式化
var formatNumber = function (n) {
var s = n.toString();
return s[1] ? s : '0' + s;
};
// URL参数处理
var getQueryString = function (params) {
var paramStrings = [];
for (var key in params) {
paramStrings.push(key + '=' + params[key]);
}
return paramStrings.length > 0 ? '?' + paramStrings.join('&') : '';
};
// Base URL (注意:不要以 / 结尾)
exports.LOGIN_URL = "http://192.168.1.107:8085";
exports.BASE_URL = 'http://zydh.gexuejy.com:8088/';
//export const BASE_URL = "https://gl.tsrlsf.com:13180";
var buttonClicked = function (self) {
self.setData({
buttonClicked: true
});
setTimeout(function () {
self.setData({
buttonClicked: false
});
}, 1500);
};
exports.buttonClicked = buttonClicked;
// 发送请求
var fetch = function (option) {
return new Promise(function (resolve, reject) {
// URL 处理
var url = option.url || '';
option.url = (url.indexOf('http://') != -1 || url.indexOf('https://') != -1) ? url : exports.BASE_URL + url;
// 处理 QueryString
if (option.params) {
var queryString = getQueryString(option.params);
option.url = option.url + queryString;
}
// 请求头
var headers = option.headers || {};
var token = wx.getStorageSync('SYS_TOKEN');
// 填充 TOKEN
if (!token) {
wx.showToast({ title: '当前用户尚未登录', icon: 'none' });
reject();
}
headers['Authorization'] = "Bearer " + token;
option.header = headers; // 兼容性处理:umi request 的请求头参数是带s的(headers),小程序的是不带s的(header)
// 发起请求
wx.request(__assign(__assign({}, option), { success: function (res) {
if (res.data.code === 10010) {
wx.showToast({
title: '用户凭证过期,请重新登录',
icon: "none"
});
}
// 同时兼容回调函数和 Promise 两种写法
if (option.success) {
if (option.getReponse) {
option.success(res);
}
else {
option.success(res.data);
}
}
if (option.getReponse) {
resolve(res);
}
else {
resolve(res.data);
}
}, fail: function (err) {
// 同时兼容回调函数和 Promise 两种写法
if (option.fail) {
option.fail(err);
}
reject(err);
} }));
});
};
exports.fetch = fetch;
var genToken = function () {
var randomStr = getRandomString(20);
var nowStr = exports.formatTime();
var userid = wx.getStorageSync("WECHATID");
var token = randomStr.concat(";", nowStr, ";", userid);
var tokenEncode = encodeURIComponent(des2_js_1.encrypt(token));
return tokenEncode;
};
exports.genToken = genToken;
/**
* 随机生成字符串
* @param len 指定生成字符串长度
*/
function getRandomString(len) {
var _charStr = 'abacdefghjklmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ0123456789', min = 0, max = _charStr.length - 1, _str = ''; //定义随机字符串 变量
//判断是否指定长度,否则默认长度为15
len = len || 15;
//循环生成字符串
for (var i = 0, index; i < len; i++) {
index = (function (randomIndexFunc, i) {
return randomIndexFunc(min, max, i, randomIndexFunc);
})(function (min, max, i, _self) {
var indexTemp = Math.floor(Math.random() * (max - min + 1) + min), numStart = _charStr.length - 10;
if (i == 0 && indexTemp >= numStart) {
indexTemp = _self(min, max, i, _self);
}
return indexTemp;
}, i);
_str += _charStr[index];
}
return _str;
}
var wxLogin = function () {
wx.qy.login({
success: function (res) {
var code = res.code;
console.log("wxlogin", code);
// 发起登录请求
wx.request({
method: 'POST',
url: exports.LOGIN_URL + '/api/user/login?weChatCode=' + code,
data: { weChatCode: code },
success: function (res) {
console.log(res);
if (res && res.data && res.data.data) {
console.log(res.data.data);
wx.showToast({
title: '登录成功',
icon: 'none'
});
wx.setStorageSync('WECHATID', res.data.data);
}
else {
wx.showToast({
title: '登录失败: ' + res.msg,
icon: 'none'
});
}
},
fail: function (res) {
wx.showToast({
title: '登录失败: ' + res,
icon: 'none'
});
}
});
}
});
};
exports.wxLogin = wxLogin;