2025-04-10 23:19:13 +08:00

139 lines
7.5 KiB
PHP
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/* @var $this yii\web\View */
use yii\helpers\Url;
global $_FM;
global $_HI;
$username = Yii::$app->user->identity->username;
$cert = fmFunc_cert_exist($username);
$_FM['apiCert'] = $cert ? $cert : array();
$errorCode = 0;
if($errorCode>0){
die (json_encode(array('errorcode'=>$errorCode,'msg'=>Yii::t('errorcode',$errorCode))));
}
//错误代码集合
$errorcodes = require(Yii::getAlias('@common').'/messages/zh-CN/errorcode.php');
foreach($errorcodes as $k=>$v){
$_k = substr($k,0,6);
if($_k !=='453004'){
unset($errorcodes[$k]);
}
}
$accessKeyId = isset($_FM['apiCert']['aliDySms']['accessKeyId']) ? $_FM['apiCert']['aliDySms']['accessKeyId'] : '';
$accessKeySecret = isset($_FM['apiCert']['aliDySms']['accessKeySecret']) ? $_FM['apiCert']['aliDySms']['accessKeySecret'] : '';
$sign = isset($_FM['apiCert']['aliDySms']['code']) ? $_FM['apiCert']['aliDySms']['code'] : '';
$postUrl = Url::to(['alimsg/send','appid'=>$username]);
if(isset($_GET['post']) && $_GET['post']==1){
$postUrl = Url::to(['alimsg/send','appid'=>$username,'post'=>1]);
}
?>
<div class='container' style='margin-top:50px;'>
<p><h3 style="text-align: center;">阿里大鱼短信【转发】接口演示</h3></p>
<form class="form-horizontal" action="<?php echo $postUrl;?>" method="post">
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">手机号</label>
<div class="col-sm-10">
<?php if(isset($_GET['post']) && $_GET['post']==1){?>
<input type="phone" name="phone" class="form-control" id="phone" required="required" value="" placeholder="请输入手机号"/>
<?php }else{?>
<textarea type="text" name="phone" class="form-control" id="phone" required="required" placeholder="请输入手机号,多个手机号时用英文(,)分开;"/></textarea>
<?php }?>
</div>
</div>
<div class="form-group">
<label for="accessKeyId" class="col-sm-2 control-label">accessKeyId</label>
<div class="col-sm-10">
<input type="text" name="accessKeyId" class="form-control" id="accessKeyId" required="required" value="<?php echo $accessKeyId;?>" placeholder="输入在阿里云短信获取的accessKeyId"/>
</div>
</div>
<div class="form-group">
<label for="accessKeySecret" class="col-sm-2 control-label">accessKeySecret</label>
<div class="col-sm-10">
<input type="text" name="accessKeySecret" class="form-control" id="accessKeySecret" required="required" value="<?php echo $accessKeySecret;?>" placeholder="输入在阿里云短信获取的accessKeySecret"/>
</div>
</div>
<div class="form-group">
<label for="sign" class="col-sm-2 control-label">短信签名</label>
<div class="col-sm-10">
<input type="text" name="sign" class="form-control" id="sign" required="required" value="<?php echo $sign;?>" placeholder="填写所申请的短信签名"/>
</div>
</div>
<div class="form-group">
<label for="tmpl" class="col-sm-2 control-label">短信模板</label>
<div class="col-sm-10">
<input type="text" name="tmpl" class="form-control" id="tmpl" required="required" placeholder="填写所申请的短信模板"/>
</div>
</div>
<div class="form-group">
<label for="inputEmail3" class="col-sm-2 control-label">短信内容</label>
<div class="col-sm-10">
<textarea type="text" name="content" class="form-control" id="content" required="required" placeholder="输入要发送的内容;格式:短信变量码[code],对应的替换内容;(变量及替换值之前用逗号分隔开,每行一组)"/>code1,替换值1<?php echo "\r\n";?>code2,替换值2</textarea>
<span class="help-block">阿里大鱼”登陆确认验证码“模板(SMS_116695054)的变量为'code'。这里建议您使用该模板,上述文本框中输入 <code>code,1234</code> 即可</span>
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-success">发送</button>
<button type="reset" class="btn btn-danger">重新填写</button>
<a class="btn btn-default" href="<?php echo Url::to(['alimsg/index','post'=>1])?>" target="_self">以POST接口形式测试</a>
<a class="btn btn-default" href="<?php echo Url::toRoute('alimsg/index')?>" target="_self">仅本地演示</a>
</div>
</div>
</form>
<hr>
<h1 style="text-align: center;">接口使用简易说明</h1>
<span class="form-control">注本处主要说明本API的基础规则及一些常用的接口使用方法更多细节可参考我们的实际使用案例我们基于<a href="http://s.we7.cc/index.php?c=home&a=author&do=index&uid=662" target="_blank">微擎</a>开发的嗨旅行应用、小程序管理模块等。)</span>
<p>
<ol>
<li>
<kbd>单发方式</kbd>:支持向一个手机号发送短信,通常用于发送验证码等情景;或向一组手机发送相同短信,通常用于发送通知等情景<br>
<code>准备数据:</code>手机号数组形式、短信内容数组形式键为短信模板中的code键值为要code对应的替换内容、阿里大鱼短信账号对应的accessKeyId与accessKeySecret及短信签名sign、所使用的短信模板tmpl、阿里大鱼接口的额外配置项如果有、接口连接TOKEN登陆本接口系统后返回的accesstoken<br>
<code>接口地址:</code> <?php echo Url::to(['alimsg/post'],true);?>
<pre>数据示范————
array('phone'=>array('18608981880'),
'content'=>array('code'=>'123456'),
'config'=>array(
'accessKeyId'=>'XXXXXXXXXXXXXXX',
'accessKeySecret'=>'XXXXXXXXXXX',
'sign'=>'Hiluker'
),
'option'=>array(),
'tmpl'=>'SMS_123456789',
'accesstoken'=>'XXXXXXXXXXXXXXX',
);
</pre>
<code>数据返回:</code> JSON字符串解码后得到结果数组。根据结果数组中的errorcode来表示短信发送是否成功。转接接口有一定的延时因此我们会做短信发送记录并根据情况进行记录。<br>
<pre>
$return['errorcode']结果状态码正常情况下为0
$return['msg']:返回的消息(接口报错时会使用到,消息中会将阿里大鱼接口的返回提示一并显示)
$return['data']用户侧应获得的数据实际上即是接口请求时POST的数据
$return['timeused']:接口耗时
$return['total']:接口调用统计总记录数
$return['bytes']:本次返回数据的字节长度统计
$return['sms_left']:剩余可用短信条数
</pre>
<br>
</li>
<li>
<kbd>群发方式</kbd>:暂不开放<br>
</li>
<li>
<kbd>错误代码</kbd>(客户侧可直接将接口站返回的结果打印出来查看,以下仅列出服务侧程序正确运行情况下返回的错误及提示;其他情况可直接打印结果进行查看)<br>
<textarea class="form-control"><?php foreach($errorcodes as $k=>$v){
echo '"'.$k.'" : '.$v."\r\n";
}
?>
</textarea>
<br>
</li>
</ol>
</p>
</div>