待发短信

在线客服
产品支持 短信宝客服
合作渠道 渠道合作
服务咨询

4001-021-502

工作时间

9:00-18:00

大商创V3.9新增短信宝短信接口

大商创,是一款功能强大的B2B2C多用户商城系统,二次开发进行功能扩展很方便,代码清晰简洁,通俗易懂。上次已经给大家讲解过3.1版本的了,现在大商创出了3.9版本的,所以今天为大家讲解一下3.9版本的短信接口替换,我们使用的短信接口是我们短信宝短信群发平台的短信接口,我们短信宝短信平台非常稳定,短信发送速度快,注册就送测试短信,推荐大家使用。

1:打开项目/languages/zh_cn/admin/common.php文件,替换相关变量,修改代码如下:

?
1
2
$_LANG['huyi_configure'] = '短信宝短信';
$_LANG['operation_prompt_content']['list'][0] = '注意:目前模板堂、短信宝和阿里大鱼的短信模板是一致的,请慎重操作添加、编辑和删除。';  

2:打开项目/languages/zh_cn/admin/common_merchants.php文件,替换相关变量,修改代码如下:

?
1
2
$_LANG['huyi_configure'] = '短信宝短信';
$_LANG['operation_prompt_content']['list'][0] = '注意:目前模板堂、短信宝和阿里大鱼的短信模板是一致的,请慎重操作添加、编辑和删除。';  

3:打开项目/languages/zh_cn/admin/huyi_configure.php,替换相关变量,修改代码如下:

?
1
$_LANG['huyi'] = '短信宝';

4:打开项目/languages/zh_cn/admin/shop_config.php,替换相关变量,修改代码如下:

?
1
2
3
$_LANG['cfg_range']['sms_type'][0] = '短信宝';
$_LANG['cfg_name']['sms_ecmoban_user'] = '短信宝用户名';
$_LANG['cfg_name']['sms_ecmoban_password'] = '短信宝密码';

5:打开项目/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
    public function send($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) {
                return false;
            }
 
            $sms_url = 'http://api.smsbao.com/sms?';
 
            if (1 < count($contents)) {
                foreach ($contents as $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') {
                return true;
            }
            else {
                $statusStr = array(
                    "0" => "短信发送成功",
                    "-1" => "参数不全",
                    "-2" => "服务器空间不支持,请确认支持curl或者fsocket,联系您的空间商解决或者更换空间!",
                    "30" => "密码错误",
                    "40" => "账号不存在",
                    "41" => "余额不足",
                    "42" => "帐户已过期",
                    "43" => "IP地址限制",
                    "50" => "内容含有敏感词"
                    );
                $sms_error = $phones .$statusStr["$get"];
                $this->logResult($sms_error);
                return false;
            }
        }
        else if (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) {
                return true;
            }
            else {
                if ($resp->sub_msg) {
                    $sms_error = $phones . $resp->sub_msg;
                }
                else {
                    $sms_error = $phones . ':' . $resp->msg;
                }
 
                $this->logResult($sms_error);
                return false;
            }
        }
    }

6:打开项目/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
function send_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) {
                return true;
        }
        else {
                return $sms->getError();
        }
}

7:打开项目\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
 protected $sms_api = "http://api.smsbao.com/sms?";
 
        private function send()
        {
 
                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') {
                                return true;
                        }
                        else {
                                $this->errorInfo = $res;
                                logResult($this->errorInfo, 'sms');
                                return false;
                        }
                }
        }

好了经过以上的添加,短信宝大商创V3.9系统增加手机验证就已经安装成功,可以正常使用了

报备一下短信宝的VIP模板,这样就可以走短信宝的优质通道了,即便遇到敏感文字我们都不会人工审核,短信内容3~5秒就可送达。

另外:我们已经开发好完整的大商创V3.9系统短信宝插件,点击此链接 下载及查看安装流程。

 
开源插件
文章标签