request->getRawJson(); if (empty($params)) { parent::sendOutput('参数为空', ErrorCode::$paramError); } $data = [ 'mobile' => trim($params['mobile']), 'source' => (int)$params['source'],//标识 1:后台注册 2:后台忘记密码 3:小程序注册 ]; foreach ($data as $key => $value) { if (empty($value) && $value !== 0) { parent::sendOutput($key . '参数错误', ErrorCode::$paramError); } } //获取当前地址栏域名替换短信签名发送 $objMOem = new MOem(); // pc页面根据domain获取配置 if( in_array($data['source'],[1,2]) ){ $data['domain'] = trim(getArrayItem($params, 'domain', '')); if( empty($data['domain']) ){ parent::sendOutput( 'domain参数错误', ErrorCode::$paramError); } $result = $objMOem->getOemInfoByDomain($data['domain']); if(!$result->isSuccess()){ parent::sendOutput($result->getData(), $result->getErrorCode()); } $configData = $result -> getData(); } else { // 小程序通过token获取配置 self::getEnterpriseIdByToken(); $result = $objMOem->getOemInfoByenterpriseId($this->onlineEnterpriseId); if(!$result->isSuccess()){ parent::sendOutput($result->getData(), $result->getErrorCode()); } $configData = $result -> getData(); } //验证手机号格式 $this->checkMobile($data['mobile']); //查询手机号是否存在 $MUserCenterRegister = new MUserCenterRegister(); switch ($data['source']) { case 1: //后台注册 $resultMobileIs = $MUserCenterRegister->mobileIsRegister($data['mobile']); if($resultMobileIs) { parent::sendOutput('手机号已注册'); } break; case 2: //后台忘记密码 $resultMobileIs = $MUserCenterRegister->mobileIsRegister($data['mobile']); if(!$resultMobileIs) { parent::sendOutput('手机号未注册',ErrorCode::$contentNotExists); } break; case 3: //前台注册,后台创建客户 parent::getEnterpriseIdByToken(); $resultMobileIs = $MUserCenterRegister->mobileIsRegister($data['mobile'], $this->onlineEnterpriseId); if($resultMobileIs) { parent::sendOutput('手机号已注册'); } break; case 4: //前台忘记密码 parent::getEnterpriseIdByToken(); $resultMobileIs = $MUserCenterRegister->mobileIsRegister($data['mobile'], $this->onlineEnterpriseId); if(!$resultMobileIs) { parent::sendOutput('手机号未注册'); } break; case 5: //小程序绑定 parent::getEnterpriseIdByToken(); break; case 6: //短信登录 break; default: break; } //验证当天发送验证码次数是否超过上限 $SmsVerification = new SmsVerification(); $SmsCount = $SmsVerification->getRegisterSmsCount($data['mobile']); if($SmsCount >= 5){ parent::sendOutput('当天发送验证码次数已达上限', ErrorCode::$configEroor); } //生成短信验证码 $mobileCode = generate_code(6); #调用第三方短信平台 /*$tencentCloudConfigData = Factory::config()->get('tencentCloud'); if(empty($tencentCloudConfigData)){ $this->sendOutput('腾讯云配置错误',ErrorCode::$configEroor); } $smsCodeKey = Factory::config()->get('sms'); if(empty($smsCodeKey) || !isset($smsCodeKey['registerCodeKey']) || !isset($smsCodeKey['SmsSdkAppid']) || !isset($smsCodeKey['Sign'])){ $this->sendOutput('短信模板获取失败', ErrorCode::$configEroor); }*/ if(empty($configData)){ parent::sendOutput('查询配置信息失败', ErrorCode::$contentNotExists); } $tencentCloudConfigData = json_decode($configData['tencentCloud'], true); if(empty($tencentCloudConfigData)){ parent::sendOutput('腾讯云配置项为空', ErrorCode::$contentNotExists); } $smsCodeKey = json_decode($configData['sms'], true); if(empty($smsCodeKey)){ parent::sendOutput('短信配置项为空', ErrorCode::$contentNotExists); } $objSms = new Sms($tencentCloudConfigData['secretId'], $tencentCloudConfigData['secretKey'], $smsCodeKey['SmsSdkAppid'], $smsCodeKey['Sign']); $result = $objSms->SendSms($smsCodeKey['registerCodeKey'], ["+86".$data['mobile']], ["$mobileCode","5"]); if (!$result->isSuccess()) { parent::sendOutput($result->getData(), $result->getErrorCode()); } //调用redis保存发送验证码记录 $result = $SmsVerification->userMobileCodeCache($data['mobile'], $mobileCode); if($result->isSuccess()){ parent::sendOutput('发送短信成功'); }else{ parent::sendOutput('', $result->getData()); } } public function test() { $tencentCloudConfigData = Factory::config()->get('tencentCloud'); if(empty($tencentCloudConfigData)){ $this->sendOutput('腾讯云配置错误',ErrorCode::$configEroor); } $objSms = new Sms($tencentCloudConfigData['secretId'], $tencentCloudConfigData['secretKey']); $smsCodeKey = Factory::config()->get('sms'); if(empty($smsCodeKey) || !isset($smsCodeKey['registerCodeKey'])){ $this->sendOutput('短信模板获取失败', ErrorCode::$configEroor); } $result = $objSms->SendSms($smsCodeKey['registerCodeKey'], ["+8617600105150"], ["123456","5"]); if ($result->isSuccess()) { parent::sendOutput($result->getData()); } else { parent::sendOutput($result->getData(), $result->getErrorCode()); } } }