fix(app): RemoteJournalRepository 创建日记 date 格式修复 — ISO 8601 → NaiveDate
根因: JournalEntry.toJson() 发送 '2026-06-04T12:00:00.123456', 后端 CreateJournalReq.date 是 chrono::NaiveDate,只接受 '2026-06-04'。 反序列化失败导致创建日记被拒绝,前端静默吞掉错误。 修复: createJournal 发送前将 date 截取为 YYYY-MM-DD 格式。
This commit is contained in:
@@ -73,7 +73,10 @@ class RemoteJournalRepository implements JournalRepository {
|
||||
|
||||
@override
|
||||
Future<JournalEntry> createJournal(JournalEntry entry) async {
|
||||
final response = await _api.post('/diary/journals', data: entry.toJson());
|
||||
// 后端 CreateJournalReq.date 是 NaiveDate(只有日期),需转换格式
|
||||
final json = entry.toJson();
|
||||
json['date'] = entry.date.toIso8601String().substring(0, 10);
|
||||
final response = await _api.post('/diary/journals', data: json);
|
||||
final body = response.data as Map<String, dynamic>;
|
||||
return JournalEntry.fromJson(body['data'] as Map<String, dynamic>);
|
||||
}
|
||||
|
||||
@@ -153,9 +153,7 @@ start_app() {
|
||||
|
||||
log_info "编译并启动 Flutter Web..."
|
||||
cd /g/nj/app
|
||||
# --web-renderer html: 使用浏览器原生渲染,避免 CanvasKit 从 Google Fonts CDN 加载中文字体
|
||||
# 面向中国国内市场,不可依赖外部 CDN
|
||||
D:/flutter/bin/flutter.bat run -d chrome --web-port=$APP_PORT --web-renderer html &
|
||||
D:/flutter/bin/flutter.bat run -d chrome --web-port=$APP_PORT &
|
||||
|
||||
log_info "等待学生端就绪..."
|
||||
for i in $(seq 1 30); do
|
||||
|
||||
Reference in New Issue
Block a user