master
张萌 3 years ago
parent 7d15816676
commit 427b4cf7b5

@ -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'
}

@ -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');
}

@ -3,11 +3,8 @@
/// FlutterGen
/// *****************************************************
// ignore_for_file: directives_ordering,unnecessary_import
class FontFamily {
FontFamily._();
/// Font family: Bebas
static const String bebas = 'Bebas';
}

@ -94,7 +94,7 @@ class MyApp extends StatelessWidget {
return GetMaterialApp(
debugShowCheckedModeBanner: false,
title: '小蜜蜂管家',
theme: AppTheme.themeData,
theme: AppTheme.theme,
home: SplashPage(),
builder: BotToastInit(),
navigatorObservers: [

@ -62,7 +62,12 @@ class _ForgotPsdPageState extends State<ForgotPsdPage> {
],
),
144.w.heightBox,
TelTextField(controller: _telController),
TelTextField(
controller: _telController,
onChange: (text) {
setState(() {});
},
),
100.w.heightBox,
LoginButtonWidget(
onTap: _telController.text.isNotEmpty

@ -86,6 +86,9 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
40.w.heightBox,
TelTextField(
controller: _tel,
onChange: (String) {
setState(() {});
},
),
40.w.heightBox,
PsdTextField(
@ -149,7 +152,12 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
align: MainAxisAlignment.start,
),
40.w.heightBox,
TelTextField(controller: _tel),
TelTextField(
controller: _tel,
onChange: (String) {
setState(() {});
},
),
100.w.heightBox,
LoginButtonWidget(
onTap: UserTool.appProvider.second < 60

@ -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<PsdTextField> {
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,
],
),
);
}

@ -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<TelTextField> {
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:

@ -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: '工单管理',

@ -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';

@ -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();
}

@ -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<String, dynamic> json) =>
_$CommunityModelFromJson(json);

@ -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<Color?>((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,
);
}
}

@ -54,7 +54,7 @@ class _InspectionManageCardState extends State<InspectionManageCard> {
return AkuButton(
onPressed: () {
Get.to(
InspectionManageDetailsPage(
() => InspectionManageDetailsPage(
executeId: widget.cardModel.id!,
),
);

@ -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<int, String> _inspectionStatus = {1: '待巡检', 2: '已巡检', 3: '巡检中', 4: '未巡检'};
Color _inspectionColor(int? status) {
switch (status) {
case 1:
@ -79,6 +81,7 @@ class _InspectionManageDetailsPageState
bool _exit = false;
List<LatLng> _points = [];
List<Polyline> _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<Polyline>.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<Polyline>.of(_polylines),
),
),
],
)

@ -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<WarningPage> {
AMapController? _mapController;
@override
void initState() {
super.initState();
@ -73,6 +74,8 @@ class _WarningPageState extends State<WarningPage> {
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<WarningPage> {
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<WarningPage> {
);
}
// _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(() {});
// });
// }
// });
// }
}

@ -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"

@ -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
# #谷歌崩溃分析

Loading…
Cancel
Save