tool.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. var tool = {}
  2. import { login,httpGet,httpPost,server } from "http.js"
  3. // 设置页面标题
  4. tool.pageTitle = title => {
  5. wx.setNavigationBarTitle({
  6. title: title,
  7. })
  8. }
  9. // 时间戳转换
  10. tool.timeToString = o => {
  11. var keep = '';
  12. var date = new Date(o.date);
  13. var y = date.getFullYear();
  14. var m = date.getMonth() + 1;
  15. m = m < 10 ? '0' + m : m;
  16. var d = date.getDate() < 10 ? '0' + date.getDate() : date.getDate();
  17. var h = date.getHours() < 10 ? '0' + date.getHours() : date.getHours();
  18. var f = date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes();
  19. var s = date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds();
  20. var rand = Math.round(Math.random() * 899 + 100);
  21. switch (o.type) {
  22. case "full":
  23. keep = y + '' + m + '' + d + ' ' + h + ':' + f + ':' + s;
  24. break;
  25. case "datetime":
  26. keep = y + '' + m + '' + d + ' ' + h + ':' + f;
  27. break;
  28. case "date":
  29. keep = y + '' + m + '' + d;
  30. break;
  31. case "date-":
  32. keep = y + '-' + m + '-' + d;
  33. break;
  34. case "date/":
  35. keep = y + '/' + m + '/' + d;
  36. break;
  37. case "datetext":
  38. keep = y + '年' + m + '月' + d + '日';
  39. break;
  40. case "fulltime":
  41. keep = h + ':' + f + ':' + s;
  42. break;
  43. case "time":
  44. keep = h + ':' + f;
  45. break;
  46. default:
  47. keep = y + '' + m + '' + d + ' ' + h + ':' + f + ':' + s;
  48. }
  49. return keep;
  50. }
  51. // 倒计时显示时间
  52. tool.showTime = o => {
  53. let time = o.time;
  54. let type = o.type ? o.type : "full"
  55. let days = Math.floor(time / (24 * 3600 * 1000))
  56. days = days < 10 ? '0' + days : days;
  57. //计算出小时数
  58. let leave1 = time % (24 * 3600 * 1000) //计算天数后剩余的毫秒数
  59. let hours = Math.floor(leave1 / (3600 * 1000))
  60. hours = hours < 10 ? '0' + hours : hours;
  61. //计算相差分钟数
  62. let leave2 = leave1 % (3600 * 1000) //计算小时数后剩余的毫秒数
  63. let minutes = Math.floor(leave2 / (60 * 1000))
  64. minutes = minutes < 10 ? '0' + minutes : minutes;
  65. //计算相差秒数
  66. let leave3 = leave2 % (60 * 1000) //计算分钟数后剩余的毫秒数
  67. let seconds = Math.round(leave3 / 1000)
  68. seconds = seconds < 10 ? '0' + seconds : seconds;
  69. let time_str = "";
  70. switch (type) {
  71. case "full":
  72. time_str = days + "天 " + hours + "小时 " + minutes + " 分钟" + seconds + " 秒"
  73. break;
  74. case "::":
  75. time_str = hours + ":" + minutes + ":" + seconds
  76. break;
  77. case ":":
  78. time_str = hours + ":" + minutes
  79. break;
  80. }
  81. return time_str
  82. }
  83. // 检验手机号
  84. tool.valiType = (type, value) => {
  85. let reg = {
  86. phone: /^(((13[0-9]{1})|(14[0-9]{1})|(17[0]{1})|(15[0-3]{1})|(15[5-9]{1})|(18[0-9]{1}))+\d{8})$/, //手机号
  87. digit: /(^[1-9]\d*(\.\d{1,2})?$)|(^0(\.\d{1,2})?$)/,
  88. int: /^[1-9]\d*$/,
  89. };
  90. if (reg[type].test(value)) {
  91. return true
  92. } else {
  93. return false
  94. }
  95. }
  96. // 提交formid存储到服务器
  97. tool.formSubmit = e => {
  98. let formid = e.detail.formId;
  99. http.post({
  100. url: "api/user/insert/pushId",
  101. param: {
  102. push_id: formid,
  103. type: 1
  104. },
  105. hideLoading: true
  106. })
  107. }
  108. // 跳转
  109. tool.linkTo = e => {
  110. let openType = e.currentTarget.dataset.open_type;
  111. let url = e.currentTarget.dataset.url;
  112. if (openType == "navigate") {
  113. wx.navigateTo({
  114. url: url,
  115. })
  116. } else if (openType == "switchTab") {
  117. wx.switchTab({
  118. url: url,
  119. })
  120. } else if (openType == "redirect") {
  121. wx.redirectTo({
  122. url: url,
  123. })
  124. }
  125. }
  126. //提示信息
  127. tool.alert = str => {
  128. wx.showToast({
  129. title: str,
  130. icon: 'none',
  131. duration: 2000
  132. })
  133. }
  134. module.exports = tool
  135. // export default tool