feat(app): 初始化 Flutter 前端项目 (Phase F0)
- Flutter 3.44.0 + Dart 3.12.0 - 设计系统: 7色Token×浅/深模式, NotoSansSC/Caveat字体, 圆角10/16/22/28/pill, 三级阴影 - ResponsiveScaffold: 手机底部TabBar / 平板侧边Rail / 桌面三栏 - go_router 路由表: 13个页面 (5个Tab + 8个全屏页面) - 13个功能模块占位页面 (home/calendar/mood/search/profile/editor/auth/class/teacher/parent/achievement/stickers/templates) - 依赖: flutter_bloc, go_router, freezed, isar, dio, perfect_freehand, fl_chart - 中国镜像: PUB_HOSTED_URL + FLUTTER_STORAGE_BASE_URL - flutter analyze: No issues found
This commit is contained in:
14
app/lib/features/achievement/views/achievement_page.dart
Normal file
14
app/lib/features/achievement/views/achievement_page.dart
Normal file
@@ -0,0 +1,14 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class AchievementPage extends StatelessWidget {
|
||||
const AchievementPage({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return const Scaffold(
|
||||
body: Center(
|
||||
child: Text('成就 - 占位页面'),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
14
app/lib/features/auth/views/login_page.dart
Normal file
14
app/lib/features/auth/views/login_page.dart
Normal file
@@ -0,0 +1,14 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class LoginPage extends StatelessWidget {
|
||||
const LoginPage({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return const Scaffold(
|
||||
body: Center(
|
||||
child: Text('登录 - 占位页面'),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
14
app/lib/features/calendar/views/calendar_page.dart
Normal file
14
app/lib/features/calendar/views/calendar_page.dart
Normal file
@@ -0,0 +1,14 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class CalendarPage extends StatelessWidget {
|
||||
const CalendarPage({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return const Scaffold(
|
||||
body: Center(
|
||||
child: Text('日历 - 占位页面'),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
14
app/lib/features/class_/views/class_page.dart
Normal file
14
app/lib/features/class_/views/class_page.dart
Normal file
@@ -0,0 +1,14 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class ClassPage extends StatelessWidget {
|
||||
const ClassPage({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return const Scaffold(
|
||||
body: Center(
|
||||
child: Text('班级 - 占位页面'),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
20
app/lib/features/editor/views/editor_page.dart
Normal file
20
app/lib/features/editor/views/editor_page.dart
Normal file
@@ -0,0 +1,20 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class EditorPage extends StatelessWidget {
|
||||
final String? journalId;
|
||||
|
||||
const EditorPage({super.key, this.journalId});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
body: Center(
|
||||
child: Text(
|
||||
journalId != null
|
||||
? '编辑日记 ($journalId) - 占位页面'
|
||||
: '新建日记 - 占位页面',
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
14
app/lib/features/home/views/home_page.dart
Normal file
14
app/lib/features/home/views/home_page.dart
Normal file
@@ -0,0 +1,14 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class HomePage extends StatelessWidget {
|
||||
const HomePage({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return const Scaffold(
|
||||
body: Center(
|
||||
child: Text('首页 - 占位页面'),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
14
app/lib/features/mood/views/mood_page.dart
Normal file
14
app/lib/features/mood/views/mood_page.dart
Normal file
@@ -0,0 +1,14 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class MoodPage extends StatelessWidget {
|
||||
const MoodPage({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return const Scaffold(
|
||||
body: Center(
|
||||
child: Text('心情 - 占位页面'),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
14
app/lib/features/parent/views/parent_page.dart
Normal file
14
app/lib/features/parent/views/parent_page.dart
Normal file
@@ -0,0 +1,14 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class ParentPage extends StatelessWidget {
|
||||
const ParentPage({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return const Scaffold(
|
||||
body: Center(
|
||||
child: Text('家长 - 占位页面'),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
14
app/lib/features/profile/views/profile_page.dart
Normal file
14
app/lib/features/profile/views/profile_page.dart
Normal file
@@ -0,0 +1,14 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class ProfilePage extends StatelessWidget {
|
||||
const ProfilePage({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return const Scaffold(
|
||||
body: Center(
|
||||
child: Text('我的 - 占位页面'),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
14
app/lib/features/search/views/search_page.dart
Normal file
14
app/lib/features/search/views/search_page.dart
Normal file
@@ -0,0 +1,14 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class SearchPage extends StatelessWidget {
|
||||
const SearchPage({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return const Scaffold(
|
||||
body: Center(
|
||||
child: Text('搜索 - 占位页面'),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
14
app/lib/features/stickers/views/sticker_library_page.dart
Normal file
14
app/lib/features/stickers/views/sticker_library_page.dart
Normal file
@@ -0,0 +1,14 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class StickerLibraryPage extends StatelessWidget {
|
||||
const StickerLibraryPage({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return const Scaffold(
|
||||
body: Center(
|
||||
child: Text('贴纸库 - 占位页面'),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
14
app/lib/features/teacher/views/teacher_page.dart
Normal file
14
app/lib/features/teacher/views/teacher_page.dart
Normal file
@@ -0,0 +1,14 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class TeacherPage extends StatelessWidget {
|
||||
const TeacherPage({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return const Scaffold(
|
||||
body: Center(
|
||||
child: Text('教师 - 占位页面'),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
14
app/lib/features/templates/views/template_gallery_page.dart
Normal file
14
app/lib/features/templates/views/template_gallery_page.dart
Normal file
@@ -0,0 +1,14 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class TemplateGalleryPage extends StatelessWidget {
|
||||
const TemplateGalleryPage({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return const Scaffold(
|
||||
body: Center(
|
||||
child: Text('模板画廊 - 占位页面'),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user