众所周知,小猪CMS已是当前php软件市场上的领跑者了,他以功能强大,操作界面友好而著称,用户群体非常广。他使用了Thinkphp框架作为底层,所以在进行功能扩展和二次开发时都是相当容易的。今天我就来带大家来做一次替换短信接口的工作。

短信接口使用的是短信宝短信平台的短信接口,小伙伴一定会问为什么使用短信宝作为案例呢?原因很简单,因为短信宝的平台极其稳定,而且短信发送速度相当快捷,验证码和订单通知在3~5秒就能收到,用户体验非常好,所以我们公司一直和短信宝保持着合作关系,小伙伴们也可以去短信宝的官网(http://www.smsbao.com)注册一个账号,还有免费的短信条数送呢。

接下来我就来说一下开发步骤:
1. 先打开项目/Conf/sms.php文件,如果该文件不存在,则自己创建一个。在文件中配置短信宝参数:

<?php
return array ('sms_url' => 'http://api.smsbao.com/sms','sms_user' => 'smsbao','sms_key' => 'key6523','sms_price' => '8','sms_sign' => 'pigcms','sms_mp' => '13888888888','reg_mp_verify' => '0',
);

2.打开项目/PigCms/Lib/ORG/Sms.class.php文件,找到第35行的sendSms方法,修改方法内的短信发送接口参数,改成短信宝的接口参数。

public function sendSms($token, $content='',$mobile='', $send_time='', $charset='utf-8',$id_code = '') {$companyid=0;if(!(strpos($token,'_') === FALSE)){$sarr=explode('_',$token);$token=$sarr[0];$companyid=intval($sarr[1]);}if (!$mobile){$companyWhere=array();$companyWhere['token']=$token;if ($companyid){$companyWhere['id']=$companyid;}$company=M('Company')->where($companyWhere)->find();$mobile=$company['mp'];}$thisWxUser=M('Wxuser')->where(array('token'=>Sms::_safe_replace($token)))->find();$thisUser=M('Users')->where(array('id'=>$thisWxUser['uid']))->find();if ($token=='admin'){$thisUser=array('id'=>0);$thisWxUser=array('uid'=>0,'token'=>$this->token);}if(is_array($mobile)){$mobile = implode(",", $mobile);}$content = Sms::_safe_replace($content);$data = array('topdomain' => C('server_topdomain'),'u' => C('sms_user'),'p' =>C('sms_key') ,'token' => $token,'c' => $content,'m'=>$mobile,'mobileids'=>'11');$post = '';foreach($data as $k=>$v) {$post .= $k.'='.$v.'&';}// 短信宝接口配置$smsapi_senturl="http://api.smsbao.com/sms";$uid =C('sms_user');$pwd =C('sms_key') ;$mobileids=C('mobileids');$return=Sms::send_SMS($smsapi_senturl,$uid,$pwd,$mobile,$content,$mobileids);$arr = explode('&',$return);$sta=explode("=",$arr[1]);$this->statuscode = $sta[1];//增加到本地数据库$row=array('uid'=>$thisUser['id'],'token'=>$thisWxUser['token'],'time'=>time(),'mp'=>$mobile,'text'=>$content,'status'=>$this->statuscode,'price'=>C('sms_price'));M('Sms_record')->add($row);if (intval($this->statuscode)==100&&$token!='admin'){M('Users')->where(array('id'=>$thisWxUser['uid']))->setDec('smscount');}return $return;}

3.最后我们修改一下后台配置界面文件。打开项目/tpl/System/Site/sms.html,修改为如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>短信接口</title>
<link href="{pigcms::RES}/images/style1.css" type="text/css" rel="stylesheet">
<link href="{pigcms::RES}/images/jquery-1.7.2.min.js" type="text/css" rel="stylesheet">
<link href="{pigcms::RES}/images/jquery.form.js" type="text/css" rel="stylesheet">
<meta http-equiv="x-ua-compatible" content="ie=7" />
</head>
<body class="warp">
<include file="Site:public" />
<script>
function sendtest(){location.href="{pigcms::U('Site/smssendtest')}&mp="+document.getElementById('sms_mp').value;
}
</script>
<div id="artlist">
<div id="btl">
<table width="100%" border="0" cellspacing="0" cellpadding="0" id="addn"><form id="myform" action="{pigcms::U('Site/insert')}" method="post"><tr> <td  height="38" align="right"><strong>共售出:</strong></td><td>{pigcms:$total|default='0'}条</td></tr><tr> <td  height="38" align="right"><strong>接口地址:</strong></td><td><input type="text" name="sms_url" value="{pigcms::C('sms_url')}" class="ipt" size="45" /><span>&nbsp;&nbsp;可不用填写</span></td></tr><tr> <td  height="38" align="right"><strong>用户名:</strong></td><td><input type="text" name="sms_user" value="{pigcms::C('sms_user')}" class="ipt" size="45" /><span>&nbsp;&nbsp;</span><span>&nbsp;&nbsp;<a href="http://www.smsbao.com">短信宝注册</a></span></td></tr><tr> <td  height="38" align="right"><strong>短信key:</strong></td><td><input type="text" name="sms_key" value="{pigcms::C('sms_key')}" class="ipt" size="45" /></tr><tr> <td  height="38" align="right"><strong>价格:</strong></td><td><input type="text" name="sms_price" value="{pigcms::C('sms_price')}" class="ipt" size="45" /><span> 每条多少分钱(卖给客户的)&nbsp;&nbsp;</span></tr><tr> <td  height="38" align="right"><strong>签名:</strong></td><td><input type="text" name="sms_sign" value="{pigcms::C('sms_sign')}" class="ipt" size="45" /><span>&nbsp;&nbsp;短信的后缀,必须带有签名</span></tr><tr> <td  height="38" align="right"><strong>测试:</strong></td><td><input type="text" name="sms_mp" value="{pigcms::C('sms_mp')}" id="sms_mp" class="ipt" size="45" /><span> 输入手机号以后,然后<a href="###" onclick="sendtest()" style="color:red">点击这里</a></span>进行测试</td></tr><input type="hidden" name="reg_mp_verify" value="0" id="regOff" /><input type="hidden" name="files" value="<?php echo base64_encode('sms.php');?>" /><input type="hidden" name="files_hash" value="<?php echo md5('sms.php|validate_pigcms');?>" /><tr> <td height="38" colspan="2"><div id="addkey"></div><div style="padding-left:100px;"><input type="submit" value="保存设置" id="inpts"/></div></td></tr></form>
</table>
</div><br />
<br />
<br /></div>
</body>
</html>

好了,短信宝接口替换全部完成。。。只需要修改3个文件,就可以完成整个修改过程,是不是很简单呀。另外,在短信宝官网中也提供了插件下载地址:http://www.smsbao.com/plugin/107.html 小伙伴们可以对着短信宝短信插件,来看我这篇文章,这样会更直观一些。

小猪CMS多用户微信营销平台短信插件开发相关推荐

  1. 《pigcms v6.2最新完美至尊版无任何限制,小猪微信源码多用户微信营销服务平台系统》...

    <pigcms v6.2最新完美至尊版无任何限制,小猪微信源码多用户微信营销服务平台系统> 前两天分享了套小猪CMS(PigCms)多用户微信营销服务平台系统V6.1完美破解至尊版带微用户 ...

  2. 《pigcms v6.2最新完美至尊版无任何限制,小猪微信源码多用户微信营销服务平台系统》

    <pigcms v6.2最新完美至尊版无任何限制,小猪微信源码多用户微信营销服务平台系统> 前两天分享了套小猪CMS(PigCms)多用户微信营销服务平台系统V6.1完美破解至尊版带微用户 ...

  3. 最新某猪CMS(PigCMS)多用户微信营销系统全能版

    4月最新小猪CMS(PigCMS)多用户微信营销系统全能版大家都知道,官方售价188000多元新增功能:微投票8.1.募捐.微现场3.0 (独立)APP打包.(独立)收银 微信连WIFI.个性化自定义 ...

  4. 实测榛子云短信平台短信接收速度

    这是属于移动互联网的时代,用户为什么要选择你的产品,你的产品如何突破同行的围剿,产品的体验度怎样提高,一个富有生命力的产品应该是怎样的? 身份效验几乎是每个网站与APP必走的流程,无论是在APP注册还 ...

  5. 第三方PORTAL认证系统对接华为AC6605实现无线WiFi微信认证、短信认证和访客认证

    第三方PORTAL认证系统对接华为AC6605实现无线WiFi微信认证.短信认证和访客认证 [对接配置参考文章](https://www.cdefe.com/20190224/cid=219.html ...

  6. 【delphi】各大平台短信功能控件实现(含源代码、演示程序、帮助)

    阿里云.腾讯云.百度云.京东云等各大平台Delphi开发短信功能开发介绍 当下,无论是注册账户还是发送业务通知,短信功能已经是必不可少,能够提供发送短信功能的平台也非常多,各个平台短信功能大同小异,开 ...

  7. 国际短信平台短信路由搭建后台软件定制-移讯云短信系统

    国际短信平台短信路由搭建后台软件定制-移讯云短信系统 什么是短信路由 短信路由是指当短信发送时,不通的关键字内容,不同的地区进行线路分流.实现压缩成本速度和质量保证. 新的客户端客户登录后发送短信时可 ...

  8. 微联微信管理平台软--- 微信营销平台运营首选的平台软件

    微联微信管理平台软件 微信营销平台运营首选的平台软件!本公司多年强大的通信技术研发实力,结合微信官方平台优势和企业服务经验.为参与微信运营管理的科技企业,广告企业,等等运营单位.开发提供专业的微信管理 ...

  9. 篮球HTML5微信互动小游戏登录TOM微信营销平台

    NBA2022年的赛程已经开始了,TOM小编也是篮球迷,作为资深詹粉希望湖人获得好成绩,近期一款<技巧投篮>的游戏也是占据了我整整一周末,游戏表现效果极佳,我和微信好友对战的不亦乐乎,下面 ...

最新文章

  1. 【CentOS】设置服务开机自动启动
  2. Shadow mapping
  3. oracle视图能增删改,oracle视图的增删改
  4. 项目部署、配置、查错常用到的Linux命令
  5. python 并列条形图_python – 熊猫:如何绘制两个类别和四个系列的条形图?
  6. 关于信任模型与交叉认证
  7. 微信小程序登录 更新中
  8. 【POJ - 2186】Popular Cows (Tarjan缩点)
  9. python virtualenv_python开发之virtualenv与virtualenvwrapper讲解
  10. Kubernetes滚动更新速率控制解读
  11. 计算机分屏解决方案,整套解决方案:使窗口布局更高效,为Windows平台编译分屏工具...
  12. 拓端tecdat|R语言离群值处理分析
  13. 诺威达刷机教程_诺威达方案导航一体机
  14. 基于链表的学生信息管理系统和基于MySQL的学生信息管理系统 -C语言
  15. 哲♂学【前排提醒非题解】
  16. 前端架构师神技,三招统一团队代码风格
  17. bootstrap Table表头固定
  18. 【USACO题库】3.2.3 Spinning Wheels纺车的轮子
  19. R语言subset函数
  20. iVMS-4200 Vs区别_死神vs火影新版柱间下载-死神vs火影新版柱间手机版下载

热门文章

  1. [导入][转]1997年南航空难BlackBox12分钟录音网上曝光
  2. ubuntu16 黑主题_Ubuntu16.04主题美化
  3. 朗读评价语言集锦_常用听课评语集锦
  4. JDBC添加四六级成绩练习
  5. 【Nodejs】使用robotjs控制鼠标键盘 自动点击屏幕上指定位置的图标 实现连接wifi等操作
  6. 成人计算机考试试题七,你是一个成年人了,应该学会主动刷计算机等级考试题库-二级MS Office试题!...
  7. Android Studio各个版本的区别
  8. lua_gc 源码学习五
  9. 高效GO语言编程(9)——空白标识符
  10. 基于客户提取为所属客户经理的信息