utils.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. Date.prototype.Format = function (fmt) { // author: meizz
  2. var o = {
  3. "M+": this.getMonth() + 1, // 月份
  4. "d+": this.getDate(), // 日
  5. "h+": this.getHours(), // 小时
  6. "m+": this.getMinutes(), // 分
  7. "s+": this.getSeconds(), // 秒
  8. "q+": Math.floor(( this.getMonth() + 3) / 3), // 季度
  9. "S": this.getMilliseconds() // 毫秒
  10. };
  11. if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, ( this.getFullYear() + "").substr(4 - RegExp.$1.length));
  12. for ( var k in o)
  13. if ( new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
  14. return fmt;
  15. }
  16. export function bindInput(event) {
  17. var obj = {},
  18. key = event.target.dataset['key'];
  19. obj[key] = event.detail.value;
  20. console.log(obj)
  21. this.setData(obj);
  22. }
  23. export function randomWord(randomFlag, min, max) {
  24. let str = "";
  25. let range = min;
  26. let arr = [
  27. "0",
  28. "1",
  29. "2",
  30. "3",
  31. "4",
  32. "5",
  33. "6",
  34. "7",
  35. "8",
  36. "9",
  37. "a",
  38. "b",
  39. "c",
  40. "d",
  41. "e",
  42. "f",
  43. "g",
  44. "h",
  45. "i",
  46. "j",
  47. "k",
  48. "l",
  49. "m",
  50. "n",
  51. "o",
  52. "p",
  53. "q",
  54. "r",
  55. "s",
  56. "t",
  57. "u",
  58. "v",
  59. "w",
  60. "x",
  61. "y",
  62. "z",
  63. "A",
  64. "B",
  65. "C",
  66. "D",
  67. "E",
  68. "F",
  69. "G",
  70. "H",
  71. "I",
  72. "J",
  73. "K",
  74. "L",
  75. "M",
  76. "N",
  77. "O",
  78. "P",
  79. "Q",
  80. "R",
  81. "S",
  82. "T",
  83. "U",
  84. "V",
  85. "W",
  86. "X",
  87. "Y",
  88. "Z",
  89. ];
  90. // 随机产生
  91. if (randomFlag) {
  92. range = Math.round(Math.random() * (max - min)) + min;
  93. }
  94. for (var i = 0; i < range; i++) {
  95. let pos = Math.round(Math.random() * (arr.length - 1));
  96. str += arr[pos];
  97. }
  98. return str;
  99. }
  100. export function autoSubcrebe() {
  101. return new Promise(resolve => {
  102. wx.getSetting({
  103. withSubscriptions: true,
  104. success: (setting) => {
  105. let hasAuto = false
  106. if (setting && setting.subscriptionsSetting && setting.subscriptionsSetting.itemSettings && setting.subscriptionsSetting.itemSettings[subId]) {
  107. subcribe()
  108. hasAuto = true
  109. }
  110. resolve(hasAuto)
  111. }
  112. })
  113. })
  114. }
  115. export function isDef(value) {
  116. return value !== undefined && value !== null;
  117. }
  118. export function isObj(x) {
  119. const type = typeof x;
  120. return x !== null && (type === 'object' || type === 'function');
  121. }
  122. export function isNumber(value) {
  123. return /^\d+(\.\d+)?$/.test(value);
  124. }
  125. export function range(num, min, max) {
  126. return Math.min(Math.max(num, min), max);
  127. }
  128. export function nextTick(fn) {
  129. setTimeout(() => {
  130. fn();
  131. }, 1000 / 30);
  132. }
  133. let systemInfo = null;
  134. export function getSystemInfoSync() {
  135. if (systemInfo == null) {
  136. systemInfo = wx.getSystemInfoSync();
  137. }
  138. return systemInfo;
  139. }
  140. export function addUnit(value) {
  141. if (!isDef(value)) {
  142. return undefined;
  143. }
  144. value = String(value);
  145. return isNumber(value) ? `${value}px` : value;
  146. }