refactor: 将前端从 uni-app x 重构为 Flutter

变更内容:
- 删除 uni-app x 项目 (app/ 目录)
- 新增 Flutter 项目 (flutter_monisuo/ 目录)
- 新增部署脚本 (deploy/ 目录)

Flutter 项目功能:
- 用户登录/注册
- 首页资产概览
- 行情币种列表
- 交易买卖操作
- 资产账户管理
- 充值/提现/划转
- 深色主题
- JWT Token 认证

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
sion
2026-03-22 00:21:21 +08:00
parent 7694a34ade
commit ffac6fc267
67 changed files with 4396 additions and 3097 deletions

View File

@@ -0,0 +1,96 @@
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'core/constants/app_colors.dart';
import 'core/network/dio_client.dart';
import 'core/storage/local_storage.dart';
import 'core/theme/app_theme.dart';
import 'data/services/user_service.dart';
import 'data/services/market_service.dart';
import 'data/services/trade_service.dart';
import 'data/services/asset_service.dart';
import 'data/services/fund_service.dart';
import 'providers/auth_provider.dart';
import 'providers/market_provider.dart';
import 'providers/asset_provider.dart';
import 'ui/pages/auth/login_page.dart';
import 'ui/pages/main/main_page.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
// 初始化本地存储
final prefs = await SharedPreferences.getInstance();
await LocalStorage.init();
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MultiProvider(
providers: [
// 服务
Provider<DioClient>(create: (_) => DioClient()),
ProxyProvider<DioClient, UserService>(
create: (_) => throw UnimplementedError(),
update: (_, client) => UserService(client),
),
ProxyProvider<DioClient, MarketService>(
create: (_) => throw UnimplementedError(),
update: (_, client) => MarketService(client),
),
ProxyProvider<DioClient, TradeService>(
create: (_) => throw UnimplementedError(),
update: (_, client) => TradeService(client),
),
ProxyProvider<DioClient, AssetService>(
create: (_) => throw UnimplementedError(),
update: (_, client) => AssetService(client),
),
ProxyProvider<DioClient, FundService>(
create: (_) => throw UnimplementedError(),
update: (_, client) => FundService(client),
),
// 状态管理
ProxyProvider2<UserService, DioClient, AuthProvider>(
create: (_) => throw UnimplementedError(),
update: (_, userService, __) => AuthProvider(userService),
),
ProxyProvider<MarketService, MarketProvider>(
create: (_) => throw UnimplementedError(),
update: (_, service) => MarketProvider(service),
),
ProxyProvider2<AssetService, FundService, AssetProvider>(
create: (_) => throw UnimplementedError(),
update: (_, assetService, fundService) => AssetProvider(assetService, fundService),
),
],
child: MaterialApp(
title: '模拟所',
debugShowCheckedModeBanner: false,
theme: AppTheme.darkTheme,
home: Consumer<AuthProvider>(
builder: (context, auth, _) {
if (auth.isLoading) {
return const Scaffold(
backgroundColor: AppColors.background,
body: Center(
child: CircularProgressIndicator(color: AppColors.primary),
),
);
}
if (auth.isLoggedIn) {
return const MainPage();
}
return const LoginPage();
},
),
),
);
}
}