درود
من برای احراز هویت پیامکی در livewire نیاز بود از یک متد sendCode که تو مدل ایجادش کردم استفاده کنم و درست کار میکنه . تنها مسئله اینه که وقتی این متد رو استفاده میکنم تغییر وضعیت در فرانت انجام نمیشه .
ینی بعد ارسال اطلاعات به متدی که داخل کلاس livewire ساختم عملیات بک اند درست انجام میشه اما فرانت باید تغییر کنه اتفاقی نمیفته .
طی تست های مختلفی که انجام دادم متوجه شدم دلیلش وجود استفاده از متد sendCode ٬ که کار میکنه و sms ارسال میشه ٬ اما بعد موفقیت آمیز بودن دستورات دیگ که باید فرانت رو تغییر بده درست کار نمیکنه. ممنون میشم راهنمایی کنید
متد در کلاس livewire
public function login()
{
$valid = $this->validate([
'mobile' => ['required' , 'max:20' , Rule::exists('users')],
]);
if ($valid){
$this->verifyStatus(); // change front login to verify
}
.
.
.
if ($token->sendCode()) {
session()->put("code", $token->id);
session()->put("user_id", $user->id);
session()->put("remember", $rememberMe);
session()->flash('success', 'کد تایید به شماره موبایل شما پیامک شد.');
}
}
متد موجود در مدل token
public function sendCode()
{
if (! $this->user) {
throw new \Exception("هیچ کاربری به این نشانه متصل نشده است.");
}
if (! $this->code) {
$this->code = $this->generateCode();
}
try{
$token = $this->code;
$receptor = $this->user->mobile;
$template = '...';
$api = new \Kavenegar\KavenegarApi("...");
$result = $api->VerifyLookup($receptor,$token,'','',$template);
if($result){
foreach($result as $r){
echo "messageid = $r->messageid";
echo "message = $r->message";
echo "status = $r->status";
echo "statustext = $r->statustext";
echo "sender = $r->sender";
echo "receptor = $r->receptor";
echo "date = $r->date";
echo "cost = $r->cost";
}
}
}
catch(\Kavenegar\Exceptions\ApiException $e){
// در صورتی که خروجی وب سرویس 200 نباشد این خطا رخ می دهد
echo $e->errorMessage();
}
catch(\Kavenegar\Exceptions\HttpException $e){
// در زمانی که مشکلی در برقرای ارتباط با وب سرویس وجود داشته باشد این خطا رخ می دهد
echo $e->errorMessage();
}
return true;
}
وقتی از متد $token->sendCode() استفاده میکنم $this->verifyStatus(); کار نمیکنه
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟