hyzp_ybqx-Commit001:代码刚转换好,编译通过

This commit is contained in:
WinUser01
2021-12-09 20:24:36 +08:00
commit 8c74b14e5c
800 changed files with 66912 additions and 0 deletions
+144
View File
@@ -0,0 +1,144 @@
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import '../../widget/JdText.dart';
import '../../widget/JdButton.dart';
import 'package:city_pickers/city_pickers.dart';
import '../../services/UserServices.dart';
import '../../services/SignServices.dart';
import '../../config/Config.dart';
import 'package:dio/dio.dart';
import '../../services/EventBus.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
class AddressAddPage extends StatefulWidget {
AddressAddPage({Key key}) : super(key: key);
_AddressAddPageState createState() => _AddressAddPageState();
}
class _AddressAddPageState extends State<AddressAddPage> {
String area='';
String name='';
String phone='';
String address='';
//监听页面销毁的事件
dispose(){
super.dispose();
eventBus.fire(new AddressEvent('增加成功...'));
eventBus.fire(new CheckOutEvent('改收货地址成功...'));
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("增加收货地址"),
),
body: Container(
padding: EdgeInsets.all(10),
child: ListView(
children: <Widget>[
SizedBox(height: 20),
JdText(
text: "收货人姓名",
onChanged: (value){
this.name=value;
},
),
SizedBox(height: 10),
JdText(
text: "收货人电话",
onChanged: (value){
this.phone=value;
},
),
SizedBox(height: 10),
Container(
padding: EdgeInsets.only(left: 5),
height: ScreenUtil().setHeight(68),
decoration: BoxDecoration(
border: Border(
bottom: BorderSide(width: 1, color: Colors.black12))),
child: InkWell(
child: Row(
children: <Widget>[
Icon(Icons.add_location),
this.area.length>0?Text('${this.area}', style: TextStyle(color: Colors.black54)):Text('省/市/区', style: TextStyle(color: Colors.black54))
],
),
onTap: () async{
Result result = await CityPickers.showCityPicker(
context: context,
cancelWidget:
Text("取消", style: TextStyle(color: Colors.blue)),
confirmWidget:
Text("确定", style: TextStyle(color: Colors.blue))
);
print(result);
setState(() {
this.area= "${result.provinceName}/${result.cityName}/${result.areaName}";
});
},
),
),
SizedBox(height: 10),
JdText(
text: "详细地址",
maxLines: 4,
height: 200,
onChanged: (value){
this.address="${this.area} ${value}";
},
),
SizedBox(height: 10),
SizedBox(height: 40),
JdButton(text: "增加", color: Colors.red,onTop: () async{
List userinfo=await UserServices.getUserInfo();
print(userinfo);
// print('1234');
var tempJson={
"uid":userinfo[0]["_id"],
"name":this.name,
"phone":this.phone,
"address":this.address,
"salt":userinfo[0]["salt"]
};
var sign=SignServices.getSign(tempJson);
// print(sign);
var api = '${Config.domain}api/addAddress';
var result = await Dio().post(api,data:{
"uid":userinfo[0]["_id"],
"name":this.name,
"phone":this.phone,
"address":this.address,
"sign":sign
});
// if(result.data["success"]){
// }
Navigator.pop(context);
})
],
),
));
}
}
+155
View File
@@ -0,0 +1,155 @@
import 'package:flutter/material.dart';
import '../../widget/JdText.dart';
import '../../widget/JdButton.dart';
import 'package:city_pickers/city_pickers.dart';
import '../../services/UserServices.dart';
import '../../services/SignServices.dart';
import '../../config/Config.dart';
import 'package:dio/dio.dart';
import '../../services/EventBus.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
class AddressEditPage extends StatefulWidget {
Map arguments;
AddressEditPage({Key key,this.arguments}) : super(key: key);
_AddressEditPageState createState() => _AddressEditPageState();
}
class _AddressEditPageState extends State<AddressEditPage> {
String area='';
TextEditingController nameController=new TextEditingController();
TextEditingController phoneController=new TextEditingController();
TextEditingController addressController=new TextEditingController();
@override
void initState() {
// TODO: implement initState
super.initState();
// print(widget.arguments);
nameController.text=widget.arguments['name'];
phoneController.text=widget.arguments['phone'];
addressController.text=widget.arguments['address'];
}
//监听页面销毁的事件
dispose(){
super.dispose();
eventBus.fire(new AddressEvent('增加成功...'));
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("修改收货地址"),
),
body: Container(
padding: EdgeInsets.all(10),
child: ListView(
children: <Widget>[
SizedBox(height: 20),
JdText(
controller: nameController,
text: "收货人姓名",
onChanged: (value){
nameController.text=value;
},
),
SizedBox(height: 10),
JdText(
controller: phoneController,
text: "收货人电话",
onChanged: (value){
phoneController.text=value;
},
),
SizedBox(height: 10),
Container(
padding: EdgeInsets.only(left: 5),
height: ScreenUtil().setHeight(68),
decoration: BoxDecoration(
border: Border(
bottom: BorderSide(width: 1, color: Colors.black12))),
child: InkWell(
child: Row(
children: <Widget>[
Icon(Icons.add_location),
this.area.length>0?Text('${this.area}', style: TextStyle(color: Colors.black54)):Text('省/市/区', style: TextStyle(color: Colors.black54))
],
),
onTap: () async{
Result result = await CityPickers.showCityPicker(
context: context,
locationCode: "130102",
cancelWidget:
Text("取消", style: TextStyle(color: Colors.blue)),
confirmWidget:
Text("确定", style: TextStyle(color: Colors.blue))
);
// print(result);
setState(() {
this.area= "${result.provinceName}/${result.cityName}/${result.areaName}";
});
},
),
),
SizedBox(height: 10),
JdText(
controller: addressController,
text: "详细地址",
maxLines: 4,
height: 200,
onChanged: (value){
addressController.text=value;
},
),
SizedBox(height: 10),
SizedBox(height: 40),
JdButton(text: "修改", color: Colors.red,onTop: () async{
List userinfo=await UserServices.getUserInfo();
var tempJson={
"uid":userinfo[0]["_id"],
"id":widget.arguments["id"],
"name": nameController.text,
"phone":phoneController.text,
"address":addressController.text,
"salt":userinfo[0]["salt"]
};
var sign=SignServices.getSign(tempJson);
// print(sign);
var api = '${Config.domain}api/editAddress';
var response = await Dio().post(api,data:{
"uid":userinfo[0]["_id"],
"id":widget.arguments["id"],
"name": nameController.text,
"phone":phoneController.text,
"address":addressController.text,
"sign":sign
});
print(response);
Navigator.pop(context);
})
],
),
)
);
}
}
+256
View File
@@ -0,0 +1,256 @@
import 'package:flutter/material.dart';
import '../../services/UserServices.dart';
import '../../services/SignServices.dart';
import '../../config/Config.dart';
import 'package:dio/dio.dart';
import '../../services/EventBus.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
class AddressListPage extends StatefulWidget {
AddressListPage({Key key}) : super(key: key);
_AddressListPageState createState() => _AddressListPageState();
}
class _AddressListPageState extends State<AddressListPage> {
List addressList = [];
@override
void initState() {
super.initState();
this._getAddressList();
//监听增加收货地址的广播
eventBus.on<AddressEvent>().listen((event) {
// print(event.str);
this._getAddressList();
});
}
//监听页面销毁的事件
dispose(){
super.dispose();
eventBus.fire(new CheckOutEvent('改收货地址成功...'));
}
//获取收货地址列表
_getAddressList() async {
//请求接口
List userinfo = await UserServices.getUserInfo();
var tempJson = {"uid": userinfo[0]['_id'], "salt": userinfo[0]["salt"]};
var sign = SignServices.getSign(tempJson);
var api =
'${Config.domain}api/addressList?uid=${userinfo[0]['_id']}&sign=${sign}';
var response = await Dio().get(api);
// print(response.data["result"]);
setState(() {
this.addressList = response.data["result"];
});
}
//修改默认收货地址
_changeDefaultAddress(id) async{
List userinfo = await UserServices.getUserInfo();
var tempJson = {"uid": userinfo[0]['_id'], "id":id,"salt": userinfo[0]["salt"]};
var sign = SignServices.getSign(tempJson);
var api =
'${Config.domain}api/changeDefaultAddress';
var response = await Dio().post(api,data:{
"uid": userinfo[0]['_id'],
"id":id,
"sign":sign
});
Navigator.pop(context);
}
//删除收货地址
_delAddress(id) async{
List userinfo=await UserServices.getUserInfo();
var tempJson={
"uid":userinfo[0]["_id"],
"id":id,
"salt":userinfo[0]["salt"]
};
var sign=SignServices.getSign(tempJson);
var api = '${Config.domain}api/deleteAddress';
var response = await Dio().post(api,data:{
"uid":userinfo[0]["_id"],
"id":id,
"sign":sign
});
this._getAddressList(); //删除收货地址完成后重新获取列表
}
//弹出框
_showDelAlertDialog(id) async{
var result= await showDialog(
barrierDismissible:false, //表示点击灰色背景的时候是否消失弹出框
context:context,
builder: (context){
return AlertDialog(
title: Text("提示信息!"),
content:Text("您确定要删除吗?") ,
actions: <Widget>[
FlatButton(
child: Text("取消"),
onPressed: (){
Navigator.pop(context);
},
),
FlatButton(
child: Text("确定"),
onPressed: () async{
//执行删除操作
this._delAddress(id);
Navigator.pop(context);
},
)
],
);
}
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("收货地址列表"),
),
body: Container(
child: Stack(
children: <Widget>[
ListView.builder(
itemCount: this.addressList.length,
itemBuilder: (context, index) {
if (this.addressList[index]["default_address"] == 1) {
return Column(
children: <Widget>[
SizedBox(height: 20),
ListTile(
leading: Icon(Icons.check, color: Colors.red),
title: InkWell(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
"${this.addressList[index]["name"]} ${this.addressList[index]["phone"]}"),
SizedBox(height: 10),
Text("${this.addressList[index]["address"]}"),
]),
onTap: (){
this._changeDefaultAddress(this.addressList[index]["_id"]);
},
onLongPress: (){
this._showDelAlertDialog(this.addressList[index]["_id"]);
},
),
trailing: IconButton(
icon:Icon(Icons.edit, color: Colors.blue),
onPressed: (){
Navigator.pushNamed(context, '/addressEdit',arguments: {
"id":this.addressList[index]["_id"],
"name":this.addressList[index]["name"],
"phone":this.addressList[index]["phone"],
"address":this.addressList[index]["address"],
});
},
),
),
Divider(height: 20),
],
);
} else {
return Column(
children: <Widget>[
SizedBox(height: 20),
ListTile(
title:InkWell(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Text(
"${this.addressList[index]["name"]} ${this.addressList[index]["phone"]}"),
SizedBox(height: 10),
Text("${this.addressList[index]["address"]}"),
]),
onTap: (){
this._changeDefaultAddress(this.addressList[index]["_id"]);
},
onLongPress: (){
this._showDelAlertDialog(this.addressList[index]["_id"]);
},
),
trailing: IconButton(
icon:Icon(Icons.edit, color: Colors.blue),
onPressed: (){
Navigator.pushNamed(context, '/addressEdit',arguments: {
"id":this.addressList[index]["_id"],
"name":this.addressList[index]["name"],
"phone":this.addressList[index]["phone"],
"address":this.addressList[index]["address"],
});
},
),
),
Divider(height: 20),
],
);
}
},
),
Positioned(
bottom: 0,
width: ScreenUtil().setWidth(750),
height: ScreenUtil().setHeight(88),
child: Container(
padding: EdgeInsets.all(5),
width: ScreenUtil().setWidth(750),
height: ScreenUtil().setHeight(88),
decoration: BoxDecoration(
color: Colors.red,
border: Border(
top: BorderSide(width: 1, color: Colors.black26))),
child: InkWell(
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Icon(Icons.add, color: Colors.white),
Text("增加收货地址", style: TextStyle(color: Colors.white))
],
),
onTap: () {
Navigator.pushNamed(context, '/addressAdd');
},
),
),
)
],
),
));
}
}