index.js 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. const _Http = getApp().globalData.http;
  2. Component({
  3. lifetimes: {},
  4. data: {
  5. active: 'home',
  6. Permission: ['首页', '信息', '我的'], //可看模块
  7. tabbarList: [{
  8. icon: 'icon-a-biaoqianlanshouyexuanzhong',
  9. acicon: 'icon-a-biaoqianlanshouyexuanzhong',
  10. text: '首页',
  11. url: '/pages/tabbar/home/index',
  12. name: 'home'
  13. },
  14. {
  15. icon: 'icon-a-biaoqianlanxiaoxi',
  16. acicon: 'icon-a-biaoqianlanxiaoxixuanzhong',
  17. text: '信息',
  18. url: '/pages/tabbar/message/index',
  19. name: 'message'
  20. },
  21. {
  22. icon: 'icon-a-biaoqianlanwode',
  23. acicon: 'icon-a-biaoqianlanwodexuanzhong',
  24. text: '我的',
  25. url: '/pages/tabbar/mine/index',
  26. name: 'mine'
  27. }
  28. ]
  29. },
  30. methods: {
  31. onChange(event) {
  32. let active = event.detail,
  33. obj = this.data.tabbarList.find(v => v.name == active);
  34. wx.switchTab({
  35. url: obj.url
  36. });
  37. this.setData({
  38. active
  39. });
  40. },
  41. init() {
  42. const page = getCurrentPages().pop();
  43. let obj = this.data.tabbarList.find(item => item.url === `/${page.route}`);
  44. this.setData({
  45. active: obj.name
  46. });
  47. //socket
  48. if (!getApp().globalData.socketEstablish) getApp().initSocket();
  49. if (!getApp().globalData.socketCallback) getApp().globalData.socketCallback = this.unReadMessageCount.bind(this);
  50. this.setUnReadMessageCount(getApp().globalData.fcount);
  51. getApp().globalData.Language.getLanguagePackage(this, obj.text);
  52. },
  53. /* 设置未读数量 */
  54. setUnReadMessageCount(fcount) {
  55. let i = this.data.tabbarList.findIndex(v => v.name == 'message');
  56. this.setData({
  57. [`tabbarList[${i}].fcount`]: fcount
  58. })
  59. },
  60. /* 更新信息数量 */
  61. unReadMessageCount() {
  62. _Http.basic({
  63. "classname": "system.message.Message",
  64. "method": "unReadMessageCount",
  65. "content": {
  66. nocache: true
  67. }
  68. }, false).then(res => {
  69. console.log('信息数量', res)
  70. if (res.code != '1') return;
  71. let fcount = res.data.fcount > 99 ? '99+' : res.data.fcount;
  72. if (res.data.fcount == 0) fcount = "";
  73. getApp().globalData.fcount = fcount;
  74. this.setUnReadMessageCount(fcount);
  75. })
  76. }
  77. },
  78. })