You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
551 lines
19 KiB
551 lines
19 KiB
import 'package:dio/dio.dart'; |
|
import 'package:flutter/cupertino.dart'; |
|
import 'package:flutter/material.dart'; |
|
import 'package:flutter_easyloading/flutter_easyloading.dart'; |
|
import 'package:huixiang/generated/l10n.dart'; |
|
import 'package:huixiang/utils/font_weight.dart'; |
|
import 'package:huixiang/view_widget/login_tips_dialog.dart'; |
|
import 'package:shared_preferences/shared_preferences.dart'; |
|
import 'package:flutter_screenutil/flutter_screenutil.dart'; |
|
import 'package:url_launcher/url_launcher.dart'; |
|
|
|
import '../../retrofit/business_api.dart'; |
|
import '../../retrofit/data/base_data.dart'; |
|
import '../../retrofit/data/business_login_info.dart'; |
|
import '../../retrofit/data/examine_instance.dart'; |
|
import '../../utils/business_instance.dart'; |
|
|
|
class MineItem extends StatefulWidget { |
|
@override |
|
State<StatefulWidget> createState() { |
|
return _MineItem(); |
|
} |
|
} |
|
|
|
class _MineItem extends State<MineItem> { |
|
var isShowMore = false; |
|
|
|
login(account, password) async { |
|
SharedPreferences sharedPreferences = await SharedPreferences.getInstance(); |
|
var param = { |
|
"grantType": "password", |
|
"account": account, |
|
"password": password, |
|
}; |
|
EasyLoading.show( |
|
status: S.of(context).zhengzaijiazai, |
|
maskType: EasyLoadingMaskType.black); |
|
|
|
BusinessApiService businessService = |
|
BusinessApiService(Dio(), context: context); |
|
BaseData baseData = |
|
await businessService.annoToken(param).catchError((error) { |
|
print(error.message); |
|
}); |
|
if (baseData != null && baseData.isSuccess) { |
|
var businessLoginInfo = BusinessLoginInfo.fromJson(baseData.data); |
|
if(businessLoginInfo.storeList.length > 1) { |
|
businessLoginInfo.storeList.insert(0, StoreList(name: "所有门店")); |
|
} |
|
BusinessInstance.instance.businessTenant = businessLoginInfo.tenantCode; |
|
BusinessInstance.instance.businessToken = businessLoginInfo.token; |
|
BusinessInstance.instance.expirationTime = businessLoginInfo?.expirationTime ?? ""; |
|
BusinessInstance.instance.serviceStatus = businessLoginInfo?.status?.desc ?? ""; |
|
sharedPreferences.setString('identitySwitch', "1"); |
|
if (businessLoginInfo.storeList.length > 1) { |
|
Navigator.of(context) |
|
.pushReplacementNamed('/router/select_shop', arguments: { |
|
"businessLoginInfo": businessLoginInfo, |
|
}); |
|
} else { |
|
Navigator.of(context) |
|
.pushReplacementNamed('/router/business_page', arguments: { |
|
"businessLoginInfo": businessLoginInfo, |
|
}); |
|
} |
|
} else { |
|
Navigator.of(context).pushNamed('/router/business_login_page'); |
|
} |
|
EasyLoading.dismiss(); |
|
} |
|
|
|
@override |
|
Widget build(BuildContext context) { |
|
return Container( |
|
margin: EdgeInsets.fromLTRB(16.w, 0.h, 16.w, 30.h), |
|
decoration: BoxDecoration( |
|
color: Colors.white, |
|
borderRadius: BorderRadius.circular(8), |
|
boxShadow: [ |
|
BoxShadow( |
|
color: Color(0x08213303).withAlpha(12), |
|
offset: Offset(0, 2), |
|
blurRadius: 4, |
|
spreadRadius: 0, |
|
), |
|
], |
|
), |
|
child: Column( |
|
crossAxisAlignment: CrossAxisAlignment.start, |
|
children: [ |
|
Container( |
|
padding: EdgeInsets.only(left: 16, top: 16, bottom: 13, right: 16), |
|
child: Text( |
|
S.of(context).qita, |
|
style: TextStyle( |
|
color: Color(0xFF353535), |
|
fontWeight: MyFontWeight.semi_bold, |
|
fontSize: 15.sp, |
|
), |
|
), |
|
), |
|
Row( |
|
children: [ |
|
// ///我的动态 |
|
// Expanded(child: |
|
// InkWell( |
|
// onTap: () { |
|
// SharedPreferences.getInstance().then((value) { |
|
// if (value.getString("token") == null || |
|
// value.getString("token") == "") { |
|
// LoginTipsDialog().show(context); |
|
// return; |
|
// } |
|
// Navigator.of(context) |
|
// .pushNamed('/router/releasePage', |
|
// arguments: {}); |
|
// }); |
|
// }, |
|
// child: mineItem( |
|
// S.of(context).wodedongtai, |
|
// "assets/image/dynamic.webp", |
|
// ), |
|
// ), |
|
// ), |
|
// ///兑换历史 |
|
// Expanded(child: InkWell( |
|
// onTap: () { |
|
// SharedPreferences.getInstance().then((value) { |
|
// if (value.getString("token") == null || |
|
// value.getString("token") == "") { |
|
// LoginTipsDialog().show(context); |
|
// return; |
|
// } |
|
// Navigator.of(context) |
|
// .pushNamed('/router/exchange_history_page'); |
|
// }); |
|
// }, |
|
// child: mineItem( |
|
// S.of(context).duihuanlishi, |
|
// "assets/image/icon_mine_records_of_consumption.webp", |
|
// ), |
|
// ),), |
|
// ///我的卡券 |
|
// Expanded(child: InkWell( |
|
// onTap: () { |
|
// SharedPreferences.getInstance().then((value) { |
|
// if (value.getString("token") == null || |
|
// value.getString("token") == "") { |
|
// LoginTipsDialog().show(context); |
|
// return; |
|
// } |
|
// Navigator.of(context).pushNamed('/router/mine_card'); |
|
// }); |
|
// }, |
|
// child: mineItem( |
|
// S.of(context).wodekaquan, |
|
// "assets/image/icon_mine_card.webp", |
|
// ), |
|
// ),), |
|
// ///管理地址 |
|
// Expanded(child: InkWell( |
|
// onTap: () { |
|
// SharedPreferences.getInstance().then((value) { |
|
// if (value.getString("token") == null || |
|
// value.getString("token") == "") { |
|
// LoginTipsDialog().show(context); |
|
// return; |
|
// } |
|
// Navigator.of(context).pushNamed('/router/manage_address_page'); |
|
// }); |
|
// }, |
|
// child: mineItem( |
|
// S.of(context).guanlidizhi, |
|
// "assets/image/icon_location_address.webp", |
|
// ), |
|
// ),), |
|
// /// |
|
// Expanded(child: InkWell( |
|
// onTap: () { |
|
// showCallMobile(); |
|
// }, |
|
// child: mineItem( |
|
// "联系客服", |
|
// "assets/image/icon_mine_online_service.webp", |
|
// ), |
|
// ),), |
|
///优惠券 |
|
Expanded( |
|
child: InkWell( |
|
onTap: () { |
|
SharedPreferences.getInstance().then((value) { |
|
if (value.getString("token") == null || |
|
value.getString("token") == "") { |
|
LoginTipsDialog().show(context); |
|
return; |
|
} |
|
Navigator.of(context).pushNamed('/router/coupon_page'); |
|
}); |
|
}, |
|
child: mineItem( |
|
S.of(context).youhuiquan, |
|
"assets/image/coupon.webp", |
|
), |
|
), |
|
), |
|
|
|
///平台余额 |
|
Expanded( |
|
child: InkWell( |
|
onTap: () { |
|
SharedPreferences.getInstance().then((value) { |
|
if (value.getString("token") == null || |
|
value.getString("token") == "") { |
|
LoginTipsDialog().show(context); |
|
return; |
|
} |
|
Navigator.of(context).pushNamed('/router/mine_wallet'); |
|
}); |
|
}, |
|
child: mineItem( |
|
S.of(context).huixiangqianbao, |
|
"assets/image/platform_yue.webp", |
|
), |
|
), |
|
), |
|
|
|
///店铺余额 |
|
Expanded( |
|
child: InkWell( |
|
onTap: () { |
|
SharedPreferences.getInstance().then((value) { |
|
if (value.getString("token") == null || |
|
value.getString("token") == "") { |
|
LoginTipsDialog().show(context); |
|
return; |
|
} |
|
Navigator.of(context).pushNamed('/router/mine_shop_page'); |
|
}); |
|
}, |
|
child: mineItem( |
|
S.of(context).dianpuchongzhi, |
|
"assets/image/shop_yue.webp", |
|
), |
|
), |
|
), |
|
|
|
///兑换历史 |
|
Expanded( |
|
child: InkWell( |
|
onTap: () { |
|
SharedPreferences.getInstance().then((value) { |
|
if (value.getString("token") == null || |
|
value.getString("token") == "") { |
|
LoginTipsDialog().show(context); |
|
return; |
|
} |
|
Navigator.of(context) |
|
.pushNamed('/router/exchange_history_page'); |
|
}); |
|
}, |
|
child: mineItem( |
|
S.of(context).duihuanlishi, |
|
"assets/image/icon_mine_records_of_consumption.webp", |
|
), |
|
), |
|
), |
|
////我的评价 |
|
// Expanded(child: InkWell( |
|
// onTap: () { |
|
// SharedPreferences.getInstance().then((value) { |
|
// if (value.getString("token") == null || |
|
// value.getString("token") == "") { |
|
// LoginTipsDialog().show(context); |
|
// return; |
|
// } |
|
// Navigator.of(context).pushNamed('/router/mine_shop_page'); |
|
// }); |
|
// }, |
|
// child: mineItem( |
|
// "我的评价", |
|
// "assets/image/mine_evaluation.webp", |
|
// ), |
|
// ),), |
|
], |
|
), |
|
SizedBox( |
|
height: 12.h, |
|
), |
|
// if(isShowMore) |
|
Row( |
|
children: [ |
|
///我的砍价 |
|
// Expanded(child: |
|
// InkWell( |
|
// onTap: () { |
|
// Navigator.of(context) |
|
// .pushNamed('/router/bargain_group_order', |
|
// arguments: {"type":3}); |
|
// }, |
|
// child: mineItem( |
|
// S.of(context).wodekanjia, |
|
// "assets/image/bargain.webp", |
|
// ), |
|
// ),), |
|
// ///我的拼团 |
|
// Expanded(child: InkWell( |
|
// onTap: () { |
|
// Navigator.of(context).pushNamed('/router/bargain_group_order', |
|
// arguments: {"type":1}); |
|
// }, |
|
// child: mineItem( |
|
// S.of(context).wodepintuan, |
|
// "assets/image/collage.webp", |
|
// ), |
|
// ),), |
|
///商户入驻 |
|
// Expanded(child: InkWell( |
|
// onTap: () { |
|
// SmartDialog.showToast("该功能暂未开放!", |
|
// alignment: Alignment.center); |
|
// }, |
|
// child: mineItem( |
|
// S.of(context).shanghuruzhu, |
|
// "assets/image/settled.webp", |
|
// ), |
|
// ),), |
|
///帮助反馈 |
|
Expanded( |
|
child: InkWell( |
|
onTap: () { |
|
Navigator.of(context) |
|
.pushNamed('/router/help_feedback_page'); |
|
}, |
|
child: mineItem( |
|
S.of(context).bangzhuyufankui, |
|
"assets/image/fan_kui.webp", |
|
), |
|
), |
|
), |
|
|
|
///联系客服 |
|
Expanded( |
|
child: InkWell( |
|
onTap: () { |
|
showCallMobile(); |
|
}, |
|
child: mineItem( |
|
S.of(context).lianxikefu, |
|
"assets/image/icon_mine_online_service.webp", |
|
), |
|
), |
|
), |
|
|
|
///商家管理 |
|
Expanded( |
|
child: ExamineInstance.instance.isExamine ? Container():InkWell( |
|
onTap: () { |
|
SharedPreferences.getInstance().then((value) { |
|
if (value.getString("account") == "" || |
|
value.getString("password") == "") { |
|
Navigator.of(context).pushNamed('/router/business_login_page'); |
|
} else { |
|
login(value.getString("account"), |
|
value.getString("password")); |
|
} |
|
}); |
|
}, |
|
child: mineItem( |
|
"商家管理", |
|
"assets/image/business.webp", |
|
), |
|
), |
|
), |
|
Expanded( |
|
child: Container(), |
|
), |
|
// ///帮助反馈 |
|
// Expanded(child: InkWell( |
|
// onTap: () { |
|
// Navigator.of(context).pushNamed('/router/help_feedback_page'); |
|
// }, |
|
// child: mineItem( |
|
// S.of(context).bangzhuyufankui, |
|
// "assets/image/fan_kui.webp", |
|
// ), |
|
// ),), |
|
// Expanded(child: InkWell( |
|
// onTap: () { |
|
// Navigator.of(context).pushNamed('/router/qr_share', arguments: {}); |
|
// }, |
|
// child: mineItem( |
|
// S.of(context).tuiguangma, |
|
// "assets/image/pin_tuan.webp", |
|
// ), |
|
// ),), |
|
// Expanded(child:InkWell( |
|
// onTap: () { |
|
// Navigator.of(context).pushNamed('/router/invitation_record', arguments: {}); |
|
// }, |
|
// child: mineItem( |
|
// "邀请记录", |
|
// "assets/image/yao_q.webp", |
|
// ), |
|
// ),), |
|
], |
|
), |
|
// if(isShowMore) |
|
SizedBox( |
|
height: 12.h, |
|
), |
|
// if(isShowMore) |
|
Row( |
|
children: [ |
|
////发票管理 |
|
// Expanded(child: InkWell( |
|
// onTap: () { |
|
// Navigator.of(context).pushNamed('/router/bargain_group_order', |
|
// arguments: {"type":1}); |
|
// }, |
|
// child: mineItem( |
|
// "发票管理", |
|
// "assets/image/bill_gl.webp", |
|
// ), |
|
// ),), |
|
// ///联系客服 |
|
// Expanded(child: InkWell( |
|
// onTap: () { |
|
// showCallMobile(); |
|
// }, |
|
// child: mineItem( |
|
// "联系客服", |
|
// "assets/image/icon_mine_online_service.webp", |
|
// ), |
|
// ),), |
|
Expanded( |
|
child: Container(), |
|
), |
|
Expanded( |
|
child: Container(), |
|
), |
|
Expanded( |
|
child: Container(), |
|
), |
|
], |
|
), |
|
|
|
///收起展开 |
|
// GestureDetector( |
|
// behavior: HitTestBehavior.opaque, |
|
// onTap: () { |
|
// setState(() { |
|
// isShowMore = !isShowMore; |
|
// }); |
|
// }, |
|
// child: Container( |
|
// margin: EdgeInsets.symmetric(vertical: 10), |
|
// child: Row( |
|
// mainAxisAlignment: MainAxisAlignment.center, |
|
// crossAxisAlignment: CrossAxisAlignment.center, |
|
// mainAxisSize: MainAxisSize.max, |
|
// children: [ |
|
// Text( |
|
// (isShowMore != null && !isShowMore)?S.of(context).zhankai: S.of(context).shouqi, |
|
// style: TextStyle( |
|
// fontSize: 12.sp, |
|
// fontWeight: MyFontWeight.regular, |
|
// color: Color(0xFF32A060), |
|
// ), |
|
// ), |
|
// Icon( |
|
// (isShowMore != null && !isShowMore) |
|
// ? Icons.keyboard_arrow_down |
|
// : Icons.keyboard_arrow_up, |
|
// color: Color(0xFF32A060), |
|
// size: 18, |
|
// ), |
|
// ], |
|
// ),), |
|
// ) |
|
], |
|
), |
|
); |
|
} |
|
|
|
///我的页面下面条目 |
|
Widget mineItem(text, icon) { |
|
return Container( |
|
color: Colors.white, |
|
margin: EdgeInsets.symmetric(vertical: 6.h), |
|
child: Column( |
|
mainAxisAlignment: MainAxisAlignment.center, |
|
crossAxisAlignment: CrossAxisAlignment.center, |
|
children: [ |
|
Image.asset( |
|
icon, |
|
width: 32.w, |
|
height: 32.w, |
|
), |
|
SizedBox( |
|
height: 2.h, |
|
), |
|
Text( |
|
text, |
|
style: TextStyle( |
|
fontWeight: MyFontWeight.medium, |
|
fontSize: 12.sp, |
|
color: Color(0xFF353535), |
|
), |
|
), |
|
], |
|
), |
|
); |
|
} |
|
|
|
showCallMobile() { |
|
showCupertinoModalPopup( |
|
context: context, |
|
builder: (context) { |
|
return CupertinoActionSheet( |
|
title: Text(S.of(context).bodadianhua), |
|
actions: [ |
|
CupertinoActionSheetAction( |
|
child: Text("19947603193"), |
|
onPressed: () { |
|
callMobile("19947603193"); |
|
Navigator.of(context).pop(); |
|
}, |
|
isDefaultAction: true, |
|
isDestructiveAction: false, |
|
), |
|
], |
|
cancelButton: CupertinoActionSheetAction( |
|
onPressed: () { |
|
Navigator.of(context).pop(); |
|
}, |
|
child: Text(S.of(context).quxiao), |
|
isDestructiveAction: true, |
|
), |
|
); |
|
}); |
|
} |
|
|
|
callMobile(mobile) async { |
|
String url = "tel:$mobile"; |
|
if (await canLaunch(url)) { |
|
await launch(url); |
|
} else { |
|
throw 'Could not launch $url'; |
|
} |
|
} |
|
}
|
|
|