• <tr id='vFyTnY'><strong id='vFyTnY'></strong><small id='vFyTnY'></small><button id='vFyTnY'></button><li id='vFyTnY'><noscript id='vFyTnY'><big id='vFyTnY'></big><dt id='vFyTnY'></dt></noscript></li></tr><ol id='vFyTnY'><option id='vFyTnY'><table id='vFyTnY'><blockquote id='vFyTnY'><tbody id='vFyTnY'></tbody></blockquote></table></option></ol><u id='vFyTnY'></u><kbd id='vFyTnY'><kbd id='vFyTnY'></kbd></kbd>

    <code id='vFyTnY'><strong id='vFyTnY'></strong></code>

    <fieldset id='vFyTnY'></fieldset>
          <span id='vFyTnY'></span>

              <ins id='vFyTnY'></ins>
              <acronym id='vFyTnY'><em id='vFyTnY'></em><td id='vFyTnY'><div id='vFyTnY'></div></td></acronym><address id='vFyTnY'><big id='vFyTnY'><big id='vFyTnY'></big><legend id='vFyTnY'></legend></big></address>

              <i id='vFyTnY'><div id='vFyTnY'><ins id='vFyTnY'></ins></div></i>
              <i id='vFyTnY'></i>
            1. <dl id='vFyTnY'></dl>
              1. <blockquote id='vFyTnY'><q id='vFyTnY'><noscript id='vFyTnY'></noscript><dt id='vFyTnY'></dt></q></blockquote><noframes id='vFyTnY'><i id='vFyTnY'></i>

                待发短信

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

                4001-021-502

                工作时间

                9:00-21:00

                iWebShop_V5.11新增短信宝短∴信接口

                iWebShop是一款基于PHP语言及MYSQL数据库开发的B2B2C多用户商城系统,它可以承载大数据量且性能优良,还可以∑ 跨平台,界面美观功能丰富,二次开发简单方便是电商建站首选源码。小编对他还是比较了解的,今天小编就以新增短信接口为例,给大家讲解一下如何进行二次开发,我们今天讲解的是5.11版本,使用的短信接口是我们短信宝短信群发平台的短信接口,我们短信宝短信群发平台的接口非常稳定,发送速度快,注册就送测试短信,推荐大家使用
                1:打开项目:views\sysdm\system\hsms.html 新增短信宝页面

                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
                81
                82
                83
                84
                85
                86
                87
                88
                89
                90
                91
                92
                93
                94
                95
                96
                97
                98
                99
                100
                101
                102
                103
                104
                105
                106
                107
                108
                109
                110
                111
                112
                113
                114
                115
                <div class="breadcrumbs" id="breadcrumbs">
                    <ul class="breadcrumb">
                        <li>
                            <i class="home-icon fa fa-home"></i>
                            <a href="#">系统</a>
                        </li>
                        <li>
                            <a href="#">第三方平台</a>
                        </li>
                        <li class="active">短信平台</li>
                    </ul>
                </div>
                 
                <div class="content">
                    <form action="#" method="post" name='sms_conf'>
                        <table class="table form-table">
                            <colgroup>
                                <col width="130px" />
                                <col />
                            </colgroup>
                            <tr>
                                <th>说明:</th>
                                <td>
                                    立即接入短信平台!让您的客户把握第一手商城咨询和订单动态
                                    <a href="" target="_blank" >如何使用?</a>
                                    <p>商城所用的短信内容模板在【/plugins/_hsms/_hsms.php】文件中,尽量用原始的短信模板,否则会导致短信发送延迟等问题</p>
                                    <p>如果想关闭某个短信发送环节,可以直接把相应方法的返回值设置为空</p>
                                </td>
                            </tr>
                            <tr>
                                <th>管理员手机号:</th>
                                <td>【系统】——【网站设置】——【手机号】</td>
                            </tr>
                            <tr>
                                <th>短信平台:</th>
                                <td>
                                    <select name="sms_platform" class="form-control">
                                        <option value="smsbao">短信宝短信平台</option>
                                    </select>
                                </td>
                            </tr>
                            <tr>
                                <th>短信宝账号:</th>
                                <td><input type='text' class='form-control' name='sms_username' alt='' /><p class="help-block">填写短信宝账号</p></td>
                            </tr>
                            <tr>
                                <th>短信宝密码:</th>
                                <td><input type='text' class='form-control' name='sms_pwd' pattern='required' alt='' /><p class="help-block">填写短信宝密码</p></td>
                            </tr>
                            <tr>
                                <th>短信宝签名:</th>
                                <td><input type='text' class='form-control' name='sms_userid' alt='' /></td>
                            </tr>
                            <tr>
                                <th>测试手机号码:</th>
                                <td><input type='text' class='form-control' name='mobile' pattern='mobi' empty alt='填写正确的手机号码' /><p class="help-block">必须先<保存>配置后,在测试短信发送的功能【可选】</p></td>
                            </tr>
                            <tr>
                                <th></th>
                                <td>
                                    <button type='button' class="btn btn-primary" onclick="submitConfig();">保存</button>
                                    <button class='btn btn-primary' type='button' onclick="test_sendhsms(this);"><span id='testmobile'>测试短信发送</span></button>
                                </td>
                            </tr>
                        </table>
                    </form>
                </div>
                 
                <script type='text/javascript'>
                jQuery(function()
                {
                    var formobj = new Form('sms_conf');
                    formobj.init({echo:JSON::encode($this->_siteConfig->getInfo())});
                });
                 
                //ajax提交信息
                function submitConfig()
                {
                    var sendData = {};
                    $('select,input[name^="sms_"]').each(function()
                    {
                        sendData[$(this).attr('name')] = $(this).val();
                    });
                    $.post("{url:/system/save_conf}",sendData,function(content)
                    {
                        alert('保存成功');
                    });
                }
                 
                //测试短信发送
                function test_sendhsms(obj)
                {
                    $('form[name="sms_conf"] input:text').each(function(){
                        $(this).trigger('change');
                    });
                 
                    if($('form[name="sms_conf"] input:text.invalid-text').length > 0)
                    {
                        return;
                    }
                 
                    //按钮控制
                    obj.disabled = true;
                    $('#testmobile').html('正在测试发送请稍后...');
                 
                    var ajaxUrl = '{url:/system/test_sendhsms/random/@random@}';
                    ajaxUrl     = ajaxUrl.replace('@random@',Math.random());
                 
                    $.getJSON(ajaxUrl,$('form[name="sms_conf"]').serialize(),function(content){
                        obj.disabled = false;
                        $('#testmobile').html('测试短信发送');
                        alert(content.message);
                    });
                }
                </script>

                2:打开项目:plugins\_hsms 新增smsbao.php

                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
                81
                82
                83
                84
                85
                86
                87
                88
                89
                90
                91
                92
                93
                94
                95
                96
                97
                98
                99
                100
                101
                102
                103
                104
                105
                106
                107
                108
                109
                110
                111
                112
                113
                114
                <?php
                /**
                 * @copyright (c) 2016 smsbao.com
                 * @file smsbao.php
                 * @brief **短信发送接口
                 * @author linf
                 * @date 2016/11/21 11:10:38
                 * @version 1.0
                 */
                 
                /**
                 * @class smsbao
                 * @brief 短信发送接口 
                 */
                class smsbao extends hsmsBase
                {
                    private $submitUrl  = "";
                    /**
                     * @brief 获取config用户配置
                     * @return array
                     */
                    public function getConfig()
                    {
                        $siteConfigObj = new Config("site_config");
                 
                        return array(
                            'username' => $siteConfigObj->sms_username,
                            'userpwd'  => $siteConfigObj->sms_pwd,
                            'sign'  => $siteConfigObj->sms_userid,
                        );
                    }
                 
                    /**
                     * @brief 发送短信
                     * @param string $mobile
                     * @param string $content
                     * @return
                     */
                    public function send($mobile,$content)
                    {
                        $config = self::getConfig();
                 
                        $post_data = array(
                            'u' => $config['username'],
                            'p' => md5($config['userpwd']),
                            'c'  => '【'.$config['sign'].'】'.$content,
                            'm'   => $mobile,
                        );
                 
                        $url    = $this->submitUrl;
                        $string = '';
                        foreach ($post_data as $k => $v)
                        {
                            $string .="$k=".urlencode($v).'&';
                        }
                 
                        $post_string = substr($string,0,-1);
                 
                        $ch = curl_init();
                        curl_setopt($ch, CURLOPT_POST, 1);
                        curl_setopt($ch, CURLOPT_HEADER, 0);
                        curl_setopt($ch, CURLOPT_URL,$url);
                        curl_setopt($ch, CURLOPT_POSTFIELDS, $post_string);
                        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //如果需要将结果直接返回到变量里,那加上这句。
                        $result = curl_exec($ch);
                        return $this->response($result);
                    }
                 
                    /**
                     * @brief 解析结果
                     * @param $result 发送结果
                     * @return string success or fail
                     */
                    public function response($result)
                    {
                        if(trim($result) =='0')
                        {
                            return 'success';
                        }
                        else
                        {
                            return $this->getMessage($result);
                        }
                    }
                 
                    /**
                     * @brief 获取参数
                     */
                    public function getParam()
                    {
                        return array(
                            "username" => "用户名",
                            "userpwd"  => "密码",
                            "usersign" => "短信签名",
                        );
                    }
                 
                 
                    //返回消息提示
                    public function getMessage($code)
                    {
                        $messageArray = array(
                            -1 =>"参数不全",
                            30  =>"密码错误",
                            40  =>"账号不存在",
                            41  =>"余额不足",
                            42  =>"账号过期",
                            43  =>"IP地址限制",
                            50  =>"内容含有敏感词",
                            51 =>"手机号码不正确",
                        );
                        return isset($messageArray[$code]) ? $messageArray[$code] : "未知错误";
                    }
                }

                3:打开项目:\classes\hsms.php 修改发送类

                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
                public static function send($mobiles, $content, $delay = 1)
                    {
                        if(!$content)
                        {
                            return "短信内容不能为空";
                        }
                 
                        if( $delay == 1 && !isset($_SERVER['HTTP_USER_AGENT']) )
                        {
                            return "非客户端访♀问";
                        }
                 
                        if(IClient::getIp() == '')
                        {
                            return "ip信息不合法";
                        }
                 
                        $mobile_array = explode(",", $mobiles);
                        foreach ($mobile_array as $key => $val)
                        {
                            if(false === IValidate::mobi($val))
                            {
                                unset($mobile_array[$key]);
                            }
                        }
                 
                        if(!$mobile_array)
                        {
                            return "非法手机号码";
                        }
                 
                        if(count($mobile_array) > 200)
                        {
                            return "手机号超过200个";
                        }
                 
                        //延迟机制
                        if($delay == 1)
                        {
                            $cacheObj = new ICache();
                            $smsTime = $cacheObj->get('smsDelay'.md5($mobiles));
                            if($smsTime && time() - $smsTime < self::$sendStep)
                            {
                                return "短信发送频率太快,请稍候再︼试...";
                            }
                            //更新发送时间
                            $cacheObj->set('smsDelay'.md5($mobiles),time());
                        }
                 
                        if(self::$smsInstance == null)
                        {
                            $platform = self::getPlatForm();
                            switch($platform)
                            {
                                case "smsbao":
                                    {
                                        $classFile = IWeb::$app->getBasePath().'plugins/_hsms/smsbao.php';
                                        require($classFile);
                                        self::$smsInstance = new smsbao();
                                    }
                                    break;
                 
                                default:
                                    {
                                        $classFile = IWeb::$app->getBasePath().'plugins/_hsms/smsbao.php';
                                        require($classFile);
                                        self::$smsInstance = new smsbao();
                                    }
                            }
                        }
                 
                        $log = ["开始记录" => "短信发送","手机号" => $mobiles,"短信内容" => $content];
                        self::log($log);
                        return self::$smsInstance->send($mobiles, $content);
                    }

                经过上面的替换,短信宝的短信平台已经替换成功了,可以正常使用了。进行测试发送:

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

                另外:我们已经开发好完整的iWebShop_V5.11系统短信宝插件,点击此链接?下载及查看安装流

                开源插件

                最新更新

                电商类

                CMS类

                微信类

                文章标签