index.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. let _Http = getApp().globalData.http,
  2. DataCarousel = null;
  3. import {
  4. initWorkbench,
  5. isHistory,
  6. isRemindChangePassword
  7. } from "../../../utils/work/work";
  8. Page({
  9. data: {
  10. appid: wx.getStorageSync('appid'),
  11. bannerList: [], //banner列表
  12. gridList: [],
  13. notice: "",
  14. msgCount: 1,
  15. msgList: [], //消息列表
  16. },
  17. onLoad(options) {
  18. this.setData({ //获取胶囊位置信息
  19. capsule: wx.getMenuButtonBoundingClientRect()
  20. })
  21. this.refreshData() //更新权限等信息
  22. this.getTabBar().unReadMessageCount(); //更新信息数量
  23. isHistory();
  24. isRemindChangePassword();
  25. },
  26. /* 更新站点信息 */
  27. refreshData() {
  28. this.setData({
  29. user: wx.getStorageSync('userMsg')
  30. })
  31. if (wx.getStorageSync('userauth').length != 0) {
  32. initWorkbench(this)
  33. } else {
  34. setTimeout(this.refreshData, 10);
  35. return;
  36. }
  37. },
  38. /* 获取最新信息 */
  39. queryMessage(i = 0) {
  40. _Http.basic({
  41. "classname": "system.message.Message",
  42. "method": "queryMessage",
  43. content: {
  44. nocache: true,
  45. pageNumber: 1,
  46. pageSize: 5,
  47. pageTotal: 1,
  48. type: "",
  49. where: {}
  50. },
  51. }, false).then(res => {
  52. if (res.msg != '成功') return (i <= 5) ? this.queryMessage(i + 1) : wx.showToast({
  53. title: res.msg,
  54. icon: "none"
  55. })
  56. this.setData({
  57. msgList: res.data,
  58. notice: res.data[0]
  59. })
  60. if (this.data.msgList.length > 2) this.startDataCarousel();
  61. })
  62. },
  63. /* 开启消息轮播 */
  64. startDataCarousel() {
  65. clearInterval(DataCarousel);
  66. DataCarousel = setInterval(() => {
  67. let count = this.data.msgCount < this.data.msgList.length ? this.data.msgCount : 0;
  68. this.setData({
  69. msgCount: count + 1,
  70. notice: this.data.msgList[count]
  71. })
  72. }, 5000)
  73. },
  74. /* 去消息详情 */
  75. toMsg(e) {
  76. const {
  77. item
  78. } = e.currentTarget.dataset;
  79. wx.navigateTo({
  80. url: '/pages/tabbar/message/details?id=' + item.messageid,
  81. })
  82. },
  83. /* banner */
  84. bannerClick(e) {
  85. const {
  86. item
  87. } = e.currentTarget.dataset,
  88. hyperlink = item.hyperlink.split(":");
  89. if (hyperlink[0] == 'path') wx.navigateTo({
  90. url: hyperlink[1]
  91. })
  92. },
  93. onShow() {
  94. this.getTabBar().init();
  95. if (this.data.msgList.length > 2) this.startDataCarousel();
  96. this.queryMessage(0); //更新最新消息
  97. },
  98. onHide() {
  99. clearInterval(DataCarousel);
  100. },
  101. /* 设置页面高度 */
  102. setListHeight() {
  103. this.selectComponent("#ListBox").setHeight(".grld-title", this);
  104. }
  105. })