C端小程序
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.

174 rivejä
4.4 KiB

  1. var barcode = require("./barcode");
  2. var qrcode = require("./qrcode");
  3. const extConfig = wx.getExtConfigSync ? wx.getExtConfigSync() : {}
  4. let imgProxy = extConfig.attr.imgProxy;
  5. const formatTime = (date, fmt) => {
  6. try {
  7. if (!date) {
  8. return date;
  9. }
  10. if (typeof date == "number") {
  11. date = new Date(date);
  12. }
  13. var o = {
  14. "M+": date.getMonth() + 1, //月份
  15. "d+": date.getDate(), //日
  16. "h+": date.getHours(), //小时
  17. "m+": date.getMinutes(), //分
  18. "s+": date.getSeconds(), //秒
  19. "q+": Math.floor((date.getMonth() + 3) / 3), //季度
  20. S: date.getMilliseconds() //毫秒
  21. };
  22. if (/(y+)/.test(fmt))
  23. fmt = fmt.replace(
  24. RegExp.$1,
  25. (date.getFullYear() + "").substr(4 - RegExp.$1.length)
  26. );
  27. for (var k in o)
  28. if (new RegExp("(" + k + ")").test(fmt))
  29. fmt = fmt.replace(
  30. RegExp.$1,
  31. RegExp.$1.length == 1
  32. ? o[k]
  33. : ("00" + o[k]).substr(("" + o[k]).length)
  34. );
  35. return fmt;
  36. } catch (error) {
  37. return date;
  38. }
  39. };
  40. const formatNumber = n => {
  41. n = n.toString();
  42. return n[1] ? n : "0" + n;
  43. };
  44. function convert_length(length) {
  45. return Math.round((wx.getSystemInfoSync().windowWidth * length) / 750);
  46. }
  47. function barc(id, code, width, height) {
  48. barcode.code128(
  49. wx.createCanvasContext(id),
  50. code,
  51. convert_length(width),
  52. convert_length(height)
  53. );
  54. }
  55. function qrc(id, code, width, height) {
  56. qrcode.api.draw(code, {
  57. ctx: wx.createCanvasContext(id),
  58. width: convert_length(width),
  59. height: convert_length(height)
  60. });
  61. }
  62. function fmtDate(obj) {
  63. var date = new Date(obj);
  64. var y = 1900 + date.getYear();
  65. var m = "0" + (date.getMonth() + 1);
  66. var d = "0" + date.getDate();
  67. return (
  68. y +
  69. "-" +
  70. m.substring(m.length - 2, m.length) +
  71. "-" +
  72. d.substring(d.length - 2, d.length)
  73. );
  74. }
  75. //计算下单的时间与现在的时间的
  76. function timechuo(startTime) {
  77. var s1 = new Date(startTime.replace(/-/g, "/"));
  78. var s2 = new Date();
  79. var runTime = parseInt((s1.getTime() - s2.getTime()) / 1000);
  80. var year = Math.floor(runTime / 86400 / 365);
  81. var runTime = runTime % (86400 * 365);
  82. var month = Math.floor(runTime / 86400 / 30);
  83. var runTime = runTime % (86400 * 30);
  84. var day = Math.floor(runTime / 86400);
  85. var runTime = runTime % 86400;
  86. var hour = Math.floor(runTime / 3600);
  87. var runTime = runTime % 3600;
  88. var minute = Math.floor(runTime / 60);
  89. var runTime = runTime % 60;
  90. var second = runTime;
  91. if (day && !year && !month){
  92. return (day + '天' + hour + "小时" + minute + "分钟")
  93. } else if (month && !year){
  94. return ((month*30+day) +'天' + hour + "小时" + minute + "分钟")
  95. } else if (year) {
  96. return ((year*365 + month*30+ day) + '天' + hour + "小时" + minute + "分钟")
  97. }else{
  98. return (hour + "小时" + minute + "分钟")
  99. }
  100. }
  101. //计算时间差
  102. function timecha(endTime,startTime) {
  103. var s1 = new Date(endTime.replace(/-/g, "/"));
  104. var s2 = new Date(startTime.replace(/-/g, "/"));
  105. var runTime = parseInt((s1.getTime() - s2.getTime()) / 1000);
  106. var year = Math.floor(runTime / 86400 / 365);
  107. var runTime = runTime % (86400 * 365);
  108. var month = Math.floor(runTime / 86400 / 30);
  109. var runTime = runTime % (86400 * 30);
  110. var day = Math.floor(runTime / 86400);
  111. var runTime = runTime % 86400;
  112. var hour = Math.floor(runTime / 3600);
  113. var runTime = runTime % 3600;
  114. var minute = Math.floor(runTime / 60);
  115. var runTime = runTime % 60;
  116. var second = runTime;
  117. return (month+"月"+day+"天"+hour+"小时"+minute+"分钟")
  118. }
  119. function isJSON(str) {
  120. if (typeof str == 'string') {
  121. console.log("string")
  122. try {
  123. var obj = JSON.parse(str);
  124. if (typeof obj == 'object' && obj) {
  125. return true;
  126. } else {
  127. return false;
  128. }
  129. } catch (e) {
  130. console.log(e);
  131. wx.showToast({
  132. title: '请扫描正确的二维码',
  133. icon: 'none',
  134. duration: 1300
  135. })
  136. }
  137. } else {
  138. wx.showToast({
  139. title: '请扫描正确的二维码',
  140. icon: 'none',
  141. duration: 1300
  142. })
  143. }
  144. }
  145. function getProxyImgUrl(str) {
  146. let str1 = str;
  147. imgProxy.map(file=>{
  148. if (str.indexOf(file.orgUrl) == 0) {
  149. str1 = str.replace(file.orgUrl, file.newUrl)
  150. return
  151. }
  152. })
  153. return str1
  154. }
  155. module.exports = {
  156. formatTime: formatTime,
  157. barcode: barc,
  158. qrcode: qrc,
  159. isJSON: isJSON,
  160. fmtDate: fmtDate,
  161. timechuo: timechuo,
  162. timecha: timecha,
  163. getProxyImgUrl: getProxyImgUrl
  164. };