access_key_id, $this->access_secret) ->regionId('cn-hangzhou') ->asGlobalClient(); try { $result = AlibabaCloud::rpcRequest() ->product('Dysmsapi') // ->scheme('https') // https | http ->version('2017-05-25') ->action('SendSms') ->method('POST') ->options([ 'query' => [ 'RegionId' => 'cn-hangzhou', 'SignName' => $this->signname, 'PhoneNumbers' => $mobile, 'TemplateCode' => $this->tpl_code, 'TemplateParam' => json_encode($params), ], ]) ->request(); $res = $result->toArray(); if(isset($res['Code']) && $res['Code'] == 'OK'){ return [ 'code' => 0, 'msg' => isset($res['Message']) ? $res['Message'] : 'OK', ]; } else { return [ 'code' => 1, 'msg' => isset($res['Message']) ? $res['Message'] : 'FAILED', ]; } } catch (ClientException $e) { return [ 'code' => 1, 'msg' => $e->getErrorMessage(), ]; } catch (ServerException $e) { return [ 'code' => 1, 'msg' => $e->getErrorMessage(), ]; } } /** * @TODO 短信批量发送 */ public function batchSender($mobiles, $signname,$params, $mobile_prefix) { AlibabaCloud::accessKeyClient($this->access_key_id, $this->access_secret) ->regionId('cn-hangzhou') ->asGlobalClient(); try { $result = AlibabaCloud::rpcRequest() ->product('Dysmsapi') // ->scheme('https') // https | http ->version('2017-05-25') ->action('SendBatchSms') ->method('POST') ->options([ 'query' => [ 'RegionId' => 'cn-hangzhou', 'SignNameJson' => json_encode($signname,JSON_UNESCAPED_UNICODE), 'PhoneNumberJson' => json_encode($mobiles,JSON_UNESCAPED_UNICODE), 'TemplateCode' => $this->tpl_code, 'TemplateParamJson' => json_encode($params), ], ]) ->request(); $res = $result->toArray(); if(isset($res['Code']) && $res['Code'] == 'OK'){ return [ 'code' => 0, 'msg' => isset($res['Message']) ? $res['Message'] : 'OK', ]; } else { return [ 'code' => 1, 'msg' => isset($res['Message']) ? $res['Message'] : 'FAILED', ]; } } catch (ClientException $e) { return [ 'code' => 1, 'msg' => $e->getErrorMessage(), ]; } catch (ServerException $e) { return [ 'code' => 1, 'msg' => $e->getErrorMessage(), ]; } } }