fix: 修复推荐码文字颜色并统一恢复账号页面为龙虎榜风格

向导页修复:
- 推荐码输入框文字改为黑色,确保可见性

恢复账号页面重构:
- 背景改为与龙虎榜一致的渐变色(浅米色到浅橙色)
- 所有文字颜色改为棕色系,与背景协调
- 边框颜色改为金棕色(#D4A574)
- 登录按钮改为深棕色(#8B5A2B)
- 移除 AppBar,使用自定义顶部导航栏
- 保持 100% Flutter 兼容性和最佳实践

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
hailin 2025-12-21 03:39:04 -08:00
parent 6bbd4a6c78
commit 9e26b2750f
2 changed files with 76 additions and 45 deletions

View File

@ -610,7 +610,7 @@ class _WelcomePageContentState extends ConsumerState<_WelcomePageContent> {
), ),
style: TextStyle( style: TextStyle(
fontSize: 17.sp, fontSize: 17.sp,
color: const Color(0xFFFFD700), color: Colors.black,
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,
letterSpacing: 0.5, letterSpacing: 0.5,
), ),

View File

@ -128,30 +128,29 @@ class _PhoneLoginPageState extends ConsumerState<PhoneLoginPage> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
backgroundColor: Colors.white, body: Container(
appBar: AppBar( decoration: const BoxDecoration(
backgroundColor: Colors.white, gradient: LinearGradient(
elevation: 0, begin: Alignment.topCenter,
leading: IconButton( end: Alignment.bottomCenter,
icon: const Icon(Icons.arrow_back_ios, color: Color(0xFF333333)), colors: [
onPressed: () => context.pop(), Color(0xFFFFF5E6), //
), Color(0xFFEAE0C8), //
title: Text( ],
'恢复账号',
style: TextStyle(
fontSize: 18.sp,
fontWeight: FontWeight.w600,
color: const Color(0xFF333333),
), ),
), ),
centerTitle: true,
),
body: GestureDetector(
onTap: () => FocusScope.of(context).unfocus(),
child: SafeArea( child: SafeArea(
child: SingleChildScrollView( child: Column(
padding: EdgeInsets.symmetric(horizontal: 24.w), children: [
child: Column( //
_buildAppBar(),
//
Expanded(
child: GestureDetector(
onTap: () => FocusScope.of(context).unfocus(),
child: SingleChildScrollView(
padding: EdgeInsets.symmetric(horizontal: 24.w),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
SizedBox(height: 32.h), SizedBox(height: 32.h),
@ -161,7 +160,7 @@ class _PhoneLoginPageState extends ConsumerState<PhoneLoginPage> {
style: TextStyle( style: TextStyle(
fontSize: 24.sp, fontSize: 24.sp,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
color: const Color(0xFF333333), color: const Color(0xFF5D4037),
), ),
), ),
SizedBox(height: 8.h), SizedBox(height: 8.h),
@ -169,7 +168,7 @@ class _PhoneLoginPageState extends ConsumerState<PhoneLoginPage> {
'输入您的手机号和密码', '输入您的手机号和密码',
style: TextStyle( style: TextStyle(
fontSize: 14.sp, fontSize: 14.sp,
color: const Color(0xFF999999), color: const Color(0xFF8B6F47),
), ),
), ),
SizedBox(height: 32.h), SizedBox(height: 32.h),
@ -192,11 +191,43 @@ class _PhoneLoginPageState extends ConsumerState<PhoneLoginPage> {
SizedBox(height: 24.h), SizedBox(height: 24.h),
// //
_buildRegisterHint(), _buildRegisterHint(),
SizedBox(height: 32.h), SizedBox(height: 32.h),
], ],
),
),
),
),
],
),
),
),
);
}
///
Widget _buildAppBar() {
return Container(
height: 56.h,
padding: EdgeInsets.symmetric(horizontal: 8.w),
child: Row(
children: [
IconButton(
icon: const Icon(Icons.arrow_back_ios, color: Color(0xFF5D4037)),
onPressed: () => context.pop(),
),
Expanded(
child: Text(
'恢复账号',
style: TextStyle(
fontSize: 18.sp,
fontWeight: FontWeight.w600,
color: const Color(0xFF5D4037),
),
textAlign: TextAlign.center,
), ),
), ),
), SizedBox(width: 48.w), //
],
), ),
); );
} }
@ -210,7 +241,7 @@ class _PhoneLoginPageState extends ConsumerState<PhoneLoginPage> {
'手机号', '手机号',
style: TextStyle( style: TextStyle(
fontSize: 14.sp, fontSize: 14.sp,
color: const Color(0xFF666666), color: const Color(0xFF5D4037),
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,
), ),
), ),
@ -220,7 +251,7 @@ class _PhoneLoginPageState extends ConsumerState<PhoneLoginPage> {
decoration: BoxDecoration( decoration: BoxDecoration(
border: Border( border: Border(
bottom: BorderSide( bottom: BorderSide(
color: const Color(0xFFE0E0E0), color: const Color(0xFFD4A574),
width: 1, width: 1,
), ),
), ),
@ -235,14 +266,14 @@ class _PhoneLoginPageState extends ConsumerState<PhoneLoginPage> {
], ],
style: TextStyle( style: TextStyle(
fontSize: 16.sp, fontSize: 16.sp,
color: const Color(0xFF333333), color: const Color(0xFF5D4037),
fontWeight: FontWeight.w500, fontWeight: FontWeight.w500,
), ),
decoration: InputDecoration( decoration: InputDecoration(
hintText: '请输入手机号', hintText: '请输入手机号',
hintStyle: TextStyle( hintStyle: TextStyle(
fontSize: 16.sp, fontSize: 16.sp,
color: const Color(0xFFCCCCCC), color: const Color(0xFFB8956A),
), ),
border: InputBorder.none, border: InputBorder.none,
isDense: false, isDense: false,
@ -268,7 +299,7 @@ class _PhoneLoginPageState extends ConsumerState<PhoneLoginPage> {
'密码', '密码',
style: TextStyle( style: TextStyle(
fontSize: 14.sp, fontSize: 14.sp,
color: const Color(0xFF666666), color: const Color(0xFF5D4037),
fontWeight: FontWeight.w600, fontWeight: FontWeight.w600,
), ),
), ),
@ -278,7 +309,7 @@ class _PhoneLoginPageState extends ConsumerState<PhoneLoginPage> {
decoration: BoxDecoration( decoration: BoxDecoration(
border: Border( border: Border(
bottom: BorderSide( bottom: BorderSide(
color: const Color(0xFFE0E0E0), color: const Color(0xFFD4A574),
width: 1, width: 1,
), ),
), ),
@ -292,14 +323,14 @@ class _PhoneLoginPageState extends ConsumerState<PhoneLoginPage> {
obscureText: _obscurePassword, obscureText: _obscurePassword,
style: TextStyle( style: TextStyle(
fontSize: 16.sp, fontSize: 16.sp,
color: const Color(0xFF333333), color: const Color(0xFF5D4037),
fontWeight: FontWeight.w500, fontWeight: FontWeight.w500,
), ),
decoration: InputDecoration( decoration: InputDecoration(
hintText: '请输入密码', hintText: '请输入密码',
hintStyle: TextStyle( hintStyle: TextStyle(
fontSize: 16.sp, fontSize: 16.sp,
color: const Color(0xFFCCCCCC), color: const Color(0xFFB8956A),
), ),
border: InputBorder.none, border: InputBorder.none,
isDense: false, isDense: false,
@ -322,7 +353,7 @@ class _PhoneLoginPageState extends ConsumerState<PhoneLoginPage> {
}, },
child: Icon( child: Icon(
_obscurePassword ? Icons.visibility_off : Icons.visibility, _obscurePassword ? Icons.visibility_off : Icons.visibility,
color: const Color(0xFF999999), color: const Color(0xFF8B6F47),
size: 20.sp, size: 20.sp,
), ),
), ),
@ -380,9 +411,9 @@ class _PhoneLoginPageState extends ConsumerState<PhoneLoginPage> {
onPressed: canLogin ? _login : null, onPressed: canLogin ? _login : null,
style: ElevatedButton.styleFrom( style: ElevatedButton.styleFrom(
backgroundColor: canLogin backgroundColor: canLogin
? const Color(0xFFD4A84B) ? const Color(0xFF8B5A2B)
: const Color(0xFFE0E0E0), : const Color(0xFFD4C4B0),
disabledBackgroundColor: const Color(0xFFE0E0E0), disabledBackgroundColor: const Color(0xFFD4C4B0),
shape: RoundedRectangleBorder( shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(12.r), borderRadius: BorderRadius.circular(12.r),
), ),
@ -402,7 +433,7 @@ class _PhoneLoginPageState extends ConsumerState<PhoneLoginPage> {
style: TextStyle( style: TextStyle(
fontSize: 16.sp, fontSize: 16.sp,
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
color: canLogin ? Colors.white : const Color(0xFFCCCCCC), color: canLogin ? Colors.white : const Color(0xFFB8956A),
), ),
), ),
), ),
@ -415,7 +446,7 @@ class _PhoneLoginPageState extends ConsumerState<PhoneLoginPage> {
children: [ children: [
Expanded( Expanded(
child: Divider( child: Divider(
color: const Color(0xFFE0E0E0), color: const Color(0xFFD4A574),
thickness: 1, thickness: 1,
), ),
), ),
@ -425,14 +456,14 @@ class _PhoneLoginPageState extends ConsumerState<PhoneLoginPage> {
'', '',
style: TextStyle( style: TextStyle(
fontSize: 14.sp, fontSize: 14.sp,
color: const Color(0xFF999999), color: const Color(0xFF8B6F47),
fontWeight: FontWeight.w500, fontWeight: FontWeight.w500,
), ),
), ),
), ),
Expanded( Expanded(
child: Divider( child: Divider(
color: const Color(0xFFE0E0E0), color: const Color(0xFFD4A574),
thickness: 1, thickness: 1,
), ),
), ),
@ -450,7 +481,7 @@ class _PhoneLoginPageState extends ConsumerState<PhoneLoginPage> {
'还没有账号?', '还没有账号?',
style: TextStyle( style: TextStyle(
fontSize: 14.sp, fontSize: 14.sp,
color: const Color(0xFF999999), color: const Color(0xFF8B6F47),
fontWeight: FontWeight.w500, fontWeight: FontWeight.w500,
), ),
), ),
@ -464,7 +495,7 @@ class _PhoneLoginPageState extends ConsumerState<PhoneLoginPage> {
'立即注册', '立即注册',
style: TextStyle( style: TextStyle(
fontSize: 14.sp, fontSize: 14.sp,
color: const Color(0xFFD4A84B), color: const Color(0xFF8B5A2B),
fontWeight: FontWeight.w700, fontWeight: FontWeight.w700,
), ),
), ),