app.js 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. // app.js
  2. import api from "./utils/api";
  3. const homeApi_empower = "https://aipush.aidsleep.cn";
  4. App({
  5. onLaunch() {
  6. // 在需要隐藏 tabBar 的页面的脚本中调用
  7. wx.hideTabBar({
  8. animation: false, // 是否需要动画效果,默认为 false
  9. success: function () {
  10. console.log('TabBar 已经被隐藏');
  11. },
  12. fail: function (err) {
  13. console.error('隐藏 TabBar 失败', err);
  14. }
  15. });
  16. this.globalData.SystemInfo = wx.getDeviceInfo()
  17. this.data.system = this.globalData.SystemInfo.platform;
  18. // 登录
  19. wx.login({
  20. success: res => {
  21. // 发送 res.code 到后台换取 openId, sessionKey, unionId
  22. wx.request({
  23. url: `${homeApi_empower}/wxssk`,
  24. method: 'POST',
  25. data: {
  26. code: res.code,
  27. },
  28. success: function (loginRes) {
  29. // 处理服务器返回的结果
  30. // console.log('登录获取结果:', loginRes.data);
  31. if (loginRes.data) {
  32. wx.setStorageSync("openid", loginRes.data.openid);
  33. wx.setStorageSync("token", loginRes.data.token);
  34. wx.setStorageSync("unionid", loginRes.data.unionid);
  35. // 判断扫码控制权限
  36. wx.request({
  37. url: `${homeApi_empower}/wxstatus`,
  38. data: {
  39. unionid: wx.getStorageSync('unionid'),
  40. openid: wx.getStorageSync('openid'),
  41. token: wx.getStorageSync('token'),
  42. },
  43. method: 'POST',
  44. success: function (intervalRes) {
  45. console.log('intervalRes=' + JSON.stringify(intervalRes));
  46. console.log('intervalRes.data=' + JSON.stringify(intervalRes.data));
  47. //empower.js? [sm]:152 intervalRes.data={"st":"success","status":"0"}
  48. if (intervalRes.data && intervalRes.data.st && intervalRes.data.status && intervalRes.data.st == 'success' && intervalRes.data.status == '1') {
  49. wx.setStorageSync('hasHotelAuth', true);
  50. wx.setStorageSync('hotelEmpower', intervalRes.data.hotel);
  51. wx.setStorageSync('roomEmpower', intervalRes.data.room);
  52. wx.setStorageSync('hname', intervalRes.data.hname);
  53. wx.setStorageSync('rname', intervalRes.data.rname);
  54. } else {
  55. wx.setStorageSync('hasHotelAuth', false);
  56. }
  57. },
  58. fail: function (error) {
  59. }
  60. });
  61. // 判断今日睡眠报告权限
  62. wx.request({
  63. url: 'https://aipush.aidsleep.cn/srpwithrange',
  64. method: 'POST',
  65. data: {
  66. token: "89835e65993fee4a6a6cbbe4c271da51e5521822934e13769e61cadabaed72c3" || wx.getStorageSync('token'),
  67. udi: wx.getStorageSync('unionid'),
  68. pg: 1,
  69. lm: 1
  70. },
  71. success: (res) => {
  72. var loadData = res.data.data;
  73. if ((Array.isArray(loadData) && loadData.length > 0) || (loadData && !Array.isArray(loadData)) ) {
  74. wx.setStorageSync('hasReportAuth', true);
  75. } else {
  76. wx.setStorageSync('hasReportAuth', false);
  77. }
  78. },
  79. fail: () => {
  80. wx.setStorageSync('hasReportAuth', false);
  81. }
  82. });
  83. api.isManager({
  84. params: {},
  85. headers: { unionid: wx.getStorageSync("unionid")},
  86. })
  87. .then(data =>{
  88. if (data.code === 1) {
  89. wx.setStorageSync('isManager', data.data);
  90. }else{
  91. wx.setStorageSync('isManager', null);
  92. }
  93. })
  94. .catch(err => console.error('IsManager Error:', err));
  95. }
  96. }
  97. })
  98. }
  99. })
  100. },
  101. onShow() {
  102. wx.hideTabBar()
  103. },
  104. onHide: function () {
  105. wx.setStorageSync('userName', '');
  106. wx.setStorageSync('isLogin', false);
  107. wx.setStorageSync('deviceList', []);
  108. wx.setStorageSync('doDevices', []);
  109. },
  110. buf2hex: function (buffer) {
  111. return Array.prototype.map.call(new Uint8Array(buffer), x => ('00' + x.toString(16)).slice(-2)).join('')
  112. },
  113. buf2string: function (buffer) {
  114. var arr = Array.prototype.map.call(new Uint8Array(buffer), x => x)
  115. var str = ''
  116. for (var i = 0; i < arr.length; i++) {
  117. str += String.fromCharCode(arr[i])
  118. }
  119. return str
  120. },
  121. data: {
  122. service_uuid: "0000FFF0-0000-1000-8000-00805F9B34FB",
  123. characteristic_write_uuid: "0000FFF1-0000-1000-8000-00805F9B34FB",
  124. characteristic_read_uuid: "0000FFF2-0000-1000-8000-00805F9B34FB",
  125. name: "LZ-OTA",
  126. md5Key: "",
  127. system: 'ios',
  128. userName: "",
  129. isLogin: false
  130. },
  131. globalData: {
  132. userInfo: null,
  133. selectedTabIndex: 0
  134. }
  135. })