index.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. const crypto = require('crypto');
  2. const moment = require('moment');
  3. const utils = {
  4. md5(key) {
  5. const hash = crypto.createHash('md5');
  6. return hash.update(key).digest('hex').toUpperCase();
  7. },
  8. dateFormat(date) {
  9. return moment(date).format('YYYY-MM-DD HH:mm:ss');
  10. },
  11. async fill(data, func) {
  12. if (!data) {
  13. return;
  14. }
  15. if (Array.isArray(data)) {
  16. data = await Promise.all(
  17. data.map(async item => {
  18. return func(item);
  19. })
  20. );
  21. } else {
  22. data = await func(data);
  23. }
  24. return data;
  25. },
  26. createTradeNo() {
  27. return moment().format('YYYYMMDDHHmmssS') + Math.floor(Math.random() * 1000);
  28. },
  29. setCookie(obj) {
  30. const { res, key, value, domain, expires = 2592e5 } = obj;
  31. try {
  32. return res.cookie(key, value, {
  33. domain,
  34. path: '/',
  35. expires: new Date(Date.now() + expires),
  36. httpOnly: false,
  37. });
  38. } catch (error) {
  39. console.error('写入cookie错误', error);
  40. }
  41. },
  42. clearCookie(res, key, domain = process.env.DEMAIN) {
  43. try {
  44. return res.clearCookie(key, {
  45. domain,
  46. path: '/',
  47. httpOnly: false,
  48. });
  49. } catch (error) {
  50. console.error('删除cookie错误', error);
  51. }
  52. },
  53. onSuccess(data, msg) {
  54. return {
  55. code: 0,
  56. data,
  57. msg,
  58. };
  59. },
  60. onError(msg, data) {
  61. return {
  62. code: utils[msg] || -1,
  63. msg,
  64. data,
  65. };
  66. },
  67. MESSAGE: {
  68. 没有权限: 1,
  69. },
  70. };
  71. module.exports = utils;