app.js 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497
  1. App({
  2. onLaunch: function () {
  3. if (my.canIUse('getUpdateManager')) {
  4. const updateManager = my.getUpdateManager()
  5. updateManager.onCheckForUpdate(function (res) {
  6. if (res.hasUpdate) {
  7. updateManager.onUpdateReady(function () {
  8. my.alert({
  9. title: '更新提示',
  10. content: '新版本已经准备好,是否重启应用?',
  11. success: function (res) {
  12. updateManager.applyUpdate()
  13. }
  14. })
  15. })
  16. updateManager.onUpdateFailed(function () {
  17. my.alert({
  18. title: '已经有新版本了哟~',
  19. content: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~'
  20. })
  21. })
  22. }
  23. })
  24. } else {
  25. my.alert({
  26. title: '提示',
  27. content: '当前支付宝版本过低,无法使用该功能,请升级到最新支付宝版本后重试。'
  28. })
  29. }
  30. console.log(my.getStorageSync({ 'key': 'token' }).data, 'XXXXXXXXXXXXXXXXXXXXX')
  31. },
  32. globalData: {
  33. statusBarHeight: my.getSystemInfoSync()['statusBarHeight'],
  34. windowHeight: my.getSystemInfoSync()['windowHeight'],
  35. imgUrl: 'http://resource.bike.hanyiyun.com/',
  36. screenHeight: '',
  37. login: false,
  38. platform: '',
  39. version: '',
  40. req: true,
  41. id: 0,
  42. times: 60,
  43. invalid: false,
  44. scanLength: 9,//车辆编码数
  45. compatible: '',
  46. title: '禹见你', //全局修改此小程序名称
  47. logoUrl: '../../img/logo.png', //logo图片路径 网络图片/本地图片 dejin.png shanxianLg.png yuzhouLg.png dingding.png
  48. appid: '2021002147603404', //小程序的appid wxc5f328a92356183f--遇见你appid
  49. merchant_id: '1',
  50. url: 'https://api.mtu.ximengnaikang.com/api', //线上域名
  51. // url: 'http://api.yutu.site.ximengnaikang.com/api', //本地域名
  52. mapKey: 'GTLBZ-F6BKO-5EDWH-SDHIX-K2ART-O2FRQ' //地图key值
  53. },
  54. request(api, params, method, req1) {
  55. var that = this;
  56. if (req1 == false) return;
  57. if (req1) {
  58. that.globalData.req = false;
  59. }
  60. if (my.getStorageSync({ 'key': 'token' }).data != '' || my.getStorageSync({ 'key': 'token' }).data != undefined) {
  61. if (req1 == true || req1 == undefined) {
  62. return new Promise((resolve, reject) => {
  63. my.request({
  64. url: this.globalData.url + api,
  65. data: params,
  66. headers: {
  67. 'content-type': 'application/json',
  68. 'Accept': 'application/json',
  69. 'Cache-Control': 'no-cache',
  70. 'Authorization': my.getStorageSync({ 'key': 'token' }).data,
  71. 'merchant-id': this.globalData.merchant_id,
  72. 'source-type': 'alipay'
  73. },
  74. method: method,
  75. success: (res) => {
  76. // console.log(res)
  77. if (res.status == 450) {
  78. return;
  79. }
  80. if (res.status != 200) {
  81. if (res.data.message == '订单不存在或订单已结算') {
  82. if (this.globalData.compatible) {
  83. my.reLaunch({
  84. url: '/pages/compatible/index/index',
  85. })
  86. } else {
  87. my.reLaunch({
  88. url: '/pages/index/index',
  89. })
  90. }
  91. return false;
  92. } else if (res.data.message == '运动中不能关锁') {
  93. return false;
  94. }
  95. if (res.message != undefined) {
  96. my.showToast({
  97. content: res.message,
  98. icon: 'none',
  99. duration: 3000,
  100. mask: true
  101. })
  102. } else if (res.data.message != undefined) {
  103. my.showToast({
  104. content: res.data.message,
  105. icon: 'none',
  106. duration: 3000,
  107. mask: true
  108. })
  109. }
  110. }
  111. console.log(res, 'token-------------------------------------------')
  112. resolve(res)
  113. },
  114. fail: (err) => {
  115. if (err.status == 401) {
  116. var timeout;
  117. console.log('token过期')
  118. my.removeStorageSync({key:'token'})
  119. my.removeStorageSync({key:'token_time'})
  120. // this.token()
  121. my.reLaunch({
  122. url: '/pages/index/index',
  123. })
  124. } else if (err.status == 404) {
  125. my.navigateTo({
  126. url: '/pages/undefind/undefind',
  127. })
  128. } else {
  129. my.showToast({
  130. content: err.data.message || err.data,
  131. icon: 'none',
  132. mask: true,
  133. duration: 3000,
  134. });
  135. }
  136. console.log(err, 'qingqiushibai')
  137. reject(err, "请求失败")
  138. },
  139. complete: () => {
  140. that.globalData.req = true
  141. }
  142. })
  143. })
  144. }
  145. }
  146. },
  147. login() {
  148. let that = this
  149. let token = my.getStorageSync({ 'key': 'token' }).data
  150. let data = Math.round(new Date() / 1000);
  151. let tokenTime = my.getStorageSync({ 'key': 'token_time' }).data;
  152. let cha = data - tokenTime
  153. let data1 = 60 * 60 * 24
  154. return new Promise((resolve, reject) => {
  155. if (token && cha < data1) {
  156. console.log(Math.round(new Date() / 1000), 'test--------')
  157. console.log(cha, 'test--------')
  158. console.log(data1, 'test-data1-------')
  159. return resolve();
  160. } else {
  161. my.getAuthCode({
  162. success: (res) => {
  163. // 发送 res.code 到后台换取 openId, sessionKey, unionId
  164. if (res.authCode) {
  165. console.log(res.authCode)
  166. // var data = {
  167. // 'code': res.authCode,
  168. // 'appid': that.globalData.appid,
  169. // // 'phone_detail': JSON.stringify(arr),
  170. // 'phone_detail': '',
  171. // 'invite_user_id': that.globalData.id,
  172. // 'language': 'zh'
  173. // };
  174. var data = {
  175. 'code': res.authCode,
  176. 'appid': that.globalData.appid,
  177. 'type': 1
  178. };
  179. my.request({
  180. url: that.globalData.url + '/auth/weapp-login',
  181. data: data,
  182. headers: {
  183. 'content-type': 'application/json',
  184. 'Accept': 'application/json',
  185. 'Cache-Control': 'no-cache',
  186. // 'Authorization': my.getStorageSync({ 'key': 'token' }).data,
  187. 'merchant-id': that.globalData.merchant_id,
  188. 'source-type': 'alipay'
  189. },
  190. method: 'POST',
  191. success: (res) => {
  192. console.log(res, 'token')
  193. if (res.status == 401) {
  194. my.showToast({
  195. content: '登陆失败,请重新登录',
  196. icon: 'none'
  197. })
  198. setTimeout(function () {
  199. my.reLaunch({
  200. url: '/pages/authorization/authorization',
  201. })
  202. }, 1000)
  203. } else if (res.status != 200) {
  204. console.log(res, 'cesgu---------------')
  205. my.showToast({
  206. content: '登录失败,请刷新',
  207. icon: 'none'
  208. })
  209. } else {
  210. my.setStorageSync({ 'key': 'token', data: res.data.token });
  211. my.setStorageSync({ 'key': 'session_key', data: res.data.session_key });
  212. my.setStorageSync({ 'key': 'token_time', data: res.data.exp });
  213. my.setStorageSync({ 'key': 'user_ID', data: res.data.user.id });
  214. }
  215. resolve()
  216. }, fail: (err) => {
  217. my.showToast({
  218. // content: err.message,
  219. content: '121212',
  220. icon: 'none'
  221. })
  222. }
  223. })
  224. } else {
  225. my.showToast({
  226. content: res.errMsg,
  227. icon: none,
  228. })
  229. }
  230. }
  231. })
  232. }
  233. })
  234. },
  235. })
  236. // App({
  237. // onLaunch: function () {
  238. // // 登录
  239. // var that = this;
  240. // my.getSystemInfo({
  241. // success: res => {
  242. // console.log(res)
  243. // var system = res.system.trim().split(/\s+/)[1];
  244. // }
  245. // })
  246. // if (my.getStorageSync({'key':'midTimes'}).data != '') {
  247. // var time = my.getStorageSync({'key':'midTimes'}).data;
  248. // var timestamp = Date.parse(new Date()) / 1000;
  249. // if (time <= timestamp) {
  250. // console.log('midtimes过期')
  251. // my.setStorageSync({'key':'midTimes',data:''})
  252. // }
  253. // }
  254. // var time = my.getStorageSync({'key':'token_time'}).data;
  255. // var timestamp = Date.parse(new Date());
  256. // if (time <= timestamp / 1000) {
  257. // console.log('token过期')
  258. // my.removeStorageSync('token_time')
  259. // }
  260. // if (my.canIUse('getUpdateManager')) {
  261. // const updateManager = my.getUpdateManager()
  262. // updateManager.onCheckForUpdate(function (res) {
  263. // if (res.hasUpdate) {
  264. // updateManager.onUpdateReady(function () {
  265. // my.alert({
  266. // title: '更新提示',
  267. // content: '新版本已经准备好,是否重启应用?',
  268. // success: function (res) {
  269. // updateManager.applyUpdate()
  270. // }
  271. // })
  272. // })
  273. // updateManager.onUpdateFailed(function () {
  274. // my.alert({
  275. // title: '已经有新版本了哟~',
  276. // content: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~'
  277. // })
  278. // })
  279. // }
  280. // })
  281. // } else {
  282. // my.alert({
  283. // title: '提示',
  284. // content: '当前支付宝版本过低,无法使用该功能,请升级到最新支付宝版本后重试。'
  285. // })
  286. // }
  287. // //登录
  288. // },
  289. // globalData: {
  290. // statusBarHeight: my.getSystemInfoSync()['statusBarHeight'],
  291. // windowHeight: my.getSystemInfoSync()['windowHeight'],
  292. // imgUrl: 'http://resource.bike.hanyiyun.com/',
  293. // screenHeight: '',
  294. // login: false,
  295. // platform: '',
  296. // version: '',
  297. // req: true,
  298. // id: 0,
  299. // times: 60,
  300. // invalid: false,
  301. // compatible: '',
  302. // title: '禹见你', //全局修改此小程序名称
  303. // logoUrl: '../../img/logo.png', //logo图片路径 网络图片/本地图片 dejin.png shanxianLg.png yuzhouLg.png dingding.png
  304. // appid: '2021002147603404', //小程序的appid wxc5f328a92356183f--遇见你appid
  305. // merchant_id: '1',
  306. // url: 'https://api.mtu.ximengnaikang.com/api', //线上域名
  307. // // url: 'http://api.yutu.site.ximengnaikang.com/api', //本地域名
  308. // mapKey: 'GTLBZ-F6BKO-5EDWH-SDHIX-K2ART-O2FRQ' //地图key值
  309. // },
  310. // request(api, params, method, req1) {
  311. // var that = this;
  312. // if (req1 == false) return;
  313. // if (req1) {
  314. // that.globalData.req = false;
  315. // }
  316. // if (my.getStorageSync({'key':'token'}).data != '' || my.getStorageSync({'key':'token'}).data != undefined) {
  317. // if (req1 == true || req1 == undefined) {
  318. // return new Promise((resolve, reject) => {
  319. // my.request({
  320. // url: this.globalData.url + api,
  321. // data: params,
  322. // headers: {
  323. // 'content-type': 'application/json',
  324. // 'Accept': 'application/json',
  325. // 'Cache-Control': 'no-cache',
  326. // 'Authorization': my.getStorageSync({'key':'token'}).data,
  327. // 'merchant-id': this.globalData.merchant_id,
  328. // 'source-type': 'alipay'
  329. // },
  330. // method: method,
  331. // success: (res) => {
  332. // resolve(res)
  333. // // console.log(res)
  334. // if (res.status == 450) {
  335. // return;
  336. // }
  337. // if (res.status != 200) {
  338. // if (res.data.message == '订单不存在或订单已结算') {
  339. // if (this.globalData.compatible) {
  340. // my.reLaunch({
  341. // url: '/pages/compatible/index/index',
  342. // })
  343. // } else {
  344. // my.reLaunch({
  345. // url: '/pages/index/index',
  346. // })
  347. // }
  348. // return false;
  349. // } else if (res.data.message == '运动中不能关锁') {
  350. // return false;
  351. // }
  352. // if (res.message != undefined) {
  353. // my.showToast({
  354. // content: res.message,
  355. // icon: 'none',
  356. // duration: 3000,
  357. // mask: true
  358. // })
  359. // } else if (res.data.message != undefined) {
  360. // my.showToast({
  361. // content: res.data.message,
  362. // icon: 'none',
  363. // duration: 3000,
  364. // mask: true
  365. // })
  366. // }
  367. // }
  368. // if (res.status == 401) {
  369. // var timeout;
  370. // my.removeStorageSync('token')
  371. // my.removeStorageSync('token_time')
  372. // // this.token()
  373. // my.reLaunch({
  374. // url: '/pages/index/index',
  375. // })
  376. // } else if (res.status == 404) {
  377. // my.navigateTo({
  378. // url: '/pages/undefind/undefind',
  379. // })
  380. // }
  381. // },
  382. // fail: (err) => {
  383. // my.showToast({
  384. // content: err.data.message || err.data,
  385. // icon: 'none',
  386. // mask: true,
  387. // duration: 3000,
  388. // });
  389. // console.log(err,'qingqiushibai')
  390. // reject(err,"请求失败")
  391. // },
  392. // complete: () => {
  393. // that.globalData.req = true
  394. // }
  395. // })
  396. // })
  397. // }
  398. // }
  399. // },
  400. // token:function(){
  401. // let that=this
  402. // my.getAuthCode({
  403. // success: function (res) {
  404. // my.getSystemInfo({
  405. // success(res) {
  406. // console.log(arr)
  407. // var arr = [{
  408. // label: '品牌',
  409. // type: 'brand',
  410. // value: res.brand
  411. // },
  412. // {
  413. // label: '型号',
  414. // type: 'model',
  415. // value: res.model
  416. // },
  417. // {
  418. // label: '系统平台',
  419. // type: 'platform',
  420. // value: res.platform
  421. // },
  422. // {
  423. // label: '系统版本',
  424. // type: 'system',
  425. // value: res.system
  426. // },
  427. // {
  428. // label: '支付宝版本',
  429. // type: 'version',
  430. // value: res.version
  431. // },
  432. // {
  433. // label: '小程序版本',
  434. // type: 'SDKVersion',
  435. // value: res.SDKVersion
  436. // },
  437. // {
  438. // label: '定位状态',
  439. // type: 'locationEnabled',
  440. // value: res.locationEnabled ? '开' : '关'
  441. // },
  442. // {
  443. // label: '定位授权',
  444. // type: 'locationAuthorized',
  445. // value: res.locationAuthorized ? '已授权' : '未授权'
  446. // }
  447. // ]
  448. // }
  449. // })
  450. // // 发送 res.code 到后台换取 openId, sessionKey, unionId
  451. // console.log(res.code)
  452. // var data = {
  453. // 'code': res.authCode,
  454. // 'appid': that.globalData.appid,
  455. // 'type': 1
  456. // };
  457. // my.request({
  458. // url: that.globalData.url + '/auth/weapp-login',
  459. // data: data,
  460. // headers: {
  461. // 'content-type': 'application/json',
  462. // 'Accept': 'application/json',
  463. // 'Cache-Control': 'no-cache',
  464. // 'Authorization': my.getStorageSync({'key':'token'}).data,
  465. // 'merchant-id': that.globalData.merchant_id
  466. // },
  467. // method:'POST',
  468. // success:(res)=>{
  469. // my.setStorageSync({'key':'token',data:res.data.token});
  470. // my.setStorageSync({'key':'session_key',data:res.data.session_key});
  471. // my.setStorageSync({'key':'token_time',data:res.data.exp});
  472. // my.setStorageSync({'key':'user_ID',data:res.data.user.id});
  473. // },err:(err=>{
  474. // console.log(err,'登录错误---------------------------------')
  475. // })
  476. // })
  477. // }
  478. // })
  479. // }
  480. // })