feat: 添加设置页、关于页与账号注销功能,开启网络日志

1.  新增账号注销API接口与设置页菜单,实现完整注销流程
2.  新增关于APP页面,展示隐私政策、用户协议与版本信息
3.  在我的页面添加设置入口,跳转设置页
4.  优化头像上传逻辑,移除预览弹窗步骤并简化流程
5.  开启网络日志打印,方便调试网络请求
This commit is contained in:
崔宝新
2026-09-08 15:35:56 +08:00
parent 2aa1927694
commit 7f5d160212
6 changed files with 436 additions and 138 deletions
+8
View File
@@ -89,6 +89,14 @@ class UserApi {
);
}
/// 注销账号 → POST /api/v1/User/CloseAccount
///
/// 对齐 Vue api/login: `closeAccount = () => request.post('/api/v1/User/CloseAccount')`
/// 调用方负责弹确认框 + 注销后清理本地状态。
static Future<void> closeAccount() async {
await DioClient.instance.post('/api/v1/User/CloseAccount');
}
/// MD5 加密(UniApp stringToMd5 的等价实现)
static String _md5(String text) {
return md5.convert(utf8.encode(text)).toString();
+1 -1
View File
@@ -38,7 +38,7 @@ import 'package:talker_dio_logger/talker_dio_logger.dart';
/// ============================================================
class DioClient {
/// 网络日志总开关:true = 控制台打印请求/响应数据,false = 静默
static const bool enableNetworkLog = false;
static const bool enableNetworkLog = true;
// ---------- 1. 单例:整个 App 只有一个 Dio ----------
DioClient._()
+4
View File
@@ -13,6 +13,8 @@ import 'package:new_learn/features/class/my_update_detail_page.dart';
import 'package:new_learn/core/api/class/model.dart';
import 'package:new_learn/features/my/my_page.dart';
import 'package:new_learn/features/my/my_point/my_point_page.dart';
import 'package:new_learn/features/my/settings/settings_page.dart';
import 'package:new_learn/features/my/settings/about_app_page.dart';
import 'package:new_learn/features/recite/recite_page.dart';
import 'package:new_learn/features/task/task_page.dart';
import 'package:new_learn/core/router/main_tab_page.dart';
@@ -122,6 +124,8 @@ final GoRouter appRouter = GoRouter(
MyUpdateDetailPage(initialPost: state.extra as UserPostDto),
),
GoRoute(path: '/myPoint', builder: (_, _) => const MyPointPage()),
GoRoute(path: '/settings', builder: (_, _) => const SettingsPage()),
GoRoute(path: '/about-app', builder: (_, _) => const AboutAppPage()),
// ---------- 首次启动隐私协议页 ----------
GoRoute(
path: '/privacy-consent',