home.js 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. // pages/home/home.js
  2. const app = getApp();
  3. const { login } = require('./../../utils/api.js');
  4. const { selectIndex, eventOn } = require('./../../custom-tab-bar/tabbar.js');
  5. Page({
  6. /**
  7. * 页面的初始数据
  8. */
  9. data: {
  10. navBarHeight: app.globalData.navBarHeight,
  11. MenuButtonheight: app.globalData.MenuButtonheight,
  12. MenuButtonTop: app.globalData.MenuButtonTop,
  13. rightId: wx.getStorageSync('rightId') || 0,
  14. nvabarData: {
  15. nvabarData: {
  16. showCapsule: 1, //是否显示左上角图标 1表示显示 0表示不显示
  17. title: 'Oh Play', //导航栏 中间的标题
  18. callback() {
  19. wx.navigateBack({
  20. delta: 1,
  21. })
  22. }
  23. },
  24. isNotruter: false,
  25. },
  26. deviceList: [],
  27. bannerList: ["https://img1.baidu.com/it/u=2003442481,2528062378&fm=253&fmt=auto&app=138&f=JPG?w=499&h=182", "https://hbimg.huabanimg.com/0ff93215a6d8d1c5f80117fdbfa24936dbd9097026ad99-CNduY8_fw658", "https://img.zcool.cn/community/0177ed5f365bdaa801215aa0a0c1c3.jpg@1280w_1l_2o_100sh.jpg"],
  28. selectIndex: 0,
  29. isLoginWx: true,
  30. },
  31. changeRole() {
  32. app.changeUserRight()
  33. },
  34. // 删除设备
  35. deleteDeviceTap: function () {
  36. },
  37. // 设备详情页
  38. devieDetailPageTap: function () {
  39. },
  40. deviceItemTap: function () {
  41. this.setData({
  42. // selectIndex = index
  43. });
  44. },
  45. changeDeviceTap: function () {
  46. },
  47. login() {
  48. var _this = this;
  49. wx.login({
  50. success: res => {
  51. let phone = undefined;
  52. try {
  53. var value = wx.getStorageSync('userInfo')
  54. if (value) {
  55. phone = value.phone || undefined;
  56. };
  57. } catch (e) {
  58. // Do something when catch error
  59. };
  60. // 请求登录
  61. login({ code: res.code, phone }).then((res) => {
  62. app.globalData.userInfo = res;
  63. wx.setStorage({
  64. key: "userInfo",
  65. data: res
  66. });
  67. // 需要用授权登录
  68. if ((res.isNewUser && res.isNewUser === true) || !phone) {
  69. _this.setData({
  70. isLoginWx: true,
  71. });
  72. return;
  73. };
  74. // 获取设备本地数据
  75. this.getDeviceData();
  76. _this.setData({
  77. isLoginWx: false,
  78. });
  79. wx.setStorage({
  80. key: "token",
  81. data: JSON.stringify({
  82. id: res.userId,
  83. token: res.accessToken,
  84. }),
  85. });
  86. });
  87. },
  88. })
  89. },
  90. /**
  91. * 生命周期函数--监听页面加载
  92. */
  93. onLoad(options) {
  94. var _this = this;
  95. eventOn(_this);
  96. // 版本自动更新代码
  97. const updateManager = wx.getUpdateManager();
  98. updateManager.onUpdateReady(function () {
  99. _this.setData({
  100. newVersion: true
  101. });
  102. })
  103. updateManager.onUpdateFailed(function () {
  104. // 新的版本下载失败
  105. wx.showModal({
  106. title: '已有新版本咯',
  107. content: '请您删除当前小程序,重新打开呦~',
  108. showCancel: false
  109. })
  110. })
  111. wx.showLoading({
  112. title: '加载中',
  113. });
  114. // 登录
  115. _this.login();
  116. },
  117. /**
  118. * 生命周期函数--监听页面初次渲染完成
  119. */
  120. onReady() {
  121. },
  122. /**
  123. * 生命周期函数--监听页面显示
  124. */
  125. onShow(options) {
  126. selectIndex(0);
  127. if (this.data.isLoginWx) {
  128. var key = 'home_device_list' + wx.getUserInfo().userId;
  129. var saveStr = wx.getStorageSync(key) || "[]";
  130. var devList = JSON.parse(saveStr);
  131. // console.log("获取设备1:"+saveStr);
  132. this.setData({
  133. deviceList: devList
  134. });
  135. }
  136. },
  137. addDeviceTap() {
  138. wx.navigateTo({
  139. url: './../bluConnect/bleconnect',
  140. events: {
  141. getBackData: res => {
  142. var key = 'home_device_list' + wx.getUserInfo().userId;
  143. var saveStr = wx.getStorageSync(key) || "[]";
  144. var backData = res["backData"];
  145. var oldList = JSON.parse(saveStr);
  146. var findElement;
  147. for (let index = 0; index < oldList.length; index++) {
  148. const element = oldList[index];
  149. if (element.address == backData.address) {
  150. findElement = element;
  151. break;
  152. }
  153. }
  154. // console.log("获取设备:"+JSON.stringify(backData));
  155. if (findElement) {
  156. oldList.pop(findElement);
  157. }
  158. oldList.push(backData);
  159. wx.setStorageSync(key, JSON.stringify(oldList));
  160. this.setData({ deviceList: oldList });
  161. }
  162. }
  163. });
  164. },
  165. /**
  166. * 生命周期函数--监听页面隐藏
  167. */
  168. onHide() {
  169. },
  170. /**
  171. * 生命周期函数--监听页面卸载
  172. */
  173. onUnload() {
  174. },
  175. /**
  176. * 页面相关事件处理函数--监听用户下拉动作
  177. */
  178. onPullDownRefresh() {
  179. },
  180. /**
  181. * 页面上拉触底事件的处理函数
  182. */
  183. onReachBottom() {
  184. },
  185. /**
  186. * 用户点击右上角分享
  187. */
  188. onShareAppMessage() {
  189. }
  190. })