app.js 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  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. const storedMedicalRecords = wx.getStorageSync('medicalRecords')
  33. if (!storedMedicalRecords) {
  34. wx.setStorageSync('medicalRecords', mockData.medicalRecords)
  35. }
  36. },
  37. // 检查登录状态
  38. checkLoginStatus() {
  39. const userInfo = wx.getStorageSync('userInfo')
  40. if (!userInfo) {
  41. // 可以在这里添加登录逻辑
  42. console.log('用户未登录')
  43. } else {
  44. console.log('用户已登录:', userInfo.name)
  45. }
  46. },
  47. // 全局方法:更新用户信息
  48. updateUserInfo(userInfo) {
  49. this.globalData.userInfo = userInfo
  50. wx.setStorageSync('userInfo', userInfo)
  51. },
  52. // 全局方法:添加订单
  53. addOrder(order) {
  54. const orders = wx.getStorageSync('orders') || []
  55. orders.unshift(order)
  56. wx.setStorageSync('orders', orders)
  57. // 更新全局数据
  58. this.globalData.orders = orders
  59. console.log('订单已添加:', order)
  60. },
  61. // 全局方法:获取所有订单
  62. getOrders() {
  63. const orders = wx.getStorageSync('orders') || []
  64. this.globalData.orders = orders
  65. return orders
  66. },
  67. // 全局方法:根据状态获取订单
  68. getOrdersByStatus(status) {
  69. const orders = this.getOrders()
  70. if (status === '全部') {
  71. return orders
  72. }
  73. return orders.filter(order => order.status === status)
  74. },
  75. // 全局方法:更新订单状态
  76. updateOrderStatus(orderId, newStatus) {
  77. const orders = this.getOrders()
  78. const orderIndex = orders.findIndex(order => order.id === orderId)
  79. if (orderIndex !== -1) {
  80. orders[orderIndex].status = newStatus
  81. // 更新无人机配送状态
  82. if (newStatus === 'completed') {
  83. orders[orderIndex].droneTracking.status = '已送达'
  84. } else if (newStatus === 'delivering') {
  85. orders[orderIndex].droneTracking.status = '配送中'
  86. }
  87. wx.setStorageSync('orders', orders)
  88. this.globalData.orders = orders
  89. console.log('订单状态已更新:', orderId, newStatus)
  90. }
  91. },
  92. // 全局方法:删除订单
  93. deleteOrder(orderId) {
  94. let orders = this.getOrders()
  95. orders = orders.filter(order => order.id !== orderId)
  96. wx.setStorageSync('orders', orders)
  97. this.globalData.orders = orders
  98. console.log('订单已删除:', orderId)
  99. },
  100. // 全局方法:添加诊断记录
  101. addDiagnosisRecord(record) {
  102. const diagnosisHistory = wx.getStorageSync('diagnosisHistory') || []
  103. diagnosisHistory.unshift(record)
  104. wx.setStorageSync('diagnosisHistory', diagnosisHistory)
  105. // 更新全局数据
  106. this.globalData.diagnosisHistory = diagnosisHistory
  107. },
  108. // 全局方法:获取所有病历记录
  109. getMedicalRecords() {
  110. const medicalRecords = wx.getStorageSync('medicalRecords') || []
  111. this.globalData.medicalRecords = medicalRecords
  112. return medicalRecords
  113. },
  114. // 全局方法:添加病历记录
  115. addMedicalRecord(record) {
  116. const medicalRecords = wx.getStorageSync('medicalRecords') || []
  117. medicalRecords.unshift(record)
  118. wx.setStorageSync('medicalRecords', medicalRecords)
  119. // 更新全局数据
  120. this.globalData.medicalRecords = medicalRecords
  121. console.log('病历记录已添加:', record)
  122. },
  123. // 全局方法:更新病历共享状态
  124. updateMedicalRecordShare(recordId, shared) {
  125. const medicalRecords = this.getMedicalRecords()
  126. const recordIndex = medicalRecords.findIndex(record => record.id === recordId)
  127. if (recordIndex !== -1) {
  128. medicalRecords[recordIndex].shared = shared
  129. wx.setStorageSync('medicalRecords', medicalRecords)
  130. this.globalData.medicalRecords = medicalRecords
  131. console.log('病历共享状态已更新:', recordId, shared)
  132. }
  133. },
  134. // 全局方法:删除病历记录
  135. deleteMedicalRecord(recordId) {
  136. let medicalRecords = this.getMedicalRecords()
  137. medicalRecords = medicalRecords.filter(record => record.id !== recordId)
  138. wx.setStorageSync('medicalRecords', medicalRecords)
  139. this.globalData.medicalRecords = medicalRecords
  140. console.log('病历记录已删除:', recordId)
  141. },
  142. globalData: {
  143. userInfo: null,
  144. orders: [],
  145. diagnosisHistory: [],
  146. medicalRecords: []
  147. }
  148. })