app.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298
  1. App({
  2. onLaunch: function (options) {
  3. if (options.query) {
  4. console.log('扫码加载')
  5. var code1 = decodeURIComponent(options.query.qrCode)
  6. var index = code1.lastIndexOf("\=");
  7. let code = code1.substring(index + 1, code1.length);
  8. this.globalData.scanCode = code
  9. console.log(code, 'ceode-------------------------------------')
  10. }
  11. if (my.canIUse('getUpdateManager')) {
  12. const updateManager = my.getUpdateManager()
  13. updateManager.onCheckForUpdate(function (res) {
  14. if (res.hasUpdate) {
  15. updateManager.onUpdateReady(function () {
  16. my.alert({
  17. title: '更新提示',
  18. content: '新版本已经准备好,是否重启应用?',
  19. success: function (res) {
  20. updateManager.applyUpdate()
  21. }
  22. })
  23. })
  24. updateManager.onUpdateFailed(function () {
  25. my.alert({
  26. title: '已经有新版本了哟~',
  27. content: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~'
  28. })
  29. })
  30. }
  31. })
  32. } else {
  33. my.alert({
  34. title: '提示',
  35. content: '当前支付宝版本过低,无法使用该功能,请升级到最新支付宝版本后重试。'
  36. })
  37. }
  38. console.log(my.getStorageSync({ 'key': 'token' }).data, 'XXXXXXXXXXXXXXXXXXXXX')
  39. },
  40. globalData: {
  41. statusBarHeight: my.getSystemInfoSync()['statusBarHeight'],
  42. windowHeight: my.getSystemInfoSync()['windowHeight'],
  43. imgUrl: 'http://resource.bike.hanyiyun.com/',
  44. screenHeight: '',
  45. login: false,
  46. scanCode: '',//扫描普通二维码跳转小程序解析出的车牌号码
  47. platform: '',
  48. version: '',
  49. req: true,
  50. id: 0,
  51. times: 60,
  52. invalid: false,
  53. title: '禹见你', //全局修改此小程序名称
  54. company:'禹州市途娱科技有限公司',
  55. company_1:'途娱科技',
  56. scanLength: 9,//车辆编码数
  57. compatible: '',
  58. title: '禹见你', //全局修改此小程序名称
  59. logoUrl: '../../img/logo.png', //logo图片路径 网络图片/本地图片 dejin.png shanxianLg.png yuzhouLg.png dingding.png
  60. appid: '2021002147603404', //小程序的appid wxc5f328a92356183f--遇见你appid
  61. merchant_id: '1',
  62. url: 'https://api.mtu.ximengnaikang.com/api', //线上域名
  63. // url: 'http://api.yutu.site.ximengnaikang.com/api', //本地域名
  64. mapKey: 'GTLBZ-F6BKO-5EDWH-SDHIX-K2ART-O2FRQ' //地图key值
  65. },
  66. request(api, params, method, req1) {
  67. var that = this;
  68. // if (req1 == false) return;
  69. // if (req1) {
  70. // that.globalData.req = false;
  71. // }
  72. // if (my.getStorageSync({ 'key': 'token' }).data != '' || my.getStorageSync({ 'key': 'token' }).data != undefined) {
  73. // if (req1 == true || req1 == undefined) {
  74. return new Promise((resolve, reject) => {
  75. my.request({
  76. url: this.globalData.url + api,
  77. data: params,
  78. headers: {
  79. 'content-type': 'application/json',
  80. 'Accept': 'application/json',
  81. 'Cache-Control': 'no-cache',
  82. 'Authorization': my.getStorageSync({ 'key': 'token' }).data,
  83. 'merchant-id': this.globalData.merchant_id,
  84. 'source-type': 'alipay'
  85. },
  86. method: method,
  87. success: (res) => {
  88. // console.log(res)
  89. if (res.status == 450) {
  90. return;
  91. }
  92. if (res.status != 200) {
  93. let data = {
  94. response: res,
  95. 'url': api,
  96. 'data': params,
  97. 'merchant-id': this.globalData.merchant_id,
  98. 'authorization':my.getStorageSync({ 'key': 'token' }).data,
  99. type: 'success',
  100. user: my.getStorageSync({ 'key': 'userInfo' }).data ? my.getStorageSync({ 'key': 'userInfo' }).data.user : '',
  101. version: '1.2.2'
  102. }
  103. my.request({
  104. url: this.globalData.url + '/logs', //仅为示例,并非真实的接口地址
  105. data: { data: data },
  106. method: 'POST',
  107. header: {
  108. 'content-type': 'application/json', // 默认值
  109. 'merchant-id': this.globalData.merchant_id
  110. },
  111. success(res) {
  112. console.log(res.data)
  113. }
  114. })
  115. }
  116. if (res.status != 200) {
  117. if (res.data.message == '订单不存在或订单已结算') {
  118. if (this.globalData.compatible) {
  119. my.reLaunch({
  120. url: '/pages/compatible/index/index',
  121. })
  122. } else {
  123. my.reLaunch({
  124. url: '/pages/index/index',
  125. })
  126. }
  127. return false;
  128. } else if (res.data.message == '运动中不能关锁') {
  129. return false;
  130. }
  131. if (res.message != undefined) {
  132. my.showToast({
  133. content: res.message,
  134. icon: 'none',
  135. duration: 3000,
  136. mask: true
  137. })
  138. } else if (res.data.message != undefined) {
  139. my.showToast({
  140. content: res.data.message,
  141. icon: 'none',
  142. duration: 3000,
  143. mask: true
  144. })
  145. }
  146. }
  147. console.log(res, 'token-------------------------------------------')
  148. resolve(res)
  149. },
  150. fail: (err) => {
  151. if (err.status == 401) {
  152. var timeout;
  153. console.log('token过期')
  154. my.removeStorageSync({ key: 'token' })
  155. my.removeStorageSync({ key: 'token_time' })
  156. // this.token()
  157. my.reLaunch({
  158. url: '/pages/index/index',
  159. })
  160. } else if (err.status == 404) {
  161. my.navigateTo({
  162. url: '/pages/undefind/undefind',
  163. })
  164. } else {
  165. my.showToast({
  166. content: err.data.message || err.data,
  167. icon: 'none',
  168. mask: true,
  169. duration: 3000,
  170. });
  171. }
  172. console.log(err, 'qingqiushibai')
  173. let data = {
  174. response: res,
  175. 'url': api,
  176. 'data': params,
  177. 'merchant-id': this.globalData.merchant_id,
  178. 'authorization': my.getStorageSync({'key':'token'}).data,
  179. type: 'success',
  180. user: my.getStorageSync({ 'key': 'userInfo' }).data ? my.getStorageSync({ 'key': 'userInfo' }).data.user : '',
  181. version: '1.2.2'
  182. }
  183. my.request({
  184. url: this.globalData.url + '/logs', //仅为示例,并非真实的接口地址
  185. data: { data: data },
  186. method: 'POST',
  187. header: {
  188. 'content-type': 'application/json', // 默认值
  189. 'merchant-id': this.globalData.merchant_id
  190. },
  191. success(res) {
  192. console.log(res.data)
  193. }
  194. })
  195. reject(err, "请求失败")
  196. },
  197. complete: () => {
  198. that.globalData.req = true
  199. }
  200. })
  201. })
  202. },
  203. login() {
  204. let that = this
  205. let token = my.getStorageSync({ 'key': 'token' }).data
  206. let data = Math.round(new Date().getTime() / 1000).toString();
  207. let tokenTime = my.getStorageSync({ 'key': 'token_time' }).data || 0;
  208. let cha = data - tokenTime
  209. let data1 = 60 * 60 * 4
  210. return new Promise((resolve, reject) => {
  211. if (token && cha < data1) {
  212. console.log(Math.round(new Date() / 1000), 'test--------')
  213. return resolve();
  214. } else {
  215. my.getAuthCode({
  216. success: (res) => {
  217. // 发送 res.code 到后台换取 openId, sessionKey, unionId
  218. if (res.authCode) {
  219. console.log(res.authCode)
  220. var data = {
  221. 'code': res.authCode,
  222. 'appid': that.globalData.appid,
  223. 'type': 1
  224. };
  225. my.request({
  226. url: that.globalData.url + '/auth/weapp-login',
  227. data: data,
  228. headers: {
  229. 'content-type': 'application/json',
  230. 'Accept': 'application/json',
  231. 'Cache-Control': 'no-cache',
  232. // 'Authorization': my.getStorageSync({ 'key': 'token' }).data,
  233. 'merchant-id': that.globalData.merchant_id,
  234. 'source-type': 'alipay'
  235. },
  236. method: 'POST',
  237. success: (res) => {
  238. console.log(res, 'token')
  239. if (res.status == 401) {
  240. my.showToast({
  241. content: '登陆失败,请重新登录',
  242. icon: 'none'
  243. })
  244. setTimeout(function () {
  245. my.reLaunch({
  246. url: '/pages/authorization/authorization',
  247. })
  248. }, 1000)
  249. } else if (res.status != 200) {
  250. console.log(res, 'cesgu---------------')
  251. my.showToast({
  252. content: res.data.message,
  253. icon: 'none'
  254. })
  255. } else {
  256. my.setStorageSync({ 'key': 'token', data: res.data.token });
  257. my.setStorageSync({ 'key': 'session_key', data: res.data.session_key });
  258. my.setStorageSync({ 'key': 'token_time', data: res.data.exp });
  259. my.setStorageSync({ 'key': 'user_ID', data: res.data.user.id });
  260. }
  261. resolve()
  262. }, fail: (err) => {
  263. my.alert({
  264. title: '提示',
  265. content: '可能网络不太好,请重试!',
  266. success: () => {
  267. my.reLaunch({
  268. url: '/pages/error/error?error=0'
  269. });
  270. }
  271. })
  272. }
  273. })
  274. } else {
  275. my.showToast({
  276. content: res.errMsg,
  277. icon: none,
  278. })
  279. }
  280. }
  281. })
  282. }
  283. })
  284. },
  285. })