diff --git a/lib/common/pages/wow_web_page.dart b/lib/common/pages/wow_web_page.dart index 55743df..61d5028 100644 --- a/lib/common/pages/wow_web_page.dart +++ b/lib/common/pages/wow_web_page.dart @@ -61,7 +61,12 @@ class _WowWebViewPageState extends State { appBar: WEAppBar( titleText: widget.webViewTitle, ), - body: WebViewWidget(controller: _controller,), + body: Container( + color: Colors.white, + child: SafeArea( + child: WebViewWidget(controller: _controller,), + ) + ), ); } } diff --git a/lib/generated/json/course_entity.g.dart b/lib/generated/json/course_entity.g.dart index 9e8b37d..31295b0 100644 --- a/lib/generated/json/course_entity.g.dart +++ b/lib/generated/json/course_entity.g.dart @@ -86,6 +86,10 @@ CourseCourseLessons $CourseCourseLessonsFromJson(Map json) { if (status != null) { courseCourseLessons.status = status; } + final String? courseModuleThemeColor = jsonConvert.convert(json['courseModuleThemeColor']); + if (courseModuleThemeColor != null) { + courseCourseLessons.courseModuleThemeColor = courseModuleThemeColor; + } return courseCourseLessons; } @@ -103,5 +107,6 @@ Map $CourseCourseLessonsToJson(CourseCourseLessons entity) { data['name'] = entity.name; data['sortOrder'] = entity.sortOrder; data['status'] = entity.status; + data['courseModuleThemeColor'] = entity.courseModuleThemeColor; return data; } \ No newline at end of file diff --git a/lib/main.dart b/lib/main.dart index 1a00d79..e67d6a1 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,9 +1,8 @@ import 'dart:io'; + import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:limiting_direction_csx/limiting_direction_csx.dart'; import 'package:wow_english/app/app.dart'; -import 'package:flutter/services.dart'; void main() { ///设置设备默认方向 diff --git a/lib/models/course_entity.dart b/lib/models/course_entity.dart index a58a578..52109ac 100644 --- a/lib/models/course_entity.dart +++ b/lib/models/course_entity.dart @@ -36,6 +36,7 @@ class CourseCourseLessons { String? name; int? sortOrder; int? status; + String? courseModuleThemeColor; CourseCourseLessons(); diff --git a/lib/pages/home/home_page.dart b/lib/pages/home/home_page.dart index 6604eba..cc579a2 100644 --- a/lib/pages/home/home_page.dart +++ b/lib/pages/home/home_page.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:wow_english/app/app.dart'; import 'package:wow_english/common/core/user_util.dart'; import 'package:wow_english/common/extension/string_extension.dart'; import 'package:wow_english/models/course_entity.dart'; diff --git a/lib/pages/home/widgets/home_tab_header_widget.dart b/lib/pages/home/widgets/home_tab_header_widget.dart index dc2f732..6cb97d4 100644 --- a/lib/pages/home/widgets/home_tab_header_widget.dart +++ b/lib/pages/home/widgets/home_tab_header_widget.dart @@ -71,10 +71,10 @@ class HomeTabHeaderWidget extends StatelessWidget { 20.horizontalSpace, const Expanded( child: Text( - 'learn wow', - textAlign: TextAlign.left, - style: TextStyle(color: Colors.white, fontSize: 30.0), - )), + 'learn wow', + textAlign: TextAlign.left, + style: TextStyle(color: Colors.white, fontSize: 30.0), + )), IconButton( onPressed: () { if (actionTap != null) { @@ -106,7 +106,7 @@ class HomeTabHeaderWidget extends StatelessWidget { // ), ScreenUtil().bottomBarHeight.horizontalSpace, ], - ), + ) ); } } diff --git a/lib/pages/home/widgets/home_vidoe_item.dart b/lib/pages/home/widgets/home_vidoe_item.dart index 0df7216..b046154 100644 --- a/lib/pages/home/widgets/home_vidoe_item.dart +++ b/lib/pages/home/widgets/home_vidoe_item.dart @@ -12,17 +12,18 @@ class HomeVideoItem extends StatelessWidget { @override Widget build(BuildContext context) { return Padding( - padding: EdgeInsets.symmetric(horizontal: 12.w), + padding: EdgeInsets.symmetric(horizontal: 12.w,vertical: 24.h), child: Container( width: 165.w, padding: EdgeInsets.symmetric(horizontal: 16.w,vertical: 24.h), decoration: BoxDecoration( image: DecorationImage( image: AssetImage('gendubeij'.assetPng), + fit: BoxFit.fill ), ), child: Column( - mainAxisAlignment: MainAxisAlignment.spaceAround, + mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Expanded( child: Container( @@ -35,7 +36,7 @@ class HomeVideoItem extends StatelessWidget { ), child: OwImageWidget( name: lessons?.coverUrl??'', - fit: BoxFit.fill, + fit: BoxFit.fitHeight, ), )), 24.verticalSpace, diff --git a/lib/pages/listen/widgets/listen_item_widget.dart b/lib/pages/listen/widgets/listen_item_widget.dart index 369ae18..bd896fd 100644 --- a/lib/pages/listen/widgets/listen_item_widget.dart +++ b/lib/pages/listen/widgets/listen_item_widget.dart @@ -25,7 +25,7 @@ class ListenItemWidget extends StatelessWidget { clickEvent.call(); }, child: ClipRRect( - borderRadius:BorderRadius.circular(90.r), + borderRadius:BorderRadius.circular(90.h), child: Stack( alignment:Alignment.center, children: [ diff --git a/lib/pages/login/forgetpwd/bloc/forget_pwd_home_bloc.dart b/lib/pages/login/forgetpwd/bloc/forget_pwd_home_bloc.dart index e3c4a8a..1d34c74 100644 --- a/lib/pages/login/forgetpwd/bloc/forget_pwd_home_bloc.dart +++ b/lib/pages/login/forgetpwd/bloc/forget_pwd_home_bloc.dart @@ -1,6 +1,9 @@ import 'package:common_utils/common_utils.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:wow_english/common/request/dao/user_dao.dart'; +import 'package:wow_english/common/request/exception.dart'; +import 'package:wow_english/utils/loading.dart'; import 'package:wow_english/utils/toast_util.dart'; part 'forget_pwd_home_event.dart'; @@ -65,5 +68,21 @@ class ForgetPwdHomeBloc extends Bloc { emitter(SetPwdCheckCodeState()); } - void _sendSmsCode(SendSmsCodeEvent event, Emitter emitter) async {} + void _sendSmsCode(SendSmsCodeEvent event, Emitter emitter) async { + final phoneNumber = phoneNumController.text; + if (!RegexUtil.isMobileExact(phoneNumber)) { + showToast('请检查手机号'); + return; + } + try { + await loading(() async { + await UserDao.sendCode(phoneNumber,smsType:'change_passWord'); + }); + emitter(SendSmsCodeState()); + } catch (e) { + if(e is ApiException) { + showToast(e.message??'网络请求失败'); + } + } + } } diff --git a/lib/pages/repeataftercontent/repeat_after_content_page.dart b/lib/pages/repeataftercontent/repeat_after_content_page.dart index 6cfc047..c6329fb 100644 --- a/lib/pages/repeataftercontent/repeat_after_content_page.dart +++ b/lib/pages/repeataftercontent/repeat_after_content_page.dart @@ -39,7 +39,7 @@ class _RepeatAfterContentPage extends StatelessWidget { Widget build(BuildContext context) { return BlocListener( listener: (context,state){ - debugPrint('123'); + }, child: _repeatAfterContentView(), ); @@ -56,7 +56,6 @@ class _RepeatAfterContentPage extends StatelessWidget { children: [ ///返回 Positioned( - top: 13.h, child: GestureDetector( onTap: () => popPage(), child: Image.asset( @@ -68,7 +67,7 @@ class _RepeatAfterContentPage extends StatelessWidget { ), ///左侧视频区 Positioned( - top: 53.h, + top: 40.h, left: 20.w, child: Container( width: 285.w, @@ -85,8 +84,8 @@ class _RepeatAfterContentPage extends StatelessWidget { ), ///右侧操作区 Positioned( - top: 53.h, - right: 25.w, + top: 40.h, + left: 331.w, child: Container( width: 240.w, height: 299.h, @@ -103,8 +102,9 @@ class _RepeatAfterContentPage extends StatelessWidget { child: bloc.isRecord?_buildLongPressWidget():_buildPlayVideoWidget(), ), ), + ///连接 Positioned( - top: 72.h, + top: 59.h, left: 274.w, child: Container( width: 87.w, @@ -119,7 +119,7 @@ class _RepeatAfterContentPage extends StatelessWidget { ), ///跟读 Positioned( - top: 29.h, + top: 16.h, left: 65.w, child: Container( width: 185.w, @@ -130,6 +130,7 @@ class _RepeatAfterContentPage extends StatelessWidget { fit: BoxFit.fill ), ), + alignment: Alignment.center, child: Text( 'read title', textAlign: TextAlign.center,