util.js 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513
  1. import store from '../store/index.js'
  2. var formatTime = function(t) {
  3. var e = t.getFullYear(),
  4. a = t.getMonth() + 1,
  5. r = t.getDate(),
  6. n = t.getHours(),
  7. o = t.getMinutes(),
  8. i = t.getSeconds();
  9. return [e, a, r].map(formatNumber).join("/") + " " + [n, o, i].map(formatNumber).join(":");
  10. },
  11. formatNumber = function(t) {
  12. return (t = t.toString())[1] ? t : "0" + t;
  13. };
  14. function validTime(t, e) {
  15. var a = t.split("-"),
  16. r = e.split("-"),
  17. n = new Date(parseInt(a[0]), parseInt(a[1]) - 1, parseInt(a[2]), 0, 0, 0),
  18. o = new Date(parseInt(r[0]), parseInt(r[1]) - 1, parseInt(r[2]), 0, 0, 0);
  19. return !(n.getTime() >= o.getTime()) || (console.log("结束日期不能小于开始日期", this), !1);
  20. }
  21. function validTime1(t, e) {
  22. var a = t.split("-"),
  23. r = e.split("-"),
  24. n = new Date(parseInt(a[0]), parseInt(a[1]) - 1, parseInt(a[2]), 0, 0, 0),
  25. o = new Date(parseInt(r[0]), parseInt(r[1]) - 1, parseInt(r[2]), 0, 0, 0);
  26. return !(n.getTime() > o.getTime()) || (console.log("结束日期不能小于开始日期", this), !1);
  27. }
  28. function getRandomNum() {
  29. for (var t = "" + Math.round(1e6 * Math.random()); t.length < 6;) t = "0" + t;
  30. return console.info("randomNum is ========", t), t;
  31. }
  32. function in_array(t, e) {
  33. for (var a = 0; a < e.length; a++) {
  34. if (e[a] == t) return 1;
  35. }
  36. return 2;
  37. }
  38. function getDistance(t, e, a, r) {
  39. e = e || 0, a = a || 0, r = r || 0;
  40. var n = (t = t || 0) * Math.PI / 180,
  41. o = a * Math.PI / 180,
  42. i = n - o,
  43. s = e * Math.PI / 180 - r * Math.PI / 180;
  44. return 12756274 * Math.asin(Math.sqrt(Math.pow(Math.sin(i / 2), 2) + Math.cos(n) * Math.cos(o) * Math.pow(Math.sin(
  45. s / 2), 2)));
  46. }
  47. function getNowFormatDate() {
  48. var t = new Date(),
  49. e = t.getMonth() + 1,
  50. a = t.getDate();
  51. return 1 <= e && e <= 9 && (e = "0" + e), 0 <= a && a <= 9 && (a = "0" + a), t.getFullYear() + "/" + e + "/" + a +
  52. " " + t.getHours() + ":" + t.getMinutes() + ":" + t.getSeconds();
  53. }
  54. function xctsfm(t, e) {
  55. var a = new Date(t.replace(/-/g, "/")),
  56. r = new Date(e),
  57. n = parseInt((r.getTime() - a.getTime()) / 1e3),
  58. o = Math.floor(n / 86400 / 365);
  59. n %= 31536e3;
  60. var i = Math.floor(n / 86400 / 30);
  61. n %= 2592e3;
  62. var s = Math.floor(n / 86400);
  63. n %= 86400;
  64. var m = Math.floor(n / 3600);
  65. n %= 3600;
  66. var u = Math.floor(n / 60),
  67. g = n %= 60;
  68. console.log(o, i, s, m, u, g);
  69. var l = {};
  70. return l.day = s, l.hour = m, l.minute = u, l;
  71. }
  72. function ormatDate(t) {
  73. var e = new Date(1e3 * t);
  74. return e.getFullYear() + "-" + a(e.getMonth() + 1, 2) + "-" + a(e.getDate(), 2) + " " + a(e.getHours(), 2) + ":" +
  75. a(e.getMinutes(), 2) + ":" + a(e.getSeconds(), 2);
  76. function a(t, e) {
  77. for (var a = "" + t, r = a.length, n = "", o = e; o-- > r;) n += "0";
  78. return n + a;
  79. }
  80. }
  81. //打开对应模块属性项
  82. function c(arr, index) {
  83. arr.forEach((res, i) => {
  84. if (index == i) {
  85. res.o = true;
  86. } else {
  87. res.o = false;
  88. }
  89. })
  90. }
  91. // 图片路径
  92. function icon(img) {
  93. return require('@/static/' + img);
  94. }
  95. //列表-打开对应模块属性项
  96. function openAttr(arr, index) {
  97. console.log("this", arr)
  98. let that = this;
  99. arr.forEach((res, i) => {
  100. if (index == i && res.link.g) {
  101. // console.log("res.link", res.link)
  102. if (res.link.n == 'openVideo') {
  103. // #ifdef MP-WEIXIN
  104. if (res.link.id && res.link.feedId) {
  105. wx.openChannelsActivity({
  106. finderUserName: res.link.id,
  107. feedId: res.link.feedId,
  108. success: () => {
  109. console.log("打开成功")
  110. }
  111. })
  112. }else {
  113. wx.openChannelsUserProfile({
  114. finderUserName: res.link.id,
  115. success: () => {
  116. console.log("打开成功")
  117. }
  118. })
  119. }
  120. // #endif
  121. // #ifdef MP-ALIPAY
  122. uni.showToast({
  123. title: "支付宝不支持喔!",
  124. icon: "none"
  125. })
  126. // #endif
  127. } else if (res.link.n == 'openVideoRood') {
  128. // #ifdef MP-WEIXIN
  129. uni.navigateTo({
  130. url: 'plugin-private://wx2b03c6e691cd7370/pages/live-player-plugin?room_id=' + res.link.id
  131. })
  132. // #endif
  133. // #ifdef MP-ALIPAY
  134. uni.showToast({
  135. title: "支付宝不支持喔!",
  136. icon: "none"
  137. })
  138. // #endif
  139. } else if (res.link.p == '积分商品') {
  140. uni.navigateTo({
  141. url: res.link.n + '?id=' + res.link.i
  142. })
  143. } else if (res.link.p == '跳转小程序') {
  144. // #ifdef MP-WEIXIN
  145. var appid = res.link.w;
  146. // #endif
  147. // #ifdef MP-ALIPAY
  148. var appid = res.link.a;
  149. // #endif
  150. var userInfo = store.state.userInfo;
  151. var mobile = userInfo.mobile,path='',
  152. type = userInfo.mobile ? 1 : 2;
  153. if('wx394da23b82f9863a' == appid){
  154. path =`${res.link.s}?mobile=${mobile}&type=${type}`; //跳转智豆商圈
  155. }else{
  156. path = res.link.s;
  157. }
  158. uni.navigateToMiniProgram({
  159. appId: appid,
  160. path: path,
  161. success(res) {
  162. // 打开成功
  163. }
  164. })
  165. } else if (res.link.p == "商品分类") {
  166. // console.log(res.link.id,"id")
  167. store.commit('SET_CATE_ID', res.link.id || '')
  168. uni.switchTab({
  169. url: "../../pages/index/index"
  170. })
  171. } else if (res.link.p == "文章详情") {
  172. // console.log(res.link.id,"id")
  173. uni.navigateTo({
  174. url: `/shop/richText/index?id=${res.link.id}`
  175. })
  176. }
  177. else if (res.link.m == '自定义链接' && res.link.t == 4) {
  178. uni.setStorageSync("web", res.link.n)
  179. uni.navigateTo({
  180. url: "/pages/web/web"
  181. })
  182. } else {
  183. console.log("openAttr", res.link.p)
  184. if (res.link.p == '堂食下单') {
  185. store.commit('SET_TEEN_INDEX', 1)
  186. uni.switchTab({
  187. url: res.link.n
  188. })
  189. } else if (res.link.p == '外卖下单') {
  190. store.commit('SET_TEEN_INDEX', 2)
  191. uni.switchTab({
  192. url: res.link.n
  193. })
  194. } else if (res.link.p == '自提下单') {
  195. let systemInfo = store.state.systemInfo;
  196. if (systemInfo.pay_type == 2 && systemInfo.is_ziti == 1) {
  197. uni.showToast({
  198. icon: "none",
  199. title: '餐后付款不能自提!'
  200. })
  201. return
  202. }
  203. store.commit('SET_TEEN_INDEX', 3)
  204. // console.log(store.state.systemInfo)
  205. uni.switchTab({
  206. url: res.link.n
  207. })
  208. } else if (res.link.p == '订单中心') {
  209. store.commit('SET_TABACTIVE', 1)
  210. uni.switchTab({
  211. url: res.link.n
  212. })
  213. } else if (res.link.p == '个人中心') {
  214. uni.switchTab({
  215. url: res.link.n
  216. })
  217. } else {
  218. uni.navigateTo({
  219. url: res.link.n
  220. })
  221. }
  222. }
  223. }
  224. })
  225. }
  226. // 单图-打开对应模板
  227. function openOnly(link) {
  228. // console.log(link)
  229. if (link.g) {
  230. console.log("link", link)
  231. if (link.n == 'openVideo') {
  232. // #ifdef MP-WEIXIN
  233. if (link.id && link.feedId) {
  234. wx.openChannelsActivity({
  235. finderUserName: link.id,
  236. feedId: link.feedId,
  237. success: () => {
  238. console.log("打开成功")
  239. }
  240. })
  241. } else {
  242. wx.openChannelsUserProfile({
  243. finderUserName: link.id,
  244. success: () => {
  245. console.log("打开成功")
  246. }
  247. })
  248. }
  249. // #endif
  250. // #ifdef MP-ALIPAY
  251. uni.showToast({
  252. title: "支付宝不支持喔!",
  253. icon: "none"
  254. })
  255. // #endif
  256. }else if (link.n == 'openVideoRood') {
  257. // #ifdef MP-WEIXIN
  258. uni.navigateTo({
  259. url: 'plugin-private://wx2b03c6e691cd7370/pages/live-player-plugin?room_id=' + link.id
  260. })
  261. // #endif
  262. // #ifdef MP-ALIPAY
  263. uni.showToast({
  264. title: "支付宝不支持喔!",
  265. icon: "none"
  266. })
  267. // #endif
  268. } else if (link.p == '积分商品') {
  269. uni.navigateTo({
  270. url: link.n + '?id=' + link.i
  271. })
  272. } else if (link.p == "商品分类") {
  273. // console.log(res.link.id,"id")
  274. store.commit('SET_CATE_ID', link.id || '')
  275. uni.switchTab({
  276. url: "../../pages/index/index"
  277. })
  278. }
  279. else if (link.p == "文章详情") {
  280. uni.navigateTo({
  281. url: `/shop/richText/index?id=${link.id}`
  282. })
  283. }
  284. else if (link.p == '跳转小程序') {
  285. // #ifdef MP-WEIXIN
  286. var appid = link.w;
  287. // #endif
  288. // #ifdef MP-ALIPAY
  289. var appid = link.a;
  290. // #endif
  291. var userInfo = store.state.userInfo;
  292. var mobile = userInfo.mobile,path='',
  293. type = userInfo.mobile ? 1 : 2;
  294. if('wx394da23b82f9863a' == appid){
  295. path =`${link.s}?mobile=${mobile}&type=${type}`; //跳转智豆商圈
  296. }else{
  297. path = link.s;
  298. }
  299. uni.navigateToMiniProgram({
  300. appId: appid,
  301. path:path ,
  302. success(res) {
  303. // 打开成功
  304. }
  305. })
  306. } else if (link.m == '自定义链接' && link.t == 4) {
  307. uni.setStorageSync("web", link.n)
  308. uni.navigateTo({
  309. url: "/pages/web/web"
  310. })
  311. } else {
  312. // console.log("openAttr",link.p)
  313. if (link.p == '堂食下单') {
  314. store.commit('SET_TEEN_INDEX', 1)
  315. uni.switchTab({
  316. url: link.n
  317. })
  318. } else if (link.p == '外卖下单') {
  319. store.commit('SET_TEEN_INDEX', 2)
  320. uni.switchTab({
  321. url: link.n
  322. })
  323. } else if (link.p == '自提下单') {
  324. let systemInfo = store.state.systemInfo;
  325. if (systemInfo.pay_type == 2 && systemInfo.is_ziti == 1) {
  326. uni.showToast({
  327. icon: "none",
  328. title: '餐后付款不能自提!'
  329. })
  330. return
  331. }
  332. store.commit('SET_TEEN_INDEX', 3)
  333. // console.log(store.state.systemInfo)
  334. uni.switchTab({
  335. url: link.n
  336. })
  337. } else if (link.p == '订单中心') {
  338. store.commit('SET_TABACTIVE', 1)
  339. uni.switchTab({
  340. url: link.n
  341. })
  342. } else if (link.p == '个人中心') {
  343. uni.switchTab({
  344. url: link.n
  345. })
  346. } else {
  347. uni.navigateTo({
  348. url: link.n
  349. })
  350. }
  351. }
  352. }
  353. }
  354. function openGoods(arr, index) {
  355. arr.forEach((res, i) => {
  356. if (index == i) {
  357. // 跳转商品默认堂食
  358. store.commit('SET_TEEN_INDEX', 1)
  359. uni.navigateTo({
  360. url: "/menber/goods_detail?id=" + res.cm.id
  361. })
  362. }
  363. })
  364. }
  365. function openMsGoods(arr, index) {
  366. arr.forEach((res, i) => {
  367. if (index == i) {
  368. console.log(res)
  369. uni.navigateTo({
  370. url: "/miaosha/detail?id=" + res.id
  371. })
  372. }
  373. })
  374. }
  375. function openYyGoods(arr, index) {
  376. arr.forEach((res, i) => {
  377. if (index == i) {
  378. console.log(res)
  379. uni.navigateTo({
  380. url: "/subscribe/shopDetail?id=" + res.id
  381. })
  382. }
  383. })
  384. }
  385. function openPtGoods(arr, index) {
  386. arr.forEach((res, i) => {
  387. if (index == i) {
  388. console.log(res)
  389. uni.navigateTo({
  390. url: "/pintuan/detail?goods_id="+res.id+"&collage_id="+ res.collage_id
  391. })
  392. }
  393. })
  394. }
  395. function time_range(beginTimes, endTimes, nowTime) { //判断是否在缴费查询时间
  396. let beginTime = beginTimes + ':00',
  397. endTime = endTimes + ':00';
  398. var strb = beginTime.split(":");
  399. if (strb.length != 3) {
  400. return false;
  401. }
  402. var stre = endTime.split(":");
  403. if (stre.length != 3) {
  404. return false;
  405. }
  406. var strn = nowTime.split(":");
  407. if (stre.length != 3) {
  408. return false;
  409. }
  410. var b = new Date();
  411. var e = new Date();
  412. var n = new Date();
  413. b.setHours(strb[0]);
  414. b.setMinutes(strb[1]);
  415. b.setSeconds(strb[2]);
  416. e.setHours(stre[0]);
  417. e.setMinutes(stre[1]);
  418. e.setSeconds(stre[2]);
  419. n.setHours(strn[0]);
  420. n.setMinutes(strn[1]);
  421. n.setSeconds(strn[2]);
  422. if (n.getTime() - b.getTime() > 0 && n.getTime() - e.getTime() < 0) {
  423. console.log("当前时间是:" + n.getHours() + ":" + n.getMinutes() + ":" + n.getSeconds() + ",在该时间范围内!");
  424. return true;
  425. } else {
  426. console.log("当前时间是:" + n.getHours() + ":" + n.getMinutes() + ":" + n.getSeconds() + ",不在该时间范围内!");
  427. return false;
  428. }
  429. }
  430. function setTimeList(e) {
  431. function t(e) {
  432. return e <= 0 && (e = 0), e < 10 ? "0" + e : e
  433. }
  434. var o = "00",
  435. n = "00",
  436. a = "00",
  437. i = 0,
  438. r = "",
  439. s = "",
  440. c = "";
  441. if (86400 <= e && (i = parseInt(e / 86400), e %= 86400, r += i + "天", s += i + "天", c += i + "天"), e < 86400) {
  442. var p = parseInt(e / 3600);
  443. e %= 3600, r += (a = t(p)) + "小时", s += a + ":", c = 0 < i || 0 < p ? c + a + ":" : ""
  444. }
  445. return e < 3600 && (n = t(parseInt(e / 60)), e %= 60, r += n + "分", s += n + ":", c += n + ":"), e < 60 && (r += (o = t(e)) + "秒", s += o, c += o), {
  446. d: i,
  447. h: a,
  448. m: n,
  449. s: o,
  450. content: r,
  451. content_1: s,
  452. content_ms: c
  453. }
  454. }
  455. module.exports = {
  456. time_range,
  457. icon: icon,
  458. formatTime: formatTime,
  459. getRandomNum: getRandomNum,
  460. in_array: in_array,
  461. getDistance: getDistance,
  462. validTime: validTime,
  463. validTime1: validTime1,
  464. getNowFormatDate: getNowFormatDate,
  465. xctsfm: xctsfm,
  466. ormatDate: ormatDate,
  467. openAttr: openAttr,
  468. openOnly: openOnly,
  469. openGoods: openGoods,
  470. setTimeList,
  471. openMsGoods,
  472. openPtGoods,
  473. openYyGoods,
  474. };