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

@ -108,7 +108,7 @@ class _OtherLoginPageState extends State<OtherLoginPage> {
await UserTool.userProvider.setLogin(response.data['data']);
await UserTool.dataProvider.addHistories();
} else {
BotToast.showText(text: response.data['message']);
BotToast.showText(text: response.data['msg']);
}
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/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/ui/widgets/common/aku_scaffold.dart';
import 'package:bot_toast/bot_toast.dart';
@ -24,7 +25,6 @@ class _SetNickNamePageState extends State<SetNickNamePage> {
super.dispose();
}
@override
void initState() {
super.initState();
@ -79,6 +79,10 @@ class _SetNickNamePageState extends State<SetNickNamePage> {
},
maxLength: 20,
controller: _nickController,
style: TextStyle(
color: Colors.black.withOpacity(0.85),
),
cursorColor: kPrimaryColor,
decoration: InputDecoration(
isDense: false,
contentPadding:

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

@ -1,3 +1,4 @@
import 'package:aku_new_community_manager/style/app_style.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
@ -25,6 +26,10 @@ class _TelTextFieldState extends State<TelTextField> {
inputFormatters: [FilteringTextInputFormatter.digitsOnly],
keyboardType: TextInputType.number,
controller: widget.controller,
style: TextStyle(
color: Colors.black.withOpacity(0.85),
),
cursorColor: kPrimaryColor,
decoration: InputDecoration(
isDense: true,
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/saas_models/home/home_message_list_model.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/extension/list_extension.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) {
return Scaffold(
extendBody: true,
drawer: PersonalDraw(),
extendBodyBehindAppBar: true,
appBar: PreferredSize(
preferredSize: Size.fromHeight((72 + 96).w),
@ -323,15 +325,18 @@ class _NewHomePageState extends State<NewHomePage> {
decoration: BoxDecoration(
color: Colors.white.withOpacity(0.3),
borderRadius: BorderRadius.circular(54.w)),
child: ClipOval(
child: Container(
width: 96.w,
height: 96.w,
child: BeeImageNetwork(
imgs: UserTool.userProvider.userInfoModel?.imgList ?? [],
child: Builder(builder: (context) {
return GestureDetector(
onTap: () {
Scaffold.of(context).openDrawer();
},
child: BeeAvatarWidget(
width: 96.w,
height: 96.w,
imgs: UserTool.userProvider.userInfoModel!.imgList,
),
),
),
);
}),
);
return Container(
height: 268.w,

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

@ -51,6 +51,7 @@ class _DistributorDetailPageState extends State<DistributorDetailPage> {
Widget build(BuildContext context) {
return AkuScaffold(
title: '',
appBarColor: Colors.transparent,
extendBody: true,
body: Stack(
children: [
@ -107,7 +108,6 @@ class _DistributorDetailPageState extends State<DistributorDetailPage> {
],
),
),
Spacer(),
],
),
@ -115,47 +115,50 @@ class _DistributorDetailPageState extends State<DistributorDetailPage> {
),
),
SafeArea(
child: EasyRefresh(
firstRefresh: true,
header: MaterialHeader(),
onRefresh: () async {
var base = await NetUtil().get(SAASAPI.workOrder.findById,
params: {'workOrderId': widget.id});
if (base.success) {
_model = WorkOrderDetailModel.fromJson(base.data);
setState(() {});
}
},
child: _model == null
? Container()
: ListView(
padding:
EdgeInsets.only(top: 140.w, left: 32.w, right: 32.w),
children: [
Offstage(
offstage: _model!.status < 5,
child: Column(
children: [
_historyReport(),
24.w.heightBox,
],
)),
Offstage(
offstage: _model!.servicePersonnelImgList == null ||
_model!.servicePersonnelImgList!.isEmpty,
child: Column(
children: [
_servicePeople(),
24.w.heightBox,
],
)),
_head(),
24.w.heightBox,
_content(),
24.w.heightBox,
_taskInfo(),
],
),
child: Padding(
padding: EdgeInsets.only(top: 140.w),
child: EasyRefresh(
firstRefresh: true,
header: MaterialHeader(),
controller: _refreshController,
onRefresh: () async {
var base = await NetUtil().get(SAASAPI.workOrder.findById,
params: {'workOrderId': widget.id});
if (base.success) {
_model = WorkOrderDetailModel.fromJson(base.data);
setState(() {});
}
},
child: _model == null
? Container()
: ListView(
padding: EdgeInsets.only(left: 32.w, right: 32.w),
children: [
Offstage(
offstage: _model!.status < 5,
child: Column(
children: [
_historyReport(),
24.w.heightBox,
],
)),
Offstage(
offstage: _model!.servicePersonnelImgList == null ||
_model!.servicePersonnelImgList!.isEmpty,
child: Column(
children: [
_servicePeople(),
24.w.heightBox,
],
)),
_head(),
24.w.heightBox,
_content(),
24.w.heightBox,
_taskInfo(),
],
),
),
)),
],
),
@ -247,10 +250,7 @@ class _DistributorDetailPageState extends State<DistributorDetailPage> {
var re = await WorkOrderFuc.reminderPay(widget.id);
if (re) {
_refreshController.callRefresh();
setState(() {
});
setState(() {});
}
Get.back();
},
@ -413,8 +413,15 @@ class _DistributorDetailPageState extends State<DistributorDetailPage> {
),
24.w.heightBox,
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(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
'申请人'
.text
@ -434,6 +441,7 @@ class _DistributorDetailPageState extends State<DistributorDetailPage> {
16.w.widthBox,
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
_model!.applicantName.text
.size(28.sp)
@ -445,14 +453,14 @@ class _DistributorDetailPageState extends State<DistributorDetailPage> {
.size(28.sp)
.color(Colors.black.withOpacity(0.45))
.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(
title: '工单管理',
actions: [
IconButton(
onPressed: () {},
icon: Icon(
CupertinoIcons.plus_circle,
size: 40.w,
))
// IconButton(
// onPressed: () {},
// icon: Icon(
// CupertinoIcons.plus_circle,
// size: 40.w,
// ))
],
appBarBottom: PreferredSize(
preferredSize: Size.fromHeight(88.w),

@ -53,6 +53,7 @@ class _ReceiverDetailPageState extends State<ReceiverDetailPage> {
Widget build(BuildContext context) {
return AkuScaffold(
title: '',
appBarColor: Colors.transparent,
extendBody: true,
body: Stack(
children: [
@ -115,47 +116,50 @@ class _ReceiverDetailPageState extends State<ReceiverDetailPage> {
),
),
SafeArea(
child: EasyRefresh(
firstRefresh: true,
header: MaterialHeader(),
onRefresh: () async {
var base = await NetUtil().get(SAASAPI.workOrder.findById,
params: {'workOrderId': widget.id});
if (base.success) {
_model = WorkOrderDetailModel.fromJson(base.data);
setState(() {});
}
},
child: _model == null
? Container()
: ListView(
padding:
EdgeInsets.only(top: 120.w, left: 32.w, right: 32.w),
children: [
Offstage(
offstage: _model!.status < 5,
child: Column(
children: [
_historyReport(),
24.w.heightBox,
],
)),
Offstage(
offstage: _model!.servicePersonnelImgList == null ||
_model!.servicePersonnelImgList!.isEmpty,
child: Column(
children: [
_servicePeople(),
24.w.heightBox,
],
)),
_head(),
24.w.heightBox,
_content(),
24.w.heightBox,
_taskInfo(),
],
),
child: Padding(
padding: EdgeInsets.only(top: 140.w),
child: EasyRefresh(
firstRefresh: true,
header: MaterialHeader(),
controller: _refreshController,
onRefresh: () async {
var base = await NetUtil().get(SAASAPI.workOrder.findById,
params: {'workOrderId': widget.id});
if (base.success) {
_model = WorkOrderDetailModel.fromJson(base.data);
setState(() {});
}
},
child: _model == null
? Container()
: ListView(
padding: EdgeInsets.only(left: 32.w, right: 32.w),
children: [
Offstage(
offstage: _model!.status < 5,
child: Column(
children: [
_historyReport(),
24.w.heightBox,
],
)),
Offstage(
offstage: _model!.servicePersonnelImgList == null ||
_model!.servicePersonnelImgList!.isEmpty,
child: Column(
children: [
_servicePeople(),
24.w.heightBox,
],
)),
_head(),
24.w.heightBox,
_content(),
24.w.heightBox,
_taskInfo(),
],
),
),
)),
],
),
@ -420,8 +424,15 @@ class _ReceiverDetailPageState extends State<ReceiverDetailPage> {
),
24.w.heightBox,
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(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
'申请人'
.text
@ -441,6 +452,7 @@ class _ReceiverDetailPageState extends State<ReceiverDetailPage> {
16.w.widthBox,
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
_model!.applicantName.text
.size(28.sp)
@ -452,14 +464,14 @@ class _ReceiverDetailPageState extends State<ReceiverDetailPage> {
.size(28.sp)
.color(Colors.black.withOpacity(0.45))
.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>
with SingleTickerProviderStateMixin {
List<String> _tabs = ['全部', '待分配', '工单池', '已接单', '处理中', '待确认', '待支付', '已完成', '已评价', '已取消'];
List<String> _tabs = [
'全部',
'待分配',
'工单池',
'已接单',
'处理中',
'待确认',
'待支付',
'已完成',
'已评价',
'已取消'
];
late TabController _tabController;
EasyRefreshController _refreshController = EasyRefreshController();
int _page = 1;
@ -45,12 +56,12 @@ class _WorkOrderReceiverPageState extends State<WorkOrderReceiverPage>
return AkuScaffold(
title: '工单管理',
actions: [
IconButton(
onPressed: () {},
icon: Icon(
CupertinoIcons.plus_circle,
size: 40.w,
))
// IconButton(
// onPressed: () {},
// icon: Icon(
// CupertinoIcons.plus_circle,
// size: 40.w,
// ))
],
appBarBottom: PreferredSize(
preferredSize: Size.fromHeight(88.w),
@ -62,8 +73,11 @@ class _WorkOrderReceiverPageState extends State<WorkOrderReceiverPage>
),
body: TabBarView(
controller: _tabController,
children:
_tabs.mapIndexed((e, index) => WorkOrderReceiverWidget( index:index,)).toList()),
children: _tabs
.mapIndexed((e, index) => WorkOrderReceiverWidget(
index: index,
))
.toList()),
);
}
@ -98,17 +112,19 @@ class _WorkOrderReceiverPageState extends State<WorkOrderReceiverPage>
_refreshController.finishLoad();
}
},
child:_models==[]?SizedBox(): ListView.separated(
padding: EdgeInsets.all(24.w),
itemBuilder: (context, index) {
return DistributorCard(
model: _models[index],
refresh: _refreshController.callRefresh,
);
},
separatorBuilder: (context, index) {
return 24.w.heightBox;
},
itemCount: _models.length));
child: _models == []
? SizedBox()
: ListView.separated(
padding: EdgeInsets.all(24.w),
itemBuilder: (context, index) {
return DistributorCard(
model: _models[index],
refresh: _refreshController.callRefresh,
);
},
separatorBuilder: (context, index) {
return 24.w.heightBox;
},
itemCount: _models.length));
}
}

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

@ -11,32 +11,23 @@ class WorkOrderProgressModel extends Equatable {
final int status;
final String content;
///1.2.3.4.5.
final int userType;
final int createId;
final String createName;
final String createDate;
factory WorkOrderProgressModel.fromJson(Map<String, dynamic> 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
List<Object?> get props => [
id,
status,
content,
userType,
createId,
createName,
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,
status: json['status'] as int,
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,
);

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

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

@ -1,12 +1,13 @@
// Flutter imports:
// Project imports:
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/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/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:flutter/material.dart';
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
@ -66,7 +67,7 @@ class _PersonalDrawState extends State<PersonalDraw> {
onTap: () {
userProvider.isLogin
? Get.to(() => UserInfoPage())
: Get.to(() => LoginPage());
: Get.to(() => OtherLoginPage());
},
child: Container(
margin: EdgeInsets.only(bottom: 80.w, top: 40.w),
@ -75,7 +76,11 @@ class _PersonalDrawState extends State<PersonalDraw> {
children: [
SizedBox(width: 32.w),
//
AkuAvatar(),
BeeAvatarWidget(
width: 96.w,
height: 96.w,
imgs: UserTool.userProvider.userInfoModel!.imgList,
),
SizedBox(width: 24.w),
Column(
crossAxisAlignment: CrossAxisAlignment.start,
@ -121,7 +126,7 @@ class _PersonalDrawState extends State<PersonalDraw> {
onPressed: () {
userProvider.isLogin
? Get.to(() => UserInfoPage())
: Get.to(() => LoginPage());
: Get.to(() => OtherLoginPage());
},
),
// _myListTile(R.ASSETS_USER_IC_KEFU_PNG, '联系客服'),

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

@ -1,19 +1,15 @@
// Flutter 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/style/app_style.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/ui/agreements/about_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/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_scaffold.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/material.dart';
import 'package:get/get.dart';
@ -50,27 +46,27 @@ class _SettingsPageState extends State<SettingsPage> {
// },
// ),
// ),
Divider(height: 1.w),
AkuTile(
title: Text('关于我们'),
arrow: true,
onTap: () {
Get.to(() => AboutPage());
},
),
Divider(height: 1.w),
AkuTile(
title: Text('意见反馈'),
arrow: true,
onTap: () => Get.to(() => SettingFeedBackPage()),
),
Divider(height: 1.w),
AkuTile(
title: Text('清理缓存'),
arrow: true,
onTap: () => BotToast.showText(text: '缓存清理完成'),
),
Divider(height: 1.w),
// Divider(height: 1.w),
// AkuTile(
// title: Text('关于我们'),
// arrow: true,
// onTap: () {
// Get.to(() => AboutPage());
// },
// ),
// Divider(height: 1.w),
// AkuTile(
// title: Text('意见反馈'),
// arrow: true,
// onTap: () => Get.to(() => SettingFeedBackPage()),
// ),
// Divider(height: 1.w),
// AkuTile(
// title: Text('清理缓存'),
// arrow: true,
// onTap: () => BotToast.showText(text: '缓存清理完成'),
// ),
// Divider(height: 1.w),
AkuTile(
title: Text('隐私政策'),
arrow: true,
@ -91,7 +87,7 @@ class _SettingsPageState extends State<SettingsPage> {
color: AppStyle.primaryColor,
onPressed: () {
userProvider.logout();
Get.offAll(() => HomePage());
Get.offAll(() => OtherLoginPage());
},
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/router_extension_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/tel_change_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_scaffold.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';
// Package imports:
import 'package:common_utils/common_utils.dart';
// Flutter imports:
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
@ -42,7 +40,11 @@ class _UserInfoPageState extends State<UserInfoPage> {
},
title: Text('头像'),
height: 168.w,
suffix: AkuAvatar(),
suffix: BeeAvatarWidget(
width: 96.w,
height: 96.w,
imgs: UserTool.userProvider.userInfoModel!.imgList,
),
),
AkuTile(
onTap: () async {
@ -52,14 +54,14 @@ class _UserInfoPageState extends State<UserInfoPage> {
title: Text('昵称'),
suffix: Text(userProvider.userInfoModel!.nickName!),
),
AkuTile(
onTap: () async {
await TelChangePage().to();
setState(() {});
},
title: Text('手机'),
suffix: Text(TextUtil.hideNumber(userProvider.userInfoModel!.tel)),
),
// AkuTile(
// onTap: () async {
// await TelChangePage().to();
// setState(() {});
// },
// title: Text('手机'),
// suffix: Text(TextUtil.hideNumber(userProvider.userInfoModel!.tel)),
// ),
].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/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/ui/login/login_page.dart';
// Package imports:
import 'package:bot_toast/bot_toast.dart';
import 'package:dio/dio.dart';
@ -171,12 +170,12 @@ class NetUtil {
_parseRequestError(BaseModel model, {bool showMessage = 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 == '登录失效,请重新登录')) {
userProvider.logout();
Get.offAll(() => OtherLoginPage());
if (userProvider.isLogin) {
BotToast.showText(text: model.msg);
}
}
}
}

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

Loading…
Cancel
Save