From b5bcee38420e8c1b4b013ea1260a2438d187b406 Mon Sep 17 00:00:00 2001 From: zhangmeng <494089941@qq.com> Date: Fri, 4 Mar 2022 11:29:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=8F=91=E5=B8=83=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=20=E6=92=AD=E6=94=BE=E8=AF=AD=E9=9F=B3=E7=BB=84?= =?UTF-8?q?=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/icons/environment.png | Bin 2903 -> 841 bytes assets/icons/watch.png | Bin 0 -> 754 bytes lib/gen/assets.gen.dart | 638 +----------------- lib/generated_plugin_registrant.dart | 4 + lib/models/task/hall_list_model.dart | 37 +- lib/models/task/hall_list_model.g.dart | 20 +- lib/models/task/my_take_task_list_model.dart | 37 +- .../task/my_take_task_list_model.g.dart | 20 +- lib/models/task/my_task_list_model.dart | 37 +- lib/models/task/my_task_list_model.g.dart | 20 +- lib/pages/home/home_page.dart | 6 +- lib/ui/service/hall/hall_card.dart | 85 ++- lib/ui/service/hall/hall_detail_page.dart | 40 +- lib/ui/service/hall/hall_view.dart | 14 +- .../my_take_task/my_take_task_card.dart | 21 +- .../my_take_task_detail_page.dart | 18 +- .../my_take_task/my_take_task_view.dart | 16 +- lib/ui/service/my_task/my_task_card.dart | 19 +- .../service/my_task/my_task_detail_page.dart | 18 +- lib/ui/service/my_task/my_task_view.dart | 16 +- lib/widget/voice_player.dart | 180 +++++ macos/Flutter/GeneratedPluginRegistrant.swift | 4 + pubspec.lock | 28 + pubspec.yaml | 2 + 24 files changed, 447 insertions(+), 833 deletions(-) create mode 100644 assets/icons/watch.png create mode 100644 lib/widget/voice_player.dart diff --git a/assets/icons/environment.png b/assets/icons/environment.png index 2aa9b7118b4a11559b62528b5df6006faad47269..83f00c7639864531ccb5d9eb5e130a21b9f18cce 100644 GIT binary patch delta 803 zcmV+;1Kj-A7Rd%7iBL{Q4GJ0x0000DNk~Le0000z0000z2nGNE03Kpt>5(Bce*)e~ zL_t(|0qvPjYZO5c#h<#!B8!9|l0%S1BzO?Xalbzva`2Et2swxh62c-uBm@~G1pBew z?6^2x?N-%_p?*+gGSfXXZ>s;i?gfG%2!bF8f*=T-c!b@tmtvM;nqrdA-KFSL+@|=B z9pNpSLSLjfz*^`S6i?w@K6b-Pe>AiC1}nkau!N&{5789*7IJ1KDEL!~YZ&tcw#-u; zrFaZI{Ae%pv1xy|6n&WDHSFQIzya?DMp$Hols@bQ?>&PNR-%vL&pQ}l(Yz0Gw7|Z3 znc^x3=VyNSX+zz~;2tV0M(+jWm*z-(f$5tAv7cA2Q_N|KpM&!6Q@qN@>=w)(#onj*me19aahJ<&jW*NLh)QEo zT-6+_QFv%tm~9%F!~8$XUPAXw5pU7U{Fmb9m2$(6u|%DgL9dEdbj@m(W=mQ;c$oqE zTz8CrF1p6>#an#%WTdV+e_GM48EIK9^&@rv=9x`+iY8@xxfaTnwe+w~t*i>IXvrOw zeoDb-__J`H;}Wvps56FIw053mGu*FS=jhH4)93h#b>HQ@%ocEt^$LpRk5K0d$`zN^ zhEnuGC{qlIl%ZBDdIDv(wV7tql&mN-%O=ar-i%zQL!(J~iaMMEf4@M9#e#!ws&y^R zkHqHAm#0{MtUa`EEpgEznHLcY(R|?r^m}3wY|;w75!rJ3<(Ia=VfbPnfD1W(bV zG<71alRK=&gL^pRExJ(rHn)p6`#GmNuC>j~hs3T#lOI_1bBZog8ik(aYY(0o41a|T hf*=TjAP9p0fL{%FlvVh$O7#E$002ovPDHLkV1ii2gkS&w delta 2882 zcmV-I3%&Ho2GGt+^e{*wlvu@6b&Kg)eH8nL2#wS{>R=HR#MhQog!~|)Y z#k?AmCA&urXN5{wac6N47rJkn+R;gC2-vdmE zjFT|}>vTF<#GMDz5$;Wve`R=Jpom$@-vBXECXj(11Ay7Rs9^2oRe?y)f8V-E{J5TEo z*eP+~&XOalAK&3G*&F$xO?|*Vg{f=fI$$+BAAPFrc&L+EEC29 zt3^SqMk$|2MjashCQt`rgkTj^tiOw}pdGH$=>+m#5JVTp#%|odf4^@H>l+w+(haCc zNtqN?698SDhWktle@7-2cqU_N(jD<$q=>bgbhsfhjw?ZhbQO@8(dRhBh5fCquS}oR zFR)U(-M+-{+s~Lx;aHU;<5qfhhgJRDp-@$9;J(pP5FC$HMY#bEl-m@yQT`QrJbmxp zy^86B;(jJU1#d=~bw`Q%D95z;o$l0}DOkuB7~P8Z_xJx(f2-~L>)pJ0b8I9CE~ZH` zhV=?Y!8^$kTtUyBMbwoh?BPZir~18se9tD0l3ILLqDeL8vN8 ziw3G8PW*X!d3m>Xc-T0(;JbJ4npFY2q=Z>NzP;3@` zU*VgDg@czbe_ysf$8=ALf$?ix&_7E?CBu(GMLYfz@UXVAvGLpb`g*UWjfPIEckbM2 zg3FnLj_WxUN3Lpm>^PDAJ{V0;3goC~TWo@Y_CLs0$%NUoZ++Y=2$ zixoKCLLAo*joI?!!Dr8&ZT#(rAHqhvJ+0s98V|k4f8?xS&tz7#z&;yt^)eo#M$-)f zQc(Pu+roS+5ot8WcXp0}`et_aDmLW1BV#Th{+mE-R0XJ+u-#s~b?ep@f9~|xUvIV< zPa5@YCO0}llqQaZs3z7d^zv)HfR%j9#VaENCo?z3IUkOWetQ9{=Yz_M#aVwb$~@@$ zt4p_Uf8W05o-t)9w%cz6kXlWsi*XLU>3x%uMD$Y`2H2>oV4wg4`W!12HVe0@N@~i;1@ZcA8b`5xt5^0z3>s*?$*|=SHQ~Y#w`8 z&KSciBW@)#LjcPUFF8LtISaLy*x=)}c@`PipE>V;(j5P!{9 zf7flv`}NP4OL_szB@x>NDJ|bBO5lr~Kjs7CC~EjjiduS%IRiq8K|;qI_z0r;ocSDC z%cz6S&ou5kW(Z(M9zvJylgZ;oAPmdK^NBF$HOElqQk4_wii25fG~T%}M(>SQYs5wW z&W}0E=%k$iATsdgP{6$76Zi}%SWEaAe=_Q-yIn;-4=ITxsH$QtRJFu6IYxt^@zXEA zxdQ`~{}e3_&xRJkmxqBfX27It z*O!6*71Dl*>tY+hGj-XxI5YFJA66|cE`9~0Q|K<6{?4$tu}&N}mzI`>41y7i$>*udc3c;ktEl-RIA{!kV9-A3>dQ{saI~yM%sN{hB)# z*qno2eD_Q=o4;o&&zX*mT7QrM@Bg7|U!t+_v&GJ~1&-g%fQYej*R(aDA0GEelQ@7ysI6f7;1SxwD|S zGLo;B%imqBRvU=?>tHA?aek-6dfiwtNg`JuO|=pne8OS7+K5q20l<%@59+Hl01L7X zaF-#GJfcv)#xuq=FpnJtqUKEsvj}dA(uCkVtrE95mzL54Lq`s&bu?Yc4HfJDMmJz% zYwJxvJoj77Ndd}IrX!yBWK># z7C9nSDmC?*pS>NVy);mX8y0RIR%_2#spXlpsGORAmzGGhL5ZqVQ%dqgCcyV3-11sT zw2=HwiAm&vE1H9cj~_pNYX+b}Yxm~h;NahoNQ>+qdA^LlQ%y+Y6E%_8rTWH;HJxud z8Tqp_qZ%NRM}7u}f4^!5q=A7E11#6CTH^LQlC}m<#vK23-7G{7jeZ2);qMkUv>(Yr9EsuZXy<_!mtiW&(4!ZYVLD~zhNraF4R{p87$ znmGlXx}ymzxmN<=%$3=hbPO_bVA?JVv%$rNAUl@K2-rWff3FAZhw(lBMP3z{SC)R0 zN@eHKqerK1*ACOFHR$@+2o4NaT$n}m3JH!KO*Ze?9AtQeKLpbPSX9t%fK*&bdB|kz z8nwUw_~V)xf`$U-z@cZ%XsOJ2F;OQi3)6aP$1`G?9F2`g@8#o8QtV=~+X=wMEUW!< zY3a2Yl7dnu9zycFM=qg+jcjbcfBynSoI`WQbSgjAi&*bqF()pSBn)y*23Nw9pw^h}>)(F6avq>a z=OQtmAiZe>#B-1k+fj7TO<2GGqUQ0zoFkp-8T%B~YPC9BvQWP|B8?AoSFXH5h3UwA gp)d4>82-@oKalT}?hE$k9RL6T07*qoM6N<$f?!Z<&;S4c diff --git a/assets/icons/watch.png b/assets/icons/watch.png new file mode 100644 index 0000000000000000000000000000000000000000..cbac68e590b0b07d8c11ee8dee815fcadfc3a259 GIT binary patch literal 754 zcmVFA3Za4jD^N(qH%9o!&hGhG7_nVHk#C_+SJ62%J50ww3-S zX3i$5&EN?iqBotra<-Fm+<#{gJc!p8z3XfrSDwuycJ>d+15l#^JxFL7!RxjujizWK zMtLS{wlf|g0hGJ&Dttt55=Q}zQWZt;&87WWx;l0?#v_m3BsN4MxQtiTQwC;0a_QkuROS053C8+o$RIPMw`Y5J}N=g9k`%R*LQPd`A!zE}5r8B*7|| z!C>&d-|xRgG3cE85JW0%?4_2=a5((bXf!_3?|Qxdwbg2UE6|LBAw_wSF)rb0NP{#RA~4E2HfsFhJPkt!WDfC|FEwq;c1`c+8G3TmqhedDe2sS zNaU9i?PKw6h6gmC&eor_i6AtTq-tbm=~io+89{IuNfrhvz|bq=He{i3EZUQ#OTZ`T zR?6cM6o!tpXd+vhx&FmLS*ZPAD6LcbSdl2pJ^t_od5s;07*qoM6N<$f=aqkT>t<8 literal 0 HcmV?d00001 diff --git a/lib/gen/assets.gen.dart b/lib/gen/assets.gen.dart index f8d801c1..2baf7494 100644 --- a/lib/gen/assets.gen.dart +++ b/lib/gen/assets.gen.dart @@ -3,123 +3,65 @@ /// FlutterGen /// ***************************************************** -// ignore_for_file: directives_ordering,unnecessary_import - import 'package:flutter/widgets.dart'; class $AssetsApplicationsGen { const $AssetsApplicationsGen(); - /// File path: assets/applications/advice.png AssetGenImage get advice => const AssetGenImage('assets/applications/advice.png'); - - /// File path: assets/applications/all_app.png AssetGenImage get allApp => const AssetGenImage('assets/applications/all_app.png'); - - /// File path: assets/applications/borrow.png AssetGenImage get borrow => const AssetGenImage('assets/applications/borrow.png'); - - /// File path: assets/applications/box.png AssetGenImage get box => const AssetGenImage('assets/applications/box.png'); - - /// File path: assets/applications/committee.png AssetGenImage get committee => const AssetGenImage('assets/applications/committee.png'); - - /// File path: assets/applications/community_phone.png AssetGenImage get communityPhone => const AssetGenImage('assets/applications/community_phone.png'); - - /// File path: assets/applications/complaint.png AssetGenImage get complaint => const AssetGenImage('assets/applications/complaint.png'); - - /// File path: assets/applications/decoration.png AssetGenImage get decoration => const AssetGenImage('assets/applications/decoration.png'); - - /// File path: assets/applications/digital.png AssetGenImage get digital => const AssetGenImage('assets/applications/digital.png'); - - /// File path: assets/applications/door_code.png AssetGenImage get doorCode => const AssetGenImage('assets/applications/door_code.png'); - - /// File path: assets/applications/fix.png AssetGenImage get fix => const AssetGenImage('assets/applications/fix.png'); - - /// File path: assets/applications/goods_out.png AssetGenImage get goodsOut => const AssetGenImage('assets/applications/goods_out.png'); - - /// File path: assets/applications/home_live.png AssetGenImage get homeLive => const AssetGenImage('assets/applications/home_live.png'); - - /// File path: assets/applications/hospital.png AssetGenImage get hospital => const AssetGenImage('assets/applications/hospital.png'); - - /// File path: assets/applications/makeup.png AssetGenImage get makeup => const AssetGenImage('assets/applications/makeup.png'); - - /// File path: assets/applications/oepn_door.png AssetGenImage get oepnDoor => const AssetGenImage('assets/applications/oepn_door.png'); - - /// File path: assets/applications/payment.png AssetGenImage get payment => const AssetGenImage('assets/applications/payment.png'); - - /// File path: assets/applications/police.png AssetGenImage get police => const AssetGenImage('assets/applications/police.png'); - - /// File path: assets/applications/question.png AssetGenImage get question => const AssetGenImage('assets/applications/question.png'); - - /// File path: assets/applications/snack.png AssetGenImage get snack => const AssetGenImage('assets/applications/snack.png'); - - /// File path: assets/applications/tool_bmts.png AssetGenImage get toolBmts => const AssetGenImage('assets/applications/tool_bmts.png'); - - /// File path: assets/applications/toy.png AssetGenImage get toy => const AssetGenImage('assets/applications/toy.png'); - - /// File path: assets/applications/transfer.png AssetGenImage get transfer => const AssetGenImage('assets/applications/transfer.png'); - - /// File path: assets/applications/visitor_invite.png AssetGenImage get visitorInvite => const AssetGenImage('assets/applications/visitor_invite.png'); - - /// File path: assets/applications/vote.png AssetGenImage get vote => const AssetGenImage('assets/applications/vote.png'); - - /// File path: assets/applications/wine.png AssetGenImage get wine => const AssetGenImage('assets/applications/wine.png'); } class $AssetsBraceletGen { const $AssetsBraceletGen(); - /// File path: assets/bracelet/x5.png AssetGenImage get x5 => const AssetGenImage('assets/bracelet/x5.png'); - - /// File path: assets/bracelet/x8.png AssetGenImage get x8 => const AssetGenImage('assets/bracelet/x8.png'); - - /// File path: assets/bracelet/xiaomi6.png AssetGenImage get xiaomi6 => const AssetGenImage('assets/bracelet/xiaomi6.png'); } @@ -127,1114 +69,543 @@ class $AssetsBraceletGen { class $AssetsIconsGen { const $AssetsIconsGen(); - /// File path: assets/icons/add.png AssetGenImage get add => const AssetGenImage('assets/icons/add.png'); - - /// File path: assets/icons/alarm.png AssetGenImage get alarm => const AssetGenImage('assets/icons/alarm.png'); - - /// File path: assets/icons/alipay_round.png AssetGenImage get alipayRound => const AssetGenImage('assets/icons/alipay_round.png'); - - /// File path: assets/icons/app_add.png AssetGenImage get appAdd => const AssetGenImage('assets/icons/app_add.png'); - - /// File path: assets/icons/app_alarm.png AssetGenImage get appAlarm => const AssetGenImage('assets/icons/app_alarm.png'); - - /// File path: assets/icons/app_reduce.png AssetGenImage get appReduce => const AssetGenImage('assets/icons/app_reduce.png'); - - /// File path: assets/icons/appointment-address.png AssetGenImage get appointmentAddress => const AssetGenImage('assets/icons/appointment-address.png'); - - /// File path: assets/icons/appointment-code.png AssetGenImage get appointmentCode => const AssetGenImage('assets/icons/appointment-code.png'); - - /// File path: assets/icons/appointment_date.png AssetGenImage get appointmentDate => const AssetGenImage('assets/icons/appointment_date.png'); - - /// File path: assets/icons/article_count.png AssetGenImage get articleCount => const AssetGenImage('assets/icons/article_count.png'); - - /// File path: assets/icons/article_name.png AssetGenImage get articleName => const AssetGenImage('assets/icons/article_name.png'); - - /// File path: assets/icons/bee_task.png AssetGenImage get beeTask => const AssetGenImage('assets/icons/bee_task.png'); - - /// File path: assets/icons/blood_ressure.png AssetGenImage get bloodRessure => const AssetGenImage('assets/icons/blood_ressure.png'); - - /// File path: assets/icons/borrow_failure.png AssetGenImage get borrowFailure => const AssetGenImage('assets/icons/borrow_failure.png'); - - /// File path: assets/icons/borrow_status.png AssetGenImage get borrowStatus => const AssetGenImage('assets/icons/borrow_status.png'); - - /// File path: assets/icons/borrow_success.png AssetGenImage get borrowSuccess => const AssetGenImage('assets/icons/borrow_success.png'); - - /// File path: assets/icons/change.png AssetGenImage get change => const AssetGenImage('assets/icons/change.png'); - - /// File path: assets/icons/clock_circle.png AssetGenImage get clockCircle => const AssetGenImage('assets/icons/clock_circle.png'); - - /// File path: assets/icons/clock_success.png AssetGenImage get clockSuccess => const AssetGenImage('assets/icons/clock_success.png'); - - /// File path: assets/icons/collect.png AssetGenImage get collect => const AssetGenImage('assets/icons/collect.png'); - - /// File path: assets/icons/collection_setting.png AssetGenImage get collectionSetting => const AssetGenImage('assets/icons/collection_setting.png'); - - /// File path: assets/icons/collection_share.png AssetGenImage get collectionShare => const AssetGenImage('assets/icons/collection_share.png'); - - /// File path: assets/icons/comment_notice.png AssetGenImage get commentNotice => const AssetGenImage('assets/icons/comment_notice.png'); - - /// File path: assets/icons/commerc.png AssetGenImage get commerc => const AssetGenImage('assets/icons/commerc.png'); - - /// File path: assets/icons/community_comment.png AssetGenImage get communityComment => const AssetGenImage('assets/icons/community_comment.png'); - - /// File path: assets/icons/community_comment_is.png AssetGenImage get communityCommentIs => const AssetGenImage('assets/icons/community_comment_is.png'); - - /// File path: assets/icons/community_like.png AssetGenImage get communityLike => const AssetGenImage('assets/icons/community_like.png'); - - /// File path: assets/icons/community_like_is.png AssetGenImage get communityLikeIs => const AssetGenImage('assets/icons/community_like_is.png'); - - /// File path: assets/icons/complaint.png AssetGenImage get complaint => const AssetGenImage('assets/icons/complaint.png'); - - /// File path: assets/icons/consult.png AssetGenImage get consult => const AssetGenImage('assets/icons/consult.png'); - - /// File path: assets/icons/contract.png AssetGenImage get contract => const AssetGenImage('assets/icons/contract.png'); - - /// File path: assets/icons/delete.png AssetGenImage get delete => const AssetGenImage('assets/icons/delete.png'); - - /// File path: assets/icons/device_alarm.png AssetGenImage get deviceAlarm => const AssetGenImage('assets/icons/device_alarm.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/examine.png AssetGenImage get examine => const AssetGenImage('assets/icons/examine.png'); - - /// File path: assets/icons/examining.png AssetGenImage get examining => const AssetGenImage('assets/icons/examining.png'); - - /// File path: assets/icons/eye_close.png AssetGenImage get eyeClose => const AssetGenImage('assets/icons/eye_close.png'); - - /// File path: assets/icons/facility.png AssetGenImage get facility => const AssetGenImage('assets/icons/facility.png'); - - /// File path: assets/icons/falldown.png AssetGenImage get falldown => const AssetGenImage('assets/icons/falldown.png'); - - /// File path: assets/icons/file.png AssetGenImage get file => const AssetGenImage('assets/icons/file.png'); - - /// File path: assets/icons/filter.png AssetGenImage get filter => const AssetGenImage('assets/icons/filter.png'); - - /// File path: assets/icons/finish.png AssetGenImage get finish => const AssetGenImage('assets/icons/finish.png'); - - /// File path: assets/icons/fire_alarm.png AssetGenImage get fireAlarm => const AssetGenImage('assets/icons/fire_alarm.png'); - - /// File path: assets/icons/foot.png AssetGenImage get foot => const AssetGenImage('assets/icons/foot.png'); - - /// File path: assets/icons/func_all.png AssetGenImage get funcAll => const AssetGenImage('assets/icons/func_all.png'); - - /// File path: assets/icons/func_bmdh.png AssetGenImage get funcBmdh => const AssetGenImage('assets/icons/func_bmdh.png'); - - /// File path: assets/icons/func_bsbx.png AssetGenImage get funcBsbx => const AssetGenImage('assets/icons/func_bsbx.png'); - - /// File path: assets/icons/func_dlxx.png AssetGenImage get funcDlxx => const AssetGenImage('assets/icons/func_dlxx.png'); - - /// File path: assets/icons/func_dzsw.png AssetGenImage get funcDzsw => const AssetGenImage('assets/icons/func_dzsw.png'); - - /// File path: assets/icons/func_fkyq.png AssetGenImage get funcFkyq => const AssetGenImage('assets/icons/func_fkyq.png'); - - /// File path: assets/icons/func_fwll.png AssetGenImage get funcFwll => const AssetGenImage('assets/icons/func_fwll.png'); - - /// File path: assets/icons/func_gife.png AssetGenImage get funcGife => const AssetGenImage('assets/icons/func_gife.png'); - - /// File path: assets/icons/func_hdtp.png AssetGenImage get funcHdtp => const AssetGenImage('assets/icons/func_hdtp.png'); - - /// File path: assets/icons/func_jhgl.png AssetGenImage get funcJhgl => const AssetGenImage('assets/icons/func_jhgl.png'); - - /// File path: assets/icons/func_jyzx.png AssetGenImage get funcJyzx => const AssetGenImage('assets/icons/func_jyzx.png'); - - /// File path: assets/icons/func_jzfw.png AssetGenImage get funcJzfw => const AssetGenImage('assets/icons/func_jzfw.png'); - - /// File path: assets/icons/func_kdbg.png AssetGenImage get funcKdbg => const AssetGenImage('assets/icons/func_kdbg.png'); - - /// File path: assets/icons/func_kmm.png AssetGenImage get funcKmm => const AssetGenImage('assets/icons/func_kmm.png'); - - /// File path: assets/icons/func_shjf.png AssetGenImage get funcShjf => const AssetGenImage('assets/icons/func_shjf.png'); - - /// File path: assets/icons/func_sqjs.png AssetGenImage get funcSqjs => const AssetGenImage('assets/icons/func_sqjs.png'); - - /// File path: assets/icons/func_ssyy.png AssetGenImage get funcSsyy => const AssetGenImage('assets/icons/func_ssyy.png'); - - /// File path: assets/icons/func_tsby.png AssetGenImage get funcTsby => const AssetGenImage('assets/icons/func_tsby.png'); - - /// File path: assets/icons/func_wjdc.png AssetGenImage get funcWjdc => const AssetGenImage('assets/icons/func_wjdc.png'); - - /// File path: assets/icons/func_wpch.png AssetGenImage get funcWpch => const AssetGenImage('assets/icons/func_wpch.png'); - - /// File path: assets/icons/func_yjbj.png AssetGenImage get funcYjbj => const AssetGenImage('assets/icons/func_yjbj.png'); - - /// File path: assets/icons/func_ywh.png AssetGenImage get funcYwh => const AssetGenImage('assets/icons/func_ywh.png'); - - /// File path: assets/icons/func_zbqy.png AssetGenImage get funcZbqy => const AssetGenImage('assets/icons/func_zbqy.png'); - - /// File path: assets/icons/func_zfsm.png AssetGenImage get funcZfsm => const AssetGenImage('assets/icons/func_zfsm.png'); - - /// File path: assets/icons/func_zxgl.png AssetGenImage get funcZxgl => const AssetGenImage('assets/icons/func_zxgl.png'); - - /// File path: assets/icons/goods_borrow.png AssetGenImage get goodsBorrow => const AssetGenImage('assets/icons/goods_borrow.png'); - - /// File path: assets/icons/goods_return.png AssetGenImage get goodsReturn => const AssetGenImage('assets/icons/goods_return.png'); - - /// File path: assets/icons/groupbuy_tab_selected.png AssetGenImage get groupbuyTabSelected => const AssetGenImage('assets/icons/groupbuy_tab_selected.png'); - - /// File path: assets/icons/groupbuy_tab_unselected.png AssetGenImage get groupbuyTabUnselected => const AssetGenImage('assets/icons/groupbuy_tab_unselected.png'); - - /// File path: assets/icons/heartbeat.png AssetGenImage get heartbeat => const AssetGenImage('assets/icons/heartbeat.png'); - - /// File path: assets/icons/hot_fire.png AssetGenImage get hotFire => const AssetGenImage('assets/icons/hot_fire.png'); - - /// File path: assets/icons/house.png AssetGenImage get house => const AssetGenImage('assets/icons/house.png'); - - /// File path: assets/icons/house_keeping.png AssetGenImage get houseKeeping => const AssetGenImage('assets/icons/house_keeping.png'); - - /// File path: assets/icons/icon_address_edit.png AssetGenImage get iconAddressEdit => const AssetGenImage('assets/icons/icon_address_edit.png'); - - /// File path: assets/icons/icon_address_isdefault.png AssetGenImage get iconAddressIsdefault => const AssetGenImage('assets/icons/icon_address_isdefault.png'); - - /// File path: assets/icons/icon_address_not.png AssetGenImage get iconAddressNot => const AssetGenImage('assets/icons/icon_address_not.png'); - - /// File path: assets/icons/icon_back.png AssetGenImage get iconBack => const AssetGenImage('assets/icons/icon_back.png'); - - /// File path: assets/icons/icon_change_grid.png AssetGenImage get iconChangeGrid => const AssetGenImage('assets/icons/icon_change_grid.png'); - - /// File path: assets/icons/icon_change_list.png AssetGenImage get iconChangeList => const AssetGenImage('assets/icons/icon_change_list.png'); - - /// File path: assets/icons/icon_comment.png AssetGenImage get iconComment => const AssetGenImage('assets/icons/icon_comment.png'); - - /// File path: assets/icons/icon_community_push.png AssetGenImage get iconCommunityPush => const AssetGenImage('assets/icons/icon_community_push.png'); - - /// File path: assets/icons/icon_favor_choose.png AssetGenImage get iconFavorChoose => const AssetGenImage('assets/icons/icon_favor_choose.png'); - - /// File path: assets/icons/icon_good_car.png AssetGenImage get iconGoodCar => const AssetGenImage('assets/icons/icon_good_car.png'); - - /// File path: assets/icons/icon_good_favor.png AssetGenImage get iconGoodFavor => const AssetGenImage('assets/icons/icon_good_favor.png'); - - /// File path: assets/icons/icon_good_location.png AssetGenImage get iconGoodLocation => const AssetGenImage('assets/icons/icon_good_location.png'); - - /// File path: assets/icons/icon_good_my.png AssetGenImage get iconGoodMy => const AssetGenImage('assets/icons/icon_good_my.png'); - - /// File path: assets/icons/icon_logistics.png AssetGenImage get iconLogistics => const AssetGenImage('assets/icons/icon_logistics.png'); - - /// File path: assets/icons/icon_main_all.png AssetGenImage get iconMainAll => const AssetGenImage('assets/icons/icon_main_all.png'); - - /// File path: assets/icons/icon_main_consult.png AssetGenImage get iconMainConsult => const AssetGenImage('assets/icons/icon_main_consult.png'); - - /// File path: assets/icons/icon_main_find.png AssetGenImage get iconMainFind => const AssetGenImage('assets/icons/icon_main_find.png'); - - /// File path: assets/icons/icon_main_fix.png AssetGenImage get iconMainFix => const AssetGenImage('assets/icons/icon_main_fix.png'); - - /// File path: assets/icons/icon_main_invite.png AssetGenImage get iconMainInvite => const AssetGenImage('assets/icons/icon_main_invite.png'); - - /// File path: assets/icons/icon_main_location.png AssetGenImage get iconMainLocation => const AssetGenImage('assets/icons/icon_main_location.png'); - - /// File path: assets/icons/icon_main_message.png AssetGenImage get iconMainMessage => const AssetGenImage('assets/icons/icon_main_message.png'); - - /// File path: assets/icons/icon_main_open.png AssetGenImage get iconMainOpen => const AssetGenImage('assets/icons/icon_main_open.png'); - - /// File path: assets/icons/icon_main_pay.png AssetGenImage get iconMainPay => const AssetGenImage('assets/icons/icon_main_pay.png'); - - /// File path: assets/icons/icon_main_police.png AssetGenImage get iconMainPolice => const AssetGenImage('assets/icons/icon_main_police.png'); - - /// File path: assets/icons/icon_main_subscribe.png AssetGenImage get iconMainSubscribe => const AssetGenImage('assets/icons/icon_main_subscribe.png'); - - /// File path: assets/icons/icon_market_success.png AssetGenImage get iconMarketSuccess => const AssetGenImage('assets/icons/icon_market_success.png'); - - /// File path: assets/icons/icon_more.png AssetGenImage get iconMore => const AssetGenImage('assets/icons/icon_more.png'); - - /// File path: assets/icons/icon_more_black.png AssetGenImage get iconMoreBlack => const AssetGenImage('assets/icons/icon_more_black.png'); - - /// File path: assets/icons/icon_my_car.png AssetGenImage get iconMyCar => const AssetGenImage('assets/icons/icon_my_car.png'); - - /// File path: assets/icons/icon_my_carSeat.png AssetGenImage get iconMyCarSeat => const AssetGenImage('assets/icons/icon_my_carSeat.png'); - - /// File path: assets/icons/icon_my_edit.png AssetGenImage get iconMyEdit => const AssetGenImage('assets/icons/icon_my_edit.png'); - - /// File path: assets/icons/icon_my_house.png AssetGenImage get iconMyHouse => const AssetGenImage('assets/icons/icon_my_house.png'); - - /// File path: assets/icons/icon_my_location.png AssetGenImage get iconMyLocation => const AssetGenImage('assets/icons/icon_my_location.png'); - - /// File path: assets/icons/icon_my_setting.png AssetGenImage get iconMySetting => const AssetGenImage('assets/icons/icon_my_setting.png'); - - /// File path: assets/icons/icon_my_visitor.png AssetGenImage get iconMyVisitor => const AssetGenImage('assets/icons/icon_my_visitor.png'); - - /// File path: assets/icons/icon_notification.png AssetGenImage get iconNotification => const AssetGenImage('assets/icons/icon_notification.png'); - - /// File path: assets/icons/icon_price.png AssetGenImage get iconPrice => const AssetGenImage('assets/icons/icon_price.png'); - - /// File path: assets/icons/icon_price_bottom.png AssetGenImage get iconPriceBottom => const AssetGenImage('assets/icons/icon_price_bottom.png'); - - /// File path: assets/icons/icon_price_normal.png AssetGenImage get iconPriceNormal => const AssetGenImage('assets/icons/icon_price_normal.png'); - - /// File path: assets/icons/icon_price_top.png AssetGenImage get iconPriceTop => const AssetGenImage('assets/icons/icon_price_top.png'); - - /// File path: assets/icons/icon_property_location.png AssetGenImage get iconPropertyLocation => const AssetGenImage('assets/icons/icon_property_location.png'); - - /// File path: assets/icons/icon_property_message.png AssetGenImage get iconPropertyMessage => const AssetGenImage('assets/icons/icon_property_message.png'); - - /// File path: assets/icons/icon_property_search.png AssetGenImage get iconPropertySearch => const AssetGenImage('assets/icons/icon_property_search.png'); - - /// File path: assets/icons/icon_setting.png AssetGenImage get iconSetting => const AssetGenImage('assets/icons/icon_setting.png'); - - /// File path: assets/icons/icon_sort.png AssetGenImage get iconSort => const AssetGenImage('assets/icons/icon_sort.png'); - - /// File path: assets/icons/icon_thumbsUp.png AssetGenImage get iconThumbsUp => const AssetGenImage('assets/icons/icon_thumbsUp.png'); - - /// File path: assets/icons/icon_toTop.png AssetGenImage get iconToTop => const AssetGenImage('assets/icons/icon_toTop.png'); - - /// File path: assets/icons/icon_topic_first.png AssetGenImage get iconTopicFirst => const AssetGenImage('assets/icons/icon_topic_first.png'); - - /// File path: assets/icons/icon_topic_second.png AssetGenImage get iconTopicSecond => const AssetGenImage('assets/icons/icon_topic_second.png'); - - /// File path: assets/icons/icon_topic_third.png AssetGenImage get iconTopicThird => const AssetGenImage('assets/icons/icon_topic_third.png'); - - /// File path: assets/icons/identify.png AssetGenImage get identify => const AssetGenImage('assets/icons/identify.png'); - - /// File path: assets/icons/img_add.png AssetGenImage get imgAdd => const AssetGenImage('assets/icons/img_add.png'); - - /// File path: assets/icons/intergral.png AssetGenImage get intergral => const AssetGenImage('assets/icons/intergral.png'); - - /// File path: assets/icons/introduce.png AssetGenImage get introduce => const AssetGenImage('assets/icons/introduce.png'); - - /// File path: assets/icons/lease_house.png AssetGenImage get leaseHouse => const AssetGenImage('assets/icons/lease_house.png'); - - /// File path: assets/icons/like.png AssetGenImage get like => const AssetGenImage('assets/icons/like.png'); - - /// File path: assets/icons/location.png AssetGenImage get location => const AssetGenImage('assets/icons/location.png'); - - /// File path: assets/icons/manager_order_cancel.png AssetGenImage get managerOrderCancel => const AssetGenImage('assets/icons/manager_order_cancel.png'); - - /// File path: assets/icons/manager_phone_call.png AssetGenImage get managerPhoneCall => const AssetGenImage('assets/icons/manager_phone_call.png'); - - /// File path: assets/icons/market_tab_selected.png AssetGenImage get marketTabSelected => const AssetGenImage('assets/icons/market_tab_selected.png'); - - /// File path: assets/icons/market_tab_unselected.png AssetGenImage get marketTabUnselected => const AssetGenImage('assets/icons/market_tab_unselected.png'); - - /// File path: assets/icons/nearby_pet.png AssetGenImage get nearbyPet => const AssetGenImage('assets/icons/nearby_pet.png'); - - /// File path: assets/icons/nearby_service.png AssetGenImage get nearbyService => const AssetGenImage('assets/icons/nearby_service.png'); - - /// File path: assets/icons/oxygen.png AssetGenImage get oxygen => const AssetGenImage('assets/icons/oxygen.png'); - - /// File path: assets/icons/pass.png AssetGenImage get pass => const AssetGenImage('assets/icons/pass.png'); - - /// File path: assets/icons/pay.png AssetGenImage get pay => const AssetGenImage('assets/icons/pay.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/projection_screen.png AssetGenImage get projectionScreen => const AssetGenImage('assets/icons/projection_screen.png'); - - /// File path: assets/icons/property.png AssetGenImage get property => const AssetGenImage('assets/icons/property.png'); - - /// File path: assets/icons/proposal.png AssetGenImage get proposal => const AssetGenImage('assets/icons/proposal.png'); - - /// File path: assets/icons/provide_aged.png AssetGenImage get provideAged => const AssetGenImage('assets/icons/provide_aged.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/report.png AssetGenImage get report => const AssetGenImage('assets/icons/report.png'); - - /// File path: assets/icons/reward.png AssetGenImage get reward => const AssetGenImage('assets/icons/reward.png'); - - /// File path: assets/icons/second_hand.png AssetGenImage get secondHand => const AssetGenImage('assets/icons/second_hand.png'); - - /// File path: assets/icons/second_hand_market.png AssetGenImage get secondHandMarket => const AssetGenImage('assets/icons/second_hand_market.png'); - - /// File path: assets/icons/service.png AssetGenImage get service => const AssetGenImage('assets/icons/service.png'); - - /// File path: assets/icons/share_park.png AssetGenImage get sharePark => const AssetGenImage('assets/icons/share_park.png'); - - /// File path: assets/icons/shield_content.png AssetGenImage get shieldContent => const AssetGenImage('assets/icons/shield_content.png'); - - /// File path: assets/icons/shield_user.png AssetGenImage get shieldUser => const AssetGenImage('assets/icons/shield_user.png'); - - /// File path: assets/icons/shop_car.png AssetGenImage get shopCar => const AssetGenImage('assets/icons/shop_car.png'); - - /// File path: assets/icons/shop_close.png AssetGenImage get shopClose => const AssetGenImage('assets/icons/shop_close.png'); - - /// File path: assets/icons/shop_favorfill.png AssetGenImage get shopFavorfill => const AssetGenImage('assets/icons/shop_favorfill.png'); - - /// File path: assets/icons/shop_laba.png AssetGenImage get shopLaba => const AssetGenImage('assets/icons/shop_laba.png'); - - /// File path: assets/icons/shop_location.png AssetGenImage get shopLocation => const AssetGenImage('assets/icons/shop_location.png'); - - /// File path: assets/icons/shop_notice.png AssetGenImage get shopNotice => const AssetGenImage('assets/icons/shop_notice.png'); - - /// File path: assets/icons/shop_order.png AssetGenImage get shopOrder => const AssetGenImage('assets/icons/shop_order.png'); - - /// File path: assets/icons/shop_search.png AssetGenImage get shopSearch => const AssetGenImage('assets/icons/shop_search.png'); - - /// File path: assets/icons/shop_torb.png AssetGenImage get shopTorb => const AssetGenImage('assets/icons/shop_torb.png'); - - /// File path: assets/icons/shopping_mall.png AssetGenImage get shoppingMall => const AssetGenImage('assets/icons/shopping_mall.png'); - - /// File path: assets/icons/sos.png AssetGenImage get sos => const AssetGenImage('assets/icons/sos.png'); - - /// File path: assets/icons/system_notice.png AssetGenImage get systemNotice => const AssetGenImage('assets/icons/system_notice.png'); - - /// File path: assets/icons/tabbar_home.png AssetGenImage get tabbarHome => const AssetGenImage('assets/icons/tabbar_home.png'); - - /// File path: assets/icons/tabbar_home_no.png AssetGenImage get tabbarHomeNo => const AssetGenImage('assets/icons/tabbar_home_no.png'); - - /// File path: assets/icons/tabbar_house.png AssetGenImage get tabbarHouse => const AssetGenImage('assets/icons/tabbar_house.png'); - - /// File path: assets/icons/tabbar_house_no.png AssetGenImage get tabbarHouseNo => const AssetGenImage('assets/icons/tabbar_house_no.png'); - - /// File path: assets/icons/tabbar_market.png AssetGenImage get tabbarMarket => const AssetGenImage('assets/icons/tabbar_market.png'); - - /// File path: assets/icons/tabbar_market_no.png AssetGenImage get tabbarMarketNo => const AssetGenImage('assets/icons/tabbar_market_no.png'); - - /// File path: assets/icons/tabbar_message.png AssetGenImage get tabbarMessage => const AssetGenImage('assets/icons/tabbar_message.png'); - - /// File path: assets/icons/tabbar_message_no.png AssetGenImage get tabbarMessageNo => const AssetGenImage('assets/icons/tabbar_message_no.png'); - - /// File path: assets/icons/tabbar_user.png AssetGenImage get tabbarUser => const AssetGenImage('assets/icons/tabbar_user.png'); - - /// File path: assets/icons/tabbar_user_no.png AssetGenImage get tabbarUserNo => const AssetGenImage('assets/icons/tabbar_user_no.png'); - - /// File path: assets/icons/tag.png AssetGenImage get tag => const AssetGenImage('assets/icons/tag.png'); - - /// File path: assets/icons/test_kingcion.png AssetGenImage get testKingcion => const AssetGenImage('assets/icons/test_kingcion.png'); - - /// File path: assets/icons/tool_bmdh.png AssetGenImage get toolBmdh => const AssetGenImage('assets/icons/tool_bmdh.png'); - - /// File path: assets/icons/tool_bmts.png AssetGenImage get toolBmts => const AssetGenImage('assets/icons/tool_bmts.png'); - - /// File path: assets/icons/tool_bsbx.png AssetGenImage get toolBsbx => const AssetGenImage('assets/icons/tool_bsbx.png'); - - /// File path: assets/icons/tool_czxs.png AssetGenImage get toolCzxs => const AssetGenImage('assets/icons/tool_czxs.png'); - - /// File path: assets/icons/tool_facility.png AssetGenImage get toolFacility => const AssetGenImage('assets/icons/tool_facility.png'); - - /// File path: assets/icons/tool_fkyq.png AssetGenImage get toolFkyq => const AssetGenImage('assets/icons/tool_fkyq.png'); - - /// File path: assets/icons/tool_fsxb.png AssetGenImage get toolFsxb => const AssetGenImage('assets/icons/tool_fsxb.png'); - - /// File path: assets/icons/tool_hdtp.png AssetGenImage get toolHdtp => const AssetGenImage('assets/icons/tool_hdtp.png'); - - /// File path: assets/icons/tool_jhgl.png AssetGenImage get toolJhgl => const AssetGenImage('assets/icons/tool_jhgl.png'); - - /// File path: assets/icons/tool_jjsh.png AssetGenImage get toolJjsh => const AssetGenImage('assets/icons/tool_jjsh.png'); - - /// File path: assets/icons/tool_jyts.png AssetGenImage get toolJyts => const AssetGenImage('assets/icons/tool_jyts.png'); - - /// File path: assets/icons/tool_kmm.png AssetGenImage get toolKmm => const AssetGenImage('assets/icons/tool_kmm.png'); - - /// File path: assets/icons/tool_mywj.png AssetGenImage get toolMywj => const AssetGenImage('assets/icons/tool_mywj.png'); - - /// File path: assets/icons/tool_qbyy.png AssetGenImage get toolQbyy => const AssetGenImage('assets/icons/tool_qbyy.png'); - - /// File path: assets/icons/tool_shjf.png AssetGenImage get toolShjf => const AssetGenImage('assets/icons/tool_shjf.png'); - - /// File path: assets/icons/tool_smjd.png AssetGenImage get toolSmjd => const AssetGenImage('assets/icons/tool_smjd.png'); - - /// File path: assets/icons/tool_tsby.png AssetGenImage get toolTsby => const AssetGenImage('assets/icons/tool_tsby.png'); - - /// File path: assets/icons/tool_wjdc.png AssetGenImage get toolWjdc => const AssetGenImage('assets/icons/tool_wjdc.png'); - - /// File path: assets/icons/tool_wpcm.png AssetGenImage get toolWpcm => const AssetGenImage('assets/icons/tool_wpcm.png'); - - /// File path: assets/icons/tool_xxfs.png AssetGenImage get toolXxfs => const AssetGenImage('assets/icons/tool_xxfs.png'); - - /// File path: assets/icons/tool_yjbj.png AssetGenImage get toolYjbj => const AssetGenImage('assets/icons/tool_yjbj.png'); - - /// File path: assets/icons/tool_yjkm.png AssetGenImage get toolYjkm => const AssetGenImage('assets/icons/tool_yjkm.png'); - - /// File path: assets/icons/tool_yljs.png AssetGenImage get toolYljs => const AssetGenImage('assets/icons/tool_yljs.png'); - - /// File path: assets/icons/tool_ywh.png AssetGenImage get toolYwh => const AssetGenImage('assets/icons/tool_ywh.png'); - - /// File path: assets/icons/tool_zbbj.png AssetGenImage get toolZbbj => const AssetGenImage('assets/icons/tool_zbbj.png'); - - /// File path: assets/icons/tool_zxgl.png AssetGenImage get toolZxgl => const AssetGenImage('assets/icons/tool_zxgl.png'); - - /// File path: assets/icons/user_icon_dfh.png AssetGenImage get userIconDfh => const AssetGenImage('assets/icons/user_icon_dfh.png'); - - /// File path: assets/icons/user_icon_dfk.png AssetGenImage get userIconDfk => const AssetGenImage('assets/icons/user_icon_dfk.png'); - - /// File path: assets/icons/user_icon_dpj.png AssetGenImage get userIconDpj => const AssetGenImage('assets/icons/user_icon_dpj.png'); - - /// File path: assets/icons/user_icon_dsh.png AssetGenImage get userIconDsh => const AssetGenImage('assets/icons/user_icon_dsh.png'); - - /// File path: assets/icons/user_icon_sh.png AssetGenImage get userIconSh => const AssetGenImage('assets/icons/user_icon_sh.png'); - - /// File path: assets/icons/user_icon_sz.png AssetGenImage get userIconSz => const AssetGenImage('assets/icons/user_icon_sz.png'); - - /// File path: assets/icons/user_icon_vip.png AssetGenImage get userIconVip => const AssetGenImage('assets/icons/user_icon_vip.png'); - - /// File path: assets/icons/user_icon_wdbx.png AssetGenImage get userIconWdbx => const AssetGenImage('assets/icons/user_icon_wdbx.png'); - - /// File path: assets/icons/user_icon_wdc.png AssetGenImage get userIconWdc => const AssetGenImage('assets/icons/user_icon_wdc.png'); - - /// File path: assets/icons/user_icon_wdcw.png AssetGenImage get userIconWdcw => const AssetGenImage('assets/icons/user_icon_wdcw.png'); - - /// File path: assets/icons/user_icon_wddz.png AssetGenImage get userIconWddz => const AssetGenImage('assets/icons/user_icon_wddz.png'); - - /// File path: assets/icons/user_icon_wdfk.png AssetGenImage get userIconWdfk => const AssetGenImage('assets/icons/user_icon_wdfk.png'); - - /// File path: assets/icons/user_icon_wdfw.png AssetGenImage get userIconWdfw => const AssetGenImage('assets/icons/user_icon_wdfw.png'); - - /// File path: assets/icons/user_icon_wdgj.png AssetGenImage get userIconWdgj => const AssetGenImage('assets/icons/user_icon_wdgj.png'); - - /// File path: assets/icons/user_icon_wdjf.png AssetGenImage get userIconWdjf => const AssetGenImage('assets/icons/user_icon_wdjf.png'); - - /// File path: assets/icons/user_icon_wdsqhd.png AssetGenImage get userIconWdsqhd => const AssetGenImage('assets/icons/user_icon_wdsqhd.png'); - - /// File path: assets/icons/vip1.png AssetGenImage get vip1 => const AssetGenImage('assets/icons/vip1.png'); - - /// File path: assets/icons/vip2.png AssetGenImage get vip2 => const AssetGenImage('assets/icons/vip2.png'); - - /// File path: assets/icons/vip3.png AssetGenImage get vip3 => const AssetGenImage('assets/icons/vip3.png'); - - /// File path: assets/icons/vip4.png AssetGenImage get vip4 => const AssetGenImage('assets/icons/vip4.png'); - - /// File path: assets/icons/vip_font.png AssetGenImage get vipFont => const AssetGenImage('assets/icons/vip_font.png'); - - /// File path: assets/icons/xianshi.png + AssetGenImage get watch => const AssetGenImage('assets/icons/watch.png'); AssetGenImage get xianshi => const AssetGenImage('assets/icons/xianshi.png'); } class $AssetsImagesGen { const $AssetsImagesGen(); - /// File path: assets/images/application.png AssetGenImage get application => const AssetGenImage('assets/images/application.png'); - - /// File path: assets/images/car_header.png AssetGenImage get carHeader => const AssetGenImage('assets/images/car_header.png'); - - /// File path: assets/images/card_blue.png AssetGenImage get cardBlue => const AssetGenImage('assets/images/card_blue.png'); - - /// File path: assets/images/card_pink.png AssetGenImage get cardPink => const AssetGenImage('assets/images/card_pink.png'); - - /// File path: assets/images/card_yellow.png AssetGenImage get cardYellow => const AssetGenImage('assets/images/card_yellow.png'); - - /// File path: assets/images/certification.png AssetGenImage get certification => const AssetGenImage('assets/images/certification.png'); - - /// File path: assets/images/circle_left_bottom.png AssetGenImage get circleLeftBottom => const AssetGenImage('assets/images/circle_left_bottom.png'); - - /// File path: assets/images/circle_right_bottom.png AssetGenImage get circleRightBottom => const AssetGenImage('assets/images/circle_right_bottom.png'); - - /// File path: assets/images/circle_right_top.png AssetGenImage get circleRightTop => const AssetGenImage('assets/images/circle_right_top.png'); - - /// File path: assets/images/circle_text.png AssetGenImage get circleText => const AssetGenImage('assets/images/circle_text.png'); - - /// File path: assets/images/code_logo.png AssetGenImage get codeLogo => const AssetGenImage('assets/images/code_logo.png'); - - /// File path: assets/images/commitment.png AssetGenImage get commitment => const AssetGenImage('assets/images/commitment.png'); - - /// File path: assets/images/community_my_bg.png AssetGenImage get communityMyBg => const AssetGenImage('assets/images/community_my_bg.png'); - - /// File path: assets/images/contact_manager.png AssetGenImage get contactManager => const AssetGenImage('assets/images/contact_manager.png'); - - /// File path: assets/images/drawings.png AssetGenImage get drawings => const AssetGenImage('assets/images/drawings.png'); - - /// File path: assets/images/equipment_empty.png AssetGenImage get equipmentEmpty => const AssetGenImage('assets/images/equipment_empty.png'); - - /// File path: assets/images/good_detail_integral_back.png AssetGenImage get goodDetailIntegralBack => const AssetGenImage('assets/images/good_detail_integral_back.png'); - - /// File path: assets/images/house_attestation.png AssetGenImage get houseAttestation => const AssetGenImage('assets/images/house_attestation.png'); - - /// File path: assets/images/house_empty.png AssetGenImage get houseEmpty => const AssetGenImage('assets/images/house_empty.png'); - - /// File path: assets/images/house_header.png AssetGenImage get houseHeader => const AssetGenImage('assets/images/house_header.png'); - - /// File path: assets/images/license.png AssetGenImage get license => const AssetGenImage('assets/images/license.png'); - - /// File path: assets/images/license_back.png AssetGenImage get licenseBack => const AssetGenImage('assets/images/license_back.png'); - - /// File path: assets/images/lock.png AssetGenImage get lock => const AssetGenImage('assets/images/lock.png'); - - /// File path: assets/images/logo.png AssetGenImage get logo => const AssetGenImage('assets/images/logo.png'); - - /// File path: assets/images/member_bg.png AssetGenImage get memberBg => const AssetGenImage('assets/images/member_bg.png'); - - /// File path: assets/images/mine_bg.png AssetGenImage get mineBg => const AssetGenImage('assets/images/mine_bg.png'); - - /// File path: assets/images/my_bg.png AssetGenImage get myBg => const AssetGenImage('assets/images/my_bg.png'); - - /// File path: assets/images/notice.png AssetGenImage get notice => const AssetGenImage('assets/images/notice.png'); - - /// File path: assets/images/open_door.png AssetGenImage get openDoor => const AssetGenImage('assets/images/open_door.png'); - - /// File path: assets/images/phone_logo.png AssetGenImage get phoneLogo => const AssetGenImage('assets/images/phone_logo.png'); - - /// File path: assets/images/placeholder.webp AssetGenImage get placeholder => const AssetGenImage('assets/images/placeholder.webp'); - - /// File path: assets/images/property_bg.png AssetGenImage get propertyBg => const AssetGenImage('assets/images/property_bg.png'); - - /// File path: assets/images/shop_car_empty.png AssetGenImage get shopCarEmpty => const AssetGenImage('assets/images/shop_car_empty.png'); - - /// File path: assets/images/splash_logo.png AssetGenImage get splashLogo => const AssetGenImage('assets/images/splash_logo.png'); - - /// File path: assets/images/success.png AssetGenImage get success => const AssetGenImage('assets/images/success.png'); - - /// File path: assets/images/white.png AssetGenImage get white => const AssetGenImage('assets/images/white.png'); - - /// File path: assets/images/wxpay.png AssetGenImage get wxpay => const AssetGenImage('assets/images/wxpay.png'); } class $AssetsJsonGen { const $AssetsJsonGen(); - /// File path: assets/json/province.json String get province => 'assets/json/province.json'; } class $AssetsStaticGen { const $AssetsStaticGen(); - /// File path: assets/static/bracelet_header.png AssetGenImage get braceletHeader => const AssetGenImage('assets/static/bracelet_header.png'); - - /// File path: assets/static/car_card_grey.webp AssetGenImage get carCardGrey => const AssetGenImage('assets/static/car_card_grey.webp'); - - /// File path: assets/static/car_card_yellow.webp AssetGenImage get carCardYellow => const AssetGenImage('assets/static/car_card_yellow.webp'); - - /// File path: assets/static/car_park_empty.webp AssetGenImage get carParkEmpty => const AssetGenImage('assets/static/car_park_empty.webp'); - - /// File path: assets/static/family.png AssetGenImage get family => const AssetGenImage('assets/static/family.png'); - - /// File path: assets/static/house_auth_fail.webp AssetGenImage get houseAuthFail => const AssetGenImage('assets/static/house_auth_fail.webp'); - - /// File path: assets/static/house_auth_success.webp AssetGenImage get houseAuthSuccess => const AssetGenImage('assets/static/house_auth_success.webp'); - - /// File path: assets/static/id_card_back.png AssetGenImage get idCardBack => const AssetGenImage('assets/static/id_card_back.png'); - - /// File path: assets/static/id_card_front.png AssetGenImage get idCardFront => const AssetGenImage('assets/static/id_card_front.png'); - - /// File path: assets/static/integral_background.png AssetGenImage get integralBackground => const AssetGenImage('assets/static/integral_background.png'); - - /// File path: assets/static/old_age_back.png AssetGenImage get oldAgeBack => const AssetGenImage('assets/static/old_age_back.png'); - - /// File path: assets/static/parking_grey.webp AssetGenImage get parkingGrey => const AssetGenImage('assets/static/parking_grey.webp'); - - /// File path: assets/static/parking_yellow.webp AssetGenImage get parkingYellow => const AssetGenImage('assets/static/parking_yellow.webp'); - - /// File path: assets/static/review_fail.webp AssetGenImage get reviewFail => const AssetGenImage('assets/static/review_fail.webp'); - - /// File path: assets/static/reviewing.webp AssetGenImage get reviewing => const AssetGenImage('assets/static/reviewing.webp'); - - /// File path: assets/static/rule_explain.png AssetGenImage get ruleExplain => const AssetGenImage('assets/static/rule_explain.png'); - - /// File path: assets/static/sign_in_background.png AssetGenImage get signInBackground => const AssetGenImage('assets/static/sign_in_background.png'); - - /// File path: assets/static/vip_background.png AssetGenImage get vipBackground => const AssetGenImage('assets/static/vip_background.png'); } @@ -1242,16 +613,9 @@ class $AssetsStaticGen { class $AssetsTabGen { const $AssetsTabGen(); - /// File path: assets/tab/bkjh.png AssetGenImage get bkjh => const AssetGenImage('assets/tab/bkjh.png'); - - /// File path: assets/tab/kbhw.png AssetGenImage get kbhw => const AssetGenImage('assets/tab/kbhw.png'); - - /// File path: assets/tab/nanz.png AssetGenImage get nanz => const AssetGenImage('assets/tab/nanz.png'); - - /// File path: assets/tab/nvz.png AssetGenImage get nvz => const AssetGenImage('assets/tab/nvz.png'); } diff --git a/lib/generated_plugin_registrant.dart b/lib/generated_plugin_registrant.dart index 5541704d..569fce6a 100644 --- a/lib/generated_plugin_registrant.dart +++ b/lib/generated_plugin_registrant.dart @@ -5,8 +5,10 @@ // ignore_for_file: directives_ordering // ignore_for_file: lines_longer_than_80_chars +import 'package:audio_session/audio_session_web.dart'; import 'package:device_info_plus_web/device_info_plus_web.dart'; import 'package:image_picker_for_web/image_picker_for_web.dart'; +import 'package:just_audio_web/just_audio_web.dart'; import 'package:package_info_plus_web/package_info_plus_web.dart'; import 'package:url_launcher_web/url_launcher_web.dart'; @@ -14,8 +16,10 @@ import 'package:flutter_web_plugins/flutter_web_plugins.dart'; // ignore: public_member_api_docs void registerPlugins(Registrar registrar) { + AudioSessionWeb.registerWith(registrar); DeviceInfoPlusPlugin.registerWith(registrar); ImagePickerPlugin.registerWith(registrar); + JustAudioPlugin.registerWith(registrar); PackageInfoPlugin.registerWith(registrar); UrlLauncherPlugin.registerWith(registrar); registrar.registerMessageHandler(); diff --git a/lib/models/task/hall_list_model.dart b/lib/models/task/hall_list_model.dart index f9a0dade..f1c5cf50 100644 --- a/lib/models/task/hall_list_model.dart +++ b/lib/models/task/hall_list_model.dart @@ -1,3 +1,4 @@ +import 'package:aku_new_community/model/common/img_model.dart'; import 'package:json_annotation/json_annotation.dart'; part 'hall_list_model.g.dart'; @@ -5,36 +6,40 @@ part 'hall_list_model.g.dart'; @JsonSerializable() class HallListModel { final int id; - final String title; + final String code; final int status; + final String updateDate; final int type; final int sex; - final int serviceObject; - final String content; - final String appointmentDate; - final String appointmentAddress; + final String readyStartTime; + final String readyEndTime; + final String? accessAddress; + final String? accessAddressDetail; + final int? serviceTime; + final String remarks; + final String voiceUrl; + final List? imgList; final int rewardType; final int reward; - final int createType; - final String? createName; - final String createDate; factory HallListModel.fromJson(Map json) => _$HallListModelFromJson(json); const HallListModel({ required this.id, - required this.title, + required this.code, required this.status, + required this.updateDate, required this.type, required this.sex, - required this.serviceObject, - required this.content, - required this.appointmentDate, - required this.appointmentAddress, + required this.readyStartTime, + required this.readyEndTime, + this.accessAddress, + this.accessAddressDetail, + this.serviceTime, + required this.remarks, + required this.voiceUrl, + this.imgList, required this.rewardType, required this.reward, - required this.createType, - this.createName, - required this.createDate, }); } diff --git a/lib/models/task/hall_list_model.g.dart b/lib/models/task/hall_list_model.g.dart index 2681aa43..4b1f836c 100644 --- a/lib/models/task/hall_list_model.g.dart +++ b/lib/models/task/hall_list_model.g.dart @@ -9,17 +9,21 @@ part of 'hall_list_model.dart'; HallListModel _$HallListModelFromJson(Map json) => HallListModel( id: json['id'] as int, - title: json['title'] as String, + code: json['code'] as String, status: json['status'] as int, + updateDate: json['updateDate'] as String, type: json['type'] as int, sex: json['sex'] as int, - serviceObject: json['serviceObject'] as int, - content: json['content'] as String, - appointmentDate: json['appointmentDate'] as String, - appointmentAddress: json['appointmentAddress'] as String, + readyStartTime: json['readyStartTime'] as String, + readyEndTime: json['readyEndTime'] as String, + accessAddress: json['accessAddress'] as String?, + accessAddressDetail: json['accessAddressDetail'] as String?, + serviceTime: json['serviceTime'] as int?, + remarks: json['remarks'] as String, + voiceUrl: json['voiceUrl'] as String, + imgList: (json['imgList'] as List?) + ?.map((e) => ImgModel.fromJson(e as Map)) + .toList(), rewardType: json['rewardType'] as int, reward: json['reward'] as int, - createType: json['createType'] as int, - createName: json['createName'] as String?, - createDate: json['createDate'] as String, ); diff --git a/lib/models/task/my_take_task_list_model.dart b/lib/models/task/my_take_task_list_model.dart index db0f61d2..5fdf1daf 100644 --- a/lib/models/task/my_take_task_list_model.dart +++ b/lib/models/task/my_take_task_list_model.dart @@ -1,3 +1,4 @@ +import 'package:aku_new_community/model/common/img_model.dart'; import 'package:json_annotation/json_annotation.dart'; part 'my_take_task_list_model.g.dart'; @@ -5,37 +6,41 @@ part 'my_take_task_list_model.g.dart'; @JsonSerializable() class MyTakeTaskListModel { final int id; - final String title; + final String code; final int status; + final String updateDate; final int type; final int sex; - final int serviceObject; - final String content; - final String appointmentDate; - final String appointmentAddress; + final String readyStartTime; + final String readyEndTime; + final String? accessAddress; + final String? accessAddressDetail; + final int? serviceTime; + final String remarks; + final String voiceUrl; + final List? imgList; final int rewardType; final int reward; - final int createType; - final String? createName; - final String createDate; factory MyTakeTaskListModel.fromJson(Map json) => _$MyTakeTaskListModelFromJson(json); const MyTakeTaskListModel({ required this.id, - required this.title, + required this.code, required this.status, + required this.updateDate, required this.type, required this.sex, - required this.serviceObject, - required this.content, - required this.appointmentDate, - required this.appointmentAddress, + required this.readyStartTime, + required this.readyEndTime, + this.accessAddress, + this.accessAddressDetail, + this.serviceTime, + required this.remarks, + required this.voiceUrl, + this.imgList, required this.rewardType, required this.reward, - required this.createType, - this.createName, - required this.createDate, }); } diff --git a/lib/models/task/my_take_task_list_model.g.dart b/lib/models/task/my_take_task_list_model.g.dart index e49a1b7e..a573a030 100644 --- a/lib/models/task/my_take_task_list_model.g.dart +++ b/lib/models/task/my_take_task_list_model.g.dart @@ -9,17 +9,21 @@ part of 'my_take_task_list_model.dart'; MyTakeTaskListModel _$MyTakeTaskListModelFromJson(Map json) => MyTakeTaskListModel( id: json['id'] as int, - title: json['title'] as String, + code: json['code'] as String, status: json['status'] as int, + updateDate: json['updateDate'] as String, type: json['type'] as int, sex: json['sex'] as int, - serviceObject: json['serviceObject'] as int, - content: json['content'] as String, - appointmentDate: json['appointmentDate'] as String, - appointmentAddress: json['appointmentAddress'] as String, + readyStartTime: json['readyStartTime'] as String, + readyEndTime: json['readyEndTime'] as String, + accessAddress: json['accessAddress'] as String?, + accessAddressDetail: json['accessAddressDetail'] as String?, + serviceTime: json['serviceTime'] as int?, + remarks: json['remarks'] as String, + voiceUrl: json['voiceUrl'] as String, + imgList: (json['imgList'] as List?) + ?.map((e) => ImgModel.fromJson(e as Map)) + .toList(), rewardType: json['rewardType'] as int, reward: json['reward'] as int, - createType: json['createType'] as int, - createName: json['createName'] as String?, - createDate: json['createDate'] as String, ); diff --git a/lib/models/task/my_task_list_model.dart b/lib/models/task/my_task_list_model.dart index 86e9af60..44563714 100644 --- a/lib/models/task/my_task_list_model.dart +++ b/lib/models/task/my_task_list_model.dart @@ -1,3 +1,4 @@ +import 'package:aku_new_community/model/common/img_model.dart'; import 'package:json_annotation/json_annotation.dart'; part 'my_task_list_model.g.dart'; @@ -5,36 +6,40 @@ part 'my_task_list_model.g.dart'; @JsonSerializable() class MyTaskListModel { final int id; - final String title; + final String code; final int status; + final String updateDate; final int type; final int sex; - final int serviceObject; - final String content; - final String appointmentDate; - final String appointmentAddress; + final String readyStartTime; + final String readyEndTime; + final String? accessAddress; + final String? accessAddressDetail; + final int? serviceTime; + final String remarks; + final String voiceUrl; + final List? imgList; final int rewardType; final int reward; - final int createType; - final String? createName; - final String createDate; factory MyTaskListModel.fromJson(Map json) => _$MyTaskListModelFromJson(json); const MyTaskListModel({ required this.id, - required this.title, + required this.code, required this.status, + required this.updateDate, required this.type, required this.sex, - required this.serviceObject, - required this.content, - required this.appointmentDate, - required this.appointmentAddress, + required this.readyStartTime, + required this.readyEndTime, + this.accessAddress, + this.accessAddressDetail, + this.serviceTime, + required this.remarks, + required this.voiceUrl, + this.imgList, required this.rewardType, required this.reward, - required this.createType, - this.createName, - required this.createDate, }); } diff --git a/lib/models/task/my_task_list_model.g.dart b/lib/models/task/my_task_list_model.g.dart index 9c1b1af3..8ca15d13 100644 --- a/lib/models/task/my_task_list_model.g.dart +++ b/lib/models/task/my_task_list_model.g.dart @@ -9,17 +9,21 @@ part of 'my_task_list_model.dart'; MyTaskListModel _$MyTaskListModelFromJson(Map json) => MyTaskListModel( id: json['id'] as int, - title: json['title'] as String, + code: json['code'] as String, status: json['status'] as int, + updateDate: json['updateDate'] as String, type: json['type'] as int, sex: json['sex'] as int, - serviceObject: json['serviceObject'] as int, - content: json['content'] as String, - appointmentDate: json['appointmentDate'] as String, - appointmentAddress: json['appointmentAddress'] as String, + readyStartTime: json['readyStartTime'] as String, + readyEndTime: json['readyEndTime'] as String, + accessAddress: json['accessAddress'] as String?, + accessAddressDetail: json['accessAddressDetail'] as String?, + serviceTime: json['serviceTime'] as int?, + remarks: json['remarks'] as String, + voiceUrl: json['voiceUrl'] as String, + imgList: (json['imgList'] as List?) + ?.map((e) => ImgModel.fromJson(e as Map)) + .toList(), rewardType: json['rewardType'] as int, reward: json['reward'] as int, - createType: json['createType'] as int, - createName: json['createName'] as String?, - createDate: json['createDate'] as String, ); diff --git a/lib/pages/home/home_page.dart b/lib/pages/home/home_page.dart index c6514835..4deff9a7 100644 --- a/lib/pages/home/home_page.dart +++ b/lib/pages/home/home_page.dart @@ -87,7 +87,11 @@ class _HomePageState extends State _refreshController = EasyRefreshController(); _swiperController.addListener(() { //由于先触发监听后,再执行onChangeIndex函数,所以_currentSwiperIndex会比当前index少1,用+1并求余的方式获得真正当前index; - _swiperBarColor((_currentSwiperIndex + 1) % 3); + if (_swiperModels.length <= 1) { + _swiperBarColor(0); + } else { + _swiperBarColor((_currentSwiperIndex + 1) % 3); + } }); SystemChrome.setSystemUIOverlayStyle( SystemUiOverlayStyle(statusBarColor: Colors.transparent)); diff --git a/lib/ui/service/hall/hall_card.dart b/lib/ui/service/hall/hall_card.dart index 6b865841..b7975217 100644 --- a/lib/ui/service/hall/hall_card.dart +++ b/lib/ui/service/hall/hall_card.dart @@ -1,15 +1,18 @@ -import 'package:flutter/material.dart'; - -import 'package:common_utils/common_utils.dart'; -import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:get/get.dart'; -import 'package:velocity_x/velocity_x.dart'; - import 'package:aku_new_community/gen/assets.gen.dart'; import 'package:aku_new_community/models/task/hall_list_model.dart'; import 'package:aku_new_community/ui/service/hall/hall_detail_page.dart'; import 'package:aku_new_community/ui/service/task_map.dart'; +import 'package:aku_new_community/widget/bee_divider.dart'; import 'package:aku_new_community/widget/buttons/card_bottom_button.dart'; +import 'package:aku_new_community/widget/views/bee_grid_image_view.dart'; +import 'package:aku_new_community/widget/voice_player.dart'; +import 'package:common_utils/common_utils.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:get/get.dart'; +import 'package:velocity_x/velocity_x.dart'; + import '../task_func.dart'; class HallCard extends StatelessWidget { @@ -27,10 +30,7 @@ class HallCard extends StatelessWidget { width: 100.w, height: 50.w, alignment: Alignment.center, - decoration: BoxDecoration( - color: Color(0xFFFFF7E6), - borderRadius: BorderRadius.circular(8.w), - ), + color: Color(0xFFFFF7E6), child: '#${TaskMap.typeToString[model.type]}' .text .size(28.sp) @@ -43,6 +43,28 @@ class HallCard extends StatelessWidget { '${model.reward}'.text.size(32.sp).color(Colors.red).make() ], ); + var appointment = Row( + children: [ + Container( + width: 40.w, + height: 40.w, + alignment: Alignment.center, + decoration: BoxDecoration( + color: Color(0xFFFA8C16), + borderRadius: BorderRadius.circular(8.w)), + child: Text( + '预', + style: TextStyle(color: Colors.white, fontSize: 24.sp), + ), + ), + 24.w.widthBox, + '${DateUtil.formatDateStr(model.readyEndTime, format: 'MM月dd日 HH:mm')}前' + .text + .size(24.sp) + .color(Colors.black.withOpacity(0.65)) + .make(), + ], + ); return GestureDetector( onTap: () { Get.to(() => HallDetailPage(model: model)); @@ -57,24 +79,31 @@ class HallCard extends StatelessWidget { child: Column( children: [ head, - 34.w.heightBox, + 24.w.heightBox, + BeeDivider.horizontal(), + 24.w.heightBox, + appointment, + 20.w.heightBox, Row( children: [ - Assets.icons.clockCircle.image(width: 36.w, height: 36.w), + Assets.icons.watch.image(width: 40.w, height: 40.w), 24.w.widthBox, - '${DateUtil.formatDateStr(model.appointmentDate)}' - .text - .size(24.sp) - .color(Colors.black.withOpacity(0.65)) + '${model.serviceTime ?? '0'}' + .richText + .withTextSpanChildren([ + ' 分钟'.textSpan.size(28.sp).color(Colors.black).make(), + ]) + .size(28.sp) + .color(Color(0xFFFA8C16)) .make(), ], ), - 20.w.heightBox, + 24.w.heightBox, Row( children: [ Assets.icons.environment.image(width: 36.w, height: 36.w), 24.w.widthBox, - '${model.appointmentAddress}' + '${model.accessAddress}' .text .size(24.sp) .color(Colors.black.withOpacity(0.65)) @@ -91,20 +120,22 @@ class HallCard extends StatelessWidget { child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - '#${TaskMap.typeToString[model.type]}' - .text - .size(28.sp) - .color(Colors.black.withOpacity(0.85)) - .make(), - 16.w.heightBox, - model.content.text + model.remarks.text .size(28.sp) .color(Colors.black.withOpacity(0.65)) .make(), + 24.w.heightBox, + VoicePlayer( + url: model.voiceUrl, + ), + 24.w.heightBox, + BeeGridImageView( + urls: model.imgList?.map((e) => e.url).toList() ?? []), ], ), ), - 40.w.heightBox, + 24.w.heightBox, + BeeDivider.horizontal(), Column( crossAxisAlignment: CrossAxisAlignment.end, children: [ diff --git a/lib/ui/service/hall/hall_detail_page.dart b/lib/ui/service/hall/hall_detail_page.dart index 10e57036..1dee1237 100644 --- a/lib/ui/service/hall/hall_detail_page.dart +++ b/lib/ui/service/hall/hall_detail_page.dart @@ -1,14 +1,12 @@ -import 'package:flutter/material.dart'; - -import 'package:common_utils/common_utils.dart'; -import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:velocity_x/velocity_x.dart'; - import 'package:aku_new_community/gen/assets.gen.dart'; import 'package:aku_new_community/models/task/hall_list_model.dart'; import 'package:aku_new_community/ui/service/task_map.dart'; import 'package:aku_new_community/widget/bee_divider.dart'; import 'package:aku_new_community/widget/bee_scaffold.dart'; +import 'package:common_utils/common_utils.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:velocity_x/velocity_x.dart'; class HallDetailPage extends StatefulWidget { final HallListModel model; @@ -71,28 +69,6 @@ class _HallDetailPageState extends State { ), ), Spacer(), - // Padding( - // padding: EdgeInsets.only(right: 32.w), - // child: MaterialButton( - // color: Colors.white, - // elevation: 0, - // shape: RoundedRectangleBorder( - // borderRadius: BorderRadius.circular(8.w), - // ), - // onPressed: () async { - // var re = await TaskFunc.cancel( - // taskId: widget.model.id); - // if (re) { - // Get.back(); - // } - // }, - // child: '取消订单' - // .text - // .size(24.sp) - // .color(Colors.black.withOpacity(0.65)) - // .make(), - // ), - // ) ], ), ], @@ -150,7 +126,7 @@ class _HallDetailPageState extends State { .color(Colors.black.withOpacity(0.45)) .make(), Spacer(), - '${DateUtil.formatDateStr(widget.model.createDate)}' + '${DateUtil.formatDateStr(widget.model.updateDate)}' .text .size(24.sp) .color(Colors.black.withOpacity(0.45)) @@ -201,7 +177,7 @@ class _HallDetailPageState extends State { children: [ Assets.icons.clockCircle.image(width: 36.w, height: 36.w), 24.w.widthBox, - '${DateUtil.formatDateStr(widget.model.appointmentDate)}' + '${DateUtil.formatDateStr(widget.model.readyEndTime)}' .text .size(24.sp) .color(Colors.black.withOpacity(0.65)) @@ -213,7 +189,7 @@ class _HallDetailPageState extends State { children: [ Assets.icons.environment.image(width: 36.w, height: 36.w), 24.w.widthBox, - '${widget.model.appointmentAddress}' + '${widget.model.accessAddress}' .text .size(24.sp) .color(Colors.black.withOpacity(0.65)) @@ -236,7 +212,7 @@ class _HallDetailPageState extends State { .color(Colors.black.withOpacity(0.85)) .make(), 16.w.heightBox, - widget.model.content.text + widget.model.remarks.text .size(28.sp) .color(Colors.black.withOpacity(0.65)) .make(), diff --git a/lib/ui/service/hall/hall_view.dart b/lib/ui/service/hall/hall_view.dart index ca6c2ed2..87240aa0 100644 --- a/lib/ui/service/hall/hall_view.dart +++ b/lib/ui/service/hall/hall_view.dart @@ -1,13 +1,11 @@ +import 'package:aku_new_community/constants/sars_api.dart'; +import 'package:aku_new_community/models/task/hall_list_model.dart'; +import 'package:aku_new_community/pages/things_page/widget/bee_list_view.dart'; import 'package:flutter/material.dart'; - import 'package:flutter_easyrefresh/easy_refresh.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:velocity_x/src/extensions/num_ext.dart'; -import 'package:aku_new_community/constants/api.dart'; -import 'package:aku_new_community/constants/sars_api.dart'; -import 'package:aku_new_community/models/task/hall_list_model.dart'; -import 'package:aku_new_community/pages/things_page/widget/bee_list_view.dart'; import 'hall_card.dart'; class HallView extends StatefulWidget { @@ -29,9 +27,11 @@ class _HallViewState extends State { @override Widget build(BuildContext context) { return BeeListView( - path: API.manager.task.hallList, + path: SARSAPI.task.list, controller: _refreshController, - extraParams: {}, + extraParams: { + 'taskModel': 1, + }, convert: (json) => json.rows.map((e) => HallListModel.fromJson(e)).toList(), builder: (models) { diff --git a/lib/ui/service/my_take_task/my_take_task_card.dart b/lib/ui/service/my_take_task/my_take_task_card.dart index 26a72d09..d3306f02 100644 --- a/lib/ui/service/my_take_task/my_take_task_card.dart +++ b/lib/ui/service/my_take_task/my_take_task_card.dart @@ -1,10 +1,3 @@ -import 'package:flutter/material.dart'; - -import 'package:common_utils/common_utils.dart'; -import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:get/get.dart'; -import 'package:velocity_x/velocity_x.dart'; - import 'package:aku_new_community/extensions/widget_list_ext.dart'; import 'package:aku_new_community/gen/assets.gen.dart'; import 'package:aku_new_community/models/task/my_take_task_list_model.dart'; @@ -12,6 +5,12 @@ import 'package:aku_new_community/ui/service/my_take_task/my_take_task_detail_pa import 'package:aku_new_community/ui/service/task_map.dart'; import 'package:aku_new_community/widget/bee_divider.dart'; import 'package:aku_new_community/widget/buttons/card_bottom_button.dart'; +import 'package:common_utils/common_utils.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:get/get.dart'; +import 'package:velocity_x/velocity_x.dart'; + import '../task_func.dart'; class MyTakeTaskCard extends StatelessWidget { @@ -38,7 +37,7 @@ class MyTakeTaskCard extends StatelessWidget { children: [ Row( children: [ - '接单时间 ${DateUtil.formatDateStr(model.createDate)}' + '接单时间 ${DateUtil.formatDateStr(model.updateDate)}' .text .size(26.sp) .color(Colors.black.withOpacity(0.45)) @@ -59,7 +58,7 @@ class MyTakeTaskCard extends StatelessWidget { children: [ Assets.icons.clockCircle.image(width: 36.w, height: 36.w), 24.w.widthBox, - '${DateUtil.formatDateStr(model.appointmentDate)}' + '${DateUtil.formatDateStr(model.readyEndTime)}' .text .size(24.sp) .color(Colors.black.withOpacity(0.65)) @@ -71,7 +70,7 @@ class MyTakeTaskCard extends StatelessWidget { children: [ Assets.icons.environment.image(width: 36.w, height: 36.w), 24.w.widthBox, - '${model.appointmentAddress}' + '${model.accessAddress}' .text .size(24.sp) .color(Colors.black.withOpacity(0.65)) @@ -94,7 +93,7 @@ class MyTakeTaskCard extends StatelessWidget { .color(Colors.black.withOpacity(0.85)) .make(), 16.w.heightBox, - model.content.text + model.remarks.text .size(28.sp) .color(Colors.black.withOpacity(0.65)) .make(), diff --git a/lib/ui/service/my_take_task/my_take_task_detail_page.dart b/lib/ui/service/my_take_task/my_take_task_detail_page.dart index 01ea291a..8dcef8b4 100644 --- a/lib/ui/service/my_take_task/my_take_task_detail_page.dart +++ b/lib/ui/service/my_take_task/my_take_task_detail_page.dart @@ -1,14 +1,12 @@ -import 'package:flutter/material.dart'; - -import 'package:common_utils/common_utils.dart'; -import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:velocity_x/velocity_x.dart'; - import 'package:aku_new_community/gen/assets.gen.dart'; import 'package:aku_new_community/models/task/my_take_task_list_model.dart'; import 'package:aku_new_community/ui/service/task_map.dart'; import 'package:aku_new_community/widget/bee_divider.dart'; import 'package:aku_new_community/widget/bee_scaffold.dart'; +import 'package:common_utils/common_utils.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:velocity_x/velocity_x.dart'; class MyTakeTaskDetailPage extends StatefulWidget { final MyTakeTaskListModel model; @@ -150,7 +148,7 @@ class _MyTakeTaskDetailPageState extends State { .color(Colors.black.withOpacity(0.45)) .make(), Spacer(), - '${DateUtil.formatDateStr(widget.model.createDate)}' + '${DateUtil.formatDateStr(widget.model.updateDate)}' .text .size(24.sp) .color(Colors.black.withOpacity(0.45)) @@ -201,7 +199,7 @@ class _MyTakeTaskDetailPageState extends State { children: [ Assets.icons.clockCircle.image(width: 36.w, height: 36.w), 24.w.widthBox, - '${DateUtil.formatDateStr(widget.model.appointmentDate)}' + '${DateUtil.formatDateStr(widget.model.readyEndTime)}' .text .size(24.sp) .color(Colors.black.withOpacity(0.65)) @@ -213,7 +211,7 @@ class _MyTakeTaskDetailPageState extends State { children: [ Assets.icons.environment.image(width: 36.w, height: 36.w), 24.w.widthBox, - '${widget.model.appointmentAddress}' + '${widget.model.accessAddress}' .text .size(24.sp) .color(Colors.black.withOpacity(0.65)) @@ -236,7 +234,7 @@ class _MyTakeTaskDetailPageState extends State { .color(Colors.black.withOpacity(0.85)) .make(), 16.w.heightBox, - widget.model.content.text + widget.model.remarks.text .size(28.sp) .color(Colors.black.withOpacity(0.65)) .make(), diff --git a/lib/ui/service/my_take_task/my_take_task_view.dart b/lib/ui/service/my_take_task/my_take_task_view.dart index 96277db0..83a5ee7b 100644 --- a/lib/ui/service/my_take_task/my_take_task_view.dart +++ b/lib/ui/service/my_take_task/my_take_task_view.dart @@ -1,14 +1,11 @@ -import 'package:flutter/material.dart'; - -import 'package:flutter_easyrefresh/easy_refresh.dart'; -import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:velocity_x/velocity_x.dart'; - -import 'package:aku_new_community/constants/api.dart'; import 'package:aku_new_community/constants/sars_api.dart'; import 'package:aku_new_community/models/task/my_take_task_list_model.dart'; import 'package:aku_new_community/pages/things_page/widget/bee_list_view.dart'; import 'package:aku_new_community/ui/service/my_take_task/my_take_task_card.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_easyrefresh/easy_refresh.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:velocity_x/velocity_x.dart'; class MyTakeTaskView extends StatefulWidget { const MyTakeTaskView({Key? key}) : super(key: key); @@ -29,8 +26,11 @@ class _MyTakeTaskViewState extends State { @override Widget build(BuildContext context) { return BeeListView( - path: API.manager.task.myTakeTask, + path: SARSAPI.task.list, controller: _refreshController, + extraParams: { + 'taskModel': 2, + }, convert: (json) => json.rows.map((e) => MyTakeTaskListModel.fromJson(e)).toList(), builder: (models) { diff --git a/lib/ui/service/my_task/my_task_card.dart b/lib/ui/service/my_task/my_task_card.dart index f9afff5c..a0aea9bd 100644 --- a/lib/ui/service/my_task/my_task_card.dart +++ b/lib/ui/service/my_task/my_task_card.dart @@ -1,15 +1,14 @@ -import 'package:flutter/material.dart'; - -import 'package:common_utils/common_utils.dart'; -import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:get/get.dart'; -import 'package:velocity_x/velocity_x.dart'; - import 'package:aku_new_community/gen/assets.gen.dart'; import 'package:aku_new_community/models/task/my_task_list_model.dart'; import 'package:aku_new_community/ui/service/my_task/my_task_detail_page.dart'; import 'package:aku_new_community/ui/service/task_map.dart'; import 'package:aku_new_community/widget/buttons/card_bottom_button.dart'; +import 'package:common_utils/common_utils.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:get/get.dart'; +import 'package:velocity_x/velocity_x.dart'; + import '../task_func.dart'; class MyTaskCard extends StatelessWidget { @@ -65,7 +64,7 @@ class MyTaskCard extends StatelessWidget { children: [ Assets.icons.clockCircle.image(width: 36.w, height: 36.w), 24.w.widthBox, - '${DateUtil.formatDateStr(model.appointmentDate)}' + '${DateUtil.formatDateStr(model.readyEndTime)}' .text .size(24.sp) .color(Colors.black.withOpacity(0.65)) @@ -77,7 +76,7 @@ class MyTaskCard extends StatelessWidget { children: [ Assets.icons.environment.image(width: 36.w, height: 36.w), 24.w.widthBox, - '${model.appointmentAddress}' + '${model.accessAddress}' .text .size(24.sp) .color(Colors.black.withOpacity(0.65)) @@ -100,7 +99,7 @@ class MyTaskCard extends StatelessWidget { .color(Colors.black.withOpacity(0.85)) .make(), 16.w.heightBox, - model.content.text + model.remarks.text .size(28.sp) .color(Colors.black.withOpacity(0.65)) .make(), diff --git a/lib/ui/service/my_task/my_task_detail_page.dart b/lib/ui/service/my_task/my_task_detail_page.dart index 6b746349..f7993374 100644 --- a/lib/ui/service/my_task/my_task_detail_page.dart +++ b/lib/ui/service/my_task/my_task_detail_page.dart @@ -1,14 +1,12 @@ -import 'package:flutter/material.dart'; - -import 'package:common_utils/common_utils.dart'; -import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:velocity_x/velocity_x.dart'; - import 'package:aku_new_community/gen/assets.gen.dart'; import 'package:aku_new_community/models/task/my_task_list_model.dart'; import 'package:aku_new_community/ui/service/task_map.dart'; import 'package:aku_new_community/widget/bee_divider.dart'; import 'package:aku_new_community/widget/bee_scaffold.dart'; +import 'package:common_utils/common_utils.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:velocity_x/velocity_x.dart'; class MyTaskDetailPage extends StatefulWidget { final MyTaskListModel model; @@ -150,7 +148,7 @@ class _MyTaskDetailPageState extends State { .color(Colors.black.withOpacity(0.45)) .make(), Spacer(), - '${DateUtil.formatDateStr(widget.model.createDate)}' + '${DateUtil.formatDateStr(widget.model.updateDate)}' .text .size(24.sp) .color(Colors.black.withOpacity(0.45)) @@ -201,7 +199,7 @@ class _MyTaskDetailPageState extends State { children: [ Assets.icons.clockCircle.image(width: 36.w, height: 36.w), 24.w.widthBox, - '${DateUtil.formatDateStr(widget.model.appointmentDate)}' + '${DateUtil.formatDateStr(widget.model.readyEndTime)}' .text .size(24.sp) .color(Colors.black.withOpacity(0.65)) @@ -213,7 +211,7 @@ class _MyTaskDetailPageState extends State { children: [ Assets.icons.environment.image(width: 36.w, height: 36.w), 24.w.widthBox, - '${widget.model.appointmentAddress}' + '${widget.model.accessAddress}' .text .size(24.sp) .color(Colors.black.withOpacity(0.65)) @@ -236,7 +234,7 @@ class _MyTaskDetailPageState extends State { .color(Colors.black.withOpacity(0.85)) .make(), 16.w.heightBox, - widget.model.content.text + widget.model.remarks.text .size(28.sp) .color(Colors.black.withOpacity(0.65)) .make(), diff --git a/lib/ui/service/my_task/my_task_view.dart b/lib/ui/service/my_task/my_task_view.dart index 3b5fa6b8..34b1e79d 100644 --- a/lib/ui/service/my_task/my_task_view.dart +++ b/lib/ui/service/my_task/my_task_view.dart @@ -1,14 +1,11 @@ -import 'package:flutter/material.dart'; - -import 'package:flutter_easyrefresh/easy_refresh.dart'; -import 'package:flutter_screenutil/flutter_screenutil.dart'; -import 'package:velocity_x/velocity_x.dart'; - -import 'package:aku_new_community/constants/api.dart'; import 'package:aku_new_community/constants/sars_api.dart'; import 'package:aku_new_community/models/task/my_task_list_model.dart'; import 'package:aku_new_community/pages/things_page/widget/bee_list_view.dart'; import 'package:aku_new_community/ui/service/my_task/my_task_card.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_easyrefresh/easy_refresh.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:velocity_x/velocity_x.dart'; class MyTaskView extends StatefulWidget { const MyTaskView({Key? key}) : super(key: key); @@ -29,8 +26,11 @@ class _MyTaskViewState extends State { @override Widget build(BuildContext context) { return BeeListView( - path: API.manager.task.myTask, + path: SARSAPI.task.list, controller: _refreshController, + extraParams: { + 'taskModel': 2, + }, convert: (json) => json.rows.map((e) => MyTaskListModel.fromJson(e)).toList(), builder: (models) { diff --git a/lib/widget/voice_player.dart b/lib/widget/voice_player.dart new file mode 100644 index 00000000..a6dd44d3 --- /dev/null +++ b/lib/widget/voice_player.dart @@ -0,0 +1,180 @@ +import 'dart:async'; +import 'dart:math'; + +import 'package:aku_new_community/constants/sars_api.dart'; +import 'package:aku_new_community/extensions/num_ext.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:just_audio/just_audio.dart'; + +class VoicePlayer extends StatefulWidget { + final String url; + + const VoicePlayer({Key? key, required this.url}) : super(key: key); + + @override + _VoicePlayerState createState() => _VoicePlayerState(); +} + +class _VoicePlayerState extends State + with SingleTickerProviderStateMixin { + final double width = 150.w; + final double height = 45.w; + late Animation animation; + late AnimationController controller; + late Tween _rotation; + bool inAnimate = false; + final player = AudioPlayer(); + Timer? _timer; + int _voiceLength = 0; + + void stopPlay() { + inAnimate = false; + controller.stop(); + player.stop(); + _timer?.cancel(); + _timer = null; + if (mounted) { + setState(() {}); + } + } + + void startPlay() { + inAnimate = true; + controller.forward(); + player.play(); + _timer = Timer.periodic(Duration(seconds: 1), (timer) async { + _voiceLength--; + if (_voiceLength <= 0) { + _voiceLength = (player.duration?.inSeconds) ?? 0; + _timer?.cancel(); + _timer = null; + controller.stop(); + inAnimate = false; + } + if (mounted) { + setState(() {}); + } + }); + } + + @override + void initState() { + controller = AnimationController( + vsync: this, + duration: Duration(seconds: 1), + ); + _rotation = IntTween(begin: 1, end: 3); + animation = _rotation + .animate(CurvedAnimation(parent: controller, curve: Curves.decelerate)) + ..addListener(() { + // _current = animation.value; + if (mounted) { + setState(() {}); + } + }) + ..addStatusListener((status) { + if (status == AnimationStatus.completed) { + controller.repeat(); + } else if (status == AnimationStatus.dismissed) { + controller.forward(); + } + }); + Future.delayed(Duration(milliseconds: 0), () async { + await player.setUrl(SARSAPI.image(widget.url)); + var length = await player.load(); + _voiceLength = length?.inSeconds ?? 0; + if (mounted) { + setState(() {}); + } + }); + super.initState(); + } + + @override + void dispose() { + stopPlay(); + player.dispose(); + controller.dispose(); + animation.removeListener(() {}); + animation.removeStatusListener((status) {}); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return GestureDetector( + onTap: () { + if (player.playing) { + stopPlay(); + } else { + startPlay(); + } + }, + child: Material( + color: Colors.transparent, + child: Container( + width: width, + // height: height, + padding: EdgeInsets.symmetric(vertical: 14.w, horizontal: 20.w), + decoration: BoxDecoration( + color: Color(0xFFFFE7BA), + borderRadius: BorderRadius.circular(8.w)), + child: Row( + children: [ + CustomPaint( + painter: VoicePlayerPainter(inAnimate ? animation.value : 3), + ), + 40.wb, + Text('${_voiceLength}\"'), + ], + ), + ), + ), + ); + } +} + +class VoicePlayerPainter extends CustomPainter { + final int tween; + + VoicePlayerPainter(this.tween); + + @override + void paint(Canvas canvas, Size size) { + var startAngel = -pi / 4; + var sweepAngel = pi / 2; + var paint = Paint() + ..color = Colors.black + ..style = PaintingStyle.fill; + canvas.drawArc( + Rect.fromCircle(center: Offset(0, size.height / 2), radius: 5), + startAngel, + sweepAngel, + true, + paint); + paint.style = PaintingStyle.stroke; + paint.strokeWidth = 2; + if (tween >= 2) { + canvas.drawArc( + Rect.fromCircle(center: Offset(0, size.height / 2), radius: 8), + startAngel, + sweepAngel, + false, + paint); + } + if (tween >= 3) { + canvas.drawArc( + Rect.fromCircle(center: Offset(0, size.height / 2), radius: 12), + startAngel, + sweepAngel, + false, + paint); + } + } + + @override + bool shouldRepaint(covariant CustomPainter oldDelegate) { + return true; + } +} diff --git a/macos/Flutter/GeneratedPluginRegistrant.swift b/macos/Flutter/GeneratedPluginRegistrant.swift index a7fcd583..d850309c 100644 --- a/macos/Flutter/GeneratedPluginRegistrant.swift +++ b/macos/Flutter/GeneratedPluginRegistrant.swift @@ -5,7 +5,9 @@ import FlutterMacOS import Foundation +import audio_session import device_info_plus_macos +import just_audio import package_info import package_info_plus_macos import path_provider_macos @@ -13,7 +15,9 @@ import sqflite import url_launcher_macos func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) { + AudioSessionPlugin.register(with: registry.registrar(forPlugin: "AudioSessionPlugin")) DeviceInfoPlusMacosPlugin.register(with: registry.registrar(forPlugin: "DeviceInfoPlusMacosPlugin")) + JustAudioPlugin.register(with: registry.registrar(forPlugin: "JustAudioPlugin")) FLTPackageInfoPlugin.register(with: registry.registrar(forPlugin: "FLTPackageInfoPlugin")) FLTPackageInfoPlusPlugin.register(with: registry.registrar(forPlugin: "FLTPackageInfoPlusPlugin")) PathProviderPlugin.register(with: registry.registrar(forPlugin: "PathProviderPlugin")) diff --git a/pubspec.lock b/pubspec.lock index 16eda024..08b67853 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -71,6 +71,13 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "2.8.2" + audio_session: + dependency: transitive + description: + name: audio_session + url: "https://pub.flutter-io.cn" + source: hosted + version: "0.1.6+1" auto_size_text_pk: dependency: transitive description: @@ -690,6 +697,27 @@ packages: url: "https://pub.flutter-io.cn" source: hosted version: "6.1.4" + just_audio: + dependency: "direct main" + description: + name: just_audio + url: "https://pub.flutter-io.cn" + source: hosted + version: "0.9.20" + just_audio_platform_interface: + dependency: transitive + description: + name: just_audio_platform_interface + url: "https://pub.flutter-io.cn" + source: hosted + version: "4.1.0" + just_audio_web: + dependency: transitive + description: + name: just_audio_web + url: "https://pub.flutter-io.cn" + source: hosted + version: "0.4.4" logger: dependency: transitive description: diff --git a/pubspec.yaml b/pubspec.yaml index 7df203c9..d86a155c 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -115,6 +115,8 @@ dependencies: sms_autofill: ^2.2.0 #提取图片主色 palette_generator: ^0.3.2 + #音频播放 + just_audio: ^0.9.20 dev_dependencies: