NIUSHOPV5.4.6 采用 ThinkPHP6.0 + MySQL 開發語言框架采用 Thinkphp6 + Uni-app 設計開發,代碼全新升級;支持實物商品、虛擬商品、電子卡密、服務項目及卡項套餐五大商品類型;支持拼團、砍價、秒殺、超級會員卡、禮品卡、分銷、直播等多種會員營銷方案。完全開源,二次開發非常方便,小編對他還是比較了解的,今天小編為大家講解 V5.4.6 版本的短信接口替換,使用的接口是我們短信寶群發平臺的短信接口,我們短信寶群發短信平臺非常穩定,發送速度快,注冊還送測試短信,推薦大家使用。
├─smsbao插件目錄
│ ├─config 配置目錄
│ │ ├─diy_view.php 頁面DIY相關配置
│ │ ├─event.php 事件相關配置
│ │ ├─info.php 插件信息配置
│ │ ├─menu_shop.php 菜單欄配置
│ ├─event 事件目錄
│ │ ├─ DoEditSmsMessage.php 短信模板事件
│ │ ├─EnableCallBack.php 短信開關事件
│ │ ├─EnableSms.php 查詢啟用的短信插件
│ │ ├─Install.php 應用安裝
│ │ ├─SendSms.php 短信發送
│ │ ├─SmsType.php 短信方式
│ │ ├─UnInstall.php 應用卸載
│ └─model
│ │ ├─Config.php 短信核心配置
│ │ ├─Sms.php 核心發送類
│ └─shop
│ │ ├─controller 控制器
│ │ │ ├─Message.php 模板編輯類
│ │ │ ├─ Sms.php 核心發送類
│ │ ├─view 視圖
│ │ │ ├─message 模板編輯類
│ │ │ │ ├─edit.html 模板視圖
│ │ │ ├─ sms 核心發送類
│ │ │ │ ├─config.html 短信視圖
下面具體給大家說一下重要文件的作用及代碼
1:打開項目:addon\smsbao\config\info.php 填寫當前插件的基本信息
|
1
2
3
4
5
6
7
8
9
10
11
12
|
<?phpreturn?[????'name'?=>?'smsbao',????'title'?=>?'短信寶短信',????'description'?=>?'短信寶短信功能',????'type'?=>?'system',?//插件類型??system?:系統插件(自動安裝),?business:業務插件????promotion:營銷插件??tool:工具插件????'status'?=>?1,????'author'?=>?'',????'version'?=>?'5.0.3',????'version_no'?=>?'520220907001',????'content'?=>?'',]; |
2:打開項目:addon\smsbao\config\event.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
|
<?php//?事件定義文件return?[????'bind'?=>?[????],????'listen'?=>?[??????? //短信方式????????'SmsType'??????????=>?[????????????'addon\smsbao\event\SmsType'????????],????????'DoEditSmsMessage'?=>?[????????????'addon\smsbao\event\DoEditSmsMessage'????????],????????'SendSms'??????????=>?[????????????'addon\smsbao\event\SendSms'????????],????????//啟用回調,使用這個短信,就要關閉其他短信插件????????'EnableCallBack'??????????=>?[????????????'addon\smsbao\event\EnableCallBack'????????],????????//查詢啟用的短信插件????????'EnableSms'?=>?[????????????'addon\smsbao\event\EnableSms'????????],????????'SmsTemplateInfo'?=>?[????????????'addon\smsbao\event\SmsTemplateInfo'????????]????],????'subscribe'?=>?[????],]; |
3:打開項目:\addon\smsbao\model\Sms.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
|
class?Sms?extends?BaseModel{????/**?????*?短信發送?????*?@param?array?$param?????*?@return?array|mixed?????*?@throws?InvalidArgumentException?????*/????public?function?send($param?=?[])????{????????$config_model?=?new?Config();????????$config_result?=?$config_model->getSmsConfig();????????if?($config_result[?"data"?][?"is_use"?])?{????????????$config?=?$config_result[?"data"?][?"value"?];????????????$sms_info?=?$param[?"message_info"?][?"sms_json_array"?];//消息類型模板?短信模板信息????????????if?(empty($sms_info[?"smsbao"?]))?return?$this->error([],?"消息模板尚未配置");????????????$sms_info?=?$sms_info[?"smsbao"?];????????????$var_parse?=?$param[?"var_parse"?];//變量解析????????????$smscontent?=?$sms_info['content'];????????????foreach?($var_parse?as?$k=>$v){????????????????$smscontent=str_replace('{'.$k.'}',$v,$smscontent);????????????}????????????$account?=?$param[?"sms_account"?];//發送手機號????????????$sms_config?=?[????????????????//?HTTP?請求的超時時間(秒)????????????????'timeout'?=>?5.0,????????????????//?默認發送配置????????????????'default'?=>?[????????????????????//?網關調用策略,默認:順序調用????????????????????'strategy'?=>?OrderStrategy::class,????????????????????//?默認可用的發送網關????????????????????'gateways'?=>?[?'smsbao'?],????????????????],????????????????//?可用的網關配置????????????????'gateways'?=>?[????????????????????"smsbao"?=>?[????????????????????????'user'?=>?$config[?"smsbao_key_id"?],????????????????????????'password'?=>?$config[?"smsbao_key_secret"?],????????????????????]????????????????],????????????];????????????try?{????????????????$easySms?=?new?EasySms($sms_config);????????????????$easySms->send($account,?[????????????????????'content'??=>?'【'.$config[?"smsbaosign"?].'】'.$smscontent,//????????????????????'template'?=>?$sms_info[?"template_id"?],????????????????????'data'?=>?$var_parse,????????????????]);????????????????return?$this->success([?"addon"?=>?"smsbao",?"addon_name"?=>?"短信寶短信",?"content"?=>?$sms_info[?"content"?]?]);????????????}?catch?(NoGatewayAvailableException?$exception)?{????????????????$message?=?$exception->getException('smsbao')->getMessage();????????????????return?$this->error([?"content"?=>?$sms_info[?"content"?]?],?$message???:?'短信發送異常');????????????}????????}????}} |
4:打開項目:addon\smsbao\shop\view\message\edit.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
|
<div?class="layui-form?form-wrap">???<div?class="layui-form-item">??????<label?class="layui-form-label">是否開啟:</label>??????<div?class="layui-input-block">?????????<input?type="checkbox"?name="sms_is_open"?value="1"?{if?$sms_is_open?==?1}checked{/if}?lay-skin="switch">??????</div>???</div>???<div?class="layui-form-item">??????<label?class="layui-form-label">數據值:</label>??????<div?class="layui-input-block">?????????{foreach?$message_variable_list?as?$message_variable_k?=>?$message_variable_v}?????????<button?class="layui-btn?layui-btn-primary?number-con"?onclick="clickBtn('{$message_variable_k}')">{$message_variable_v}</button>?????????{/foreach}??????</div>???</div>???<div?class="layui-form-item">??????<label?class="layui-form-label">短信內容:</label>??????<div?class="layui-input-block">?????????<textarea?id="text_area"?name="content"?class="layui-textarea?len-long">{if?!empty($info)}{$info.content}{/if}</textarea>??????</div>??????<div?class="word-aux">變量只能使用上方數據值中的變量,否則不會被解析</div>???</div>??????<div?class="form-row">??????<button?class="layui-btn"?lay-submit?lay-filter="save">保存</button>??????<button?class="layui-btn?layui-btn-primary"?onclick="back()">返回</button>???</div>???????????<input?type="hidden"?name="keywords"?value="{$keywords}"></div><script>???layui.use('form',?function()?{??????var?form?=?layui.form;??????var?repeat_flag?=?false;?//防重復標識??????form.render();??????/**???????*?監聽提交???????*/??????form.on('submit(save)',?function(data)?{?????????if?(repeat_flag)?return;?????????repeat_flag?=?true;??????????????????$.ajax({????????????dataType:?'JSON',????????????type:?'POST',????????????data:?data.field,????????????success:?function(res){???????????????repeat_flag?=?false;??????????????????????????????if?(res.code?==?0)?{??????????????????layer.confirm('編輯成功',?{?????????????????????title:'操作提示',?????????????????????btn:?['返回列表',?'繼續操作'],?????????????????????yes:?function(){????????????????????????location.href?=?ns.url("shop/message/lists")?????????????????????},?????????????????????btn2:?function()?{????????????????????????location.reload();?????????????????????}??????????????????});???????????????}else{??????????????????layer.msg(res.message);???????????????}????????????}?????????});??????});???});??????function?back(){??????location.href?=?ns.url("shop/message/lists");???}??????function?clickBtn(con)?{??????var?txtArea?=?$("#text_area")[0];??????var?content?=?txtArea.value;//文本域內容??????var?start?=?txtArea.selectionStart;??//光標的初始位置,selectionStart:選區開始位置;selectionEnd:選區結束位置。????????????txtArea.value?=?content.substring(0,?txtArea.selectionStart)?+?'{'?+?con?+?'}'?+?content.substring(txtArea.selectionEnd,?content.length);??????var?position?=?start?+?con.length;??????$("#text_area").focus();??????txtArea.setSelectionRange(position+1,?position+1);?//setSelectionRange()方法用來設置<input>元素當前選中的文本的開始和結束位置???}</script> |
5:打開項目:addon\smsbao\shop\view\sms\config.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
|
<div?class="layui-form?form-wrap">????<div?class="layui-form-item">????????<label?class="layui-form-label">是否開啟:</label>????????<div?class="layui-input-block"?id="isOpen">?????????<input?type="checkbox"?name="status"?lay-filter="isOpen"?value="1"?lay-skin="switch"?{if?condition="$info.is_use?==?1"}?checked?{/if}?/>????????</div>??????<div?class="word-aux">當前使用短信寶配置</div>????</div>???<div?class="layui-form-item">??????<label?class="layui-form-label">短信寶賬號:</label>??????<div?class="layui-input-block">?????????<input?type="text"?name="smsbao_key_id"?placeholder="請輸入短信寶賬號"?{if?$info.value?}?value="{$info.value.smsbao_key_id}"?{/if}?autocomplete="off"?class="layui-input?len-long">??????</div>???</div>???<div?class="layui-form-item">??????<label?class="layui-form-label">短信寶密碼:</label>??????<div?class="layui-input-block">?????????<input?type="text"?name="smsbao_key_secret"?placeholder="請輸入短信寶密碼"?{if?$info.value?}?value="{$info.value.smsbao_key_secret}"?{/if}?autocomplete="off"?class="layui-input?len-long">??????</div>???</div>???<div?class="layui-form-item">??????<label?class="layui-form-label">短信內容簽名:</label>??????<div?class="layui-input-block">?????????<input?type="text"?name="smsbaosign"?placeholder="請輸入短信內容簽名"?{if?$info.value?}?value="{$info.value.smsbaosign}"?{/if}?autocomplete="off"?class="layui-input?len-long">??????</div>???</div>????<!--?表單操作?-->????<div?class="form-row">????????<button?class="layui-btn"?lay-submit?lay-filter="save">保存</button>????????<button?class="layui-btn?layui-btn-primary"?onclick="back()">返回</button>????</div></div><script>????layui.use('form',?function()?{????????var?form?=?layui.form,????????????repeat_flag?=?false;?//防重復標識??????form.render();????????form.on('submit(save)',?function(data)?{????????????if?(repeat_flag)?return;????????????repeat_flag?=?true;?????????????????????$.ajax({????????????????data:?data.field,????????????????dataType:?'JSON',????????????????type:?'POST',????????????????success:?function(res)?{???????????????repeat_flag?=?false;??????????????????????????????if?(res.code?==?0)?{??????????????????layer.confirm('編輯成功',?{?????????????????????title:'操作提示',?????????????????????btn:?['返回列表',?'繼續操作'],?????????????????????yes:?function(){????????????????????????location.href?=?ns.url("shop/message/sms")?????????????????????},?????????????????????btn2:?function()?{????????????????????????location.reload();?????????????????????}??????????????????});???????????????}else{??????????????????layer.msg(res.message);???????????????}????????????????}????????????});????????});????});????function?back()?{????????location.href?=?ns.url("shop/message/sms");????}</script> |
經過上面的替換,短信寶的短信平臺已經替換成功了,可以正常使用了。進行測試發送:
報備一下短信寶的VIP模板,這樣就可以走短信寶的優質通道了,即便遇到敏感文字我們都不會人工審核,短信內容3~5秒就可送達。
另外:我們已經開發好完整的NIUSHOPV5.4.6單商戶多門店短信寶插件,點擊此鏈接?下載及查看安裝流
最新更新
電商類
CMS類
微信類