Commit c4da864047e22fd241064ec08248448d05a64175

Authored by wdn127929
1 parent 2777354c

取消手机绑定,第一次建店跳转小程序

... ... @@ -31,8 +31,8 @@ class _EnterStoreAddressPageState extends State<EnterStoreAddressPage> {
Widget build(BuildContext context) {
CreateStoreModel createStoreModel =
Provider.of<CreateStoreModel>(context, listen: false);
_controller.text = createStoreModel.storeInfo.addressDetail;
if (createStoreModel.storeInfo.address != null) {
_controller.text = createStoreModel.storeInfo?.addressDetail;
if (createStoreModel.storeInfo?.address != null) {
storeAddress = createStoreModel.storeInfo.address;
}
... ... @@ -72,10 +72,10 @@ class _EnterStoreAddressPageState extends State<EnterStoreAddressPage> {
if (address != null) {
setState(() {
storeAddress = address['address'];
createStoreModel.storeInfo.address =
createStoreModel.storeInfo?.address =
storeAddress;
createStoreModel.storeInfo.lat = address['lat'];
createStoreModel.storeInfo.lng = address['lng'];
createStoreModel.storeInfo?.lat = address['lat'];
createStoreModel.storeInfo?.lng = address['lng'];
});
}
}, Permission.location);
... ...
... ... @@ -3,6 +3,7 @@ import 'package:flutter_screenutil/screenutil.dart';
import 'package:one_key/provider/create_store_model.dart';
import 'package:one_key/res/colors.dart';
import 'package:one_key/route/navigator_util.dart';
import 'package:one_key/utils/event_bus.dart';
import 'package:one_key/widgets/round_button.dart';
import 'package:one_key/widgets/system_app_bar.dart';
import 'package:one_key/widgets/v_empty_view.dart';
... ... @@ -28,88 +29,94 @@ class _EnterStoreNamePageState extends State<EnterStoreNamePage> {
Widget build(BuildContext context) {
CreateStoreModel createStoreModel =
Provider.of<CreateStoreModel>(context, listen: false);
_controller.text = createStoreModel.storeInfo.name;
_controller.text = createStoreModel.storeInfo?.name;
return Scaffold(
backgroundColor: Colors.white,
appBar: SystemAppBar(
'',
onTap: () {
EventBus().emit('refresh_store_list');
Navigator.pop(context);
},
),
body: InkWell(
onTap: () {
FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘
body: WillPopScope(
onWillPop: () {
EventBus().emit('refresh_store_list');
Navigator.of(context).pop();
},
child: Container(
padding: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(70),
vertical: ScreenUtil().setWidth(60)),
child: SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text('您的店铺名称是?',
style: TextStyle(
child: InkWell(
onTap: () {
FocusScope.of(context).requestFocus(FocusNode()); //点击空白处隐藏键盘
},
child: Container(
padding: EdgeInsets.symmetric(
horizontal: ScreenUtil().setWidth(70),
vertical: ScreenUtil().setWidth(60)),
child: SingleChildScrollView(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text('您的店铺名称是?',
style: TextStyle(
color: MyColours.color_333333,
fontSize: ScreenUtil().setSp(40),
fontWeight: FontWeight.bold)),
VEmptyView(100),
TextField(
controller: _controller,
// textAlignVertical: TextAlignVertical.bottom,
maxLines: 1,
// //光标颜色
// cursorColor:
// widget.isSelect ? Colors.white : MyColours.color_199095,
//输入文本的样式
style: TextStyle(
color: MyColours.color_333333,
fontSize: ScreenUtil().setSp(40),
fontWeight: FontWeight.bold)),
VEmptyView(100),
TextField(
controller: _controller,
// textAlignVertical: TextAlignVertical.bottom,
maxLines: 1,
// //光标颜色
// cursorColor:
// widget.isSelect ? Colors.white : MyColours.color_199095,
//输入文本的样式
style: TextStyle(
color: MyColours.color_333333,
fontSize: ScreenUtil().setSp(28),
),
// focusNode: _codeNode,
decoration: InputDecoration(
contentPadding: EdgeInsets.symmetric(
vertical: ScreenUtil().setWidth(32),
horizontal: ScreenUtil().setWidth(40)),
border: OutlineInputBorder(),
hintText: '请输入店铺名称',
hintStyle: TextStyle(
color: MyColours.color_999999,
fontSize: ScreenUtil().setSp(28),
fontSize: ScreenUtil().setSp(28),
),
// focusNode: _codeNode,
decoration: InputDecoration(
contentPadding: EdgeInsets.symmetric(
vertical: ScreenUtil().setWidth(32),
horizontal: ScreenUtil().setWidth(40)),
border: OutlineInputBorder(),
hintText: '请输入店铺名称',
hintStyle: TextStyle(
color: MyColours.color_999999,
fontSize: ScreenUtil().setSp(28),
),
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(
color: MyColours.color_bff6f7,
width: ScreenUtil().setWidth(2))),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color: MyColours.color_bff6f7,
width: ScreenUtil().setWidth(2))),
),
onChanged: (value) {
createStoreModel.storeInfo.name = value;
},
onEditingComplete: () {
FocusScope.of(context)
.requestFocus(FocusNode()); //点击空白处隐藏键盘
},
keyboardType: TextInputType.text,
),
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(
color: MyColours.color_bff6f7,
width: ScreenUtil().setWidth(2))),
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(
color: MyColours.color_bff6f7,
width: ScreenUtil().setWidth(2))),
),
onChanged: (value) {
createStoreModel.storeInfo.name = value;
},
onEditingComplete: () {
FocusScope.of(context)
.requestFocus(FocusNode()); //点击空白处隐藏键盘
},
keyboardType: TextInputType.text,
),
VEmptyView(160),
RoundButton(
text: '下一步',
gradientStart: MyColours.color_199095,
gradientEnd: MyColours.color_199095,
// borderColor: MyColours.color_999999,
radius: ScreenUtil().setWidth(20),
fontSize: 28,
isBold: false,
onPressed: () {
NavigatorUtil.goEnterStoreAddressPage(context);
},
)
])))));
VEmptyView(160),
RoundButton(
text: '下一步',
gradientStart: MyColours.color_199095,
gradientEnd: MyColours.color_199095,
// borderColor: MyColours.color_999999,
radius: ScreenUtil().setWidth(20),
fontSize: 28,
isBold: false,
onPressed: () {
NavigatorUtil.goEnterStoreAddressPage(context);
},
)
]))))));
;
}
}
... ...
... ... @@ -34,27 +34,27 @@ class _EnterStorePhonePageState extends State<EnterStorePhonePage> {
Provider.of<CreateStoreModel>(context, listen: false);
// UploadImageProvider uploadImageProvider =
// Provider.of<UploadImageProvider>(context, listen: false);
if (createStoreModel.storeInfo.name == null ||
createStoreModel.storeInfo.name.trim().length == 0) {
if (createStoreModel.storeInfo?.name == null ||
createStoreModel.storeInfo?.name.trim().length == 0) {
Utils.showToast('请填写店铺名称!');
return;
}
if (createStoreModel.storeInfo.address == null ||
createStoreModel.storeInfo.address.trim().length == 0) {
if (createStoreModel.storeInfo?.address == null ||
createStoreModel.storeInfo?.address.trim().length == 0) {
Utils.showToast('请选择店铺地址!');
return;
}
if (createStoreModel.storeInfo.phone == null ||
createStoreModel.storeInfo.phone.trim().length == 0) {
if (createStoreModel.storeInfo?.phone == null ||
createStoreModel.storeInfo?.phone.trim().length == 0) {
Utils.showToast('请填写店铺接单电话!');
return;
}
Map<String, String> params = {
"name": createStoreModel.storeInfo.name,
"phone": createStoreModel.storeInfo.phone,
"map_address": createStoreModel.storeInfo.address,
"long": createStoreModel.storeInfo.lng.toString(),
"lat": createStoreModel.storeInfo.lat.toString(),
"name": createStoreModel.storeInfo?.name,
"phone": createStoreModel.storeInfo?.phone,
"map_address": createStoreModel.storeInfo?.address,
"long": createStoreModel.storeInfo?.lng.toString(),
"lat": createStoreModel.storeInfo?.lat.toString(),
};
// print(App.sp.getString("unionid"));
// if (uploadImageProvider.imageListFront.length > 0) {
... ... @@ -106,7 +106,7 @@ class _EnterStorePhonePageState extends State<EnterStorePhonePage> {
fontWeight: FontWeight.bold)),
VEmptyView(100),
Consumer<CreateStoreModel>(builder: (context, model, _) {
_controller.text = model.storeInfo.phone;
_controller.text = model.storeInfo?.phone;
return TextField(
// textAlignVertical: TextAlignVertical.bottom,
maxLines: 1,
... ... @@ -140,7 +140,7 @@ class _EnterStorePhonePageState extends State<EnterStorePhonePage> {
width: ScreenUtil().setWidth(2))),
),
onChanged: (value) {
model.storeInfo.phone = value;
model.storeInfo?.phone = value;
},
onEditingComplete: () {
FocusScope.of(context)
... ...
... ... @@ -28,7 +28,7 @@ class _EnterStorePositionPageState extends State<EnterStorePositionPage> {
Widget build(BuildContext context) {
CreateStoreModel createStoreModel =
Provider.of<CreateStoreModel>(context, listen: false);
_controller.text = createStoreModel.storeInfo.position;
_controller.text = createStoreModel.storeInfo?.position;
return Scaffold(
backgroundColor: Colors.white,
appBar: SystemAppBar(
... ... @@ -89,7 +89,7 @@ class _EnterStorePositionPageState extends State<EnterStorePositionPage> {
width: ScreenUtil().setWidth(2))),
),
onChanged: (value) {
createStoreModel.storeInfo.position = value;
createStoreModel.storeInfo?.position = value;
},
onEditingComplete: () {
FocusScope.of(context)
... ...
... ... @@ -16,6 +16,7 @@ import 'package:one_key/provider/other_login_provider.dart';
import 'package:one_key/provider/user_model.dart';
import 'package:one_key/res/colors.dart';
import 'package:one_key/route/navigator_util.dart';
import 'package:one_key/utils/event_bus.dart';
import 'package:one_key/utils/utils.dart';
import 'package:one_key/widgets/page_exception.dart';
import 'package:one_key/widgets/round_button.dart';
... ... @@ -43,12 +44,16 @@ class _IfNeedCreateStoreState extends State<IfNeedCreateStore>
WidgetsBinding.instance.addPostFrameCallback((_) {
_checkSellerAcc();
});
bus.on("refresh_store_list", (arg) {
_checkSellerAcc();
});
}
@override
void dispose() {
super.dispose();
WidgetsBinding.instance.removeObserver(this); //销毁观察者
EventBus().emit('refresh_store_list');
}
@override
... ... @@ -79,7 +84,8 @@ class _IfNeedCreateStoreState extends State<IfNeedCreateStore>
CreateStoreModel createStoreModel =
Provider.of<CreateStoreModel>(context, listen: false);
Map<String, String> params = {
"phone": createStoreModel.storeInfo.phone,
// "phone": createStoreModel.storeInfo.phone,
// "phone": '',
"unionid": App.sp.getString("unionid"),
};
await otherLoginProvider.checkSellerAcc(context, params,
... ... @@ -156,15 +162,15 @@ class _IfNeedCreateStoreState extends State<IfNeedCreateStore>
VEmptyView(172),
InkWell(
onTap: () {
if (!App.sp.containsKey('openid') ||
App.sp.get("openid") == null ||
App.sp.get("openid") == '') {
//跳转小程序
Utils.goMiniProgramCreatePage(context);
} else {
//跳转至新建店铺流程
NavigatorUtil.goEnterStoreNamePage(context);
}
// if (!App.sp.containsKey('openid') ||
// App.sp.get("openid") == null ||
// App.sp.get("openid") == '') {
//跳转小程序
Utils.goMiniProgramCreatePage(context);
// } else {
// //跳转至新建店铺流程
// NavigatorUtil.goEnterStoreNamePage(context);
// }
},
child: Container(
width: double.infinity,
... ... @@ -232,16 +238,16 @@ class _IfNeedCreateStoreState extends State<IfNeedCreateStore>
if (index == model.sellerList.length) {
return InkWell(
onTap: () {
if (!App.sp.containsKey('openid') ||
App.sp.get("openid") == null ||
App.sp.get("openid") == '') {
//跳转小程序
Utils.goMiniProgramCreatePage(context);
} else {
//跳转至新建店铺流程
NavigatorUtil.goEnterStoreNamePage(
context);
}
// if (!App.sp.containsKey('openid') ||
// App.sp.get("openid") == null ||
// App.sp.get("openid") == '') {
// //跳转小程序
// Utils.goMiniProgramCreatePage(context);
// } else {
//跳转至新建店铺流程
NavigatorUtil.goEnterStoreNamePage(
context);
// }
},
child: DottedBorder(
dashPattern: [5, 5, 5, 5],
... ...
... ... @@ -183,21 +183,22 @@ class LoginState extends State<LoginPage> with WidgetsBindingObserver {
//判断是否已经绑定手机号码 ******调用接口*******
//有,通过手机号吗或者opened查找店铺信息进行登陆
//没有,跳转至绑定手机号码页面
Map<String, String> params = {
"unionid": responseData["unionid"],
};
BuildContext contextTemp =
App.getIt<NavigateService>().key.currentState.overlay.context;
CheckbindPhoneSunModel model =
await otherLoginProvider.checkbindPhone(contextTemp, params);
// Loading.hideLoading(context);
if (model != null) {
createStoreModel.storeInfo = StoreInfo();
createStoreModel.storeInfo.phone = model.phone;
NavigatorUtil.goIfNeedCreateStorePage(context);
} else {
NavigatorUtil.goBindingPhonePage(context);
}
// Map<String, String> params = {
// "unionid": responseData["unionid"],
// };
// BuildContext contextTemp =
// App.getIt<NavigateService>().key.currentState.overlay.context;
// CheckbindPhoneSunModel model =
// await otherLoginProvider.checkbindPhone(contextTemp, params);
// // Loading.hideLoading(context);
// if (model != null) {
// createStoreModel.storeInfo = StoreInfo();
// createStoreModel.storeInfo.phone = model.phone;
createStoreModel.storeInfo = StoreInfo();
NavigatorUtil.goIfNeedCreateStorePage(context);
// } else {
// NavigatorUtil.goBindingPhonePage(context);
// }
// _getUserInfo(responseData["access_token"], responseData["openid"]);
}
... ...
... ... @@ -282,7 +282,7 @@ class Utils {
// UserModel model = Provider.of<UserModel>(context, listen: false);
launchWeChatMiniProgram(
username: "gh_1007de739c65",
path: "pages/login/l_info",
path: "pages/login/l_login",
miniProgramType: WXMiniProgramType.RELEASE);
}
... ...