Преглед на файлове

fix: 健康/饮食维度页日期解析改用 parseDate(iOS 兼容)

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
asus преди 1 месец
родител
ревизия
97b3d33458

+ 4 - 2
cfc-frontend/pages/health/diet-index.vue

@@ -138,7 +138,8 @@
 </template>
 
 <script>
-import config from '@/config.js'
+  import config from '@/config.js'
+  import { parseDate } from '@/utils/format.js'
 
 export default {
   data() {
@@ -171,7 +172,8 @@ export default {
     },
     formatDate: function(dateStr) {
       if (!dateStr) return ''
-      var d = new Date(dateStr)
+      var d = parseDate(dateStr)
+      if (!d) return dateStr
       var m = (d.getMonth() + 1).toString().padStart(2, '0')
       var day = d.getDate().toString().padStart(2, '0')
       return m + '-' + day

+ 3 - 1
cfc-frontend/pages/health/exercise-index.vue

@@ -141,6 +141,7 @@
 
 <script>
 import config from '@/config.js'
+import { parseDate } from '@/utils/format.js'
 
 export default {
   data() {
@@ -181,7 +182,8 @@ export default {
     },
     formatDate: function(dateStr) {
       if (!dateStr) return ''
-      var d = new Date(dateStr)
+      var d = parseDate(dateStr)
+      if (!d) return dateStr
       var m = (d.getMonth() + 1).toString().padStart(2, '0')
       var day = d.getDate().toString().padStart(2, '0')
       return m + '-' + day

+ 6 - 8
cfc-frontend/pages/health/nutrition-profile.vue

@@ -141,6 +141,7 @@
 
 <script>
 import { getChildNutritionProfile, getDeficiencyAnalysis } from '@/utils/api.js'
+import { parseDate } from '@/utils/format.js'
 
 export default {
   data() {
@@ -278,14 +279,11 @@ export default {
     },
     formatDate: function(dateStr) {
       if (!dateStr) return ''
-      try {
-        var d = new Date(dateStr)
-        var m = ('' + (d.getMonth() + 1)).padStart(2, '0')
-        var day = ('' + d.getDate()).padStart(2, '0')
-        return m + '-' + day
-      } catch (e) {
-        return dateStr
-      }
+      var d = parseDate(dateStr)
+      if (!d) return dateStr
+      var m = ('' + (d.getMonth() + 1)).padStart(2, '0')
+      var day = ('' + d.getDate()).padStart(2, '0')
+      return m + '-' + day
     },
     goBack: function() {
       uni.navigateBack()

+ 7 - 9
cfc-frontend/pages/health/report-list.vue

@@ -48,6 +48,7 @@
 
 <script>
 import { getReportList } from '../../utils/api.js'
+import { parseDate } from '../../utils/format.js'
 
 export default {
   data() {
@@ -91,15 +92,12 @@ export default {
     },
     formatDate(dateStr) {
       if (!dateStr) return '--'
-      try {
-        var d = new Date(dateStr)
-        var y = d.getFullYear()
-        var m = ('' + (d.getMonth() + 1)).padStart(2, '0')
-        var day = ('' + d.getDate()).padStart(2, '0')
-        return y + '-' + m + '-' + day
-      } catch (e) {
-        return dateStr
-      }
+      var d = parseDate(dateStr)
+      if (!d) return dateStr
+      var y = d.getFullYear()
+      var m = ('' + (d.getMonth() + 1)).padStart(2, '0')
+      var day = ('' + d.getDate()).padStart(2, '0')
+      return y + '-' + m + '-' + day
     }
   }
 }

+ 3 - 1
cfc-frontend/pages/health/sleep-index.vue

@@ -141,6 +141,7 @@
 
 <script>
 import config from '@/config.js'
+import { parseDate } from '../../utils/format.js'
 
 export default {
   data() {
@@ -167,7 +168,8 @@ export default {
     },
     formatDate: function(dateStr) {
       if (!dateStr) return ''
-      var d = new Date(dateStr)
+      var d = parseDate(dateStr)
+      if (!d) return ''
       var m = (d.getMonth() + 1).toString().padStart(2, '0')
       var day = d.getDate().toString().padStart(2, '0')
       return m + '-' + day

+ 7 - 3
cfc-frontend/pages/meal/log.vue

@@ -69,6 +69,7 @@
 
 <script>
 import { logMeal, getMealLogs, getNutritionSummary } from '@/utils/api'
+import { parseDate } from '@/utils/format.js'
 
 export default {
   name: 'MealLog',
@@ -96,16 +97,19 @@ export default {
       return d.getFullYear() + '-' + String(d.getMonth() + 1).padStart(2, '0') + '-' + String(d.getDate()).padStart(2, '0')
     },
     formatDate(date) {
-      const d = new Date(date)
+      const d = parseDate(date)
+      if (!d) return ''
       return d.getFullYear() + '-' + String(d.getMonth() + 1).padStart(2, '0') + '-' + String(d.getDate()).padStart(2, '0')
     },
     formatTime(dateStr) {
       if (!dateStr) return ''
-      const d = new Date(dateStr)
+      const d = parseDate(dateStr)
+      if (!d) return ''
       return String(d.getHours()).padStart(2, '0') + ':' + String(d.getMinutes()).padStart(2, '0')
     },
     changeDate(offset) {
-      const d = new Date(this.currentDate)
+      const d = parseDate(this.currentDate)
+      if (!d) return
       d.setDate(d.getDate() + offset)
       this.currentDate = this.formatDate(d)
     },