蚂蚁分类短信接口替换

版权声明:本文为博主原创文章,欢迎转载。 https://blog.csdn.net/mindev/article/details/74991306

蚂蚁分类是一款基于php+mysql的分类信息/地方门户网站建站系统.为在各种服务器上架设分类信息网站提供完美的解决方案。它是免费的和开源的,使用范围非常广泛。本人对该系统还是比较熟悉的,今天我就来分享一下,如何进行二次开发。我以替换短信接口为例,一步一步的手把手教大家开发过程,我们做演示的短信平台是短信宝(http://www.smsbao.com)短信平台,我们公司和短信宝平台合作好几年了,他们的平台非常稳定,而且快速,注册还送免费测试短信,大家可以在短信宝平台注册一个账号,进行测试。

首先,我们先更换后台的显示界面文件。打开模板文件,替换一下模板文件。打开项目/admin/template/sms_setting.tpl.php,替换的代码为14行,代码如下图所示:

echo ">短信宝,点击<a href='http://www.smsbao.com' target='_blank'>免费注册</a></label>" . "\r\n" . '<label for="ihuyi"><input name="sms_service" type="radio" class="radio" id="ihuyi" value="ihuyi" onclick=\'document.getElementById("sms_div").style.display = "";\' ';

经过替换后,所有的显示都变成短信宝短信平台的了。第一步完成。接下来替换发送短信的业务代码。修改项目/include/smsbao/mymps.php文件,代码如下:

<?php

/**
 * 发送http请求
 * @access protected
 * @param string $url  请求地址
 * @param string $param  get方式请求内容,数组形式,post方式时无效
 * * @param string $data  post请求方式时的内容,get方式时无效
 * @param string $method  请求方式,默认get
 */
function http($url, $param, $data = '', $method = 'GET'){
    $opts = array(
        CURLOPT_TIMEOUT        => 30,
        CURLOPT_RETURNTRANSFER => 1,
        CURLOPT_SSL_VERIFYPEER => false,
        CURLOPT_SSL_VERIFYHOST => false,
    );

    /* 根据请求类型设置特定参数 */
    $opts[CURLOPT_URL] = $url . '?' . http_build_query($param);

    if(strtoupper($method) == 'POST'){
        $opts[CURLOPT_POST] = 1;
        $opts[CURLOPT_POSTFIELDS] = $data;

        if(is_string($data)){ //发送JSON数据
            $opts[CURLOPT_HTTPHEADER] = array(
                'Content-Type: application/json; charset=utf-8',
                'Content-Length: ' . strlen($data),
            );
        }
    }

    /* 初始化并执行curl请求 */
    $ch = curl_init();
    curl_setopt_array($ch, $opts);
    $data  = curl_exec($ch);
    $error = curl_error($ch);
    curl_close($ch);

    //发生错误,抛出异常
    if($error) throw new \Exception('请求发生错误:' . $error);

    return  $data;
}

function msend_sms($sms_user, $sms_pwd, $mobile, $content)
{

    $target = 'http://api.smsbao.com/sms';
    $post_data['u']=$sms_user;
    $post_data['p']=md5($sms_pwd);
    $post_data['m']=$mobile;
    $post_data['c']=$content;
    echo $content;
    return $gets = http($target, $post_data);
}

function msend_regsms($sms_user, $sms_pwd, $mobile, $yzm, $sms_regtpl = '')
{
    $content = str_replace('{code}', $yzm, $sms_regtpl);
    $content = str_replace('{mobile}', $mobile, $content);
    $content = ($content ? $content : '您的验证码是:' . $yzm . '。请不要把验证码泄露给其他人。如非本人操作,可不用理会!');
    $status = msend_sms($sms_user, $sms_pwd, $mobile, $content);
    write_sms_sendrecord($mobile, $content, $status, 'smsbao');
}

function msend_pwdsms($sms_user, $sms_pwd, $mobile, $yzm, $sms_pwdtpl = '')
{
    $content = str_replace('{code}', $yzm, $sms_pwdtpl);
    $content = str_replace('{mobile}', $mobile, $content);
    $content = ($content ? $content : '您的手机号:' . $mobile . ',找回密码验证码:' . $yzm . ',请不要把验证码泄露给其他人。如非本人操作,可不用理会!');
    $status = msend_sms($sms_user, $sms_pwd, $mobile, $content);
    write_sms_sendrecord($mobile, $content, $status, 'smsbao');
}


?>

好了,经过以上的替换,短信宝的短信平台已经替换成功了,可以正常使用了。

报备一下短信宝的VIP模板,这样就可以走短信宝的优质通道了,并且免审核了,短信内容3~5秒就可送达。

没有更多推荐了,返回首页