92 lines
3.5 KiB
PHP
92 lines
3.5 KiB
PHP
<?php
|
||
/**
|
||
* 来自:信呼开发团队
|
||
* 作者:磐石(rainrock)
|
||
* 网址:http://www.rockoa.com/
|
||
* 云片网短信服务
|
||
* 此文件放到:include/chajian/yunpsmsChajian.php 下
|
||
* 开发帮助地址:http://www.rockoa.com/view_yunpsms.html
|
||
*/
|
||
class yunpsmsChajian extends Chajian{
|
||
|
||
private $sendurl = 'https://sms.yunpian.com/v2/sms/batch_send.json';
|
||
|
||
private $yunpian_key = '你的短信apikey'; //这里填写你的云片网的apikey
|
||
|
||
/**
|
||
* 短信模版写这里的
|
||
*/
|
||
protected function initChajian()
|
||
{
|
||
|
||
$mobian['defyzm'] = '欢迎使用,您的短信验证码为:#code#,为保障系统安全,请勿将验证码和办公系统网址提供给他人,祝您工作愉快。';
|
||
$mobian['defsucc'] = '您提交单据(#modename#,单号:#sericnum#)已全部处理完成,可登录系统查看详情。';
|
||
$mobian['default'] = '您有单据(#modename#,单号:#sericnum#)需要处理,请登录系统及时去处理。';
|
||
$mobian['birthday'] = '尊敬的#name#,今天是#dt#,农历#dtnong#,是您的生日,我们在这里祝您生日快乐。';
|
||
$mobian['defnum'] = '您有#applyname#的(#modename#)单据需要您处理,详情:#url#';
|
||
$mobian['defurls'] = '您有单据(#modename#,单号:#sericnum#)需要处理,请及时去处理,详情:#url#。';
|
||
$mobian['gongsms'] = '您收到一条“#title#”的通知,详情:#url#';
|
||
$mobian['meetapply'] = '#optname#发起会议“#title#”在#hyname#,时间#startdt#至#enddt#';
|
||
$mobian['meetcancel'] = '#optname#取消会议“#title#”,时间#startdt#至#enddt#,请悉知。';
|
||
$mobian['meettodo'] = '会议“#title#”将在#fenz#分钟后的#time#开始请做好准备,在会议室“#hyname#”';
|
||
|
||
//上面加你的模版
|
||
|
||
|
||
$this->mobianarr = $mobian;
|
||
}
|
||
|
||
/**
|
||
* 批量发送短信
|
||
* $mobiles 接收人手机号多个,分开
|
||
* $qianm 签名
|
||
* $tplid 模版编号,在上面initChajian()数组中查找
|
||
* $cans 模版中的参数数组
|
||
* 例子:c('mysms')->send('15800000000,15800000001','信呼', 'default', array('modename'=>'模块名','sericnum'=>'单号')); 这例子是不需要自己调用,只要短信设置下切换为“我的短信服务”就可以了
|
||
*/
|
||
public function send($mobiles, $qianm, $tplid, $cans=array())
|
||
{
|
||
//要发送短信的内容
|
||
$text = arrvalue($this->mobianarr, $tplid);
|
||
if(isempt($text))return returnerror('模版'.$tplid.'不存在');
|
||
foreach($cans as $k=>$v)$text = str_replace('#'.$k.'#', $v, $text);
|
||
if(isempt($qianm))return returnerror('没有设置短信签名');
|
||
if(isempt($this->yunpian_key))return returnerror('没有设置云片网的apikey');
|
||
|
||
|
||
$text = '【'.$qianm.'】'.$text.''; //发的短信
|
||
|
||
$arr['apikey'] = $this->yunpian_key;
|
||
$arr['mobile'] = $mobiles;
|
||
$arr['text'] = $text;
|
||
$result = c('curl')->postcurl($this->sendurl, $arr);
|
||
|
||
if(isempt($result))return returnerror('发送失败');
|
||
|
||
$barr = json_decode($result, true);
|
||
$data = arrvalue($barr,'data');
|
||
$total_count = 0; //总发送条数
|
||
$sendbo = false;
|
||
$msg = '';
|
||
|
||
if(is_array($data))foreach($data as $k=>$rs){
|
||
if($rs['code']==0){
|
||
$sendbo = true;
|
||
}else{
|
||
$msg .= $rs['msg'].';';
|
||
}
|
||
}
|
||
|
||
//成功
|
||
if($sendbo){
|
||
return returnsuccess(array(
|
||
'count' => $barr['total_count'],
|
||
'text' => $text,
|
||
'mobile'=> $mobiles,
|
||
));
|
||
}else{
|
||
return returnerror('发送失败:'.$msg.'('.$text.')', 202);
|
||
}
|
||
|
||
}
|
||
} |