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

众所周知,小猪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 小伙伴们可以对着短信宝短信插件,来看我这篇文章,这样会更直观一些。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值