迅睿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; $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类
微信类