抖音c端
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

268 wiersze
8.0 KiB

  1. var barcode = require("./barcode");
  2. var qrcode = require("./qrcode");
  3. const extConfig = tt.getExtConfigSync ? tt.getExtConfigSync() : {}
  4. function convertUTCTimeToLocalTime(UTCDateString) {
  5. if (!UTCDateString) {
  6. return '-';
  7. }
  8. function formatFunc(str) { //格式化显示
  9. return str > 9 ? str : '0' + str
  10. }
  11. var date2 = new Date(UTCDateString); //这步是关键
  12. var year = date2.getFullYear();
  13. var mon = formatFunc(date2.getMonth() + 1);
  14. var day = formatFunc(date2.getDate());
  15. var hour = date2.getHours();
  16. var noon = hour >= 12 ? 'PM' : 'AM';
  17. hour = hour >= 24 ? hour - 24 : hour;
  18. hour = formatFunc(hour);
  19. var min = formatFunc(date2.getMinutes());
  20. var dateStr = ' ' + hour + ':' + min;
  21. return dateStr;
  22. }
  23. // function fmtDate(date) {
  24. // var dateee = new Date(date).toJSON();
  25. // return new Date(+new Date(dateee) + 8 * 3600 * 1000).toISOString().replace(/T/g, ' ').replace(/\.[\d]{3}Z/, '');
  26. // }
  27. function moodsText(Num) { //人气值处理 Num人气值 返回字符串 处理到万位
  28. let sing = ""
  29. if (Num > 10000) {
  30. sing = (Num / 10000).toFixed(2) + "w"
  31. } else {
  32. sing = Num
  33. }
  34. return sing
  35. }
  36. const formatTime = (date, fmt) => {
  37. try {
  38. if (!date) {
  39. return date;
  40. }
  41. if (typeof date === 'string' && date.length === 13) {
  42. date = Number(date);
  43. }
  44. if (typeof date == "number") {
  45. date = new Date(date);
  46. }
  47. var o = {
  48. "M+": date.getMonth() + 1, //月份
  49. "d+": date.getDate(), //日
  50. "h+": date.getHours(), //小时
  51. "m+": date.getMinutes(), //分
  52. "s+": date.getSeconds(), //秒
  53. "q+": Math.floor((date.getMonth() + 3) / 3), //季度
  54. S: date.getMilliseconds() //毫秒
  55. };
  56. if (/(y+)/.test(fmt))
  57. fmt = fmt.replace(
  58. RegExp.$1,
  59. (date.getFullYear() + "").substr(4 - RegExp.$1.length)
  60. );
  61. for (var k in o)
  62. if (new RegExp("(" + k + ")").test(fmt))
  63. fmt = fmt.replace(
  64. RegExp.$1,
  65. RegExp.$1.length == 1 ?
  66. o[k] :
  67. ("00" + o[k]).substr(("" + o[k]).length)
  68. );
  69. return fmt;
  70. } catch (error) {
  71. return date;
  72. }
  73. };
  74. const formatNumber = n => {
  75. n = n.toString();
  76. return n[1] ? n : "0" + n;
  77. };
  78. function convert_length(length) {
  79. return Math.round((tt.getSystemInfoSync().windowWidth * length) / 750);
  80. }
  81. function barc(id, code, width, height) {
  82. barcode.code128(
  83. tt.createCanvasContext(id),
  84. code,
  85. convert_length(width),
  86. convert_length(height)
  87. );
  88. }
  89. function qrc(id, code, width, height) {
  90. qrcode.api.draw(code, {
  91. ctx: tt.createCanvasContext(id),
  92. width: convert_length(width),
  93. height: convert_length(height)
  94. });
  95. }
  96. function fmtDate(obj) {
  97. if (typeof obj === 'string' && obj.length === 13) {
  98. obj = Number(obj);
  99. }
  100. var date = new Date(obj);
  101. var y = 1900 + date.getYear();
  102. var m = "0" + (date.getMonth() + 1);
  103. var d = "0" + date.getDate();
  104. return (
  105. y +
  106. "-" +
  107. m.substring(m.length - 2, m.length) +
  108. "-" +
  109. d.substring(d.length - 2, d.length)
  110. );
  111. }
  112. /**
  113. * @description 根据时间戳获取时间
  114. * @param {*} timestamp 必传,number类型,时间戳数据(10位及以下,10位至13位);若不传,则返回:“无时间戳”
  115. * @param {*} format 选传,string类型,提供以下时间格式:YYYY-MM-DD hh:mm:ss、YYYY/MM/DD hh:mm:ss、YYYY.MM.DD hh:mm:ss、YYYY MM DD hh:mm:ss、YYYY年MM月DD日 hh:mm:ss、YYYY-MM-DD、YYYY/MM/DD、YYYY.MM.DD、YYYY MM DD、YYYY年MM月DD日、hh:mm:ss、hh:mm;若不传,则默认为:YYYY-MM-DD
  116. * @returns 根据要求的时间格式
  117. * @version V 1.0, Created by YWQ, 2022.10.20
  118. */
  119. function timestampToTime(timestamp, format) {
  120. if (!timestamp) return false
  121. //时间戳为10位需*1000,时间戳为13位不需乘1000
  122. const length = timestamp ? timestamp.length : ''
  123. if (length <= 10) {
  124. var date = new Date(timestamp * 1000)
  125. } else {
  126. var date = new Date(timestamp)
  127. }
  128. let Y = String(date.getFullYear())
  129. let M = String(date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1)
  130. let D = String(date.getDate() + 1 < 10 ? '0' + (date.getDate()) : date.getDate())
  131. let h = String(date.getHours() + 1 < 10 ? '0' + (date.getHours()) : date.getHours())
  132. let m = String(date.getMinutes() + 1 < 10 ? '0' + (date.getMinutes()) : date.getMinutes())
  133. let s = String(date.getSeconds() + 1 < 10 ? '0' + (date.getSeconds()) : date.getSeconds())
  134. // return Y + M + D + h + m + s
  135. if (format == "YYYY-MM-DD hh:mm:ss") {
  136. return Y + "-" + M + "-" + D + " " + h + ":" + m + ":" + s
  137. } else if (format == "YYYY-MM-DD hh:mm") {
  138. return Y + "-" + M + "-" + D + " " + h + ":" + m
  139. } else if (format == "YYYY/MM/DD hh:mm:ss") {
  140. return Y + "/" + M + "/" + D + " " + h + ":" + m + ":" + s
  141. } else if (format == "YYYY.MM.DD hh:mm:ss") {
  142. return Y + "." + M + "." + D + " " + h + ":" + m + ":" + s
  143. } else if (format == "YYYY MM DD hh:mm:ss") {
  144. return Y + " " + M + " " + D + " " + h + ":" + m + ":" + s
  145. } else if (format == "YYYY年MM月DD日 hh:mm:ss") {
  146. return Y + "年" + M + "月" + D + "日" + " " + h + ":" + m + ":" + s
  147. } else if (format == "YYYY-MM-DD") {
  148. return Y + "-" + M + "-" + D
  149. } else if (format == "YYYY/MM/DD") {
  150. return Y + "/" + M + "/" + D
  151. } else if (format == "YYYY.MM.DD") {
  152. return Y + "." + M + "." + D
  153. } else if (format == "YYYY MM DD") {
  154. return Y + " " + M + " " + D
  155. } else if (format == "YYYY年MM月DD日") {
  156. return Y + "年" + M + "月" + D + "日"
  157. } else if (format == "hh:mm:ss") {
  158. return h + ":" + m + ":" + s
  159. } else if (format == "hh:mm") {
  160. return h + ":" + m
  161. } else {
  162. return Y + "-" + M + "-" + D
  163. }
  164. }
  165. //计算下单的时间与现在的时间的
  166. function timechuo(startTime) {
  167. var s1 = new Date(startTime.replace(/-/g, "/"));
  168. var s2 = new Date();
  169. var runTime = parseInt((s1.getTime() - s2.getTime()) / 1000);
  170. var year = Math.floor(runTime / 86400 / 365);
  171. var runTime = runTime % (86400 * 365);
  172. var month = Math.floor(runTime / 86400 / 30);
  173. var runTime = runTime % (86400 * 30);
  174. var day = Math.floor(runTime / 86400);
  175. var runTime = runTime % 86400;
  176. var hour = Math.floor(runTime / 3600);
  177. var runTime = runTime % 3600;
  178. var minute = Math.floor(runTime / 60);
  179. var runTime = runTime % 60;
  180. var second = runTime;
  181. if (day && !year && !month) {
  182. return (day + '天' + hour + "小时" + minute + "分钟")
  183. } else if (month && !year) {
  184. return ((month * 30 + day) + '天' + hour + "小时" + minute + "分钟")
  185. } else if (year) {
  186. return ((year * 365 + month * 30 + day) + '天' + hour + "小时" + minute + "分钟")
  187. } else {
  188. return (hour + "小时" + minute + "分钟")
  189. }
  190. }
  191. //计算时间差
  192. function timecha(endTime, startTime) {
  193. var s1 = new Date(endTime.replace(/-/g, "/"));
  194. var s2 = new Date(startTime.replace(/-/g, "/"));
  195. var runTime = parseInt((s1.getTime() - s2.getTime()) / 1000);
  196. var year = Math.floor(runTime / 86400 / 365);
  197. var runTime = runTime % (86400 * 365);
  198. var month = Math.floor(runTime / 86400 / 30);
  199. var runTime = runTime % (86400 * 30);
  200. var day = Math.floor(runTime / 86400);
  201. var runTime = runTime % 86400;
  202. var hour = Math.floor(runTime / 3600);
  203. var runTime = runTime % 3600;
  204. var minute = Math.floor(runTime / 60);
  205. var runTime = runTime % 60;
  206. var second = runTime;
  207. return (month + "月" + day + "天" + hour + "小时" + minute + "分钟")
  208. }
  209. function isJSON(str) {
  210. if (typeof str == 'string') {
  211. console.log("string")
  212. try {
  213. var obj = JSON.parse(str);
  214. if (typeof obj == 'object' && obj) {
  215. return true;
  216. } else {
  217. return false;
  218. }
  219. } catch (e) {
  220. console.log(e);
  221. tt.showToast({
  222. title: '请扫描正确的二维码',
  223. icon: 'none',
  224. duration: 1300
  225. })
  226. }
  227. } else {
  228. tt.showToast({
  229. title: '请扫描正确的二维码',
  230. icon: 'none',
  231. duration: 1300
  232. })
  233. }
  234. }
  235. module.exports = {
  236. formatTime: formatTime,
  237. barcode: barc,
  238. qrcode: qrc,
  239. isJSON: isJSON,
  240. fmtDate: fmtDate,
  241. timechuo: timechuo,
  242. timecha: timecha,
  243. moodsText: moodsText,
  244. convertUTCTimeToLocalTime: convertUTCTimeToLocalTime,
  245. timestampToTime: timestampToTime
  246. };