util.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. var api = require('../config/api.js');
  2. function formatTime(date) {
  3. var year = date.getFullYear()
  4. var month = date.getMonth() + 1
  5. var day = date.getDate()
  6. var hour = date.getHours()
  7. var minute = date.getMinutes()
  8. var second = date.getSeconds()
  9. return [year, month, day].map(formatNumber).join('-') + ' ' + [hour, minute, second].map(formatNumber).join(':')
  10. }
  11. function formatNumber(n) {
  12. n = n.toString()
  13. return n[1] ? n : '0' + n
  14. }
  15. /**
  16. * 封封微信的的request
  17. */
  18. function request(url, data = {}, method = "POST", header = "application/x-www-form-urlencoded") {
  19. if (!~url.indexOf('/api/cart/update') && !~url.indexOf('/api/cart/index')){
  20. wx.showLoading({
  21. title: '加载中...',
  22. });
  23. }
  24. return new Promise(function (resolve, reject) {
  25. wx.request({
  26. url: url,
  27. data: data,
  28. method: method,
  29. header: {
  30. 'Content-Type': header,
  31. 'X-Nideshop-Token': wx.getStorageSync('token')
  32. },
  33. success: function (res) {
  34. wx.hideLoading();
  35. if (res.statusCode == 200) {
  36. if (res.data.errno == 401 && !~url.indexOf('/api/cart/index')) {
  37. wx.setStorageSync('isLogin', false)
  38. wx.navigateTo({
  39. url: '/pages/auth/btnAuth/btnAuth',
  40. })
  41. } else {
  42. resolve(res.data);
  43. }
  44. } else {
  45. reject(res.errMsg);
  46. }
  47. },
  48. fail: function (err) {
  49. reject(err)
  50. },
  51. complete:function (res){
  52. wx.stopPullDownRefresh()
  53. wx.hideLoading();
  54. }
  55. })
  56. });
  57. }
  58. /**
  59. * 检查微信会话是否过期
  60. */
  61. function checkSession() {
  62. return new Promise(function (resolve, reject) {
  63. wx.checkSession({
  64. success: function () {
  65. resolve(true);
  66. },
  67. fail: function () {
  68. reject(false);
  69. }
  70. })
  71. });
  72. }
  73. /**
  74. * 调用微信登录
  75. */
  76. function login() {
  77. return new Promise(function (resolve, reject) {
  78. wx.login({
  79. success: function (res) {
  80. if (res.code) {
  81. resolve(res);
  82. } else {
  83. reject(res);
  84. }
  85. },
  86. fail: function (err) {
  87. reject(err);
  88. }
  89. });
  90. });
  91. }
  92. function redirect(url) {
  93. //判断页面是否需要登录
  94. if (false) {
  95. wx.redirectTo({
  96. url: '/pages/auth/login/login'
  97. });
  98. return false;
  99. } else {
  100. wx.redirectTo({
  101. url: url
  102. });
  103. }
  104. }
  105. function showErrorToast(msg) {
  106. wx.showToast({
  107. title: msg,
  108. image: '/static/images/icon_error.png'
  109. })
  110. }
  111. function showSuccessToast(msg) {
  112. wx.showToast({
  113. title: msg,
  114. })
  115. }
  116. const imgServer = 'https://4d-tjw.oss-cn-shenzhen.aliyuncs.com/wxmall/images'
  117. module.exports = {
  118. formatTime,
  119. request,
  120. redirect,
  121. showErrorToast,
  122. showSuccessToast,
  123. checkSession,
  124. login,
  125. imgServer
  126. }