home.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383
  1. var app = getApp();
  2. var util = require('../../utils/util.js');
  3. var md5 = require('../../utils/md5.js');
  4. var crc16 = require('../../utils/crc16.js')
  5. var datagram = require('../../utils/datagramHelp');
  6. const datagramHelp = require('../../utils/datagramHelp');
  7. Page({
  8. /**
  9. * 页面的初始数据
  10. */
  11. data: {
  12. openid: null,
  13. wxCode: null,
  14. timeoutID: null,
  15. hiddenLogin: true,
  16. hiddenIndex: true,
  17. user: '',
  18. password: '',
  19. blockColors: ["#B0CC99", "#677E52", "#B7CA79", "#89725B", "#354242", "#ACEBAE", "#C9DE55", "#7D9100", "#10222B", "#95AB63", "#BDD684", "#36362C", "#5D917D", "#A8AD80", "#E6D4A7", "#825534", "#588C7E", "#F2AE72", "#D96459", "#8C4646", "#D6655A", "#DC9C76", "#D6CCAD", "#74A588", "#42282F", "#302B1D", "#3F522B", "#737D26", "#A99E46", "#D9CB84", "#AF7575", "#3D9CA8"],
  20. rtuBlockColor: "#4a4266",
  21. projectBlockColor: "#ffa400",
  22. blueboothBlockColor: "#75664d",
  23. projectImplementionBlockColor: "#75664d",
  24. checkBlockColor: "#AF7575",
  25. mapNavBlockColor: "#D96459",
  26. helpBlockColor: "#ae7000",
  27. rtuBlockTouchStyle: "1",
  28. projectBlockTouchStyle: "1",
  29. blueboothBlockTouchStyle: "1",
  30. projectImplementionBlockTouchStyle: "1",
  31. checkReportBlockTouchStyle: "1",
  32. mapNavBlockTouchStyle: "1",
  33. helpBlockTouchStyle: "1",
  34. hiddenFooter: false,
  35. rememberLoginInfoChecked: false
  36. },
  37. onLoad: function (options) {
  38. // load
  39. var that = this;
  40. var tmpColors = []
  41. var colorCount = 0;
  42. var s = 1;
  43. var e = this.data.blockColors.length;
  44. while (true) {
  45. if (colorCount >= 7) {
  46. break;
  47. }
  48. var num = Math.floor(Math.random() * (s - e) + e) - 1;
  49. if (colorCount == 0) {
  50. tmpColors[colorCount] = num;
  51. colorCount += 1;
  52. } else {
  53. if (num != tmpColors[colorCount - 1]) {
  54. tmpColors[colorCount] = num;
  55. colorCount += 1;
  56. }
  57. }
  58. }
  59. wx.setNavigationBarColor({
  60. frontColor: '#000000',
  61. backgroundColor: '#ffffff',
  62. })
  63. this.setData({
  64. rtuBlockColor: this.data.blockColors[tmpColors[0]],
  65. projectBlockColor: this.data.blockColors[tmpColors[1]],
  66. blueboothBlockColor: this.data.blockColors[tmpColors[2]],
  67. projectImplementionBlockColor: this.data.blockColors[tmpColors[3]],
  68. checkBlockColor: this.data.blockColors[tmpColors[4]],
  69. mapNavBlockColor: this.data.blockColors[tmpColors[5]],
  70. helpBlockColor: this.data.blockColors[tmpColors[6]]
  71. })
  72. //帐号密码
  73. const loginId = wx.getStorageSync('user_login_id');
  74. const pw = wx.getStorageSync('user_login_pw');
  75. if (loginId != null && loginId.length > 0 && pw != null && pw.length > 0) {
  76. this.setData({
  77. user: loginId,
  78. password: pw,
  79. rememberLoginInfoChecked: true
  80. })
  81. }
  82. wx.checkSession({
  83. success: function () {
  84. console.debug("already login");
  85. try {
  86. var openid = wx.getStorageSync('openid');
  87. if (openid == null || openid == undefined || openid == "") {
  88. that.setData({
  89. hiddenLogin: false,
  90. hiddenIndex: true,
  91. hiddenFooter: true
  92. })
  93. // wx.removeStorageSync("user_token");
  94. wx.removeStorageSync("openid");
  95. that.loginToWx();
  96. } else {
  97. that.setData({
  98. hiddenLogin: true,
  99. hiddenIndex: false,
  100. hiddenFooter: false
  101. })
  102. }
  103. } catch (e) {
  104. console.log(e);
  105. wx.showToast({
  106. title: '系统异常错误',
  107. icon: 'loading',
  108. duration: 2000
  109. })
  110. }
  111. },
  112. fail: function () {
  113. console.log("go login");
  114. that.setData({
  115. hiddenLogin: false,
  116. hiddenIndex: true,
  117. hiddenFooter: true
  118. })
  119. // wx.removeStorageSync("user_token");
  120. wx.removeStorageSync("openid");
  121. that.loginToWx();
  122. }
  123. })
  124. },
  125. onUnload: function () {
  126. },
  127. onReady: function () {
  128. },
  129. onShow: function () {
  130. },
  131. /**
  132. * 微信授权登录
  133. */
  134. loginToWx: function () {
  135. var that = this;
  136. wx.login({
  137. success: function (res) {
  138. console.debug("wx.login success " + res.code);
  139. if (res.code) {
  140. console.log('wx.login get code ' + res.errMsg)
  141. that.setData({
  142. wxCode: res.code
  143. })
  144. } else {
  145. console.log('wx.login code is null ' + res.errMsg)
  146. }
  147. },
  148. fail: function (res) {
  149. console.log('fail' + res.errMsg)
  150. }
  151. })
  152. },
  153. /**
  154. * 登录泰山系统
  155. * @param {*} code
  156. */
  157. loginToTaishan: function () {
  158. var that = this;
  159. if (this.data.wxCode == null) {
  160. wx.showToast({
  161. title: '系统错误',
  162. icon: 'loading',
  163. duration: 2000
  164. })
  165. return;
  166. }
  167. if (this.data.user.length == 0 || this.data.password.length == 0) {
  168. wx.showToast({
  169. title: '请检查帐号密码',
  170. icon: 'loading',
  171. duration: 2000
  172. })
  173. } else {
  174. // 这里修改成跳转的页面
  175. // wx.showToast({
  176. // title: '登录成功',
  177. // icon: 'success',
  178. // duration: 2000
  179. // })
  180. wx.request({
  181. url: app.globalData.cloudBase + "/Wx/Login?code=" + this.data.wxCode + "&user=" + this.data.user + "&password=" + md5.hexMD5(this.data.password),
  182. method: 'GET',
  183. header: {
  184. "Content-Type": "json"
  185. },
  186. success: function (res) {
  187. // console.debug("login " + res.data);
  188. if (res.data.code === "0") {
  189. try {
  190. if (that.data.rememberLoginInfoChecked) {
  191. wx.setStorageSync('user_login_id', that.data.user);
  192. wx.setStorageSync('user_login_pw', that.data.password);
  193. } else {
  194. wx.setStorageSync('user_login_id', '');
  195. wx.setStorageSync('user_login_pw', '');
  196. that.setData({
  197. rememberLoginInfoChecked: false,
  198. user: '',
  199. password: ''
  200. })
  201. }
  202. wx.setStorageSync('openid', res.data.openId);
  203. //wx.setStorageSync('user_token', res.data.sessionKey);
  204. that.setData({
  205. hiddenLogin: true,
  206. hiddenIndex: false,
  207. hiddenFooter: false
  208. })
  209. } catch (e) {
  210. console.log(e);
  211. }
  212. } else {
  213. wx.showToast({
  214. title: res.data.msg,
  215. // icon: 'fail',
  216. duration: 2000
  217. })
  218. }
  219. },
  220. fail: function (res) {
  221. console.log("login fail" + res);
  222. }
  223. })
  224. }
  225. },
  226. jump: function () {
  227. },
  228. toMenu: function (e) {
  229. var menuId = e.currentTarget.dataset.menuid;
  230. if (menuId == '1') {
  231. wx.navigateTo({
  232. url: '/pages/index/index',
  233. })
  234. } else if (menuId == '2') {
  235. wx.navigateTo({
  236. url: '/pages/project/project',
  237. })
  238. } else if (menuId == '3') {
  239. wx.navigateTo({
  240. url: '/pages/bluetooth/bluetooth',
  241. //url:'/pages/bluetooth/baseSetting/bluetoothBaseSetting',
  242. })
  243. } else if (menuId == '4') {
  244. wx.navigateTo({
  245. url: '/pages/report/report',
  246. })
  247. } else if (menuId == '5') {
  248. // wx.navigateTo({
  249. // url: '/pages/deviceCheck/deviceCheckList',
  250. // })
  251. } else if (menuId == '6') {
  252. wx.navigateTo({
  253. url: '/pages/rtu/projectSelectView?model=2'
  254. });
  255. } else if (menuId == '7') {
  256. wx.navigateTo({
  257. url: '/pages/help/help',
  258. })
  259. }
  260. // else if (menuId == '7') {
  261. // wx.navigateTo({
  262. // url: '/pages/sign/sign',
  263. // })
  264. // }
  265. },
  266. menuTouchDown: function (e) {
  267. var opacity = 0.6;
  268. var menuId = e.currentTarget.dataset.menuid;
  269. if (menuId == '1') {
  270. this.setData({
  271. rtuBlockTouchStyle: opacity
  272. })
  273. } else if (menuId == '2') {
  274. this.setData({
  275. projectBlockTouchStyle: opacity
  276. })
  277. } else if (menuId == '3') {
  278. this.setData({
  279. bluebootBlockTouchStyle: opacity
  280. })
  281. } else if (menuId == '4') {
  282. this.setData({
  283. projectImplementionBlockTouchStyle: opacity
  284. })
  285. } else if (menuId == '5') {
  286. this.setData({
  287. checkReportBlockTouchStyle: opacity
  288. })
  289. } else if (menuId == '6') {
  290. this.setData({
  291. mapNavBlockTouchStyle: opacity
  292. })
  293. } else if (menuId == '7') {
  294. this.setData({
  295. helpBlockTouchStyle: opacity
  296. })
  297. }
  298. },
  299. menuTouchUp: function (e) {
  300. var menuId = e.currentTarget.dataset.menuid;
  301. if (menuId == '1') {
  302. this.setData({
  303. rtuBlockTouchStyle: 1
  304. })
  305. } else if (menuId == '2') {
  306. this.setData({
  307. projectBlockTouchStyle: 1
  308. })
  309. } else if (menuId == '3') {
  310. this.setData({
  311. bluebootBlockTouchStyle: 1
  312. })
  313. } else if (menuId == '4') {
  314. this.setData({
  315. projectImplementionBlockTouchStyle: 1
  316. })
  317. } else if (menuId == '5') {
  318. this.setData({
  319. checkReportBlockTouchStyle: 1
  320. })
  321. } else if (menuId == '6') {
  322. this.setData({
  323. mapNavBlockTouchStyle: 1
  324. })
  325. } else if (menuId == '7') {
  326. this.setData({
  327. helpBlockTouchStyle: 1
  328. })
  329. }
  330. },
  331. logout: function (e) {
  332. this.setData({
  333. hiddenLogin: false,
  334. hiddenIndex: true,
  335. hiddenFooter: true
  336. })
  337. //wx.removeStorageSync("user_token");
  338. wx.removeStorageSync("openid");
  339. this.loginToWx();
  340. },
  341. start: function () {
  342. var animation = wx.createAnimation({
  343. duration: 3000,
  344. timingFunction: 'ease',
  345. delay: 500
  346. });
  347. animation.opacity(1).step()
  348. this.setData({
  349. ani: animation.export()
  350. })
  351. },
  352. loginIdInput: function (e) {
  353. this.setData({
  354. user: e.detail.value
  355. })
  356. },
  357. // 获取输入密码
  358. passwordInput: function (e) {
  359. this.setData({
  360. password: e.detail.value
  361. })
  362. },
  363. rememberLoginInfoCheckboxChange: function (e) {
  364. console.log('change事件,携带值为', e.detail.value)
  365. this.setData({
  366. rememberLoginInfoChecked: e.detail.value
  367. })
  368. }
  369. })