util.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. const idGen = (kind) => {
  2. return kind + '_' + Date.now() + '_' + Math.random().toString().slice(-8);
  3. };
  4. const graphqlURL = 'https://order.szu.im/graphql';
  5. const fetchGraphql = (query, variables, dataName, dataBack, that) => {
  6. // 如果给了 databack,则返回对应的数据,没有则返回全部
  7. // 如果给了 dataName,则 setData
  8. return new Promise((resolve, reject) => {
  9. let _this = that;
  10. wx.request({
  11. url: graphqlURL,
  12. method: 'POST',
  13. data: JSON.stringify({
  14. query,
  15. variables
  16. }),
  17. success: function (res) {
  18. let data;
  19. if (dataBack) {
  20. data = res.data.data[dataBack];
  21. } else {
  22. data = res.data.data;
  23. }
  24. if (dataName) {
  25. _this.setData({
  26. [dataName]: data
  27. })
  28. }
  29. console.log('request success', res);
  30. resolve(data);
  31. },
  32. fail: function (err) {
  33. console.log('request err', err)
  34. }
  35. })
  36. })
  37. };
  38. const dateTime = (data, format) => {
  39. if (format) {
  40. let date = new Date(data);
  41. return {
  42. date: date.getFullYear() + '-' + (date.getMonth() < 10 ? '0' + (date.getMonth()+1) : (date.getMonth()+1)) + '-' + (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()),
  43. time: (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) +':'+ (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes())
  44. }
  45. } else {
  46. return new Date((data.date + ' ' + data.time + ':00').replace(/-/g, '/')).getTime();
  47. }
  48. };
  49. module.exports = {
  50. idGen: idGen,
  51. fetchGraphql: fetchGraphql,
  52. dateTime: dateTime
  53. };