@@ -1088,18 +1088,23 @@ public function register(\Illuminate\Http\Request $form)
10881088 if ($ registerType === 'personal ' ) {
10891089 // 个人注册验证规则
10901090 $ rules = [
1091- 'phone ' => 'required|string|regex:/^1[3-9]\d{9}$/|unique:member ,phone ' ,
1092- 'verify_code ' => 'required|string ' ,
1091+ 'phone ' => 'required|string|regex:/^1[3-9]\d{9}$/|unique:member_user ,phone ' ,
1092+ 'phoneVerify ' => 'required|string ' ,
10931093 'password ' => 'required|string|min:6 ' ,
1094+ 'passwordRepeat ' => 'required|string|same:password ' ,
10941095 'sports ' => 'sometimes|array ' ,
1096+ 'captcha ' => 'required|string ' ,
10951097 ];
10961098 $ messages = [
10971099 'phone.required ' => '请输入手机号 ' ,
10981100 'phone.regex ' => '请输入正确的手机号格式 ' ,
10991101 'phone.unique ' => '该手机号已被注册 ' ,
1100- 'verify_code .required ' => '请输入验证码 ' ,
1102+ 'phoneVerify .required ' => '请输入手机验证码 ' ,
11011103 'password.required ' => '请输入密码 ' ,
11021104 'password.min ' => '密码长度至少为6位 ' ,
1105+ 'passwordRepeat.required ' => '请重复输入密码 ' ,
1106+ 'passwordRepeat.same ' => '两次输入的密码不一致 ' ,
1107+ 'captcha.required ' => '请输入图片验证码 ' ,
11031108 ];
11041109 } elseif ($ registerType === 'expert ' ) {
11051110 // 专家注册验证规则
@@ -1136,17 +1141,15 @@ public function register(\Illuminate\Http\Request $form)
11361141 'captcha.required ' => '请输入图片验证码 ' ,
11371142 ];
11381143
1139- // Add phone/email verification if enabled in config
1140- if (modstart_config ('registerPhoneEnable ' )) {
1141- $ rules ['phone ' ] = 'required|string|regex:/^1[3-9]\d{9}$/|unique:member,phone ' ;
1142- $ rules ['phoneVerify ' ] = 'required|string ' ;
1143- $ messages ['phone.required ' ] = '请输入手机号 ' ;
1144- $ messages ['phone.regex ' ] = '请输入正确的手机号格式 ' ;
1145- $ messages ['phone.unique ' ] = '该手机号已被注册 ' ;
1146- $ messages ['phoneVerify.required ' ] = '请输入手机验证码 ' ;
1147- }
1144+ // 大神入驻必须验证手机号
1145+ $ rules ['phone ' ] = 'required|string|regex:/^1[3-9]\d{9}$/|unique:member_user,phone ' ;
1146+ $ rules ['phoneVerify ' ] = 'required|string ' ;
1147+ $ messages ['phone.required ' ] = '请输入手机号 ' ;
1148+ $ messages ['phone.regex ' ] = '请输入正确的手机号格式 ' ;
1149+ $ messages ['phone.unique ' ] = '该手机号已被注册 ' ;
1150+ $ messages ['phoneVerify.required ' ] = '请输入手机验证码 ' ;
11481151 if (modstart_config ('registerEmailEnable ' )) {
1149- $ rules ['email ' ] = 'required|string|email|unique:member ,email ' ;
1152+ $ rules ['email ' ] = 'required|string|email|unique:member_user ,email ' ;
11501153 $ rules ['emailVerify ' ] = 'required|string ' ;
11511154 $ messages ['email.required ' ] = '请输入邮箱 ' ;
11521155 $ messages ['email.email ' ] = '请输入正确的邮箱格式 ' ;
@@ -1171,6 +1174,7 @@ public function register(\Illuminate\Http\Request $form)
11711174 'contactPosition ' => 'required|string ' ,
11721175 'telephone ' => 'required|string ' ,
11731176 'phone ' => 'required|string|regex:/^1[3-9]\d{9}$/|unique:member_user,phone ' ,
1177+ 'phoneVerify ' => 'required|string ' ,
11741178 'zipCode ' => 'required|string ' ,
11751179 'address ' => 'required|string ' ,
11761180 'email ' => 'required|string|email|unique:member_user,email ' ,
@@ -1195,6 +1199,7 @@ public function register(\Illuminate\Http\Request $form)
11951199 'phone.required ' => '请输入手机号 ' ,
11961200 'phone.regex ' => '请输入正确的手机号格式 ' ,
11971201 'phone.unique ' => '该手机号已被注册 ' ,
1202+ 'phoneVerify.required ' => '请输入手机验证码 ' ,
11981203 'zipCode.required ' => '请输入邮政编码 ' ,
11991204 'address.required ' => '请输入通讯地址 ' ,
12001205 'email.required ' => '请输入邮箱 ' ,
@@ -1216,6 +1221,42 @@ public function register(\Illuminate\Http\Request $form)
12161221 ]);
12171222 }
12181223
1224+ // 验证手机验证码(个人注册、大神入驻和企业注册)
1225+ if (in_array ($ registerType , ['personal ' , 'expert ' , 'enterprise ' ])) {
1226+ $ phone = $ form ->get ('phone ' );
1227+ $ phoneVerify = $ form ->get ('phoneVerify ' );
1228+
1229+ if (empty ($ phoneVerify )) {
1230+ return response ()->json ([
1231+ 'code ' => -1 ,
1232+ 'msg ' => '请输入手机验证码 ' ,
1233+ ]);
1234+ }
1235+
1236+ $ phoneVerifyCheck = Session::get ('registerPhoneVerify ' );
1237+ if ($ phoneVerify != $ phoneVerifyCheck ) {
1238+ Log::info ('Member.Register.PhoneVerifyError - ' . $ phoneVerify . ' - ' . $ phoneVerifyCheck );
1239+ return response ()->json ([
1240+ 'code ' => -1 ,
1241+ 'msg ' => '手机验证码不正确 ' ,
1242+ ]);
1243+ }
1244+
1245+ if (Session::get ('registerPhoneVerifyTime ' ) + 60 * 60 < time ()) {
1246+ return response ()->json ([
1247+ 'code ' => -1 ,
1248+ 'msg ' => '手机验证码已过期 ' ,
1249+ ]);
1250+ }
1251+
1252+ if ($ phone != Session::get ('registerPhone ' )) {
1253+ return response ()->json ([
1254+ 'code ' => -1 ,
1255+ 'msg ' => '两次手机不一致 ' ,
1256+ ]);
1257+ }
1258+ }
1259+
12191260 // 创建用户
12201261 $ member = \Module \Member \Model \MemberUser::create ([
12211262 'username ' => $ form ->get ('username ' , $ form ->get ('contactName ' )),
@@ -1296,6 +1337,13 @@ public function register(\Illuminate\Http\Request $form)
12961337 }
12971338 }
12981339
1340+ // 清除验证码Session
1341+ if (in_array ($ registerType , ['personal ' , 'expert ' , 'enterprise ' ])) {
1342+ Session::forget ('registerPhoneVerify ' );
1343+ Session::forget ('registerPhoneVerifyTime ' );
1344+ Session::forget ('registerPhone ' );
1345+ }
1346+
12991347 // 登录用户
13001348 \Module \Blog \Member \Auth \MemberUser::login ($ member );
13011349
@@ -1364,22 +1412,22 @@ public function registerPhoneVerify()
13641412 if (modstart_config ('registerDisable ' , false )) {
13651413 return Response::generate (-1 , '禁止注册 ' );
13661414 }
1367- if (!modstart_config ('registerPhoneEnable ' )) {
1368- return Response::generate (-1 , '注册未开启手机 ' );
1369- }
1415+ // if (!modstart_config('registerPhoneEnable')) {
1416+ // return Response::generate(-1, '注册未开启手机');
1417+ // }
13701418 $ input = InputPackage::buildFromInput ();
13711419
13721420 $ phone = $ input ->getPhone ('target ' );
13731421 if (empty ($ phone )) {
13741422 return Response::generate (-1 , '手机不能为空 ' );
13751423 }
13761424
1377- if (!Session::get ('registerCaptchaPass ' , false )) {
1378- return Response::generate (-1 , '请先进行安全验证 ' );
1379- }
1380- if (!SessionUtil::atomicConsume ('registerCaptchaPassCount ' )) {
1381- return Response::generate (-1 , '请进行安全验证 ' );
1382- }
1425+ // if (!Session::get('registerCaptchaPass', false)) {
1426+ // return Response::generate(-1, '请先进行安全验证');
1427+ // }
1428+ // if (!SessionUtil::atomicConsume('registerCaptchaPassCount')) {
1429+ // return Response::generate(-1, '请进行安全验证');
1430+ // }
13831431
13841432 $ memberUser = MemberUtil::getByPhone ($ phone );
13851433 if (!empty ($ memberUser )) {
@@ -1525,9 +1573,9 @@ public function oauthBindEmailVerify()
15251573 */
15261574 public function oauthBindPhoneVerify ()
15271575 {
1528- if (!modstart_config ('Member_OauthBindPhoneEnable ' )) {
1529- return Response::generate (-1 , '注册未开启手机 ' );
1530- }
1576+ // if (!modstart_config('Member_OauthBindPhoneEnable')) {
1577+ // return Response::generate(-1, '注册未开启手机');
1578+ // }
15311579 $ input = InputPackage::buildFromInput ();
15321580
15331581 $ phone = $ input ->getPhone ('target ' );
0 commit comments