迅睿CMS内容管理框架是基于PHP7语言采用最新CodeIgniter4作为开发框架生产的网站内容管理框架,提供“电脑网站 + 手机网站 + APP 接口”一体化网站技术解决方案。她拥有强大稳定底层框架,以灵活扩展为主的开发理念,为 WEB 艺术家创造的 PHP 建站程序,堪称 PHP 万能建站框架。小编对他还是比较了解的,今天小编就以新增短信接口为例,给大家讲解一下如何进行二次开发,我们今天讲解的是V4.3.7版本,使用的短信接口是我们短信宝短信群发平台的短信接口,我们短信宝短信群发平台的接口非常稳定,发送速度快,注册就送测试短信,推荐大家使用。
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; $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.37系统短信宝插件,点击此链接 下载及查看安装流程。
- 上一篇:微课堂V2新增短信宝短信接口 下一篇:云EC电商V1.3新增短信宝短信接口

