diff --git a/android/app/build.gradle b/android/app/build.gradle index 8448806..4b781de 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -103,7 +103,7 @@ dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" // implementation platform('com.google.firebase:firebase-bom:27.0.0') //implementation 'com.google.firebase:firebase-analytics' - //implementation 'com.amap.api:3dmap:latest.integration' + implementation 'com.amap.api:3dmap:latest.integration' implementation 'com.amap.api:location:5.2.0' - implementation 'com.android.support:multidex:1.0.3' + implementation 'com.android.support:multidex:2.0.1' } diff --git a/lib/gen/assets.gen.dart b/lib/gen/assets.gen.dart index 1522919..cd8f984 100644 --- a/lib/gen/assets.gen.dart +++ b/lib/gen/assets.gen.dart @@ -3,257 +3,128 @@ /// FlutterGen /// ***************************************************** -// ignore_for_file: directives_ordering,unnecessary_import - import 'package:flutter/widgets.dart'; class $AssetsHomeGen { const $AssetsHomeGen(); - /// File path: assets/home/app_alarm.png AssetGenImage get appAlarm => const AssetGenImage('assets/home/app_alarm.png'); - - /// File path: assets/home/bee_task.png AssetGenImage get beeTask => const AssetGenImage('assets/home/bee_task.png'); - - /// File path: assets/home/clock_in_out.png AssetGenImage get clockInOut => const AssetGenImage('assets/home/clock_in_out.png'); - - /// File path: assets/home/device_alarm.png AssetGenImage get deviceAlarm => const AssetGenImage('assets/home/device_alarm.png'); - - /// File path: assets/home/facilities.png AssetGenImage get facilities => const AssetGenImage('assets/home/facilities.png'); - - /// File path: assets/home/fire_alarm.png AssetGenImage get fireAlarm => const AssetGenImage('assets/home/fire_alarm.png'); - - /// File path: assets/home/home_back.png AssetGenImage get homeBack => const AssetGenImage('assets/home/home_back.png'); - - /// File path: assets/home/home_head.png AssetGenImage get homeHead => const AssetGenImage('assets/home/home_head.png'); - - /// File path: assets/home/house_keeping.png AssetGenImage get houseKeeping => const AssetGenImage('assets/home/house_keeping.png'); - - /// File path: assets/home/hygienice.png AssetGenImage get hygienice => const AssetGenImage('assets/home/hygienice.png'); - - /// File path: assets/home/ic_Patrol.png AssetGenImage get icPatrol => const AssetGenImage('assets/home/ic_Patrol.png'); - - /// File path: assets/home/ic_activity.png AssetGenImage get icActivity => const AssetGenImage('assets/home/ic_activity.png'); - - /// File path: assets/home/ic_all.png AssetGenImage get icAll => const AssetGenImage('assets/home/ic_all.png'); - - /// File path: assets/home/ic_article.png AssetGenImage get icArticle => const AssetGenImage('assets/home/ic_article.png'); - - /// File path: assets/home/ic_borrow.png AssetGenImage get icBorrow => const AssetGenImage('assets/home/ic_borrow.png'); - - /// File path: assets/home/ic_decoration.png AssetGenImage get icDecoration => const AssetGenImage('assets/home/ic_decoration.png'); - - /// File path: assets/home/ic_facilities.png AssetGenImage get icFacilities => const AssetGenImage('assets/home/ic_facilities.png'); - - /// File path: assets/home/ic_greening.png AssetGenImage get icGreening => const AssetGenImage('assets/home/ic_greening.png'); - - /// File path: assets/home/ic_news.png AssetGenImage get icNews => const AssetGenImage('assets/home/ic_news.png'); - - /// File path: assets/home/ic_police.png AssetGenImage get icPolice => const AssetGenImage('assets/home/ic_police.png'); - - /// File path: assets/home/ic_scan.png AssetGenImage get icScan => const AssetGenImage('assets/home/ic_scan.png'); - - /// File path: assets/home/ic_search.png AssetGenImage get icSearch => const AssetGenImage('assets/home/ic_search.png'); - - /// File path: assets/home/ic_service.png AssetGenImage get icService => const AssetGenImage('assets/home/ic_service.png'); - - /// File path: assets/home/ic_visitors.png AssetGenImage get icVisitors => const AssetGenImage('assets/home/ic_visitors.png'); - - /// File path: assets/home/interview.png AssetGenImage get interview => const AssetGenImage('assets/home/interview.png'); - - /// File path: assets/home/key.png AssetGenImage get key => const AssetGenImage('assets/home/key.png'); - - /// File path: assets/home/message.png AssetGenImage get message => const AssetGenImage('assets/home/message.png'); - - /// File path: assets/home/nearby_pet.png AssetGenImage get nearbyPet => const AssetGenImage('assets/home/nearby_pet.png'); - - /// File path: assets/home/nearby_service.png AssetGenImage get nearbyService => const AssetGenImage('assets/home/nearby_service.png'); - - /// File path: assets/home/package.png AssetGenImage get package => const AssetGenImage('assets/home/package.png'); - - /// File path: assets/home/provide_aged.png AssetGenImage get provideAged => const AssetGenImage('assets/home/provide_aged.png'); - - /// File path: assets/home/rules.png AssetGenImage get rules => const AssetGenImage('assets/home/rules.png'); - - /// File path: assets/home/second_hand_market.png AssetGenImage get secondHandMarket => const AssetGenImage('assets/home/second_hand_market.png'); - - /// File path: assets/home/share_park.png AssetGenImage get sharePark => const AssetGenImage('assets/home/share_park.png'); - - /// File path: assets/home/shopping_mall.png AssetGenImage get shoppingMall => const AssetGenImage('assets/home/shopping_mall.png'); - - /// File path: assets/home/sos.png AssetGenImage get sos => const AssetGenImage('assets/home/sos.png'); } class $AssetsIconsGen { const $AssetsIconsGen(); - /// File path: assets/icons/alarm_clock.png AssetGenImage get alarmClock => const AssetGenImage('assets/icons/alarm_clock.png'); - - /// File path: assets/icons/camera.png AssetGenImage get camera => const AssetGenImage('assets/icons/camera.png'); - - /// File path: assets/icons/cancel_task.png AssetGenImage get cancelTask => const AssetGenImage('assets/icons/cancel_task.png'); - - /// File path: assets/icons/clock_circle.png AssetGenImage get clockCircle => const AssetGenImage('assets/icons/clock_circle.png'); - - /// File path: assets/icons/connect.png AssetGenImage get connect => const AssetGenImage('assets/icons/connect.png'); - - /// File path: assets/icons/copy.png AssetGenImage get copy => const AssetGenImage('assets/icons/copy.png'); - - /// File path: assets/icons/dissatisfied.png AssetGenImage get dissatisfied => const AssetGenImage('assets/icons/dissatisfied.png'); - - /// File path: assets/icons/edit.png AssetGenImage get edit => const AssetGenImage('assets/icons/edit.png'); - - /// File path: assets/icons/environment.png AssetGenImage get environment => const AssetGenImage('assets/icons/environment.png'); - - /// File path: assets/icons/examining.png AssetGenImage get examining => const AssetGenImage('assets/icons/examining.png'); - - /// File path: assets/icons/finish_order.png AssetGenImage get finishOrder => const AssetGenImage('assets/icons/finish_order.png'); - - /// File path: assets/icons/normal.png AssetGenImage get normal => const AssetGenImage('assets/icons/normal.png'); - - /// File path: assets/icons/pass.png AssetGenImage get pass => const AssetGenImage('assets/icons/pass.png'); - - /// File path: assets/icons/phone.png AssetGenImage get phone => const AssetGenImage('assets/icons/phone.png'); - - /// File path: assets/icons/phone_circle.png AssetGenImage get phoneCircle => const AssetGenImage('assets/icons/phone_circle.png'); - - /// File path: assets/icons/record.png AssetGenImage get record => const AssetGenImage('assets/icons/record.png'); - - /// File path: assets/icons/reject.png AssetGenImage get reject => const AssetGenImage('assets/icons/reject.png'); - - /// File path: assets/icons/reward.png AssetGenImage get reward => const AssetGenImage('assets/icons/reward.png'); - - /// File path: assets/icons/satisfied.png AssetGenImage get satisfied => const AssetGenImage('assets/icons/satisfied.png'); - - /// File path: assets/icons/tag.png AssetGenImage get tag => const AssetGenImage('assets/icons/tag.png'); - - /// File path: assets/icons/task_location.png AssetGenImage get taskLocation => const AssetGenImage('assets/icons/task_location.png'); - - /// File path: assets/icons/watch.png AssetGenImage get watch => const AssetGenImage('assets/icons/watch.png'); } class $AssetsInspectionGen { const $AssetsInspectionGen(); - /// File path: assets/inspection/ic_date.png AssetGenImage get icDate => const AssetGenImage('assets/inspection/ic_date.png'); - - /// File path: assets/inspection/ic_inspection_name.png AssetGenImage get icInspectionName => const AssetGenImage('assets/inspection/ic_inspection_name.png'); - - /// File path: assets/inspection/ic_pattern.png AssetGenImage get icPattern => const AssetGenImage('assets/inspection/ic_pattern.png'); - - /// File path: assets/inspection/ic_station.png AssetGenImage get icStation => const AssetGenImage('assets/inspection/ic_station.png'); - - /// File path: assets/inspection/ic_way.png AssetGenImage get icWay => const AssetGenImage('assets/inspection/ic_way.png'); - - /// File path: assets/inspection/ic_xunjian.png AssetGenImage get icXunjian => const AssetGenImage('assets/inspection/ic_xunjian.png'); - - /// File path: assets/inspection/inspection_station.png AssetGenImage get inspectionStation => const AssetGenImage('assets/inspection/inspection_station.png'); } @@ -261,156 +132,72 @@ class $AssetsInspectionGen { class $AssetsManageGen { const $AssetsManageGen(); - /// File path: assets/manage/add.png AssetGenImage get add => const AssetGenImage('assets/manage/add.png'); - - /// File path: assets/manage/address.png AssetGenImage get address => const AssetGenImage('assets/manage/address.png'); - - /// File path: assets/manage/article.png AssetGenImage get article => const AssetGenImage('assets/manage/article.png'); - - /// File path: assets/manage/borrow.png AssetGenImage get borrow => const AssetGenImage('assets/manage/borrow.png'); - - /// File path: assets/manage/check.png AssetGenImage get check => const AssetGenImage('assets/manage/check.png'); - - /// File path: assets/manage/circuit.png AssetGenImage get circuit => const AssetGenImage('assets/manage/circuit.png'); - - /// File path: assets/manage/clock.png AssetGenImage get clock => const AssetGenImage('assets/manage/clock.png'); - - /// File path: assets/manage/decoration.png AssetGenImage get decoration => const AssetGenImage('assets/manage/decoration.png'); - - /// File path: assets/manage/dingwei.png AssetGenImage get dingwei => const AssetGenImage('assets/manage/dingwei.png'); - - /// File path: assets/manage/estate.png AssetGenImage get estate => const AssetGenImage('assets/manage/estate.png'); - - /// File path: assets/manage/home.png AssetGenImage get home => const AssetGenImage('assets/manage/home.png'); - - /// File path: assets/manage/ic_announce.png AssetGenImage get icAnnounce => const AssetGenImage('assets/manage/ic_announce.png'); - - /// File path: assets/manage/ic_car.png AssetGenImage get icCar => const AssetGenImage('assets/manage/ic_car.png'); - - /// File path: assets/manage/ic_daofang.png AssetGenImage get icDaofang => const AssetGenImage('assets/manage/ic_daofang.png'); - - /// File path: assets/manage/ic_guoqi.png AssetGenImage get icGuoqi => const AssetGenImage('assets/manage/ic_guoqi.png'); - - /// File path: assets/manage/ic_image.png AssetGenImage get icImage => const AssetGenImage('assets/manage/ic_image.png'); - - /// File path: assets/manage/ic_renwu.png AssetGenImage get icRenwu => const AssetGenImage('assets/manage/ic_renwu.png'); - - /// File path: assets/manage/ic_time.png AssetGenImage get icTime => const AssetGenImage('assets/manage/ic_time.png'); - - /// File path: assets/manage/ic_wancheng.png AssetGenImage get icWancheng => const AssetGenImage('assets/manage/ic_wancheng.png'); - - /// File path: assets/manage/ic_weidao.png AssetGenImage get icWeidao => const AssetGenImage('assets/manage/ic_weidao.png'); - - /// File path: assets/manage/ic_zhuangxiu.png AssetGenImage get icZhuangxiu => const AssetGenImage('assets/manage/ic_zhuangxiu.png'); - - /// File path: assets/manage/ic_zuofei.png AssetGenImage get icZuofei => const AssetGenImage('assets/manage/ic_zuofei.png'); - - /// File path: assets/manage/info.png AssetGenImage get info => const AssetGenImage('assets/manage/info.png'); - - /// File path: assets/manage/key.png AssetGenImage get key => const AssetGenImage('assets/manage/key.png'); - - /// File path: assets/manage/location.png AssetGenImage get location => const AssetGenImage('assets/manage/location.png'); - - /// File path: assets/manage/lock.png AssetGenImage get lock => const AssetGenImage('assets/manage/lock.png'); - - /// File path: assets/manage/passed.png AssetGenImage get passed => const AssetGenImage('assets/manage/passed.png'); - - /// File path: assets/manage/police.png AssetGenImage get police => const AssetGenImage('assets/manage/police.png'); - - /// File path: assets/manage/rejected.png AssetGenImage get rejected => const AssetGenImage('assets/manage/rejected.png'); - - /// File path: assets/manage/remaining.png AssetGenImage get remaining => const AssetGenImage('assets/manage/remaining.png'); - - /// File path: assets/manage/security.png AssetGenImage get security => const AssetGenImage('assets/manage/security.png'); - - /// File path: assets/manage/status.png AssetGenImage get status => const AssetGenImage('assets/manage/status.png'); - - /// File path: assets/manage/submit_success.png AssetGenImage get submitSuccess => const AssetGenImage('assets/manage/submit_success.png'); - - /// File path: assets/manage/wall.png AssetGenImage get wall => const AssetGenImage('assets/manage/wall.png'); - - /// File path: assets/manage/warning.png AssetGenImage get warning => const AssetGenImage('assets/manage/warning.png'); - - /// File path: assets/manage/waterway.png AssetGenImage get waterway => const AssetGenImage('assets/manage/waterway.png'); - - /// File path: assets/manage/window.png AssetGenImage get window => const AssetGenImage('assets/manage/window.png'); } class $AssetsMessageGen { const $AssetsMessageGen(); - /// File path: assets/message/ic_area.png AssetGenImage get icArea => const AssetGenImage('assets/message/ic_area.png'); - - /// File path: assets/message/ic_people.png AssetGenImage get icPeople => const AssetGenImage('assets/message/ic_people.png'); - - /// File path: assets/message/ic_phone.png AssetGenImage get icPhone => const AssetGenImage('assets/message/ic_phone.png'); - - /// File path: assets/message/ic_pinglun.png AssetGenImage get icPinglun => const AssetGenImage('assets/message/ic_pinglun.png'); - - /// File path: assets/message/ic_star.png AssetGenImage get icStar => const AssetGenImage('assets/message/ic_star.png'); - - /// File path: assets/message/ic_tongzhi.png AssetGenImage get icTongzhi => const AssetGenImage('assets/message/ic_tongzhi.png'); } @@ -418,89 +205,48 @@ class $AssetsMessageGen { class $AssetsNewIconGen { const $AssetsNewIconGen(); - /// File path: assets/newIcon/avatar_placeholder.png AssetGenImage get avatarPlaceholder => const AssetGenImage('assets/newIcon/avatar_placeholder.png'); - - /// File path: assets/newIcon/splash.png AssetGenImage get splash => const AssetGenImage('assets/newIcon/splash.png'); } class $AssetsOutdoorGen { const $AssetsOutdoorGen(); - /// File path: assets/outdoor/ic_address.png AssetGenImage get icAddress => const AssetGenImage('assets/outdoor/ic_address.png'); - - /// File path: assets/outdoor/ic_chuhu.png AssetGenImage get icChuhu => const AssetGenImage('assets/outdoor/ic_chuhu.png'); - - /// File path: assets/outdoor/ic_goout.png AssetGenImage get icGoout => const AssetGenImage('assets/outdoor/ic_goout.png'); - - /// File path: assets/outdoor/ic_home.png AssetGenImage get icHome => const AssetGenImage('assets/outdoor/ic_home.png'); - - /// File path: assets/outdoor/ic_image.png AssetGenImage get icImage => const AssetGenImage('assets/outdoor/ic_image.png'); - - /// File path: assets/outdoor/ic_people.png AssetGenImage get icPeople => const AssetGenImage('assets/outdoor/ic_people.png'); - - /// File path: assets/outdoor/ic_phoneblue.png AssetGenImage get icPhoneblue => const AssetGenImage('assets/outdoor/ic_phoneblue.png'); - - /// File path: assets/outdoor/ic_time.png AssetGenImage get icTime => const AssetGenImage('assets/outdoor/ic_time.png'); - - /// File path: assets/outdoor/ic_transport.png AssetGenImage get icTransport => const AssetGenImage('assets/outdoor/ic_transport.png'); - - /// File path: assets/outdoor/ic_weight.png AssetGenImage get icWeight => const AssetGenImage('assets/outdoor/ic_weight.png'); - - /// File path: assets/outdoor/item2.png AssetGenImage get item2 => const AssetGenImage('assets/outdoor/item2.png'); - - /// File path: assets/outdoor/item3.png AssetGenImage get item3 => const AssetGenImage('assets/outdoor/item3.png'); - - /// File path: assets/outdoor/itme1.png AssetGenImage get itme1 => const AssetGenImage('assets/outdoor/itme1.png'); } class $AssetsStaticFixGen { const $AssetsStaticFixGen(); - /// File path: assets/static_fix/air1.png AssetGenImage get air1 => const AssetGenImage('assets/static_fix/air1.png'); - - /// File path: assets/static_fix/air2.png AssetGenImage get air2 => const AssetGenImage('assets/static_fix/air2.png'); - - /// File path: assets/static_fix/food.png AssetGenImage get food => const AssetGenImage('assets/static_fix/food.png'); - - /// File path: assets/static_fix/food2.png AssetGenImage get food2 => const AssetGenImage('assets/static_fix/food2.png'); - - /// File path: assets/static_fix/light1.png AssetGenImage get light1 => const AssetGenImage('assets/static_fix/light1.png'); - - /// File path: assets/static_fix/light2.png AssetGenImage get light2 => const AssetGenImage('assets/static_fix/light2.png'); - - /// File path: assets/static_fix/light3.png AssetGenImage get light3 => const AssetGenImage('assets/static_fix/light3.png'); } @@ -508,30 +254,15 @@ class $AssetsStaticFixGen { class $AssetsStaticTempGen { const $AssetsStaticTempGen(); - /// File path: assets/static_temp/drill.png AssetGenImage get drill => const AssetGenImage('assets/static_temp/drill.png'); - - /// File path: assets/static_temp/f1.webp AssetGenImage get f1 => const AssetGenImage('assets/static_temp/f1.webp'); - - /// File path: assets/static_temp/f2.webp AssetGenImage get f2 => const AssetGenImage('assets/static_temp/f2.webp'); - - /// File path: assets/static_temp/f3.webp AssetGenImage get f3 => const AssetGenImage('assets/static_temp/f3.webp'); - - /// File path: assets/static_temp/f4.webp AssetGenImage get f4 => const AssetGenImage('assets/static_temp/f4.webp'); - - /// File path: assets/static_temp/f5.webp AssetGenImage get f5 => const AssetGenImage('assets/static_temp/f5.webp'); - - /// File path: assets/static_temp/hammer.png AssetGenImage get hammer => const AssetGenImage('assets/static_temp/hammer.png'); - - /// File path: assets/static_temp/ladder.png AssetGenImage get ladder => const AssetGenImage('assets/static_temp/ladder.png'); } @@ -539,14 +270,9 @@ class $AssetsStaticTempGen { class $AssetsUserGen { const $AssetsUserGen(); - /// File path: assets/user/ic_kefu.png AssetGenImage get icKefu => const AssetGenImage('assets/user/ic_kefu.png'); - - /// File path: assets/user/ic_person.png AssetGenImage get icPerson => const AssetGenImage('assets/user/ic_person.png'); - - /// File path: assets/user/ic_setup.png AssetGenImage get icSetup => const AssetGenImage('assets/user/ic_setup.png'); } diff --git a/lib/gen/fonts.gen.dart b/lib/gen/fonts.gen.dart index 69d5c31..00c6094 100644 --- a/lib/gen/fonts.gen.dart +++ b/lib/gen/fonts.gen.dart @@ -3,11 +3,8 @@ /// FlutterGen /// ***************************************************** -// ignore_for_file: directives_ordering,unnecessary_import - class FontFamily { FontFamily._(); - /// Font family: Bebas static const String bebas = 'Bebas'; } diff --git a/lib/main.dart b/lib/main.dart index 284a309..4a58ead 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -94,7 +94,7 @@ class MyApp extends StatelessWidget { return GetMaterialApp( debugShowCheckedModeBanner: false, title: '小蜜蜂管家', - theme: AppTheme.themeData, + theme: AppTheme.theme, home: SplashPage(), builder: BotToastInit(), navigatorObservers: [ diff --git a/lib/new_ui/auth/forgot_psd_page.dart b/lib/new_ui/auth/forgot_psd_page.dart index 1d661fc..4228912 100644 --- a/lib/new_ui/auth/forgot_psd_page.dart +++ b/lib/new_ui/auth/forgot_psd_page.dart @@ -62,7 +62,12 @@ class _ForgotPsdPageState extends State { ], ), 144.w.heightBox, - TelTextField(controller: _telController), + TelTextField( + controller: _telController, + onChange: (text) { + setState(() {}); + }, + ), 100.w.heightBox, LoginButtonWidget( onTap: _telController.text.isNotEmpty diff --git a/lib/new_ui/auth/other_login_page.dart b/lib/new_ui/auth/other_login_page.dart index 02143fb..27bf7f1 100644 --- a/lib/new_ui/auth/other_login_page.dart +++ b/lib/new_ui/auth/other_login_page.dart @@ -86,6 +86,9 @@ class _OtherLoginPageState extends State { 40.w.heightBox, TelTextField( controller: _tel, + onChange: (String) { + setState(() {}); + }, ), 40.w.heightBox, PsdTextField( @@ -149,7 +152,12 @@ class _OtherLoginPageState extends State { align: MainAxisAlignment.start, ), 40.w.heightBox, - TelTextField(controller: _tel), + TelTextField( + controller: _tel, + onChange: (String) { + setState(() {}); + }, + ), 100.w.heightBox, LoginButtonWidget( onTap: UserTool.appProvider.second < 60 diff --git a/lib/new_ui/auth/widget/psd_textfield.dart b/lib/new_ui/auth/widget/psd_textfield.dart index c51f104..b9f2848 100644 --- a/lib/new_ui/auth/widget/psd_textfield.dart +++ b/lib/new_ui/auth/widget/psd_textfield.dart @@ -2,6 +2,7 @@ import 'package:aku_new_community_manager/style/app_style.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:velocity_x/src/extensions/num_ext.dart'; class PsdTextField extends StatefulWidget { final TextEditingController controller; @@ -29,42 +30,45 @@ class _PsdTextFieldState extends State { borderRadius: BorderRadius.circular(60.w), color: Colors.black.withOpacity(0.06), ), - child: TextField( - maxLength: 20, - onChanged: (text) { - setState(() {}); - }, - controller: widget.controller, - obscureText: !visible, - obscuringCharacter: '*', - style: TextStyle( - color: Colors.black.withOpacity(0.85), - ), - cursorColor: kPrimaryColor, - decoration: InputDecoration( - isDense: false, - contentPadding: - EdgeInsets.symmetric(horizontal: 24.w, vertical: 24.w), - border: InputBorder.none, - hintText: widget.hintText ?? '请输入密码', - counterText: '', - suffixIconConstraints: - BoxConstraints(minHeight: 50.w, maxHeight: 50.w), - suffixIcon: GestureDetector( - onTap: () { - visible = !visible; + child: Row( + children: [ + Expanded( + child: TextField( + maxLength: 20, + onChanged: (text) { setState(() {}); }, - child: Padding( - padding: EdgeInsets.only(right: 20.w), - child: Icon( - visible ? CupertinoIcons.eye : CupertinoIcons.eye_slash, - color: Colors.black.withOpacity(0.4), - ), - ), + controller: widget.controller, + obscureText: !visible, + obscuringCharacter: '*', + style: TextStyle( + color: Colors.black.withOpacity(0.85), fontSize: 32.sp), + cursorColor: kPrimaryColor, + decoration: InputDecoration( + isDense: false, + contentPadding: + EdgeInsets.symmetric(horizontal: 24.w, vertical: 24.w), + border: InputBorder.none, + hintText: widget.hintText ?? '请输入密码', + counterText: '', + suffixIconConstraints: + BoxConstraints(minHeight: 0, maxHeight: 0), + hintStyle: TextStyle( + color: Colors.black.withOpacity(0.25), fontSize: 28.sp)), ), - hintStyle: TextStyle( - color: Colors.black.withOpacity(0.25), fontSize: 28.sp)), + ), + GestureDetector( + onTap: () { + visible = !visible; + setState(() {}); + }, + child: Icon( + visible ? CupertinoIcons.eye : CupertinoIcons.eye_slash, + color: Colors.black.withOpacity(0.4), + ), + ), + 24.w.widthBox, + ], ), ); } diff --git a/lib/new_ui/auth/widget/tel_textfield.dart b/lib/new_ui/auth/widget/tel_textfield.dart index a4bbf49..c194789 100644 --- a/lib/new_ui/auth/widget/tel_textfield.dart +++ b/lib/new_ui/auth/widget/tel_textfield.dart @@ -6,7 +6,10 @@ import 'package:velocity_x/velocity_x.dart'; class TelTextField extends StatefulWidget { final TextEditingController controller; - const TelTextField({Key? key, required this.controller}) : super(key: key); + final Function(String) onChange; + const TelTextField( + {Key? key, required this.controller, required this.onChange}) + : super(key: key); @override _TelTextFieldState createState() => _TelTextFieldState(); @@ -26,15 +29,18 @@ class _TelTextFieldState extends State { inputFormatters: [FilteringTextInputFormatter.digitsOnly], keyboardType: TextInputType.number, controller: widget.controller, - style: TextStyle( - color: Colors.black.withOpacity(0.85), - ), + onChanged: widget.onChange, + style: + TextStyle(color: Colors.black.withOpacity(0.85), fontSize: 32.sp), cursorColor: kPrimaryColor, decoration: InputDecoration( isDense: true, border: InputBorder.none, - prefixIcon: Center(child: '+86|'.text.black.make()), - prefixIconConstraints: BoxConstraints.loose(Size(60, 60)), + prefixIcon: Padding( + padding: EdgeInsets.only(left: 24.w), + child: '+86|'.text.black.make(), + ), + prefixIconConstraints: BoxConstraints(minHeight: 0, minWidth: 0), contentPadding: EdgeInsets.symmetric(vertical: 30.w), hintText: '点击输入手机号', hintStyle: diff --git a/lib/new_ui/new_home/application_util.dart b/lib/new_ui/new_home/application_util.dart index bd40478..cdd08a7 100644 --- a/lib/new_ui/new_home/application_util.dart +++ b/lib/new_ui/new_home/application_util.dart @@ -1,10 +1,11 @@ +import 'dart:ui'; + import 'package:aku_new_community_manager/gen/assets.gen.dart'; import 'package:aku_new_community_manager/new_ui/household_audit/household_audit_page.dart'; import 'package:aku_new_community_manager/new_ui/work_order/distributor/work_order_distributor_page.dart'; import 'package:aku_new_community_manager/new_ui/work_order/receiver/work_order_receiver_page.dart'; import 'package:aku_new_community_manager/tools/user_tool.dart'; import 'package:aku_new_community_manager/ui/manage_pages/inspection_manage/inspection_manage_page.dart'; -import 'package:dio/dio.dart'; import 'package:equatable/equatable.dart'; import 'package:get/get.dart'; @@ -37,7 +38,7 @@ class ApplicationUtil { title: '巡检管理', imgPath: Assets.home.icPatrol.path, onTap: () async { - await Get.to(InspectionManagePage()); + await Get.to(() => InspectionManagePage()); }), AppElement( title: '工单管理', diff --git a/lib/new_ui/work_order/work_order_func.dart b/lib/new_ui/work_order/work_order_func.dart index 7942c27..027082e 100644 --- a/lib/new_ui/work_order/work_order_func.dart +++ b/lib/new_ui/work_order/work_order_func.dart @@ -1,3 +1,5 @@ +import 'dart:ui'; + import 'package:aku_new_community_manager/const/saas_api.dart'; import 'package:aku_new_community_manager/saas_models/net_model/base_model.dart'; import 'package:aku_new_community_manager/saas_models/work_order/work_order_bill_model.dart'; @@ -5,7 +7,6 @@ import 'package:aku_new_community_manager/saas_models/work_order/work_order_prog import 'package:aku_new_community_manager/saas_models/work_order/work_order_submit_model.dart'; import 'package:aku_new_community_manager/utils/network/net_util.dart'; import 'package:bot_toast/bot_toast.dart'; -import 'package:dio/dio.dart'; import 'package:get/get_core/src/get_main.dart'; import 'package:get/get_navigation/src/extension_navigation.dart'; diff --git a/lib/provider/app_provider.dart b/lib/provider/app_provider.dart index 10bc464..fce1dee 100644 --- a/lib/provider/app_provider.dart +++ b/lib/provider/app_provider.dart @@ -52,11 +52,12 @@ class AppProvider extends ChangeNotifier { late AMapFlutterLocation _flutterLocation; startLocation() { + print('start location'); _flutterLocation = AMapFlutterLocation(); _flutterLocation.onLocationChanged().listen((event) { _location = event; LoggerData.addData(_location.toString()); - print(_location.toString()); + print('location' + _location.toString()); if (_location != null) { stopLocation(); } diff --git a/lib/saas_models/login/community_model.dart b/lib/saas_models/login/community_model.dart index be2d020..94c8d01 100644 --- a/lib/saas_models/login/community_model.dart +++ b/lib/saas_models/login/community_model.dart @@ -1,13 +1,19 @@ import 'package:equatable/equatable.dart'; +import 'package:hive/hive.dart'; import 'package:json_annotation/json_annotation.dart'; part 'community_model.g.dart'; @JsonSerializable() +@HiveType(typeId: 7) class CommunityModel extends Equatable { + @HiveField(0) final int id; + @HiveField(1) final String name; + @HiveField(2) final String address; + @HiveField(3) final String addressDetails; factory CommunityModel.fromJson(Map json) => _$CommunityModelFromJson(json); diff --git a/lib/style/apptheme.dart b/lib/style/apptheme.dart index 617bdd2..eac2a8a 100644 --- a/lib/style/apptheme.dart +++ b/lib/style/apptheme.dart @@ -1,38 +1,71 @@ -// Flutter imports: import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -// Package imports: import 'package:flutter_screenutil/flutter_screenutil.dart'; class AppTheme { - static ThemeData get themeData { + static ThemeData get theme { return ThemeData(primarySwatch: Colors.blue).copyWith( progressIndicatorTheme: ProgressIndicatorThemeData(color: Color(0xFFFFD000)), primaryColor: Color(0xFFFFD000), textTheme: ThemeData.light().textTheme.copyWith( - headline3: TextStyle( - fontSize: 40.sp, - color: Color(0xFF333333), - fontWeight: FontWeight.bold, - ), - subtitle1: TextStyle( - fontSize: 32.sp, - color: Color(0xFF333333), - ), - subtitle2: TextStyle( - fontSize: 28.sp, - color: Color(0xFF333333), - ), - bodyText1: TextStyle( - fontSize: 24.sp, - color: Color(0xFF333333), - ), + caption: TextStyle( + fontSize: 28.sp, + color: Color(0xFF333333), + ), + overline: TextStyle( + fontSize: 32.sp, + color: Color(0xFF333333), + ), + headline1: TextStyle( + fontSize: 28.sp, + color: Color(0xFF333333), + fontWeight: FontWeight.bold, + ), + headline2: TextStyle( + fontSize: 30.sp, + color: Color(0xFF333333), + fontWeight: FontWeight.bold, + ), + headline3: TextStyle( + fontSize: 32.sp, + color: Color(0xFF333333), + fontWeight: FontWeight.bold, ), + headline4: TextStyle( + fontSize: 36.sp, + color: Color(0xFF333333), + fontWeight: FontWeight.bold, + ), + headline5: TextStyle( + fontSize: 40.sp, + color: Color(0xFF333333), + fontWeight: FontWeight.bold, + ), + subtitle1: TextStyle( + fontSize: 32.sp, + color: Color(0xFF333333), + ), + subtitle2: TextStyle( + fontSize: 28.sp, + color: Color(0xFF333333), + ), + bodyText1: TextStyle( + fontSize: 24.sp, + color: Color(0xFF333333), + ), + bodyText2: TextStyle( + fontSize: 28.sp, + color: Color(0xFF333333), + ), + button: TextStyle( + fontSize: 28.sp, + color: Color(0xFF333333), + )), floatingActionButtonTheme: FloatingActionButtonThemeData().copyWith( backgroundColor: Color(0xFFFFD000), ), - appBarTheme: AppBarTheme( + appBarTheme: AppBarTheme().copyWith( elevation: 0, centerTitle: true, iconTheme: IconThemeData( @@ -47,25 +80,24 @@ class AppTheme { ), ).bodyText2, titleTextStyle: TextTheme( - headline6: TextStyle( + headline3: TextStyle( color: Color(0xFF333333), - fontSize: 36.sp, + fontSize: 32.sp, fontWeight: FontWeight.bold, ), - ).headline6, + ).headline3, ), - tabBarTheme: TabBarTheme( + tabBarTheme: TabBarTheme().copyWith( labelColor: Color(0xFF333333), labelStyle: TextStyle( - fontSize: 28.sp, - fontWeight: FontWeight.w600, - ), - unselectedLabelStyle: TextStyle( - fontSize: 28.sp, + fontSize: 30.sp, + fontWeight: FontWeight.bold, ), + unselectedLabelStyle: + TextStyle(fontSize: 28.sp, fontWeight: FontWeight.normal), indicatorSize: TabBarIndicatorSize.label, ), - bottomNavigationBarTheme: BottomNavigationBarThemeData( + bottomNavigationBarTheme: BottomNavigationBarThemeData().copyWith( selectedItemColor: Color(0xFF333333), selectedLabelStyle: TextStyle( fontWeight: FontWeight.bold, @@ -73,7 +105,7 @@ class AppTheme { type: BottomNavigationBarType.fixed, unselectedLabelStyle: TextStyle(), ), - radioTheme: RadioThemeData( + radioTheme: RadioThemeData().copyWith( fillColor: MaterialStateProperty.resolveWith((states) { if (states.contains(MaterialState.selected)) return Color(0xFFFFD000); return null; @@ -123,3 +155,22 @@ class AppTheme { ); } } + +class SystemStyle { + static const initial = SystemUiOverlayStyle( + statusBarIconBrightness: Brightness.light, + systemNavigationBarColor: Colors.white, + ); + + static const yellowBottomBar = SystemUiOverlayStyle( + statusBarIconBrightness: Brightness.light, + systemNavigationBarColor: Color(0xFFFFD000), + ); + + static genStyle({required Color bottom}) { + return SystemUiOverlayStyle( + statusBarIconBrightness: Brightness.light, + systemNavigationBarColor: bottom, + ); + } +} diff --git a/lib/ui/manage_pages/inspection_manage/inspection_manage_card.dart b/lib/ui/manage_pages/inspection_manage/inspection_manage_card.dart index 85bd99e..98d6030 100644 --- a/lib/ui/manage_pages/inspection_manage/inspection_manage_card.dart +++ b/lib/ui/manage_pages/inspection_manage/inspection_manage_card.dart @@ -54,7 +54,7 @@ class _InspectionManageCardState extends State { return AkuButton( onPressed: () { Get.to( - InspectionManageDetailsPage( + () => InspectionManageDetailsPage( executeId: widget.cardModel.id!, ), ); diff --git a/lib/ui/manage_pages/inspection_manage/inspection_manage_details_page.dart b/lib/ui/manage_pages/inspection_manage/inspection_manage_details_page.dart index fa90fbf..0a32d25 100644 --- a/lib/ui/manage_pages/inspection_manage/inspection_manage_details_page.dart +++ b/lib/ui/manage_pages/inspection_manage/inspection_manage_details_page.dart @@ -37,6 +37,7 @@ import 'package:velocity_x/src/flutter/widgets.dart'; class InspectionManageDetailsPage extends StatefulWidget { final int executeId; + InspectionManageDetailsPage({ Key? key, required this.executeId, @@ -52,6 +53,7 @@ class _InspectionManageDetailsPageState TextStyle _textstyle = TextStyle(color: AppStyle.minorTextColor, fontSize: 28.sp); Map _inspectionStatus = {1: '待巡检', 2: '已巡检', 3: '巡检中', 4: '未巡检'}; + Color _inspectionColor(int? status) { switch (status) { case 1: @@ -79,6 +81,7 @@ class _InspectionManageDetailsPageState bool _exit = false; List _points = []; List _polylines = []; + @override void initState() { super.initState(); @@ -499,61 +502,62 @@ class _InspectionManageDetailsPageState '巡检地图'.text.color(Color(0xFF333333)).size(32.sp).bold.make(), 16.w.heightBox, SizedBox( - width: double.infinity, + width: 750.w, height: 343.w, - // child: AMapWidget( - // rotateGesturesEnabled: false, - // scaleEnabled: false, - // scrollGesturesEnabled: false, - // tiltGesturesEnabled: false, - // zoomGesturesEnabled: false, - // onMapCreated: (controller) { - // _aMapController = controller; - // LatLng _target = LatLng( - // appProvider.location!['latitude'] as double, - // appProvider.location!['longitude'] as double); - // _aMapController!.moveCamera(CameraUpdate.newCameraPosition( - // CameraPosition(target: _target, zoom: 19))); - // }, - // myLocationStyleOptions: MyLocationStyleOptions(true, - // circleFillColor: Colors.yellow.withOpacity(0.1), - // circleStrokeColor: Colors.transparent, - // icon: BitmapDescriptor.defaultMarkerWithHue(210)), - // onLocationChanged: (argument) async { - // _aMapController!.moveCamera(CameraUpdate.newCameraPosition( - // CameraPosition(target: argument.latLng, zoom: 19))); - // if (_canUploadLocation) { - // BaseModel baseModel = await (_uploadLocation(widget.executeId, - // argument.latLng.longitude, argument.latLng.latitude)); - // if (!baseModel.success) { - // BotToast.showText(text: baseModel.msg); - // } else { - // _canUploadLocation = false; - // //绘制折线 - // _points.add(argument.latLng); - // if (_points.length % 5 == 0) { - // if (_polylines.isEmpty) { - // _polylines.add(Polyline( - // points: _points, - // color: Colors.red, - // width: 10.w, - // )); - // setState(() {}); - // } else { - // _polylines[0] = (Polyline( - // points: _points, - // color: Colors.red, - // width: 10.w, - // )); - // setState(() {}); - // } - // } - // } - // } - // }, - // //绘制路线 - // polylines: Set.of(_polylines), - // ), + child: AMapWidget( + apiKey: AMapApiKey(androidKey: '0c11d9ba47089d971dc4d889b66593ab'), + rotateGesturesEnabled: false, + scaleEnabled: false, + scrollGesturesEnabled: false, + tiltGesturesEnabled: false, + zoomGesturesEnabled: false, + onMapCreated: (controller) { + _aMapController = controller; + LatLng _target = LatLng( + appProvider.location!['latitude'] as double, + appProvider.location!['longitude'] as double); + _aMapController!.moveCamera(CameraUpdate.newCameraPosition( + CameraPosition(target: _target, zoom: 19))); + }, + myLocationStyleOptions: MyLocationStyleOptions(true, + circleFillColor: Colors.yellow.withOpacity(0.1), + circleStrokeColor: Colors.transparent, + icon: BitmapDescriptor.defaultMarkerWithHue(210)), + onLocationChanged: (argument) async { + _aMapController!.moveCamera(CameraUpdate.newCameraPosition( + CameraPosition(target: argument.latLng, zoom: 19))); + if (_canUploadLocation) { + BaseModel baseModel = await (_uploadLocation(widget.executeId, + argument.latLng.longitude, argument.latLng.latitude)); + if (!baseModel.success) { + BotToast.showText(text: baseModel.msg); + } else { + _canUploadLocation = false; + //绘制折线 + _points.add(argument.latLng); + if (_points.length % 5 == 0) { + if (_polylines.isEmpty) { + _polylines.add(Polyline( + points: _points, + color: Colors.red, + width: 10.w, + )); + setState(() {}); + } else { + _polylines[0] = (Polyline( + points: _points, + color: Colors.red, + width: 10.w, + )); + setState(() {}); + } + } + } + } + }, + // 绘制路线 + polylines: Set.of(_polylines), + ), ), ], ) diff --git a/lib/ui/tool_pages/warning/warning_page.dart b/lib/ui/tool_pages/warning/warning_page.dart index 0231834..4cf3ce1 100644 --- a/lib/ui/tool_pages/warning/warning_page.dart +++ b/lib/ui/tool_pages/warning/warning_page.dart @@ -3,28 +3,28 @@ import 'dart:ui'; // Flutter imports: import 'package:aku_new_community_manager/const/api.dart'; +// Project imports: +import 'package:aku_new_community_manager/provider/app_provider.dart'; +import 'package:aku_new_community_manager/style/app_style.dart'; +import 'package:aku_new_community_manager/tools/widget_tool.dart'; +import 'package:aku_new_community_manager/ui/tool_pages/warning/warning_detail_page.dart'; import 'package:aku_new_community_manager/ui/widgets/common/aku_cupertino_button.dart'; import 'package:aku_new_community_manager/ui/widgets/common/aku_material_button.dart'; +import 'package:aku_new_community_manager/ui/widgets/common/aku_scaffold.dart'; import 'package:aku_new_community_manager/utils/network/net_util.dart'; -import 'package:flutter/material.dart'; - // Package imports: import 'package:amap_flutter_base/amap_flutter_base.dart'; import 'package:amap_flutter_map/amap_flutter_map.dart'; +import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:permission_handler/permission_handler.dart'; import 'package:provider/provider.dart'; import 'package:url_launcher/url_launcher.dart'; -// Project imports: -import 'package:aku_new_community_manager/provider/app_provider.dart'; -import 'package:aku_new_community_manager/style/app_style.dart'; -import 'package:aku_new_community_manager/tools/widget_tool.dart'; -import 'package:aku_new_community_manager/ui/tool_pages/warning/warning_detail_page.dart'; -import 'package:aku_new_community_manager/ui/widgets/common/aku_scaffold.dart'; - class PermissonUtil { static Future getLocationPermisson() async { + var per = await Permission.locationWhenInUse.request().isGranted; + print(per); return await Permission.locationWhenInUse.request().isGranted; } } @@ -38,6 +38,7 @@ class WarningPage extends StatefulWidget { class _WarningPageState extends State { AMapController? _mapController; + @override void initState() { super.initState(); @@ -73,6 +74,8 @@ class _WarningPageState extends State { body: Stack( children: [ AMapWidget( + privacyStatement: AMapPrivacyStatement( + hasContains: true, hasShow: true, hasAgree: true), onMapCreated: (controller) { LatLng _target = LatLng( appProvider.location!['latitude'] as double, @@ -194,7 +197,7 @@ class _WarningPageState extends State { child: AkuCupertinoButton( minWidth: 0, onPressed: () async { - await NetUtil() + await NetUtil() .post(API.manage.insertAlarmRecord, showMessage: true); launch('tel:110'); @@ -284,17 +287,17 @@ class _WarningPageState extends State { ); } - // _getLocation() { - // _location = null; - // setState(() {}); - // PermissionTool.getLocationPermission().then((state) { - // if (state) { - // AmapLocation.instance.fetchLocation().then((location) { - // _amapController.setCenterCoordinate(location.latLng); - // _location = location; - // setState(() {}); - // }); - // } - // }); - // } +// _getLocation() { +// _location = null; +// setState(() {}); +// PermissionTool.getLocationPermission().then((state) { +// if (state) { +// AmapLocation.instance.fetchLocation().then((location) { +// _amapController.setCenterCoordinate(location.latLng); +// _location = location; +// setState(() {}); +// }); +// } +// }); +// } } diff --git a/pubspec.lock b/pubspec.lock index 26d0002..f0f129b 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -7,7 +7,7 @@ packages: name: _fe_analyzer_shared url: "https://pub.flutter-io.cn" source: hosted - version: "36.0.0" + version: "38.0.0" amap_flutter_base: dependency: "direct main" description: @@ -35,21 +35,14 @@ packages: name: analyzer url: "https://pub.flutter-io.cn" source: hosted - version: "3.3.1" - animator: - dependency: transitive - description: - name: animator - url: "https://pub.flutter-io.cn" - source: hosted - version: "3.0.0" + version: "3.4.1" args: dependency: transitive description: name: args url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.0" + version: "2.3.0" async: dependency: transitive description: @@ -57,13 +50,6 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "2.8.2" - auto_size_text: - dependency: transitive - description: - name: auto_size_text - url: "https://pub.flutter-io.cn" - source: hosted - version: "3.0.0-nullsafety.0" auto_size_text_pk: dependency: transitive description: @@ -77,7 +63,7 @@ packages: name: badges url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.0-nullsafety.1" + version: "2.0.2" boolean_selector: dependency: transitive description: @@ -112,7 +98,7 @@ packages: name: build_daemon url: "https://pub.flutter-io.cn" source: hosted - version: "3.0.0" + version: "3.0.1" build_resolvers: dependency: transitive description: @@ -140,21 +126,21 @@ packages: name: built_collection url: "https://pub.flutter-io.cn" source: hosted - version: "5.0.0" + version: "5.1.1" built_value: dependency: transitive description: name: built_value url: "https://pub.flutter-io.cn" source: hosted - version: "8.0.6" + version: "8.1.4" carousel_slider: dependency: "direct main" description: name: carousel_slider url: "https://pub.flutter-io.cn" source: hosted - version: "4.0.0-nullsafety.0" + version: "4.0.0" characters: dependency: transitive description: @@ -182,7 +168,7 @@ packages: name: cli_util url: "https://pub.flutter-io.cn" source: hosted - version: "0.3.0" + version: "0.3.5" clock: dependency: transitive description: @@ -196,7 +182,7 @@ packages: name: code_builder url: "https://pub.flutter-io.cn" source: hosted - version: "4.0.0" + version: "4.1.0" collection: dependency: transitive description: @@ -217,14 +203,21 @@ packages: name: common_utils url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.2" + version: "2.1.0" convert: dependency: transitive description: name: convert url: "https://pub.flutter-io.cn" source: hosted - version: "3.0.0" + version: "3.0.1" + cross_file: + dependency: transitive + description: + name: cross_file + url: "https://pub.flutter-io.cn" + source: hosted + version: "0.3.2" crypto: dependency: transitive description: @@ -238,7 +231,7 @@ packages: name: cupertino_icons url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.3" + version: "1.0.4" dart_style: dependency: transitive description: @@ -259,70 +252,70 @@ packages: name: decimal url: "https://pub.flutter-io.cn" source: hosted - version: "1.1.0" + version: "2.1.0" device_info_plus: dependency: transitive description: name: device_info_plus url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.1" + version: "2.2.0" device_info_plus_linux: dependency: transitive description: name: device_info_plus_linux url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.1" + version: "2.1.1" device_info_plus_macos: dependency: transitive description: name: device_info_plus_macos url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.1" + version: "2.2.2" device_info_plus_platform_interface: dependency: transitive description: name: device_info_plus_platform_interface url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.2" + version: "2.3.0+1" device_info_plus_web: dependency: transitive description: name: device_info_plus_web url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.1" + version: "2.1.0" device_info_plus_windows: dependency: transitive description: name: device_info_plus_windows url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.1" + version: "2.1.1" dio: dependency: "direct main" description: name: dio url: "https://pub.flutter-io.cn" source: hosted - version: "4.0.0" + version: "4.0.6" dotted_border: dependency: "direct main" description: name: dotted_border url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.0" + version: "2.0.0+2" equatable: dependency: "direct main" description: name: equatable url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.0" + version: "2.0.3" expandable: dependency: "direct main" description: @@ -364,14 +357,14 @@ packages: name: ffi url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.0" + version: "1.1.2" file: dependency: transitive description: name: file url: "https://pub.flutter-io.cn" source: hosted - version: "6.1.0" + version: "6.1.2" fixnum: dependency: transitive description: @@ -423,7 +416,7 @@ packages: name: flutter_plugin_android_lifecycle url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.1" + version: "2.0.5" flutter_rating_bar: dependency: "direct main" description: @@ -437,7 +430,7 @@ packages: name: flutter_screenutil url: "https://pub.flutter-io.cn" source: hosted - version: "5.0.0+2" + version: "5.3.1" flutter_test: dependency: "direct dev" description: flutter @@ -454,35 +447,35 @@ packages: name: frontend_server_client url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.0" + version: "2.1.2" get: dependency: "direct main" description: name: get url: "https://pub.flutter-io.cn" source: hosted - version: "4.1.4" + version: "4.6.1" glob: dependency: transitive description: name: glob url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.1" + version: "2.0.2" graphs: dependency: transitive description: name: graphs url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.0" + version: "2.1.0" grinder: dependency: "direct dev" description: name: grinder url: "https://pub.flutter-io.cn" source: hosted - version: "0.9.0" + version: "0.9.1" highlight: dependency: transitive description: @@ -496,14 +489,14 @@ packages: name: hive url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.4" + version: "2.1.0" hive_flutter: dependency: "direct main" description: name: hive_flutter url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.0" + version: "1.1.0" hive_generator: dependency: "direct dev" description: @@ -517,14 +510,14 @@ packages: name: http url: "https://pub.flutter-io.cn" source: hosted - version: "0.13.3" + version: "0.13.4" http_multi_server: dependency: transitive description: name: http_multi_server url: "https://pub.flutter-io.cn" source: hosted - version: "3.0.1" + version: "3.2.0" http_parser: dependency: transitive description: @@ -538,28 +531,28 @@ packages: name: image_picker url: "https://pub.flutter-io.cn" source: hosted - version: "0.7.5" + version: "0.7.5+4" image_picker_for_web: dependency: transitive description: name: image_picker_for_web url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.0" + version: "2.1.6" image_picker_platform_interface: dependency: transitive description: name: image_picker_platform_interface url: "https://pub.flutter-io.cn" source: hosted - version: "2.1.0" + version: "2.4.4" import_sorter: dependency: "direct dev" description: name: import_sorter url: "https://pub.flutter-io.cn" source: hosted - version: "4.5.1" + version: "4.6.0" intl: dependency: "direct main" description: @@ -573,7 +566,7 @@ packages: name: io url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.0" + version: "1.0.3" jpush_flutter: dependency: "direct main" description: @@ -610,14 +603,14 @@ packages: name: logger url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.0" + version: "1.1.0" logging: dependency: transitive description: name: logging url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.1" + version: "1.0.2" matcher: dependency: transitive description: @@ -638,7 +631,7 @@ packages: name: mime url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.0" + version: "1.0.1" nested: dependency: transitive description: @@ -659,49 +652,49 @@ packages: name: package_config url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.0" + version: "2.0.2" package_info_plus: dependency: transitive description: name: package_info_plus url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.1" + version: "1.4.2" package_info_plus_linux: dependency: transitive description: name: package_info_plus_linux url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.1" + version: "1.0.5" package_info_plus_macos: dependency: transitive description: name: package_info_plus_macos url: "https://pub.flutter-io.cn" source: hosted - version: "1.1.1" + version: "1.3.0" package_info_plus_platform_interface: dependency: transitive description: name: package_info_plus_platform_interface url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.1" + version: "1.0.2" package_info_plus_web: dependency: transitive description: name: package_info_plus_web url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.1" + version: "1.0.5" package_info_plus_windows: dependency: transitive description: name: package_info_plus_windows url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.1" + version: "1.0.5" path: dependency: transitive description: @@ -715,56 +708,63 @@ packages: name: path_drawing url: "https://pub.flutter-io.cn" source: hosted - version: "0.5.1" + version: "1.0.0" path_parsing: dependency: transitive description: name: path_parsing url: "https://pub.flutter-io.cn" source: hosted - version: "0.2.1" + version: "1.0.0" path_provider: dependency: "direct main" description: name: path_provider url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.2" + version: "2.0.9" + path_provider_android: + dependency: transitive + description: + name: path_provider_android + url: "https://pub.flutter-io.cn" + source: hosted + version: "2.0.12" + path_provider_ios: + dependency: transitive + description: + name: path_provider_ios + url: "https://pub.flutter-io.cn" + source: hosted + version: "2.0.8" path_provider_linux: dependency: transitive description: name: path_provider_linux url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.0" + version: "2.1.5" path_provider_macos: dependency: transitive description: name: path_provider_macos url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.0" + version: "2.0.5" path_provider_platform_interface: dependency: transitive description: name: path_provider_platform_interface url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.1" + version: "2.0.3" path_provider_windows: dependency: transitive description: name: path_provider_windows url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.1" - pedantic: - dependency: transitive - description: - name: pedantic - url: "https://pub.flutter-io.cn" - source: hosted - version: "1.11.0" + version: "2.0.5" permission_handler: dependency: "direct main" description: @@ -778,7 +778,7 @@ packages: name: permission_handler_platform_interface url: "https://pub.flutter-io.cn" source: hosted - version: "3.3.0" + version: "3.7.0" petitparser: dependency: transitive description: @@ -792,21 +792,21 @@ packages: name: pin_input_text_field url: "https://pub.flutter-io.cn" source: hosted - version: "4.1.1" + version: "4.1.2" platform: dependency: transitive description: name: platform url: "https://pub.flutter-io.cn" source: hosted - version: "3.0.0" + version: "3.1.0" plugin_platform_interface: dependency: transitive description: name: plugin_platform_interface url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.0" + version: "2.1.2" pool: dependency: transitive description: @@ -820,14 +820,14 @@ packages: name: power_logger url: "https://pub.flutter-io.cn" source: hosted - version: "1.2.1" + version: "1.2.2" process: dependency: transitive description: name: process url: "https://pub.flutter-io.cn" source: hosted - version: "4.2.1" + version: "4.2.4" provider: dependency: "direct main" description: @@ -841,14 +841,14 @@ packages: name: pub_semver url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.0" + version: "2.1.1" pubspec_parse: dependency: transitive description: name: pubspec_parse url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.0" + version: "1.2.0" qr_code_scanner: dependency: "direct main" description: @@ -862,14 +862,14 @@ packages: name: rational url: "https://pub.flutter-io.cn" source: hosted - version: "1.1.0+1" + version: "2.2.0" shelf: dependency: transitive description: name: shelf url: "https://pub.flutter-io.cn" source: hosted - version: "1.1.4" + version: "1.2.0" shelf_web_socket: dependency: transitive description: @@ -924,13 +924,6 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "1.10.0" - states_rebuilder: - dependency: transitive - description: - name: states_rebuilder - url: "https://pub.flutter-io.cn" - source: hosted - version: "4.1.0" stream_channel: dependency: transitive description: @@ -1000,42 +993,56 @@ packages: name: url_launcher url: "https://pub.flutter-io.cn" source: hosted - version: "6.0.3" + version: "6.0.20" + url_launcher_android: + dependency: transitive + description: + name: url_launcher_android + url: "https://pub.flutter-io.cn" + source: hosted + version: "6.0.15" + url_launcher_ios: + dependency: transitive + description: + name: url_launcher_ios + url: "https://pub.flutter-io.cn" + source: hosted + version: "6.0.15" url_launcher_linux: dependency: transitive description: name: url_launcher_linux url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.0" + version: "3.0.0" url_launcher_macos: dependency: transitive description: name: url_launcher_macos url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.0" + version: "3.0.0" url_launcher_platform_interface: dependency: transitive description: name: url_launcher_platform_interface url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.2" + version: "2.0.5" url_launcher_web: dependency: transitive description: name: url_launcher_web url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.0" + version: "2.0.6" url_launcher_windows: dependency: transitive description: name: url_launcher_windows url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.0" + version: "3.0.0" vector_math: dependency: transitive description: @@ -1049,28 +1056,28 @@ packages: name: velocity_x url: "https://pub.flutter-io.cn" source: hosted - version: "2.6.1" + version: "3.4.0" vxstate: dependency: transitive description: name: vxstate url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.1" + version: "2.1.0" watcher: dependency: transitive description: name: watcher url: "https://pub.flutter-io.cn" source: hosted - version: "1.0.0" + version: "1.0.1" waterfall_flow: dependency: "direct main" description: name: waterfall_flow url: "https://pub.flutter-io.cn" source: hosted - version: "3.0.1" + version: "3.0.2" web_socket_channel: dependency: "direct main" description: @@ -1084,14 +1091,14 @@ packages: name: win32 url: "https://pub.flutter-io.cn" source: hosted - version: "2.0.5" + version: "2.5.1" xdg_directories: dependency: transitive description: name: xdg_directories url: "https://pub.flutter-io.cn" source: hosted - version: "0.2.0" + version: "0.2.0+1" xml: dependency: transitive description: @@ -1107,5 +1114,5 @@ packages: source: hosted version: "3.1.0" sdks: - dart: ">=2.14.0 <3.0.0" - flutter: ">=2.0.0" + dart: ">=2.15.0 <3.0.0" + flutter: ">=2.8.0" diff --git a/pubspec.yaml b/pubspec.yaml index 05a24e9..03afe6d 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -52,7 +52,7 @@ dependencies: amap_flutter_base: ^3.0.0 permission_handler: ^6.1.1 - velocity_x: ^2.6.0 + velocity_x: ^3.4.0 dotted_border: ^2.0.0-nullsafety.0 dio: ^4.0.0 # #谷歌崩溃分析