id.js 582 B

123456789101112131415161718192021
  1. /**
  2. * ID 生成工具
  3. */
  4. const { nanoid } = require('nanoid');
  5. /** 生成支付单 ID,形如 pay_xxxxxxxx */
  6. function paymentId() {
  7. return `pay_${nanoid(8)}`;
  8. }
  9. /** 生成商户订单号(外部交易号),形如 20260806_xxxxxxxx */
  10. function outTradeNo() {
  11. const d = new Date();
  12. const pad = (n) => String(n).padStart(2, '0');
  13. const stamp =
  14. `${d.getFullYear()}${pad(d.getMonth() + 1)}${pad(d.getDate())}` +
  15. `${pad(d.getHours())}${pad(d.getMinutes())}${pad(d.getSeconds())}`;
  16. return `${stamp}_${nanoid(6)}`;
  17. }
  18. module.exports = { paymentId, outTradeNo };