release.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. const {fetchGraphql} = require('../../../utils/util.js');
  2. const {serverbyprops} = require('../../../config/gql.js');
  3. Component({
  4. properties: {
  5. refresh: {
  6. type: Number,
  7. observer(newVal) {
  8. if (newVal !== '' && Date.now() - newVal < 1000) {
  9. this.noUseStorge(() => {
  10. this.setData({
  11. serverID: ''
  12. });
  13. wx.stopPullDownRefresh({
  14. complete: function () {
  15. wx.showToast({
  16. title: '已刷新',
  17. icon: 'success',
  18. duration: 800
  19. });
  20. }
  21. });
  22. });
  23. }
  24. }
  25. }
  26. },
  27. data: {
  28. servers: '',
  29. serverID: '',
  30. },
  31. methods: {
  32. useStorge(func) {
  33. const servers = wx.getStorageSync('servers');
  34. if (servers) {
  35. this.setData({
  36. servers,
  37. loading: false
  38. });
  39. if(func) func();
  40. } else {
  41. fetchGraphql(serverbyprops, {}, 'servers', 'serverbyprops', this).then(servers => {
  42. wx.setStorage({
  43. key: 'servers',
  44. data: servers
  45. });
  46. this.setData({
  47. loading: false
  48. });
  49. if(func) func();
  50. })
  51. }
  52. },
  53. noUseStorge(func) {
  54. fetchGraphql(serverbyprops, {}, 'servers', 'serverbyprops', this).then(servers => {
  55. this.setData({
  56. loading: false
  57. });
  58. if(func) func();
  59. })
  60. },
  61. selectServer(e) {
  62. if(e.target.id === this.data.serverID) {
  63. wx.startPullDownRefresh();
  64. } else {
  65. this.setData({
  66. serverID: e.target.id
  67. });
  68. }
  69. wx.showLoading({
  70. title: '获取服务中',
  71. })
  72. },
  73. addServer() {
  74. this.setData({
  75. serverID: 'add'
  76. })
  77. }
  78. },
  79. lifetimes: {
  80. attached() {
  81. this.noUseStorge()
  82. }
  83. }
  84. });