待发短信

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

4001-021-502

工作时间

9:00-21:00

讯睿CMSV4.6.1新增短信宝短信接口

迅睿CMS内容管理框架是基于PHP7语言采用最新CodeIgniter4作为开发框架生产的网站内容管理框架,提供“电脑网站 + 手机网站 + APP 接口”一体化网站技术解决方案。她拥有强大稳定底层框架,以灵活扩展为主的开发理念,为 WEB 艺术家创造的 PHP 建站程序,堪称 PHP 万能建站框架。小编对他还是比较了解的,今天小编就以新增短信接口为例,给大家讲解一下如何进行二次开发,我们今天讲解的是V4.6.1版本,使用的短信接口是我们短信宝短信群发平台的短信接口,我们短信宝短信群发平台的接口非常稳定,发送速度快,注册就送测试短信,推荐大家使用。
1:打开项目:\dayrui\Core\Views\sms_index.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
<script type="text/javascript">
    $(function() {
        {if $data.uid && !$data.third}
        $.ajax({
            type: "GET",
            dataType: "json",
            url: "{dr_url('api/sms_info')}&uid={$data.uid}&key={$data.key}",
            success: function(json) {
                eval(json.code);
            },
            error: function(HttpRequest, ajaxOptions, thrownError) {
                alert('网络异常');
            }
        });
        {/if}
            {if $data.type == 0}
            $('.dr_0').show();$('.dr_1').hide();$('.dr_2').hide();
            {else if $data.type == 1}
            $('.dr_1').show();$('.dr_0').hide();$('.dr_2').hide();
            {else if $data.type == 2}
            $('.dr_2').show();$('.dr_1').hide();$('.dr_0').hide();
            {/if}
            });
</script>
<form action="" class="form-horizontal" method="post" name="myform" id="myform">
    {dr_form_hidden()}
    <div class="portlet bordered light myfbody">
        <div class="portlet-title tabbable-line">
            <ul class="nav nav-tabs" style="float:left;">
                <li class="{if $page==0}active{/if}">
                    <a href="#tab_0" data-toggle="tab" onclick="$('#dr_page').val('0')"> <i class="fa fa-cog"></i> {dr_lang('短信参数')} </a>
                </li>
            </ul>
        </div>
        <div class="portlet-body">
            <div class="tab-content">
                <div class="tab-pane {if $page==0}active{/if}" id="tab_0">
                    <div class="form-body">
                        <div class="form-group">
                            <label class="col-md-2 control-label" style="padding-top: 10px;">{dr_lang('接口类型')}</label>
                            <div class="col-md-9">
                                <div class="mt-radio-inline">
                                    <label class="mt-radio mt-radio-outline"><input name="aa" type="radio" value="0" onclick="$('.dr_0').show();$('.dr_1').hide();$('.dr_2').hide()" {if !$data.third}checked="checked"{/if} /> {dr_lang('官方接口')} <span></span></label>
                                    <label class="mt-radio mt-radio-outline"><input name="aa" type="radio" value="1" onclick="$('.dr_1').show();$('.dr_0').hide();$('.dr_2').hide()" {if $data.third}checked="checked"{/if} /> {dr_lang('第三方接口')} <span></span></label>
                                    <label class="mt-radio mt-radio-outline"><input name="aa" type="radio" value="2" onclick="$('.dr_2').show();$('.dr_0').hide();$('.dr_1').hide();" {if $data.third}checked="checked"{/if} /> {dr_lang('短信宝接口')} <span></span></label>
                                </div>
                            </div>
                        </div>
                        <div class="form-group dr_0">
                            <label class="col-md-2 control-label">官方SMS Uid</label>
                            <div class="col-md-9">
                                <label><input class="form-control" type="text" name="data[uid]" value="{$data.uid}" ></label>
                            </div>
                        </div>
                        <div class="form-group dr_0">
                            <label class="col-md-2 control-label">官方SMS Key</label>
                            <div class="col-md-9">
                                <input class="form-control" type="text" name="data[key]" value="{$data.key}" >
                            </div>
                        </div>
                        {if $data.uid && !$data.third}
                        <div class="form-group dr_0">
                            <label class="col-md-2 control-label">{dr_lang('剩余短信')}</label>
                            <div class="col-md-9">
                                <div class="form-control-static" id="dr_sms">....</div>
                            </div>
                        </div>
                        {/if}
                        <div class="form-group dr_1">
                            <label class="col-md-2 control-label">{dr_lang('自定义参数')}</label>
                            <div class="col-md-9">
                                <textarea class="form-control" style="height:120px" name="data[third]" />{$data.third}</textarea>
                            </div>
                        </div>
                        <div class="form-group dr_1">
                            <label class="col-md-2 control-label">{dr_lang('测试手机号')}</label>
                            <div class="col-md-9">
                                <label><input class="form-control" type="text" name="data[mobile]" value="{$data.mobile}" ></label>
                                <span class="help-block">单击测试按钮会将验证码发送到此手机</span>
                            </div>
                        </div>
                        <div class="form-group dr_2">
                            <label class="col-md-2 control-label">{dr_lang('申请地址')}:</label>
                            <div class="col-md-9">
                                <div class="form-control-static"><label><a href="http://www.smsbao.com/reg" target="_blank">http://www.smsbao.com/reg</a></label></div>
                            </div>
                        </div>
                        <div class="form-group dr_2">
                            <label class="col-md-2 control-label">{dr_lang('短信宝账号')}</label>
                            <div class="col-md-9">
                                <label><input class="form-control" type="text" name="data[smsbaouser]" value="{$data.smsbaouser}" ></label>
                            </div>
                        </div>
                        <div class="form-group dr_2">
                            <label class="col-md-2 control-label">{dr_lang('短信宝密码')}</label>
                            <div class="col-md-9">
                               <label><input class="form-control" type="text" name="data[smsbaopass]" value="{$data.smsbaopass}" ></label>
                            </div>
                        </div>
                        <div class="form-group dr_2">
                            <label class="col-md-2 control-label">{dr_lang('短信宝签名')}</label>
                            <div class="col-md-9">
                                <label><input class="form-control" type="text" name="data[smsbaosing]" value="{$data.smsbaosing}" ></label>
                            </div>
                        </div>
                        <div class="form-group dr_0">
                            <label class="col-md-2 control-label">{dr_lang('短信签名')}</label>
                            <div class="col-md-9">
                                <label><input class="form-control" type="text" name="data[note]" value="{$data.note}" ></label>
                                <span class="help-block">保持在10个字符以内</span>
                            </div>
                        <

2:打开项目:\dayrui\Fcms\Model\Member.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
public function sendsms_text($mobile, $content, $type = 'text') {
        if (!$mobile || !$content) {
            return dr_return_data(0, dr_lang('手机号码或内容不能为空'));
        }
        $file = WRITEPATH.'config/sms.php';
        if (!is_file($file)) {
            log_message('error''短信接口配置文件不存在');
            return dr_return_data(0, dr_lang('接口配置文件不存在'));
        }
        $config = require_once $file;
        if ($config['third']) {
            if (is_file(WEBPATH.'config/mysms.php')) {
                require_once WEBPATH.'config/mysms.php';
            }
            $method = 'my_sendsms_'.$type;
            if (function_exists($method)) {
                return call_user_func_array($method, [
                    $mobile,
                    $content,
                    $config['third'],
                ]);
            else {
                $error = dr_lang('你没有定义第三方短信接口: '. $method);
                @file_put_contents(WRITEPATH.'sms_log.php', date('Y-m-d H:i:s').' ['.$mobile.'] ['.$error.'] ('.str_replace(array(chr(13), chr(10)), '', $content).')'.PHP_EOL, FILE_APPEND);
                return dr_return_data(0, $error);
            }
        else {
            $content = $type == 'code' ? dr_lang('您的本次验证码是: %s', $content) : $content;
            $content = '【'.$config['smsbaosing'].'】'.$content;
            $smsapi = "http://api.smsbao.com/";
            $user = $config['smsbaouser']; //短信平台帐号
            $pass = md5($config['smsbaopass']); //短信平台密码
            $phone = $mobile;//要发送短信的手机号码
            $url = $smsapi."sms?u=".$user."&p=".$pass."&m=".$phone."&c=".urlencode($content);
            $result = dr_catcher_data($url);
            if ($result!= 0) {
                log_message('error''访问官方云短信服务器失败');
                return dr_return_data(0, dr_lang('访问官方云短信服务器失败'));
            }else{
                $result = "{\"code\":1, \"data\":\"发送成功\", \"msg\":\"发送成功\"}";
            }
            $result = json_decode($result, true);
        }
        @file_put_contents(WRITEPATH.'sms_log.php', date('Y-m-d H:i:s').' ['.$mobile.'] ['.$result['msg'].'] ('.str_replace(array(chr(13), chr(10)), '', $content).')'.PHP_EOL, FILE_APPEND);
        return $result

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

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

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

开源插件

最新更新

电商类

CMS类

微信类

文章标签