C端小程序
No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.

util.js 6.0 KiB

hace 2 años
hace 6 años
hace 6 años
hace 6 años
hace 6 años
hace 6 años
hace 6 años
hace 6 años
hace 6 años
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. var barcode = require("./barcode");
  2. var qrcode = require("./qrcode");
  3. const extConfig = wx.getExtConfigSync ? wx.getExtConfigSync() : {}
  4. let imgProxy = extConfig.attr.imgProxy;
  5. function convertUTCTimeToLocalTime(UTCDateString) {
  6. if (!UTCDateString) {
  7. return '-';
  8. }
  9. function formatFunc(str) { //格式化显示
  10. return str > 9 ? str : '0' + str
  11. }
  12. var date2 = new Date(UTCDateString); //这步是关键
  13. var year = date2.getFullYear();
  14. var mon = formatFunc(date2.getMonth() + 1);
  15. var day = formatFunc(date2.getDate());
  16. var hour = date2.getHours();
  17. var noon = hour >= 12 ? 'PM' : 'AM';
  18. hour = hour >= 24 ? hour - 24 : hour;
  19. hour = formatFunc(hour);
  20. var min = formatFunc(date2.getMinutes());
  21. var dateStr = ' ' + hour + ':' + min ;
  22. return dateStr;
  23. }
  24. // function fmtDate(date) {
  25. // var dateee = new Date(date).toJSON();
  26. // return new Date(+new Date(dateee) + 8 * 3600 * 1000).toISOString().replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '');
  27. // }
  28. function toHHmmss(date) {//传入时间戳获取时分秒
  29. var time;
  30. var d = Math.floor(date / 1000 / 60 / 60 / 24)
  31. var hours = Math.floor(((date / 1000 / 60 / 60) % 24) + 24 * d)
  32. var minutes = Math.floor((date / 1000 / 60) % 60)
  33. var seconds = Math.floor((date / 1000) % 60)
  34. if (date<=0){
  35. time = "00:00:00"
  36. }else{
  37. time = (hours < 10 ? ('0' + hours) : hours) + ':' + (minutes < 10 ? ('0' + minutes) : minutes) + ':' + (seconds < 10 ? ('0' + seconds) : seconds);
  38. }
  39. return time;
  40. }
  41. const formatTime = (date, fmt) => {
  42. try {
  43. if (!date) {
  44. return date;
  45. }
  46. if (typeof date === 'string' && date.length === 13) {
  47. date = Number(date);
  48. }
  49. if (typeof date == "number") {
  50. date = new Date(date);
  51. }
  52. var o = {
  53. "M+": date.getMonth() + 1, //月份
  54. "d+": date.getDate(), //日
  55. "h+": date.getHours(), //小时
  56. "m+": date.getMinutes(), //分
  57. "s+": date.getSeconds(), //秒
  58. "q+": Math.floor((date.getMonth() + 3) / 3), //季度
  59. S: date.getMilliseconds() //毫秒
  60. };
  61. if (/(y+)/.test(fmt))
  62. fmt = fmt.replace(
  63. RegExp.$1,
  64. (date.getFullYear() + "").substr(4 - RegExp.$1.length)
  65. );
  66. for (var k in o)
  67. if (new RegExp("(" + k + ")").test(fmt))
  68. fmt = fmt.replace(
  69. RegExp.$1,
  70. RegExp.$1.length == 1
  71. ? o[k]
  72. : ("00" + o[k]).substr(("" + o[k]).length)
  73. );
  74. return fmt;
  75. } catch (error) {
  76. return date;
  77. }
  78. };
  79. const formatNumber = n => {
  80. n = n.toString();
  81. return n[1] ? n : "0" + n;
  82. };
  83. function convert_length(length) {
  84. return Math.round((wx.getSystemInfoSync().windowWidth * length) / 750);
  85. }
  86. function barc(id, code, width, height) {
  87. barcode.code128(
  88. wx.createCanvasContext(id),
  89. code,
  90. convert_length(width),
  91. convert_length(height)
  92. );
  93. }
  94. function qrc(id, code, width, height) {
  95. qrcode.api.draw(code, {
  96. ctx: wx.createCanvasContext(id),
  97. width: convert_length(width),
  98. height: convert_length(height)
  99. });
  100. }
  101. function fmtDate(obj) {
  102. if (typeof obj === 'string' && obj.length === 13) {
  103. obj = Number(obj);
  104. }
  105. var date = new Date(obj);
  106. var y = 1900 + date.getYear();
  107. var m = "0" + (date.getMonth() + 1);
  108. var d = "0" + date.getDate();
  109. return (
  110. y +
  111. "-" +
  112. m.substring(m.length - 2, m.length) +
  113. "-" +
  114. d.substring(d.length - 2, d.length)
  115. );
  116. }
  117. //计算下单的时间与现在的时间的
  118. function timechuo(startTime) {
  119. var s1 = new Date(startTime.replace(/-/g, "/"));
  120. var s2 = new Date();
  121. var runTime = parseInt((s1.getTime() - s2.getTime()) / 1000);
  122. var year = Math.floor(runTime / 86400 / 365);
  123. var runTime = runTime % (86400 * 365);
  124. var month = Math.floor(runTime / 86400 / 30);
  125. var runTime = runTime % (86400 * 30);
  126. var day = Math.floor(runTime / 86400);
  127. var runTime = runTime % 86400;
  128. var hour = Math.floor(runTime / 3600);
  129. var runTime = runTime % 3600;
  130. var minute = Math.floor(runTime / 60);
  131. var runTime = runTime % 60;
  132. var second = runTime;
  133. if (day && !year && !month){
  134. return (day + '天' + hour + "小时" + minute + "分钟")
  135. } else if (month && !year){
  136. return ((month*30+day) +'天' + hour + "小时" + minute + "分钟")
  137. } else if (year) {
  138. return ((year*365 + month*30+ day) + '天' + hour + "小时" + minute + "分钟")
  139. }else{
  140. return (hour + "小时" + minute + "分钟")
  141. }
  142. }
  143. //计算时间差
  144. function timecha(endTime,startTime) {
  145. var s1 = new Date(endTime.replace(/-/g, "/"));
  146. var s2 = new Date(startTime.replace(/-/g, "/"));
  147. var runTime = parseInt((s1.getTime() - s2.getTime()) / 1000);
  148. var year = Math.floor(runTime / 86400 / 365);
  149. var runTime = runTime % (86400 * 365);
  150. var month = Math.floor(runTime / 86400 / 30);
  151. var runTime = runTime % (86400 * 30);
  152. var day = Math.floor(runTime / 86400);
  153. var runTime = runTime % 86400;
  154. var hour = Math.floor(runTime / 3600);
  155. var runTime = runTime % 3600;
  156. var minute = Math.floor(runTime / 60);
  157. var runTime = runTime % 60;
  158. var second = runTime;
  159. return (month+"月"+day+"天"+hour+"小时"+minute+"分钟")
  160. }
  161. function isJSON(str) {
  162. if (typeof str == 'string') {
  163. console.log("string")
  164. try {
  165. var obj = JSON.parse(str);
  166. if (typeof obj == 'object' && obj) {
  167. return true;
  168. } else {
  169. return false;
  170. }
  171. } catch (e) {
  172. console.log(e);
  173. wx.showToast({
  174. title: '请扫描正确的二维码',
  175. icon: 'none',
  176. duration: 1300
  177. })
  178. }
  179. } else {
  180. wx.showToast({
  181. title: '请扫描正确的二维码',
  182. icon: 'none',
  183. duration: 1300
  184. })
  185. }
  186. }
  187. function getProxyImgUrl(str) {
  188. let str1 = str;
  189. imgProxy.map(file=>{
  190. if (str.indexOf(file.orgUrl) == 0) {
  191. str1 = str.replace(file.orgUrl, file.newUrl)
  192. return
  193. }
  194. })
  195. return str1
  196. }
  197. module.exports = {
  198. toHHmmss: toHHmmss,
  199. formatTime: formatTime,
  200. barcode: barc,
  201. qrcode: qrc,
  202. isJSON: isJSON,
  203. fmtDate: fmtDate,
  204. timechuo: timechuo,
  205. timecha: timecha,
  206. getProxyImgUrl: getProxyImgUrl,
  207. convertUTCTimeToLocalTime: convertUTCTimeToLocalTime
  208. };