util.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. const idGen = (kind) => {
  2. return kind + '_' + Date.now() + '_' + Math.random().toString().slice(-8);
  3. };
  4. const graphqlURL = 'https://orderfcdb.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. resolve(data);
  30. }
  31. })
  32. })
  33. };
  34. const dateTime = (data, format) => {
  35. if (format) {
  36. let date = new Date(data);
  37. return {
  38. date: date.getFullYear() + '-' + (date.getMonth() < 10 ? '0' + (date.getMonth()+1) : (date.getMonth()+1)) + '-' + (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()),
  39. time: (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) +':'+ (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes())
  40. }
  41. } else {
  42. return new Date((data.date + ' ' + data.time + ':00').replace(/-/g, '/')).getTime();
  43. }
  44. };
  45. module.exports = {
  46. idGen: idGen,
  47. fetchGraphql: fetchGraphql,
  48. dateTime: dateTime
  49. };