master
张萌 3 years ago
parent 5f44ca4cc8
commit 3b65df6f8a

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

@ -202,6 +202,13 @@ class $AssetsMessageGen {
const AssetGenImage('assets/message/ic_tongzhi.png'); const AssetGenImage('assets/message/ic_tongzhi.png');
} }
class $AssetsNewIconGen {
const $AssetsNewIconGen();
AssetGenImage get avatarPlaceholder =>
const AssetGenImage('assets/newIcon/avatar_placeholder.png');
}
class $AssetsOutdoorGen { class $AssetsOutdoorGen {
const $AssetsOutdoorGen(); const $AssetsOutdoorGen();
@ -276,6 +283,7 @@ class Assets {
static const $AssetsInspectionGen inspection = $AssetsInspectionGen(); static const $AssetsInspectionGen inspection = $AssetsInspectionGen();
static const $AssetsManageGen manage = $AssetsManageGen(); static const $AssetsManageGen manage = $AssetsManageGen();
static const $AssetsMessageGen message = $AssetsMessageGen(); static const $AssetsMessageGen message = $AssetsMessageGen();
static const $AssetsNewIconGen newIcon = $AssetsNewIconGen();
static const $AssetsOutdoorGen outdoor = $AssetsOutdoorGen(); static const $AssetsOutdoorGen outdoor = $AssetsOutdoorGen();
static const AssetGenImage placeholder = static const AssetGenImage placeholder =
AssetGenImage('assets/placeholder.webp'); AssetGenImage('assets/placeholder.webp');

@ -108,7 +108,7 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
await UserTool.userProvider.setLogin(response.data['data']); await UserTool.userProvider.setLogin(response.data['data']);
await UserTool.dataProvider.addHistories(); await UserTool.dataProvider.addHistories();
} else { } else {
BotToast.showText(text: response.data['message']); BotToast.showText(text: response.data['msg']);
} }
cancel(); cancel();
}, },

@ -1,5 +1,6 @@
import 'package:aku_new_community_manager/new_ui/auth/sign_func.dart'; import 'package:aku_new_community_manager/new_ui/auth/sign_func.dart';
import 'package:aku_new_community_manager/new_ui/auth/widget/login_button_widget.dart'; import 'package:aku_new_community_manager/new_ui/auth/widget/login_button_widget.dart';
import 'package:aku_new_community_manager/style/app_style.dart';
import 'package:aku_new_community_manager/tools/user_tool.dart'; import 'package:aku_new_community_manager/tools/user_tool.dart';
import 'package:aku_new_community_manager/ui/widgets/common/aku_scaffold.dart'; import 'package:aku_new_community_manager/ui/widgets/common/aku_scaffold.dart';
import 'package:bot_toast/bot_toast.dart'; import 'package:bot_toast/bot_toast.dart';
@ -24,7 +25,6 @@ class _SetNickNamePageState extends State<SetNickNamePage> {
super.dispose(); super.dispose();
} }
@override @override
void initState() { void initState() {
super.initState(); super.initState();
@ -79,6 +79,10 @@ class _SetNickNamePageState extends State<SetNickNamePage> {
}, },
maxLength: 20, maxLength: 20,
controller: _nickController, controller: _nickController,
style: TextStyle(
color: Colors.black.withOpacity(0.85),
),
cursorColor: kPrimaryColor,
decoration: InputDecoration( decoration: InputDecoration(
isDense: false, isDense: false,
contentPadding: contentPadding:

@ -1,3 +1,4 @@
import 'package:aku_new_community_manager/style/app_style.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
@ -36,6 +37,10 @@ class _PsdTextFieldState extends State<PsdTextField> {
controller: widget.controller, controller: widget.controller,
obscureText: !visible, obscureText: !visible,
obscuringCharacter: '*', obscuringCharacter: '*',
style: TextStyle(
color: Colors.black.withOpacity(0.85),
),
cursorColor: kPrimaryColor,
decoration: InputDecoration( decoration: InputDecoration(
isDense: false, isDense: false,
contentPadding: contentPadding:

@ -1,3 +1,4 @@
import 'package:aku_new_community_manager/style/app_style.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
@ -25,6 +26,10 @@ class _TelTextFieldState extends State<TelTextField> {
inputFormatters: [FilteringTextInputFormatter.digitsOnly], inputFormatters: [FilteringTextInputFormatter.digitsOnly],
keyboardType: TextInputType.number, keyboardType: TextInputType.number,
controller: widget.controller, controller: widget.controller,
style: TextStyle(
color: Colors.black.withOpacity(0.85),
),
cursorColor: kPrimaryColor,
decoration: InputDecoration( decoration: InputDecoration(
isDense: true, isDense: true,
border: InputBorder.none, border: InputBorder.none,

@ -2,7 +2,8 @@ import 'package:aku_new_community_manager/const/saas_api.dart';
import 'package:aku_new_community_manager/gen/assets.gen.dart'; import 'package:aku_new_community_manager/gen/assets.gen.dart';
import 'package:aku_new_community_manager/saas_models/home/home_message_list_model.dart'; import 'package:aku_new_community_manager/saas_models/home/home_message_list_model.dart';
import 'package:aku_new_community_manager/tools/user_tool.dart'; import 'package:aku_new_community_manager/tools/user_tool.dart';
import 'package:aku_new_community_manager/ui/widgets/app_widgets/bee_image_network.dart'; import 'package:aku_new_community_manager/ui/home/personal_draw.dart';
import 'package:aku_new_community_manager/ui/widgets/app_widgets/bee_avatar_widget.dart';
import 'package:aku_new_community_manager/utils/bee_date_util.dart'; import 'package:aku_new_community_manager/utils/bee_date_util.dart';
import 'package:aku_new_community_manager/utils/extension/list_extension.dart'; import 'package:aku_new_community_manager/utils/extension/list_extension.dart';
import 'package:aku_new_community_manager/utils/network/net_util.dart'; import 'package:aku_new_community_manager/utils/network/net_util.dart';
@ -37,6 +38,7 @@ class _NewHomePageState extends State<NewHomePage> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Scaffold( return Scaffold(
extendBody: true, extendBody: true,
drawer: PersonalDraw(),
extendBodyBehindAppBar: true, extendBodyBehindAppBar: true,
appBar: PreferredSize( appBar: PreferredSize(
preferredSize: Size.fromHeight((72 + 96).w), preferredSize: Size.fromHeight((72 + 96).w),
@ -323,15 +325,18 @@ class _NewHomePageState extends State<NewHomePage> {
decoration: BoxDecoration( decoration: BoxDecoration(
color: Colors.white.withOpacity(0.3), color: Colors.white.withOpacity(0.3),
borderRadius: BorderRadius.circular(54.w)), borderRadius: BorderRadius.circular(54.w)),
child: ClipOval( child: Builder(builder: (context) {
child: Container( return GestureDetector(
width: 96.w, onTap: () {
height: 96.w, Scaffold.of(context).openDrawer();
child: BeeImageNetwork( },
imgs: UserTool.userProvider.userInfoModel?.imgList ?? [], child: BeeAvatarWidget(
width: 96.w,
height: 96.w,
imgs: UserTool.userProvider.userInfoModel!.imgList,
), ),
), );
), }),
); );
return Container( return Container(
height: 268.w, height: 268.w,

@ -18,7 +18,7 @@ class WorkOrderProgressDialog extends StatelessWidget {
width: double.infinity, width: double.infinity,
decoration: BoxDecoration( decoration: BoxDecoration(
borderRadius: BorderRadius.circular(16.w), color: Colors.white), borderRadius: BorderRadius.circular(16.w), color: Colors.white),
child: Column( child: ListView(
children: [ children: [
Padding( Padding(
padding: EdgeInsets.symmetric(horizontal: 24.w, vertical: 36.w), padding: EdgeInsets.symmetric(horizontal: 24.w, vertical: 36.w),
@ -114,13 +114,16 @@ class WorkOrderProgressDialog extends StatelessWidget {
.color(Colors.black.withOpacity(0.85)) .color(Colors.black.withOpacity(0.85))
.make(), .make(),
32.w.widthBox, 32.w.widthBox,
'${model.content}' SizedBox(
.text width: 400.w,
.size(28.sp) child: '${model.content}'
.color(index == 0 .text
? Color(0xFFFAC058) .size(28.sp)
: Colors.black.withOpacity(0.65)) .color(index == 0
.make() ? Color(0xFFFAC058)
: Colors.black.withOpacity(0.65))
.make(),
)
], ],
), ),
); );

@ -51,6 +51,7 @@ class _DistributorDetailPageState extends State<DistributorDetailPage> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return AkuScaffold( return AkuScaffold(
title: '', title: '',
appBarColor: Colors.transparent,
extendBody: true, extendBody: true,
body: Stack( body: Stack(
children: [ children: [
@ -107,7 +108,6 @@ class _DistributorDetailPageState extends State<DistributorDetailPage> {
], ],
), ),
), ),
Spacer(), Spacer(),
], ],
), ),
@ -115,47 +115,50 @@ class _DistributorDetailPageState extends State<DistributorDetailPage> {
), ),
), ),
SafeArea( SafeArea(
child: EasyRefresh( child: Padding(
firstRefresh: true, padding: EdgeInsets.only(top: 140.w),
header: MaterialHeader(), child: EasyRefresh(
onRefresh: () async { firstRefresh: true,
var base = await NetUtil().get(SAASAPI.workOrder.findById, header: MaterialHeader(),
params: {'workOrderId': widget.id}); controller: _refreshController,
if (base.success) { onRefresh: () async {
_model = WorkOrderDetailModel.fromJson(base.data); var base = await NetUtil().get(SAASAPI.workOrder.findById,
setState(() {}); params: {'workOrderId': widget.id});
} if (base.success) {
}, _model = WorkOrderDetailModel.fromJson(base.data);
child: _model == null setState(() {});
? Container() }
: ListView( },
padding: child: _model == null
EdgeInsets.only(top: 140.w, left: 32.w, right: 32.w), ? Container()
children: [ : ListView(
Offstage( padding: EdgeInsets.only(left: 32.w, right: 32.w),
offstage: _model!.status < 5, children: [
child: Column( Offstage(
children: [ offstage: _model!.status < 5,
_historyReport(), child: Column(
24.w.heightBox, children: [
], _historyReport(),
)), 24.w.heightBox,
Offstage( ],
offstage: _model!.servicePersonnelImgList == null || )),
_model!.servicePersonnelImgList!.isEmpty, Offstage(
child: Column( offstage: _model!.servicePersonnelImgList == null ||
children: [ _model!.servicePersonnelImgList!.isEmpty,
_servicePeople(), child: Column(
24.w.heightBox, children: [
], _servicePeople(),
)), 24.w.heightBox,
_head(), ],
24.w.heightBox, )),
_content(), _head(),
24.w.heightBox, 24.w.heightBox,
_taskInfo(), _content(),
], 24.w.heightBox,
), _taskInfo(),
],
),
),
)), )),
], ],
), ),
@ -247,10 +250,7 @@ class _DistributorDetailPageState extends State<DistributorDetailPage> {
var re = await WorkOrderFuc.reminderPay(widget.id); var re = await WorkOrderFuc.reminderPay(widget.id);
if (re) { if (re) {
_refreshController.callRefresh(); _refreshController.callRefresh();
setState(() { setState(() {});
});
} }
Get.back(); Get.back();
}, },
@ -413,8 +413,15 @@ class _DistributorDetailPageState extends State<DistributorDetailPage> {
), ),
24.w.heightBox, 24.w.heightBox,
Container( Container(
padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 24.w), padding: EdgeInsets.symmetric(horizontal: 24.w, vertical: 24.w),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(16.w),
border: Border.all(
color: Colors.black.withOpacity(0.25),
),
),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
'申请人' '申请人'
.text .text
@ -434,6 +441,7 @@ class _DistributorDetailPageState extends State<DistributorDetailPage> {
16.w.widthBox, 16.w.widthBox,
Expanded( Expanded(
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
_model!.applicantName.text _model!.applicantName.text
.size(28.sp) .size(28.sp)
@ -445,14 +453,14 @@ class _DistributorDetailPageState extends State<DistributorDetailPage> {
.size(28.sp) .size(28.sp)
.color(Colors.black.withOpacity(0.45)) .color(Colors.black.withOpacity(0.45))
.make(), .make(),
GestureDetector(
onTap: () {
launch('tel:${_model!.applicantTel}');
},
child: Assets.icons.phoneCircle
.image(width: 40.w, height: 40.w)),
], ],
)), )),
GestureDetector(
onTap: () {
launch('tel:${_model!.applicantTel}');
},
child: Assets.icons.phoneCircle
.image(width: 65.w, height: 65.w))
], ],
) )
], ],

@ -55,12 +55,12 @@ class _WorkOrderDistributorPageState extends State<WorkOrderDistributorPage>
return AkuScaffold( return AkuScaffold(
title: '工单管理', title: '工单管理',
actions: [ actions: [
IconButton( // IconButton(
onPressed: () {}, // onPressed: () {},
icon: Icon( // icon: Icon(
CupertinoIcons.plus_circle, // CupertinoIcons.plus_circle,
size: 40.w, // size: 40.w,
)) // ))
], ],
appBarBottom: PreferredSize( appBarBottom: PreferredSize(
preferredSize: Size.fromHeight(88.w), preferredSize: Size.fromHeight(88.w),

@ -53,6 +53,7 @@ class _ReceiverDetailPageState extends State<ReceiverDetailPage> {
Widget build(BuildContext context) { Widget build(BuildContext context) {
return AkuScaffold( return AkuScaffold(
title: '', title: '',
appBarColor: Colors.transparent,
extendBody: true, extendBody: true,
body: Stack( body: Stack(
children: [ children: [
@ -115,47 +116,50 @@ class _ReceiverDetailPageState extends State<ReceiverDetailPage> {
), ),
), ),
SafeArea( SafeArea(
child: EasyRefresh( child: Padding(
firstRefresh: true, padding: EdgeInsets.only(top: 140.w),
header: MaterialHeader(), child: EasyRefresh(
onRefresh: () async { firstRefresh: true,
var base = await NetUtil().get(SAASAPI.workOrder.findById, header: MaterialHeader(),
params: {'workOrderId': widget.id}); controller: _refreshController,
if (base.success) { onRefresh: () async {
_model = WorkOrderDetailModel.fromJson(base.data); var base = await NetUtil().get(SAASAPI.workOrder.findById,
setState(() {}); params: {'workOrderId': widget.id});
} if (base.success) {
}, _model = WorkOrderDetailModel.fromJson(base.data);
child: _model == null setState(() {});
? Container() }
: ListView( },
padding: child: _model == null
EdgeInsets.only(top: 120.w, left: 32.w, right: 32.w), ? Container()
children: [ : ListView(
Offstage( padding: EdgeInsets.only(left: 32.w, right: 32.w),
offstage: _model!.status < 5, children: [
child: Column( Offstage(
children: [ offstage: _model!.status < 5,
_historyReport(), child: Column(
24.w.heightBox, children: [
], _historyReport(),
)), 24.w.heightBox,
Offstage( ],
offstage: _model!.servicePersonnelImgList == null || )),
_model!.servicePersonnelImgList!.isEmpty, Offstage(
child: Column( offstage: _model!.servicePersonnelImgList == null ||
children: [ _model!.servicePersonnelImgList!.isEmpty,
_servicePeople(), child: Column(
24.w.heightBox, children: [
], _servicePeople(),
)), 24.w.heightBox,
_head(), ],
24.w.heightBox, )),
_content(), _head(),
24.w.heightBox, 24.w.heightBox,
_taskInfo(), _content(),
], 24.w.heightBox,
), _taskInfo(),
],
),
),
)), )),
], ],
), ),
@ -420,8 +424,15 @@ class _ReceiverDetailPageState extends State<ReceiverDetailPage> {
), ),
24.w.heightBox, 24.w.heightBox,
Container( Container(
padding: EdgeInsets.symmetric(horizontal: 16.w, vertical: 24.w), padding: EdgeInsets.symmetric(horizontal: 24.w, vertical: 24.w),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(16.w),
border: Border.all(
color: Colors.black.withOpacity(0.25),
),
),
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
'申请人' '申请人'
.text .text
@ -441,6 +452,7 @@ class _ReceiverDetailPageState extends State<ReceiverDetailPage> {
16.w.widthBox, 16.w.widthBox,
Expanded( Expanded(
child: Column( child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [ children: [
_model!.applicantName.text _model!.applicantName.text
.size(28.sp) .size(28.sp)
@ -452,14 +464,14 @@ class _ReceiverDetailPageState extends State<ReceiverDetailPage> {
.size(28.sp) .size(28.sp)
.color(Colors.black.withOpacity(0.45)) .color(Colors.black.withOpacity(0.45))
.make(), .make(),
GestureDetector(
onTap: () {
launch('tel:${_model!.applicantTel}');
},
child: Assets.icons.phoneCircle
.image(width: 40.w, height: 40.w)),
], ],
)), )),
GestureDetector(
onTap: () {
launch('tel:${_model!.applicantTel}');
},
child: Assets.icons.phoneCircle
.image(width: 65.w, height: 65.w))
], ],
) )
], ],

@ -20,7 +20,18 @@ class WorkOrderReceiverPage extends StatefulWidget {
class _WorkOrderReceiverPageState extends State<WorkOrderReceiverPage> class _WorkOrderReceiverPageState extends State<WorkOrderReceiverPage>
with SingleTickerProviderStateMixin { with SingleTickerProviderStateMixin {
List<String> _tabs = ['全部', '待分配', '工单池', '已接单', '处理中', '待确认', '待支付', '已完成', '已评价', '已取消']; List<String> _tabs = [
'全部',
'待分配',
'工单池',
'已接单',
'处理中',
'待确认',
'待支付',
'已完成',
'已评价',
'已取消'
];
late TabController _tabController; late TabController _tabController;
EasyRefreshController _refreshController = EasyRefreshController(); EasyRefreshController _refreshController = EasyRefreshController();
int _page = 1; int _page = 1;
@ -45,12 +56,12 @@ class _WorkOrderReceiverPageState extends State<WorkOrderReceiverPage>
return AkuScaffold( return AkuScaffold(
title: '工单管理', title: '工单管理',
actions: [ actions: [
IconButton( // IconButton(
onPressed: () {}, // onPressed: () {},
icon: Icon( // icon: Icon(
CupertinoIcons.plus_circle, // CupertinoIcons.plus_circle,
size: 40.w, // size: 40.w,
)) // ))
], ],
appBarBottom: PreferredSize( appBarBottom: PreferredSize(
preferredSize: Size.fromHeight(88.w), preferredSize: Size.fromHeight(88.w),
@ -62,8 +73,11 @@ class _WorkOrderReceiverPageState extends State<WorkOrderReceiverPage>
), ),
body: TabBarView( body: TabBarView(
controller: _tabController, controller: _tabController,
children: children: _tabs
_tabs.mapIndexed((e, index) => WorkOrderReceiverWidget( index:index,)).toList()), .mapIndexed((e, index) => WorkOrderReceiverWidget(
index: index,
))
.toList()),
); );
} }
@ -98,17 +112,19 @@ class _WorkOrderReceiverPageState extends State<WorkOrderReceiverPage>
_refreshController.finishLoad(); _refreshController.finishLoad();
} }
}, },
child:_models==[]?SizedBox(): ListView.separated( child: _models == []
padding: EdgeInsets.all(24.w), ? SizedBox()
itemBuilder: (context, index) { : ListView.separated(
return DistributorCard( padding: EdgeInsets.all(24.w),
model: _models[index], itemBuilder: (context, index) {
refresh: _refreshController.callRefresh, return DistributorCard(
); model: _models[index],
}, refresh: _refreshController.callRefresh,
separatorBuilder: (context, index) { );
return 24.w.heightBox; },
}, separatorBuilder: (context, index) {
itemCount: _models.length)); return 24.w.heightBox;
},
itemCount: _models.length));
} }
} }

@ -142,7 +142,8 @@ class WorkOrderFuc {
var models = (base.data as List) var models = (base.data as List)
.map((e) => WorkOrderProgressModel.fromJson(e)) .map((e) => WorkOrderProgressModel.fromJson(e))
.toList(); .toList();
await Get.bottomSheet(WorkOrderProgressDialog(models: models)); await Get.bottomSheet(WorkOrderProgressDialog(models: models),
isScrollControlled: true);
} else { } else {
BotToast.showText(text: base.msg); BotToast.showText(text: base.msg);
} }

@ -11,32 +11,23 @@ class WorkOrderProgressModel extends Equatable {
final int status; final int status;
final String content; final String content;
///1.2.3.4.5.
final int userType;
final int createId;
final String createName;
final String createDate; final String createDate;
factory WorkOrderProgressModel.fromJson(Map<String, dynamic> json) => factory WorkOrderProgressModel.fromJson(Map<String, dynamic> json) =>
_$WorkOrderProgressModelFromJson(json); _$WorkOrderProgressModelFromJson(json);
const WorkOrderProgressModel({
required this.id,
required this.status,
required this.content,
required this.userType,
required this.createId,
required this.createName,
required this.createDate,
});
@override @override
List<Object?> get props => [ List<Object?> get props => [
id, id,
status, status,
content, content,
userType,
createId,
createName,
createDate, createDate,
]; ];
const WorkOrderProgressModel({
required this.id,
required this.status,
required this.content,
required this.createDate,
});
} }

@ -12,8 +12,5 @@ WorkOrderProgressModel _$WorkOrderProgressModelFromJson(
id: json['id'] as int, id: json['id'] as int,
status: json['status'] as int, status: json['status'] as int,
content: json['content'] as String, content: json['content'] as String,
userType: json['userType'] as int,
createId: json['createId'] as int,
createName: json['createName'] as String,
createDate: json['createDate'] as String, createDate: json['createDate'] as String,
); );

@ -1,12 +1,10 @@
// Flutter imports: // Flutter imports:
// Project imports:
import 'package:aku_new_community_manager/ui/widgets/common/aku_scaffold.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
// Package imports: // Package imports:
import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart';
// Project imports:
import 'package:aku_new_community_manager/ui/widgets/common/aku_scaffold.dart';
class AgreementPage extends StatelessWidget { class AgreementPage extends StatelessWidget {
const AgreementPage({Key? key}) : super(key: key); const AgreementPage({Key? key}) : super(key: key);
@ -18,203 +16,218 @@ class AgreementPage extends StatelessWidget {
padding: EdgeInsets.all(16.w), padding: EdgeInsets.all(16.w),
child: Text( child: Text(
''' '''
使APP 20220325
使APP使 使
使使 使 线
//()  使 便
 使        使           
              
  使 CookiesSDK 
1.1
使使   
 访  
2.1
APP线
2.2 14 使
2.2.1 使
kaidalai@163.com
2.2.2 iOSandroid 线
2.3
2.3.1 使使
20220325
2.3.2 使使 20220327
kaidalai@163.com7
3.1 1
2使
3.2 使 3
4
5
4.1 6
7
4.2 8
9
4.3
便使使线
4.4 使
使
5.1 使
5.2 1
使
5.3 使 AndroidV8.0.0iOSV7.4.0访->
使使使
使
6.1 2
便使  
6.2 使使使 3
使使
6.3 4
apppdf使使
6.4 访使 5
Android 使
6.5
1   使
2 SDK MACAPPlist
7.1 使 3   
7.1.1 使使
7.1.2 使使使使  Android使 Android访
  crash  
7.1.3 怀使 使WLANWLANWLANWLAN WiFi 使WLANWLANWLANWLAN
退 / 使 / 退
7.2   
7.2.1 使 使      
  iOS
7.2.2 使PCTVweb   使 
v8.5.3 使  使
7.2.2.1 toast使  
便    APP--
7.2.2.2 IDID 使IFAAiOS使ID  IDIDiOS IDID   使IFAAiOS使ID APP
WLANWLAN访   Wi-Fi SSID 使   WLAN WLAN WLAN WLANWLANWLAN   访 使
7.2.2.3 使 使  使使 使  便
使  使 Android6.0
7.2.3 使 使 使 使 使 Bonjour Apple TV
iOS 使 AndroidiOS 
7.2.3.1 SDK使
使APP使使SDK 使SDKSDKSDK SDK使SDKSDKSDK
7.2.3.2
使Cookie
7.2.3.3 使访 1Cookie
访CookieCookie访访Cookie访访
7.2.3.4 Cookie Cookie AboutCookies.orgCookieCookie 访
2
7.2.3.5 线线 Cookie 使使访访HTTPSSSL
3
7.2.4 14 访便HTTPS
4Do Not Track
7.2.5 ; Do Not Track Do Not Track Do Not Track
7.3 使/
7.3.1 使 1
2
3
8.1 4
8.1.1 5
6
8.1.1.1 7
8//
8.1.1.2 9
10
8.1.1.3 11
使
8.1.1.4 广 1访
2
8.1.1.5 1
2线线
8.2 使 3
使 4
5
8.2.1 6
7
8.2.2 8
9
8.2.3 使 3使使APP
8.2.4 使/
8.2.5 1
2
8.2.6 使 3
访
8.2.7
使
8.2.8 APISDK
8.3
使
8.3.1
8.3.2
8.3.3 1使
2
8.3.4 3
8.3.5 广广
8.3.6
8.3.7
4使使
8.3.8 5使
6
8.4 1
使 2
3
8.5
8.5.1 使 使 访使访访 SSL https 使使访访
8.5.2 使
访
8.5.3
9.1 使
访
9.2 访使访访
->-APPAPP访kaidalai@163.com7
10.1 访使 访
kaidalai@163.com7
10.2 使
kaidalai@163.com
10.3 使
10.4
1/iOS->->
10.5 2/iOS->->->
11.1 使使使 使
使Android->->iOS->APP->->->使
11.2 使使  
11.3 使
12.1
1
APP---APP 2
3
1APP 4
5
2/ 6
使访使
使
12.20574-87760023 14
20201021
1使
2
3
4使
5
6
kaidalai@163.com
kaidalai@163.com
40-11
''', ''',
style: Theme.of(context).textTheme.subtitle1, style: Theme.of(context).textTheme.subtitle1,
), ),

@ -18,227 +18,219 @@ class PrivacyPage extends StatelessWidget {
children: [ children: [
Text( Text(
''' '''
20209 20220325
2020V2 使
使APP 使APP使 使使 //()
使 线
1.1  使 便
使使  使        使           
              
2.1   使 CookiesSDK 
APP线
2.2   
2.2.1 使
2.2.2 iOSandroid  访  
2.3
2.3.1 使使
2.3.2 使使
14 使
3.1
3.2 使 kaidalai@163.com
线
4.1
4.2
4.3
4.4 使 20220325
20220327
5.1 kaidalai@163.com7
5.2
5.3 使 1
2使
6.1 3
6.2 使使使 4
6.3 5
6.4 访使 6
6.5 7
8
7.1 使 9
7.1.1 使使 7.1.2 使使使使 7.1.3 怀使
7.2 便使使线
7.2.1 使
7.2.2
7.2.2.1 使
7.2.2.2 使
7.2.2.3 使
7.2.3 使 1
7.2.3.1 使
7.2.3.2 AndroidV8.0.0iOSV7.4.0访->
7.2.3.3 使访 使使使
7.2.3.4 使
7.2.3.5 线线 2
7.2.4 14 便使  
7.2.5 ; 3
7.3 使使
7.3.1 使 4
apppdf使使
8.1 5
8.1.1 Android 使
8.1.1.1
8.1.1.2 1   使
8.1.1.3 2 SDK MACAPPlist
8.1.1.4 广 3   
8.1.1.5
8.2 使
使  Android使 Android访
8.2.1   crash  
8.2.2 使WLANWLANWLANWLAN WiFi 使WLANWLANWLANWLAN
8.2.3 使 退 / 使 / 退
8.2.4 使/   
8.2.5 使      
8.2.6 使   iOS
8.2.7 使PCTVweb   使 
8.2.8 v8.5.3 使  使
8.3 toast使  
使 便    APP--
8.3.1 IDID 使IFAAiOS使ID  IDIDiOS IDID   使IFAAiOS使ID APP
8.3.2 WLANWLAN访   Wi-Fi SSID 使   WLAN WLAN WLAN WLANWLANWLAN   访 使
8.3.3 使  使使 使  便
8.3.4 使  使 Android6.0
8.3.5 广广 使 使 使 使 Bonjour Apple TV
8.3.6 iOS 使 AndroidiOS 
8.3.7 SDK使
8.3.8 使APP使使SDK 使SDKSDKSDK SDK使SDKSDKSDK
8.4
使
8.5
8.5.1 使
8.5.2
8.5.3
9.1 9.2
10.1 访使 10.2 使 10.3 使 10.4 10.5
11.1 使使使 11.2 使使 11.3 使
12.1 APP---APP 1APP 2/ 使访使
12.20574-87760023 使Cookie
1Cookie
便使使 访CookieCookie访访Cookie访访
1. Cookie Cookie AboutCookies.orgCookieCookie 访
2.使 2
3. Cookie 使使访访HTTPSSSL
4. 3
5. 访便HTTPS
6. 4Do Not Track
7. Do Not Track Do Not Track Do Not Track
8.
使/
1. 1
1.1 2
APP使APP便访 3
1.2 4
APPAPP使APP使 APP使使APPAPP使APP 使使 5
6
7
使 8//
/ 9
使使 10
11
使使 使
1访
使使使 2
访 1
使访访访访访访访访访访 2线线
3
使使使 4
5
使 6
7
使使使 8
/ 9
使 3使使APP
使
使使使 1
2
使 3
/ 访
使
使
使 APISDK
使
使
ETC
使ETC
使使 使使
1使
使 2
3
使,
访使
访使 使访 使访 使访 使访 使访 使访 使访 使访 使访 使访 访 访 访 访 访
1.3
APPAPP 使访
1.4
4使使
1.5 5使
便使APPID访 6
2.使 1
2.1 2
2.2 APP使使使APPAPP使 3
3.
3.1 使 访使访访 SSL https 使使访访
3.2
4. 使
便 app 访
5.
访使APP APP 使 线APP
6.
6.1 APP访 使
6.2 访
访使访访
7. ->-APPAPP访kaidalai@163.com7
APP18使APPAPP使8
访
8. kaidalai@163.com7
xin@akuhome.com
kaidalai@163.com
9.使
9.1. 使使/使
9.2. 使//使/使
9.3. //使/使 1/iOS->->
9.4. 使 2/iOS->->->
9.4.1
1 使/
2 使 使
9.4.2 使Android->->iOS->APP->->->使
1 使  
10.
访使
10.1. 访
1
10.1.1 访 2
10.1.2 使使稿 3
10.1.3 访 4
10.2. / 5
// 6
10.3. /////-
10.4. 使线///
3. 使
3.1 14
3.2
1
2 使
3
4
5 1使
4. 2
使App/ 3
5. 4使
线使使 5
6
使/APP-
''', kaidalai@163.com
kaidalai@163.com
40-11
''',
style: Theme.of(context).textTheme.subtitle1, style: Theme.of(context).textTheme.subtitle1,
), ),
], ],

@ -1,12 +1,13 @@
// Flutter imports: // Flutter imports:
// Project imports: // Project imports:
import 'package:aku_new_community_manager/const/resource.dart'; import 'package:aku_new_community_manager/const/resource.dart';
import 'package:aku_new_community_manager/new_ui/auth/other_login_page.dart';
import 'package:aku_new_community_manager/provider/user_provider.dart'; import 'package:aku_new_community_manager/provider/user_provider.dart';
import 'package:aku_new_community_manager/style/app_style.dart'; import 'package:aku_new_community_manager/style/app_style.dart';
import 'package:aku_new_community_manager/ui/login/login_page.dart'; import 'package:aku_new_community_manager/tools/user_tool.dart';
import 'package:aku_new_community_manager/ui/settings/settings_page.dart'; import 'package:aku_new_community_manager/ui/settings/settings_page.dart';
import 'package:aku_new_community_manager/ui/settings/user_info_page.dart'; import 'package:aku_new_community_manager/ui/settings/user_info_page.dart';
import 'package:aku_new_community_manager/ui/widgets/app_widgets/aku_avatar.dart'; import 'package:aku_new_community_manager/ui/widgets/app_widgets/bee_avatar_widget.dart';
import 'package:aku_new_community_manager/ui/widgets/common/aku_button.dart'; import 'package:aku_new_community_manager/ui/widgets/common/aku_button.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart';
@ -66,7 +67,7 @@ class _PersonalDrawState extends State<PersonalDraw> {
onTap: () { onTap: () {
userProvider.isLogin userProvider.isLogin
? Get.to(() => UserInfoPage()) ? Get.to(() => UserInfoPage())
: Get.to(() => LoginPage()); : Get.to(() => OtherLoginPage());
}, },
child: Container( child: Container(
margin: EdgeInsets.only(bottom: 80.w, top: 40.w), margin: EdgeInsets.only(bottom: 80.w, top: 40.w),
@ -75,7 +76,11 @@ class _PersonalDrawState extends State<PersonalDraw> {
children: [ children: [
SizedBox(width: 32.w), SizedBox(width: 32.w),
// //
AkuAvatar(), BeeAvatarWidget(
width: 96.w,
height: 96.w,
imgs: UserTool.userProvider.userInfoModel!.imgList,
),
SizedBox(width: 24.w), SizedBox(width: 24.w),
Column( Column(
crossAxisAlignment: CrossAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.start,
@ -121,7 +126,7 @@ class _PersonalDrawState extends State<PersonalDraw> {
onPressed: () { onPressed: () {
userProvider.isLogin userProvider.isLogin
? Get.to(() => UserInfoPage()) ? Get.to(() => UserInfoPage())
: Get.to(() => LoginPage()); : Get.to(() => OtherLoginPage());
}, },
), ),
// _myListTile(R.ASSETS_USER_IC_KEFU_PNG, '联系客服'), // _myListTile(R.ASSETS_USER_IC_KEFU_PNG, '联系客服'),

@ -1,8 +1,9 @@
// Flutter imports: // Flutter imports:
// Project imports: // Project imports:
import 'package:aku_new_community_manager/const/api.dart'; import 'package:aku_new_community_manager/const/saas_api.dart';
import 'package:aku_new_community_manager/provider/user_provider.dart'; import 'package:aku_new_community_manager/provider/user_provider.dart';
import 'package:aku_new_community_manager/saas_models/net_model/base_model.dart'; import 'package:aku_new_community_manager/saas_models/net_model/base_model.dart';
import 'package:aku_new_community_manager/tools/user_tool.dart';
import 'package:aku_new_community_manager/ui/widgets/common/aku_scaffold.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:aku_new_community_manager/utils/network/net_util.dart';
// Package imports: // Package imports:
@ -65,12 +66,12 @@ class _NickNameChangePageState extends State<NickNameChangePage> {
150.w.heightBox, 150.w.heightBox,
MaterialButton( MaterialButton(
onPressed: () async { onPressed: () async {
BaseModel baseModel = await NetUtil().post( BaseModel baseModel = await NetUtil().get(
API.user.updateNickName, SAASAPI.login.setNickName,
params: {'nickName': _textEditingController!.text}); params: {'nickName': _textEditingController!.text});
if (baseModel.success == true) { if (baseModel.success == true) {
userProvider.setNickName(_textEditingController!.text); UserTool.userProvider.updateUserInfo();
Get.back(); Get.back();
} else { } else {
BotToast.showText(text: baseModel.msg); BotToast.showText(text: baseModel.msg);

@ -1,19 +1,15 @@
// Flutter imports: // Flutter imports:
// Project imports: // Project imports:
import 'package:aku_new_community_manager/new_ui/auth/other_login_page.dart';
import 'package:aku_new_community_manager/provider/user_provider.dart'; import 'package:aku_new_community_manager/provider/user_provider.dart';
import 'package:aku_new_community_manager/style/app_style.dart'; import 'package:aku_new_community_manager/style/app_style.dart';
import 'package:aku_new_community_manager/tools/screen_tool.dart'; import 'package:aku_new_community_manager/tools/screen_tool.dart';
import 'package:aku_new_community_manager/tools/widget_tool.dart'; import 'package:aku_new_community_manager/tools/widget_tool.dart';
import 'package:aku_new_community_manager/ui/agreements/about_page.dart';
import 'package:aku_new_community_manager/ui/agreements/agreement_page.dart'; import 'package:aku_new_community_manager/ui/agreements/agreement_page.dart';
import 'package:aku_new_community_manager/ui/agreements/privacy_page.dart'; import 'package:aku_new_community_manager/ui/agreements/privacy_page.dart';
import 'package:aku_new_community_manager/ui/home/home_page.dart';
import 'package:aku_new_community_manager/ui/settings/setting_feedback_page.dart';
import 'package:aku_new_community_manager/ui/widgets/common/aku_material_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/ui/widgets/common/aku_scaffold.dart';
import 'package:aku_new_community_manager/ui/widgets/common/aku_tile.dart'; import 'package:aku_new_community_manager/ui/widgets/common/aku_tile.dart';
// Package imports:
import 'package:bot_toast/bot_toast.dart';
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
@ -50,27 +46,27 @@ class _SettingsPageState extends State<SettingsPage> {
// }, // },
// ), // ),
// ), // ),
Divider(height: 1.w), // Divider(height: 1.w),
AkuTile( // AkuTile(
title: Text('关于我们'), // title: Text('关于我们'),
arrow: true, // arrow: true,
onTap: () { // onTap: () {
Get.to(() => AboutPage()); // Get.to(() => AboutPage());
}, // },
), // ),
Divider(height: 1.w), // Divider(height: 1.w),
AkuTile( // AkuTile(
title: Text('意见反馈'), // title: Text('意见反馈'),
arrow: true, // arrow: true,
onTap: () => Get.to(() => SettingFeedBackPage()), // onTap: () => Get.to(() => SettingFeedBackPage()),
), // ),
Divider(height: 1.w), // Divider(height: 1.w),
AkuTile( // AkuTile(
title: Text('清理缓存'), // title: Text('清理缓存'),
arrow: true, // arrow: true,
onTap: () => BotToast.showText(text: '缓存清理完成'), // onTap: () => BotToast.showText(text: '缓存清理完成'),
), // ),
Divider(height: 1.w), // Divider(height: 1.w),
AkuTile( AkuTile(
title: Text('隐私政策'), title: Text('隐私政策'),
arrow: true, arrow: true,
@ -91,7 +87,7 @@ class _SettingsPageState extends State<SettingsPage> {
color: AppStyle.primaryColor, color: AppStyle.primaryColor,
onPressed: () { onPressed: () {
userProvider.logout(); userProvider.logout();
Get.offAll(() => HomePage()); Get.offAll(() => OtherLoginPage());
}, },
child: Text( child: Text(
'退出登录', '退出登录',

@ -7,14 +7,12 @@ import 'package:aku_new_community_manager/tools/aku_divider.dart';
import 'package:aku_new_community_manager/tools/extensions/list_extension_tool.dart'; import 'package:aku_new_community_manager/tools/extensions/list_extension_tool.dart';
import 'package:aku_new_community_manager/tools/extensions/router_extension_tool.dart'; import 'package:aku_new_community_manager/tools/extensions/router_extension_tool.dart';
import 'package:aku_new_community_manager/tools/screen_tool.dart'; import 'package:aku_new_community_manager/tools/screen_tool.dart';
import 'package:aku_new_community_manager/tools/user_tool.dart';
import 'package:aku_new_community_manager/ui/settings/nick_name_change_page.dart'; import 'package:aku_new_community_manager/ui/settings/nick_name_change_page.dart';
import 'package:aku_new_community_manager/ui/settings/tel_change_page.dart'; import 'package:aku_new_community_manager/ui/widgets/app_widgets/bee_avatar_widget.dart';
import 'package:aku_new_community_manager/ui/widgets/app_widgets/aku_avatar.dart';
import 'package:aku_new_community_manager/ui/widgets/common/aku_scaffold.dart'; import 'package:aku_new_community_manager/ui/widgets/common/aku_scaffold.dart';
import 'package:aku_new_community_manager/ui/widgets/common/aku_tile.dart'; import 'package:aku_new_community_manager/ui/widgets/common/aku_tile.dart';
import 'package:aku_new_community_manager/ui/widgets/inner/bee_image_pick.dart'; import 'package:aku_new_community_manager/ui/widgets/inner/bee_image_pick.dart';
// Package imports:
import 'package:common_utils/common_utils.dart';
// Flutter imports: // Flutter imports:
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@ -42,7 +40,11 @@ class _UserInfoPageState extends State<UserInfoPage> {
}, },
title: Text('头像'), title: Text('头像'),
height: 168.w, height: 168.w,
suffix: AkuAvatar(), suffix: BeeAvatarWidget(
width: 96.w,
height: 96.w,
imgs: UserTool.userProvider.userInfoModel!.imgList,
),
), ),
AkuTile( AkuTile(
onTap: () async { onTap: () async {
@ -52,14 +54,14 @@ class _UserInfoPageState extends State<UserInfoPage> {
title: Text('昵称'), title: Text('昵称'),
suffix: Text(userProvider.userInfoModel!.nickName!), suffix: Text(userProvider.userInfoModel!.nickName!),
), ),
AkuTile( // AkuTile(
onTap: () async { // onTap: () async {
await TelChangePage().to(); // await TelChangePage().to();
setState(() {}); // setState(() {});
}, // },
title: Text('手机'), // title: Text('手机'),
suffix: Text(TextUtil.hideNumber(userProvider.userInfoModel!.tel)), // suffix: Text(TextUtil.hideNumber(userProvider.userInfoModel!.tel)),
), // ),
].sepWidget(separate: AkuDivider.horizontal()), ].sepWidget(separate: AkuDivider.horizontal()),
), ),
); );

@ -0,0 +1,46 @@
import 'package:aku_new_community_manager/const/saas_api.dart';
import 'package:aku_new_community_manager/gen/assets.gen.dart';
import 'package:aku_new_community_manager/models/common/img_model.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
class BeeAvatarWidget extends StatelessWidget {
final List<ImgModel>? imgs;
final List<String>? urls;
final double? width;
final double? height;
final BoxFit? fit;
const BeeAvatarWidget(
{Key? key,
this.imgs,
this.width,
this.height,
this.urls,
this.fit = BoxFit.cover})
: assert(imgs != null || urls != null),
super(key: key);
@override
Widget build(BuildContext context) {
return ClipOval(
child: FadeInImage.assetNetwork(
placeholder: Assets.newIcon.avatarPlaceholder.path,
image: imgs == null
? SAASAPI.image(urls!.isEmpty ? '' : urls!.first)
: SAASAPI.image(ImgModel.first(imgs)),
imageErrorBuilder: (context, obj, stackTrace) {
return Image.asset(
Assets.newIcon.avatarPlaceholder.path,
width: width ?? 128.w,
height: height ?? 128.w,
fit: fit,
);
},
height: height ?? 128.w,
width: width ?? 128.w,
fit: fit,
),
);
}
}

@ -6,7 +6,6 @@ import 'package:aku_new_community_manager/new_ui/auth/other_login_page.dart';
import 'package:aku_new_community_manager/provider/user_provider.dart'; import 'package:aku_new_community_manager/provider/user_provider.dart';
import 'package:aku_new_community_manager/saas_models/net_model/base_list_model.dart'; import 'package:aku_new_community_manager/saas_models/net_model/base_list_model.dart';
import 'package:aku_new_community_manager/saas_models/net_model/base_model.dart'; import 'package:aku_new_community_manager/saas_models/net_model/base_model.dart';
import 'package:aku_new_community_manager/ui/login/login_page.dart';
// Package imports: // Package imports:
import 'package:bot_toast/bot_toast.dart'; import 'package:bot_toast/bot_toast.dart';
import 'package:dio/dio.dart'; import 'package:dio/dio.dart';
@ -171,12 +170,12 @@ class NetUtil {
_parseRequestError(BaseModel model, {bool showMessage = false}) { _parseRequestError(BaseModel model, {bool showMessage = false}) {
final userProvider = Provider.of<UserProvider>(Get.context!, listen: false); final userProvider = Provider.of<UserProvider>(Get.context!, listen: false);
if (userProvider.isLogin) {
BotToast.showText(text: model.msg);
}
if (!model.success && (model.code == 10010 || model.msg == '登录失效,请重新登录')) { if (!model.success && (model.code == 10010 || model.msg == '登录失效,请重新登录')) {
userProvider.logout(); userProvider.logout();
Get.offAll(() => OtherLoginPage()); Get.offAll(() => OtherLoginPage());
if (userProvider.isLogin) {
BotToast.showText(text: model.msg);
}
} }
} }
} }

@ -103,6 +103,7 @@ flutter:
- assets/inspection/ - assets/inspection/
- assets/outdoor/ - assets/outdoor/
- assets/icons/ - assets/icons/
- assets/newIcon/
- assets/static_temp/ - assets/static_temp/
- assets/static_fix/ - assets/static_fix/

Loading…
Cancel
Save