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
|
@override
|
||||||
Future<JournalEntry> createJournal(JournalEntry entry) async {
|
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>;
|
final body = response.data as Map<String, dynamic>;
|
||||||
return JournalEntry.fromJson(body['data'] as Map<String, dynamic>);
|
return JournalEntry.fromJson(body['data'] as Map<String, dynamic>);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -153,9 +153,7 @@ start_app() {
|
|||||||
|
|
||||||
log_info "编译并启动 Flutter Web..."
|
log_info "编译并启动 Flutter Web..."
|
||||||
cd /g/nj/app
|
cd /g/nj/app
|
||||||
# --web-renderer html: 使用浏览器原生渲染,避免 CanvasKit 从 Google Fonts CDN 加载中文字体
|
D:/flutter/bin/flutter.bat run -d chrome --web-port=$APP_PORT &
|
||||||
# 面向中国国内市场,不可依赖外部 CDN
|
|
||||||
D:/flutter/bin/flutter.bat run -d chrome --web-port=$APP_PORT --web-renderer html &
|
|
||||||
|
|
||||||
log_info "等待学生端就绪..."
|
log_info "等待学生端就绪..."
|
||||||
for i in $(seq 1 30); do
|
for i in $(seq 1 30); do
|
||||||
|
|||||||
Reference in New Issue
Block a user