util.js 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. import request from '@/common/request'
  2. function getAgreement() {
  3. return new Promise(function(resolve, reject) {
  4. request.post("/api/v1/common/configList").then(res => {
  5. if (res.status == 0) {
  6. resolve(res)
  7. }
  8. }).catch(err => {
  9. reject(err)
  10. })
  11. })
  12. }
  13. function ViewImage(imgList, e) {
  14. uni.previewImage({
  15. urls: imgList,
  16. current: e.currentTarget.dataset.url
  17. });
  18. }
  19. function formatDate(t) {
  20. t = t || Date.now();
  21. let time = new Date(t);
  22. let str = time.getMonth() < 9 ? ((time.getMonth() + 1)) : (time.getMonth() + 1);
  23. str += '月-';
  24. str += time.getDate() < 10 ? (time.getDate()) : time.getDate() + "日";
  25. // str += ' ';
  26. // str += time.getHours();
  27. // str += ':';
  28. // str += time.getMinutes() < 10 ? ('0' + time.getMinutes()) : time.getMinutes();
  29. return str;
  30. }
  31. function formatTime(time) {
  32. if (typeof time !== 'number' || time < 0) {
  33. return time
  34. }
  35. var hour = parseInt(time / 3600)
  36. time = time % 3600
  37. var minute = parseInt(time / 60)
  38. time = time % 60
  39. var second = time
  40. return ([hour, minute, second]).map(function(n) {
  41. n = n.toString()
  42. return n[1] ? n : '0' + n
  43. }).join(':')
  44. }
  45. // 判断是否为手机号
  46. function isPhoneNumber(pone) {
  47. var myreg = /^[1][3,4,5,6,7,8,9][0-9]{9}$/;
  48. if (!myreg.test(pone)) {
  49. return false;
  50. } else {
  51. return true;
  52. }
  53. }
  54. //密码判断
  55. function isPassword(p) {
  56. var myreg = /^[a-zA-Z0-9]{6,12}$/;
  57. if (!myreg.test(p)) {
  58. return false;
  59. } else {
  60. return true;
  61. }
  62. }
  63. //判断验证码
  64. function isCaptcha(p) {
  65. var myreg = /^[0-9A-Za-z]{4,12}$/;
  66. if (!myreg.test(p)) {
  67. return false;
  68. } else {
  69. return true;
  70. }
  71. }
  72. function isEmail(p) {
  73. var myreg = /\w[-\w.+]*@([A-Za-z0-9][-A-Za-z0-9]+\.)+[A-Za-z]{2,14}/
  74. if (!myreg.test(p)) {
  75. return false
  76. } else {
  77. return true
  78. }
  79. }
  80. function isNum(val) {
  81. if (val == "" || val == null) {
  82. return false
  83. }
  84. if (!isNaN(val)) {
  85. return true
  86. } else {
  87. return false
  88. }
  89. }
  90. //判断用户名
  91. function isUserName(p) {
  92. var myreg = /^[a-zA-Z0-9]{1,20}$/;
  93. if (!myreg.test(p)) {
  94. return false;
  95. } else {
  96. return true;
  97. }
  98. }
  99. //判断身份证
  100. function isIdCard(value) {
  101. let myReg = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
  102. if (!myReg.test(value)) {
  103. return false;
  104. } else {
  105. return true;
  106. }
  107. }
  108. const isEmpty = function(a) {
  109. return typeof(a) == 'undefined' || a == null || a == '' || a == 'undefined';
  110. }
  111. function formatLocation(longitude, latitude) {
  112. if (typeof longitude === 'string' && typeof latitude === 'string') {
  113. longitude = parseFloat(longitude)
  114. latitude = parseFloat(latitude)
  115. }
  116. longitude = longitude.toFixed(2)
  117. latitude = latitude.toFixed(2)
  118. return {
  119. longitude: longitude.toString().split('.'),
  120. latitude: latitude.toString().split('.')
  121. }
  122. }
  123. var dateUtils = {
  124. UNITS: {
  125. '年': 31557600000,
  126. '月': 2629800000,
  127. '天': 86400000,
  128. '小时': 3600000,
  129. '分钟': 60000,
  130. '秒': 1000
  131. },
  132. humanize: function(milliseconds, date) {
  133. var humanize = '';
  134. var _format = function(number) {
  135. return (number < 10 ? ('0' + number) : number);
  136. };
  137. for (var key in this.UNITS) {
  138. if (milliseconds >= this.UNITS[key]) {
  139. switch (key) {
  140. case '小时':
  141. humanize = _format(date.getHours()) + ':' + _format(date.getMinutes());
  142. break;
  143. default:
  144. humanize = Math.floor(milliseconds / this.UNITS[key]) + key + '前';
  145. break;
  146. }
  147. break;
  148. }
  149. }
  150. return humanize || '刚刚';
  151. },
  152. format: function(dateStr) {
  153. var date = this.parse(dateStr)
  154. var diff = Date.now() - date.getTime();
  155. if (diff < this.UNITS['天']) {
  156. return this.humanize(diff, date);
  157. }
  158. var _format = function(number) {
  159. return (number < 10 ? ('0' + number) : number);
  160. };
  161. return date.getFullYear() + '-' + _format(date.getMonth() + 1) + '-' + _format(date.getDate()) + '-' +
  162. _format(date.getHours()) + ':' + _format(date.getMinutes());
  163. },
  164. formatHms: function(dateStr) {
  165. var date = this.parse(dateStr)
  166. var _format = function(number) {
  167. return (number < 10 ? ('0' + number) : number);
  168. };
  169. return _format(date.getHours()) + ':' + _format(date.getMinutes());
  170. },
  171. formatYMD: function(dateStr) {
  172. var date = this.parse(dateStr)
  173. var _format = function(number) {
  174. return (number < 10 ? ('0' + number) : number);
  175. };
  176. return date.getFullYear() + '-' + _format(date.getMonth() + 1) + '-' + _format(date.getDate());
  177. },
  178. parse: function(str) { //将"yyyy-mm-dd HH:MM:ss"格式的字符串,转化为一个Date对象
  179. if (!str) {
  180. return new Date();
  181. }
  182. var a = str.split(/[^0-9]/);
  183. return new Date(a[0], a[1] - 1, a[2], a[3], a[4], a[5]);
  184. },
  185. /**************************************时间格式化处理************************************/
  186. dateFtt(fmt, date) { //author: meizz
  187. var o = {
  188. "M+": date.getMonth() + 1, //月份
  189. "d+": date.getDate(), //日
  190. "H+": date.getHours(), //小时
  191. "m+": date.getMinutes(), //分
  192. "s+": date.getSeconds(), //秒
  193. "q+": Math.floor((date.getMonth() + 3) / 3), //季度
  194. "S": date.getMilliseconds() //毫秒
  195. };
  196. if (/(y+)/.test(fmt))
  197. fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
  198. for (var k in o)
  199. if (new RegExp("(" + k + ")").test(fmt))
  200. fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
  201. return fmt;
  202. },
  203. };
  204. module.exports = {
  205. formatTime: formatTime,
  206. isPhoneNumber: isPhoneNumber,
  207. isUserName: isUserName,
  208. isPassword: isPassword,
  209. isCaptcha: isCaptcha,
  210. formatLocation: formatLocation,
  211. dateUtils: dateUtils,
  212. isEmpty: isEmpty,
  213. isIdCard: isIdCard,
  214. ViewImage: ViewImage,
  215. isEmail: isEmail,
  216. isNum: isNum,
  217. formatDate: formatDate,
  218. getAgreement: getAgreement
  219. }