今天测试云之讯api 云之讯官网提供源码只需要修改就好
我的是放入tp5路径如下:前端代码脑补 只有一个input和按钮
直接上代码
index.php
<?php
namespace app\admin\controller;
use think\Db;
use think\Loader;
use think\Controller;
use app\admin\controller\PhoneSend;class Index extends Controller
{public function index(){return $this->fetch();}public function set(){// var_dump($_POST);$obj = new PhoneSend();$obj->text();}
}
PhoneSend.php
<?php
namespace app\admin\controller;
use app\admin\controller\Ucpass;
class PhoneSend{public function text(){//初始化必填//填写在开发者控制台首页上的Account Sid$options['accountsid']='0ac771342e5d4a88985e72777b940287';//填写在开发者控制台首页上的Auth Token$options['token']='e1cea586fcfb361167de2264d8693f56';//初始化 $options必填 /*随机生成6位验证码 复杂方式*/srand((double)microtime()*1000000);//create a random number feed.$authnum;$ychar="0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z";$list=explode(",",$ychar);for($i=0;$i<6;$i++){$randnum=rand(0,35); // 10+26;$authnum[$i]=$list[$randnum]; }$authnum = implode('', $authnum);// 简单的验证 6位纯数字// $authnum = rand(100000,999999);$ucpass = new \app\admin\controller\Ucpaas($options);$appid = "88d1b0f941f942c9a45fc354653af2ae"; //填写自己的$mobile = $_POST['mobile'];$templateid = "313343";$param=$authnum;$uid=''; $arr=$ucpass->SendSms($appid,$templateid,$param,$mobile,$uid);/*if (substr($arr,21,6) == 000000) {//如果成功就,这里只是测试样式,可根据自己的需求进行调节echo "短信验证码已发送成功,请注意查收短信";}else{//如果不成功echo "短信验证码发送失败,请联系客服";}*/}
}
Ucpass.php
<?php
namespace app\admin\controller;
class Ucpaas
{//API请求地址const BaseUrl = "https://open.ucpaas.com/ol/sms/";//开发者账号ID。由32个英文字母和阿拉伯数字组成的开发者账号唯一标识符。private $accountSid;//开发者账号TOKENprivate $token;public function __construct($options){if (is_array($options) && !empty($options)) {$this->accountSid = isset($options['accountsid']) ? $options['accountsid'] : '';$this->token = isset($options['token']) ? $options['token'] : '';} else {throw new Exception("非法参数");}}private function getResult($url, $body = null, $method){$data = $this->connection($url,$body,$method);if (isset($data) && !empty($data)) {$result = $data;} else {$result = '没有返回数据';}return $result;}/*** @param $url 请求链接* @param $body post数据* @param $method post或get* @return mixed|string*/private function connection($url, $body,$method){if (function_exists("curl_init")) {$header = array('Accept:application/json','Content-Type:application/json;charset=utf-8',);$ch = curl_init($url);curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);curl_setopt($ch, CURLOPT_HTTPHEADER, $header);if($method == 'post'){curl_setopt($ch,CURLOPT_POST,1);curl_setopt($ch,CURLOPT_POSTFIELDS,$body);}curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);$result = curl_exec($ch);curl_close($ch);} else {$opts = array();$opts['http'] = array();$headers = array("method" => strtoupper($method),);$headers[]= 'Accept:application/json';$headers['header'] = array();$headers['header'][]= 'Content-Type:application/json;charset=utf-8';if(!empty($body)) {$headers['header'][]= 'Content-Length:'.strlen($body);$headers['content']= $body;}$opts['http'] = $headers;$result = file_get_contents($url, false, stream_context_create($opts));}return $result;}/**单条发送短信的function,适用于注册/找回密码/认证/操作提醒等单个用户单条短信的发送场景* @param $appid 应用ID* @param $mobile 接收短信的手机号码* @param $templateid 短信模板,可在后台短信产品→选择接入的应用→短信模板-模板ID,查看该模板ID* @param null $param 变量参数,多个参数使用英文逗号隔开(如:param=“a,b,c”)* @param $uid 用于贵司标识短信的参数,按需选填。* @return mixed|string * @throws Exception*/public function SendSms($appid,$templateid,$param=null,$mobile,$uid){$url = self::BaseUrl . 'sendsms';$body_json = array('sid'=>$this->accountSid,'token'=>$this->token,'appid'=>$appid,'templateid'=>$templateid,'param'=>$param,'mobile'=>$mobile,'uid'=>$uid,);$body = json_encode($body_json);$data = $this->getResult($url, $body,'post');return $data;}/**群发送短信的function,适用于运营/告警/批量通知等多用户的发送场景* @param $appid 应用ID* @param $mobileList 接收短信的手机号码,多个号码将用英文逗号隔开,如“18088888888,15055555555,13100000000”* @param $templateid 短信模板,可在后台短信产品→选择接入的应用→短信模板-模板ID,查看该模板ID* @param null $param 变量参数,多个参数使用英文逗号隔开(如:param=“a,b,c”)* @param $uid 用于贵司标识短信的参数,按需选填。* @return mixed|string * @throws Exception*/public function SendSms_Batch($appid,$templateid,$param=null,$mobileList,$uid){$url = self::BaseUrl . 'sendsms_batch';$body_json = array('sid'=>$this->accountSid,'token'=>$this->token,'appid'=>$appid,'templateid'=>$templateid,'param'=>$param,'mobile'=>$mobileList,'uid'=>$uid,);$body = json_encode($body_json);$data = $this->getResult($url, $body,'post');return $data;}
}