蚂蚁分类短信接口替换

xiaoxiao2021-02-28  54

蚂蚁分类是一款基于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秒就可送达。

转载请注明原文地址: https://www.6miu.com/read-77262.html

最新回复(0)