فهرست منبع

fix: 家庭/成长/身体页面日期解析改用 parseDate(iOS 兼容)

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

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
asus 1 ماه پیش
والد
کامیت
728e4070c9

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

@@ -188,6 +188,7 @@
 <script>
 import config from '@/config.js'
 import { getDeficiencyAnalysis } from '@/utils/api.js'
+import { parseDate } from '@/utils/format.js'
 
 const healthRequest = function(url, data) {
   var token = uni.getStorageSync('token')
@@ -508,15 +509,12 @@ export default {
     },
     formatDate: function(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/energy/detail.vue

@@ -48,6 +48,7 @@
 import { getEnergyLogs } from '../../utils/api.js'
 import BaseLoading from '../../components/BaseLoading.vue'
 import BaseEmpty from '../../components/BaseEmpty.vue'
+import { parseDate } from '../../utils/format.js'
 
 var ELEMENT_MAP = {
   'mind': 'fire', 'body': 'earth', 'wisdom': 'metal',
@@ -114,7 +115,8 @@ export default {
     },
     formatTime(dateStr) {
       if (!dateStr) return ''
-      var d = new Date(dateStr)
+      var d = parseDate(dateStr)
+      if (!d) return ''
       var month = d.getMonth() + 1
       var day = d.getDate()
       var hour = d.getHours()

+ 3 - 1
cfc-frontend/pages/family/add-member.vue

@@ -89,6 +89,7 @@
 <script>
 import { addFamilyMember, updateFamilyMember } from '../../utils/api.js'
 import GenerationPicker from '../../components/GenerationPicker.vue'
+import { parseDate } from '../../utils/format.js'
 
 export default {
 components: { GenerationPicker },
@@ -130,7 +131,8 @@ return gender ? gender.label : ''
 },
 calculatedAge() {
 if (!this.form.birthday) return ''
-var birth = new Date(this.form.birthday)
+var birth = parseDate(this.form.birthday)
+if (!birth) return ''
 var today = new Date()
 var age = today.getFullYear() - birth.getFullYear()
 var monthDiff = today.getMonth() - birth.getMonth()

+ 3 - 1
cfc-frontend/pages/family/self-check-result.vue

@@ -131,6 +131,7 @@
 
 <script>
 import { getSelfCheckLatest, getSelfCheckHistory } from '@/utils/api'
+import { parseDate } from '@/utils/format.js'
 
 export default {
   data() {
@@ -315,7 +316,8 @@ export default {
       if (!dateStr) {
         return ''
       }
-      var d = new Date(dateStr)
+      var d = parseDate(dateStr)
+      if (!d) return ''
       var pad = function(n) { return n < 10 ? '0' + n : '' + n }
       return d.getFullYear() + '-' + pad(d.getMonth() + 1) + '-' + pad(d.getDate()) + ' ' + pad(d.getHours()) + ':' + pad(d.getMinutes())
     },