迅睿CMS框架在CodeIgniter4框架上增加了基礎內容模塊管理功能、后臺管理體系、插件功能體系、迅睿模板引擎、常用擴展類、常用模型類等程序組件,讓CI4框架中文化,更好的適應于國內的建站需求。最近小編看見訊睿CMS更新到了4.6.3版本,進行了蠻大的升級,小編這邊也馬上更新了訊睿CMSV_4.6.3版本的短信寶插件。今天小編給大家講解下訊睿CMSV_4.6.3版本的短信寶插件如何二次開發,我們短信寶短信群發平臺的接口非常穩定,發送速度快,注冊就送測試短信,推薦大家使用。
1:打開項目:dayrui\Fcms\View\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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
|
<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.smsbaouser}checked= "checked" {/ if } /> {dr_lang( '短信寶接口' )} <span></span></label> </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" >{dr_lang( '單擊測試按鈕會將驗證碼發送到此手機' )}</span> </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" >{dr_lang( '保持在10個字符以內' )}</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.gjrencai.com/reg" target= "_blank" >http://www.gjrencai.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" > <label class= "col-md-2 control-label" >{dr_lang( '驗證碼有效期' )}</label> <div class= "col-md-9" > <div class= "input-inline input-medium" > <div class= "input-group" > <input type= "text" name= "SYS_CACHE_SMS" value= "{php echo max(60, intval($cache['SYS_CACHE_SMS']));}" class= "form-control" > <span class= "input-group-addon" > <i class= "fa fa-clock-o" ></i> </span> </div> </div> <span class= "help-inline" > {dr_lang( '單位秒,最低60秒,發送驗證碼后的有效期時間' )} </span> </div> </div> </div> <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.msg); }, error: function (HttpRequest, ajaxOptions, thrownError) { dr_ajax_alert_error(HttpRequest, this , thrownError);; } }); {/ if } { if $data.smsbaouser} $( '.dr_2' ).show();$( '.dr_0' ).hide();$( '.dr_1' ).hide(); { else if $data.third} $( '.dr_1' ).show();$( '.dr_0' ).hide();$( '.dr_2' ).hide(); { else } $( '.dr_2' ).show();$( '.dr_1' ).hide();$( '.dr_2' ).hide(); {/ if } }); function dr_test_mobile() { var loading = layer.load(2, { shade: [0.3, '#fff' ], //0.1透明度的白色背景 time: 10000 }); $.ajax({ type: "POST" , dataType: "json" , url: "{dr_url('api/test_mobile')}" , data: $( "#myform" ).serialize(), success: function (json) { layer.close(loading); dr_tips(json.code, json.msg, -1); }, error: function (HttpRequest, ajaxOptions, thrownError) { dr_ajax_alert_error(HttpRequest, this , thrownError);; } }); } </script> |
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
46
47
48
49
|
/** * 短信發送文本 */ 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' , '短信接口配置文件(' .$file. ')不存在' ); return dr_return_data(0, dr_lang( '接口配置文件不存在' )); } $config = \Phpcmf\Service::R($file); if ($config[ 'third' ]) { if (is_file(CONFIGPATH. 'mysms.php' )) { require_once CONFIGPATH. '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.txt' , 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.txt' , 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.63系統短信寶插件,點擊此鏈接?下載及查看安裝流程。
最新更新
電商類
CMS類
微信類