app.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. // app.js
  2. const mockData = require('./utils/mockData.js')
  3. App({
  4. onLaunch() {
  5. console.log('低空药品运输APP启动')
  6. // 初始化全局数据
  7. this.initGlobalData()
  8. // 检查登录状态
  9. this.checkLoginStatus()
  10. },
  11. // 初始化全局数据
  12. initGlobalData() {
  13. // 初始化用户信息
  14. const storedUserInfo = wx.getStorageSync('userInfo')
  15. if (storedUserInfo) {
  16. this.globalData.userInfo = storedUserInfo
  17. } else {
  18. this.globalData.userInfo = mockData.userInfo
  19. wx.setStorageSync('userInfo', mockData.userInfo)
  20. }
  21. // 初始化订单数据
  22. const storedOrders = wx.getStorageSync('orders')
  23. if (!storedOrders) {
  24. wx.setStorageSync('orders', mockData.orders)
  25. }
  26. // 初始化诊断历史
  27. const storedDiagnosisHistory = wx.getStorageSync('diagnosisHistory')
  28. if (!storedDiagnosisHistory) {
  29. wx.setStorageSync('diagnosisHistory', [])
  30. }
  31. },
  32. // 检查登录状态
  33. checkLoginStatus() {
  34. const userInfo = wx.getStorageSync('userInfo')
  35. if (!userInfo) {
  36. // 可以在这里添加登录逻辑
  37. console.log('用户未登录')
  38. } else {
  39. console.log('用户已登录:', userInfo.name)
  40. }
  41. },
  42. // 全局方法:更新用户信息
  43. updateUserInfo(userInfo) {
  44. this.globalData.userInfo = userInfo
  45. wx.setStorageSync('userInfo', userInfo)
  46. },
  47. // 全局方法:添加订单
  48. addOrder(order) {
  49. const orders = wx.getStorageSync('orders') || []
  50. orders.unshift(order)
  51. wx.setStorageSync('orders', orders)
  52. // 更新全局数据
  53. this.globalData.orders = orders
  54. console.log('订单已添加:', order)
  55. },
  56. // 全局方法:获取所有订单
  57. getOrders() {
  58. const orders = wx.getStorageSync('orders') || []
  59. this.globalData.orders = orders
  60. return orders
  61. },
  62. // 全局方法:根据状态获取订单
  63. getOrdersByStatus(status) {
  64. const orders = this.getOrders()
  65. if (status === '全部') {
  66. return orders
  67. }
  68. return orders.filter(order => order.status === status)
  69. },
  70. // 全局方法:更新订单状态
  71. updateOrderStatus(orderId, newStatus) {
  72. const orders = this.getOrders()
  73. const orderIndex = orders.findIndex(order => order.id === orderId)
  74. if (orderIndex !== -1) {
  75. orders[orderIndex].status = newStatus
  76. // 更新无人机配送状态
  77. if (newStatus === 'completed') {
  78. orders[orderIndex].droneTracking.status = '已送达'
  79. } else if (newStatus === 'delivering') {
  80. orders[orderIndex].droneTracking.status = '配送中'
  81. }
  82. wx.setStorageSync('orders', orders)
  83. this.globalData.orders = orders
  84. console.log('订单状态已更新:', orderId, newStatus)
  85. }
  86. },
  87. // 全局方法:删除订单
  88. deleteOrder(orderId) {
  89. let orders = this.getOrders()
  90. orders = orders.filter(order => order.id !== orderId)
  91. wx.setStorageSync('orders', orders)
  92. this.globalData.orders = orders
  93. console.log('订单已删除:', orderId)
  94. },
  95. // 全局方法:添加诊断记录
  96. addDiagnosisRecord(record) {
  97. const diagnosisHistory = wx.getStorageSync('diagnosisHistory') || []
  98. diagnosisHistory.unshift(record)
  99. wx.setStorageSync('diagnosisHistory', diagnosisHistory)
  100. // 更新全局数据
  101. this.globalData.diagnosisHistory = diagnosisHistory
  102. },
  103. globalData: {
  104. userInfo: null,
  105. orders: [],
  106. diagnosisHistory: []
  107. }
  108. })