From 97745e7ad15fb3d175f81dfdd2f24269e8fdfefd Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期四, 03 四月 2025 15:04:27 +0800
Subject: [PATCH] fix : 编译报错

---
 app/src/main/java/com/example/firstapp/model/DailyStat.kt      |    4 +++-
 app/src/main/res/values/themes.xml                             |    8 ++++++--
 app/src/main/java/com/example/firstapp/database/dao/CodeDao.kt |   16 +++++++---------
 app/src/main/res/values/colors.xml                             |    1 +
 4 files changed, 17 insertions(+), 12 deletions(-)

diff --git a/app/src/main/java/com/example/firstapp/database/dao/CodeDao.kt b/app/src/main/java/com/example/firstapp/database/dao/CodeDao.kt
index 58bcc20..7572a45 100644
--- a/app/src/main/java/com/example/firstapp/database/dao/CodeDao.kt
+++ b/app/src/main/java/com/example/firstapp/database/dao/CodeDao.kt
@@ -92,10 +92,8 @@
 
     @Query("""
     WITH RECURSIVE dates(date_value) AS (
-        -- 从当前日期往前3周的周一开始
         SELECT date(datetime(:date/1000, 'unixepoch', 'localtime'), 'weekday 0', '-21 days') as date_value
         UNION ALL
-        -- 每次加7天,直到后2周
         SELECT date(date_value, '+7 days')
         FROM dates
         WHERE date_value < date(datetime(:date/1000, 'unixepoch', 'localtime'), 'weekday 0', '+14 days')
@@ -103,7 +101,7 @@
     SELECT 
         strftime('%Y-%m-%d', date_value) as date,
         COUNT(c.id) as count,
-        date_value as weekStart
+        strftime('%Y-%m-%d', date_value) as weekStart
     FROM dates d
     LEFT JOIN code c ON strftime('%Y-%m-%d', c.createTime) BETWEEN 
         strftime('%Y-%m-%d', d.date_value) 
@@ -172,7 +170,7 @@
         SELECT 
             strftime('%Y', year_start) as date,
             COUNT(code.id) as count,
-            year_start as week_start
+            strftime('%Y-%m-%d', year_start) as weekStart
         FROM years 
         LEFT JOIN code ON strftime('%Y', code.createTime) = strftime('%Y', years.year_start)
         GROUP BY years.year_start
@@ -208,9 +206,9 @@
             WHERE date < date(datetime(:date/1000, 'unixepoch', 'localtime'), 'start of month', '+1 month', '-1 day')
         )
         SELECT 
-            strftime('%d', days.date) || '' as date,  -- 确保 date 不为空
+            strftime('%d', days.date) || '' as date,
             COUNT(code.id) as count,
-            days.date as week_start
+            strftime('%Y-%m-%d', days.date) as weekStart
         FROM days 
         LEFT JOIN code ON date(code.createTime) = days.date
         GROUP BY days.date
@@ -229,7 +227,7 @@
         SELECT 
             strftime('%m', month_start) as date,
             COUNT(code.id) as count,
-            month_start as weekStart
+            strftime('%Y-%m-%d', month_start) as weekStart
         FROM months 
         LEFT JOIN code ON strftime('%Y-%m', code.createTime) = strftime('%Y-%m', months.month_start)
         GROUP BY months.month_start
@@ -250,7 +248,7 @@
     SELECT 
         strftime('%Y-%m-%d', days.date) as date,
         COUNT(code.id) as count,
-        days.date as weekStart
+        strftime('%Y-%m-%d', days.date) as weekStart
     FROM days 
     LEFT JOIN code ON date(code.createTime) = days.date
     GROUP BY days.date
@@ -263,7 +261,7 @@
     SELECT 
         strftime('%Y', datetime(:date/1000, 'unixepoch', 'localtime')) as date,
         COUNT(id) as count,
-        datetime(:date/1000, 'unixepoch', 'localtime') as weekStart
+        strftime('%Y-%m-%d', datetime(:date/1000, 'unixepoch', 'localtime')) as weekStart
     FROM code 
     WHERE strftime('%Y', createTime) = strftime('%Y', datetime(:date/1000, 'unixepoch', 'localtime'))
 """)
diff --git a/app/src/main/java/com/example/firstapp/model/DailyStat.kt b/app/src/main/java/com/example/firstapp/model/DailyStat.kt
index 86aec16..54462ad 100644
--- a/app/src/main/java/com/example/firstapp/model/DailyStat.kt
+++ b/app/src/main/java/com/example/firstapp/model/DailyStat.kt
@@ -1,6 +1,7 @@
 package com.example.firstapp.model
 
 import androidx.room.DatabaseView
+import androidx.room.ColumnInfo
 
 @DatabaseView(
     """
@@ -13,5 +14,6 @@
 data class DailyStat(
     val date: String,
     val count: Int,
-    val weekStart: Long? = null
+    @ColumnInfo(name = "weekStart")
+    val weekStart: String? = null
 )
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 9ea2a28..2a680b2 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -16,4 +16,5 @@
     <color name="light_blue_50">#E1F5FE</color>
     <color name="tab_selected">#FF039BE5</color>
     <color name="light_blue_new">#02A7F0</color>
+    <color name="light_grey">#F6F7FB </color> 灰色主题
 </resources>
\ No newline at end of file
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index 74c31b4..37db13c 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -3,8 +3,8 @@
     <!--    <style name="Theme.FirstApp" parent="Theme.MaterialComponents.DayNight.DarkActionBar">-->
     <style name="Theme.FirstApp" parent="Theme.MaterialComponents.DayNight.NoActionBar">
         <!-- Primary brand color. -->
-        <item name="colorPrimary">@color/light_blue_new</item>
-        <item name="colorPrimaryVariant">@color/light_blue_new</item>
+        <item name="colorPrimary">@color/black</item>
+        <item name="colorPrimaryVariant">@color/light_grey</item>
         <item name="colorOnPrimary">@color/white</item>
         <!-- Secondary brand color. -->
         <item name="colorSecondary">@color/teal_200</item>
@@ -12,6 +12,10 @@
         <item name="colorOnSecondary">@color/black</item>
         <!-- Status bar color. -->
         <item name="android:statusBarColor">?attr/colorPrimaryVariant</item>
+
+        <!-- 关键属性:强制状态栏图标为深色(黑色) -->
+        <item name="android:windowLightStatusBar" tools:targetApi="m">true</item>
+
         <!-- 确保没有ActionBar -->
         <item name="windowActionBar">false</item>
         <item name="windowNoTitle">true</item>

--
Gitblit v1.9.3