大商创,是一款功能强大的B2B2C多用户商城系统,二次开发进行功能扩展很方便,代码清晰简洁,通俗易懂。上次已经给大家讲解过2.7版本的了,现在大商创出了3.1版本的,所以今天为大家讲解一下3.1版本的短信接口替换,我们使用的短信接口是我们短信宝短信群发平台的短信接口,我们短信宝短信平台非常稳定,短信发送速度快,注册就送测试短信,推荐大家使用。
首先我们要更换后台的显示界面文件。打开模版文件,替换一下模版文件。打开项目/admin/templates/huyi_configure_list.dwt、/admin/templates/alidayu_configure_list.dwt、/admin/templates/alitongxin_configure_list.dwt这三个文件,都修改代码23~27行,代码如下:
| 
						1 
						2 
						3 
						4 
						5 |             <ul>                <liclass="li_color">注意:目前短信宝和阿里大鱼的短信模板是一致的,请慎重操作添加、编辑和删除.</li>                <li>列表页展示所有短信配置模板的信息列表。</li>                <li>每条信息可以进行编辑和删除操作。</li>            </ul> | 
经过替换后所有的页面都变成我们短信宝的了,第一步完成。接下来替换短信发送的接口代码,打开项目\includes\cls_sms.php文件,修改send这两个方法,修改代码为:
| 
						1 
						2 
						3 
						4 
						5 
						6 
						7 
						8 
						9 
						10 
						11 
						12 
						13 
						14 
						15 
						16 
						17 
						18 
						19 
						20 
						21 
						22 
						23 
						24 
						25 
						26 
						27 
						28 
						29 
						30 
						31 
						32 
						33 
						34 
						35 
						36 
						37 
						38 
						39 
						40 
						41 
						42 
						43 
						44 
						45 
						46 
						47 
						48 
						49 
						50 
						51 
						52 
						53 
						54 
						55 
						56 
						57 
						58 
						59 
						60 
						61 
						62 
						63 
						64 
						65 
						66 
						67 
						68 
						69 
						70 
						71 
						72 
						73 
						74 
						75 
						76 
						77 
						78 
						79 
						80 | publicfunctionsend($phones, $msg= '', $send_date= '', $send_num= 1, $sms_type= '', $version= '1.0', &$sms_error= '', $mobile_code= '')        {                if($GLOBALS['_CFG']['sms_type'] == 0) {                        $contents= $this->get_contents($phones, $msg);                        if(!$contents) {                                returnfalse;                        }                        if(1 < count($contents)) {                                foreach($contentsas$key=> $val) {                   $post_data= 'u='. $this->sms_name . '&p='. $this->sms_password . '&m='. $val['phones'] . '&c=【'.$GLOBALS['_CFG']['shop_name'].'】'. rawurlencode($val['content']); //密码可以使用明文密码或使用32位MD5加密                    $get= file_get_contents($sms_url.$post_data);                    $gets['code']=$get;                    $gets['msg']='发送成功';                    sleep(1);                }                        }                        else{                                $post_data= 'u='. $this->sms_name . '&p='. $this->sms_password . '&m='. $contents[0]['phones'] . '&c=【'.$GLOBALS['_CFG']['shop_name'].'】'. rawurlencode($contents[0]['content']);                $get= file_get_contents($sms_url.$post_data);                $gets['code'] = $get;                $gets['msg'] = '发送成功';                        }                        if($get== '0') {                returntrue;            }            else{                $statusStr= array(                    "0"=> "短信发送成功",                    "-1"=> "参数不全",                    "-2"=> "服务器空间不支持,请确认支持curl或者fsocket,联系您的空间商解决或者更换空间!",                    "30"=> "密码错误",                    "40"=> "账号不存在",                    "41"=> "余额不足",                    "42"=> "帐户已过期",                    "43"=> "IP地址限制",                    "50"=> "内容含有敏感词"                    );                $sms_error= $phones.$statusStr["$get"];                $this->logResult($sms_error);                returnfalse;            }                }                elseif(1 <= $GLOBALS['_CFG']['sms_type']) {                        $msg= $this->get_usser_sms_msg($msg);                        if(!empty($msg['sms_value'])) {                                $smsParams= array('mobile_phone'=> $phones, 'code'=> $msg['code']);                                $send_time= $msg['sms_value'];                        }                        else{                                $smsParams= array('mobile_phone'=> $phones, 'code'=> $msg['code'], 'product'=> $msg['product']);                                $send_time= 'sms_signin';                        }                        $result= sms_ali($smsParams, $send_time);                        $resp= $GLOBALS['ecs']->ali_yu($result);                        if($resp->code == 0) {                                returntrue;                        }                        else{                                if($resp->sub_msg) {                                        $sms_error= $phones. $resp->sub_msg;                                }                                else{                                        $sms_error= $phones. ':'. $resp->msg;                                }                                $this->logResult($sms_error);                                returnfalse;                        }                }        } | 
修改配置文件,打开项目/languages/zh_cn/admin/common.php文件,修改4368行左右,修改代码如下:
| 
						1 | $_LANG['huyi_configure'] = '短信宝短信'; | 
打开项目/languages/zh_cn/admin/shop_config.php文件,修改51、140-141行左右,修改代码如下:
| 
						1 
						2 
						3 | 51  $_LANG['cfg_range']['sms_type'][0] = '短信宝';140 $_LANG['cfg_name']['sms_ecmoban_user'] = '短信宝用户名';141 $_LANG['cfg_name']['sms_ecmoban_password'] = '短信宝密码'; | 
pc端的我们已经替换成功了,我们进行手机端的替换,打开项目\mobile\app\helpers\base_helper.php文件,修改send_sms方法,修改代码为:
| 
						1 
						2 
						3 
						4 
						5 
						6 
						7 
						8 
						9 
						10 
						11 
						12 
						13 
						14 
						15 
						16 
						17 
						18 
						19 
						20 
						21 | functionsend_sms($mobile, $send_time= '', $content){        $sms_type= array('ihuyi', 'alidayu', 'aliyun');        $config= array(                'driver'=> 'sms',                'driverConfig'=> array(                        'sms_type'=> $sms_type[$GLOBALS['_CFG']['sms_type']],                        'ihuyi'=> array('sms_name'=> $GLOBALS['_CFG']['sms_ecmoban_user'], 'sms_password'=> $GLOBALS['_CFG']['sms_ecmoban_password'],'sms_sign'=> $GLOBALS['_CFG']['shop_name']),                        'alidayu'=> array('ali_appkey'=> $GLOBALS['_CFG']['ali_appkey'], 'ali_secretkey'=> $GLOBALS['_CFG']['ali_secretkey']),                        'aliyun'=> array('access_key_id'=> $GLOBALS['_CFG']['access_key_id'], 'access_key_secret'=> $GLOBALS['_CFG']['access_key_secret'])                        )                );        $sms= new\App\Notifications\Send($config);        if($sms->push($mobile, $send_time, $content) === true) {                returntrue;        }        else{                return$sms->getError();        }} | 
接下来修改发送的接口类,打开项目\mobile\app\notifications\Sms\Driver\Ihuyi.php文件,修改以下代码:
| 
						1 
						2 
						3 
						4 
						5 
						6 
						7 
						8 
						9 
						10 
						11 
						12 
						13 
						14 
						15 
						16 
						17 
						18 
						19 
						20 
						21 |         privatefunctionsend()        {                foreach($this->phones as$mobile) {                        $post_data= array('u'=> $this->config['sms_name'], 'p'=> $this->config['sms_password'], 'm'=> $mobile, 'c'=> '【'.$this->config['sms_sign'].'】'.$this->content);                        $res= \App\Extensions\Http::doPost($this->sms_api, $post_data);                        if($res== '0') {                                returntrue;                        }                        else{                                $this->errorInfo = $res;                                logResult($this->errorInfo, 'sms');                                returnfalse;                        }                }        } | 
经过上面的替换,短信宝的短信平台已经替换成功了,可以正常使用了。进行测试发送:
	
	 
报备一下短信宝的VIP模版,这样就可以走短信宝的优质通道,并且免审核了,短信内容3~5秒就可送达。
最新更新
电商类
CMS类
微信类