云EC電商系統是一套基于PHP+MYSQL的開源電商系統軟件,他是免費的開源的,使用范圍廣泛,小編對他還是比較熟悉的,今天小編就來分享一下如何進行二次開發。以替換短信接口為例,一步一步教大家開發過程,我們短信寶短信群發平臺非常穩定,發送速度快,注冊就送您免費測試短信,大家可以在短信寶注冊一個帳號,進行測試。
首先我們先替換一下后臺的顯示界面,打開模版文件,項目/view/admin/message.sms.html文件,替換16~21行、49行,代碼如下:
|
1
2
3
4
5
6
|
<div id="mainnav" class="tabhd"> <ul> <li class="cur"><a href="javascript:void(0);" title="">短信寶</a></li> <li><a href="javascript:void(0);" title="">待接入</a></li> </ul></div> |
|
1
|
<input name="code" type="hidden" value="smsbao"> |
經過替換后所有的顯示已經變成短信寶的了,我們在項目/inc/module/下建一個smsbao_install.php文件,這個是安裝短信寶的文件,代碼如下:
|
1
2
3
4
5
6
7
8
9
|
<?phpif (!defined('in_mx')) {exit('Access Denied');}$db = dbc(); global $db;$res=$db->insert('sms_config',array('code'=>'smsbao', 'name'=>'短信寶','signname'=>'云EC','config'=>'{"appkey":"","secretKey":"","reg":"${product},\u60a8\u7684\u9a8c\u8bc1\u7801\u4e3a\uff1a${code}\u6253\u6b7b\u4e5f\u4e0d\u80fd\u544a\u8bc9\u522b\u4eba\u54e6","login":"${product},\u60a8\u7684\u9a8c\u8bc1\u7801\u4e3a\uff1a${code}\u6253\u6b7b\u4e5f\u4e0d\u80fd\u544a\u8bc9\u522b\u4eba\u54e6","updatepwd":"${product},\u60a8\u7684\u9a8c\u8bc1\u7801\u4e3a\uff1a${code}\u6253\u6b7b\u4e5f\u4e0d\u80fd\u544a\u8bc9\u522b\u4eba\u54e6","setpaypwd":"${product},\u60a8\u7684\u9a8c\u8bc1\u7801\u4e3a\uff1a${code}\u6253\u6b7b\u4e5f\u4e0d\u80fd\u544a\u8bc9\u522b\u4eba\u54e6","changemobile":"${product},\u60a8\u7684\u9a8c\u8bc1\u7801\u4e3a\uff1a${code}\u6253\u6b7b\u4e5f\u4e0d\u80fd\u544a\u8bc9\u522b\u4eba\u54e6","order":"\u606d\u559c\u4f60\u4e0b\u5355\u6210\u529f\uff0c\u8ba2\u5355\u53f7\u4e3a\uff1a${order_sn},\u795d\u4f60\u8d2d\u7269\u6109\u5feb\uff01"}','status'=>1));if($res){ echo '短信寶插件安裝成功,請刪除inc/module/smsbao_install.php文件';}else{ echo '安裝失敗,請咨詢短信寶客服';}exit();?> |
接下來我們進行替換發送短信業務的代碼,我們在項目/inc/plugin/sms/建立一個smsbao的文件夾,在這個文件夾中建立一個smsbao.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
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
|
<?php if (!defined('in_mx')) {exit('Access Denied');} date_default_timezone_set('Asia/Shanghai'); $sms_mod = array(); $sms_mod['code'] = "smsbao"; //代碼 $sms_mod['name'] = '短信寶';//名稱 $sms_mod['config'] = json_encode(array('appkey'=>'','secretKey'=>'','reg'=>'','login'=>'','updatepwd'=>'','setpaypwd'=>'','changemobile'=>''));//配置信息 $sms_param=array( array('name'=>'smsconfig_appkey','value'=>'appkey','type'=>'text','desc'=>"短信寶用戶名,還沒有短信寶賬戶?點擊馬上<a href='http://www.gjrencai.com' target='_blank'>免費注冊</a>"), array('name'=>'smsconfig_secretKey','value'=>'secretKey','type'=>'text','desc'=>'短信寶密碼'), array('name'=>'smsconfig_reg','value'=>'注冊模板','type'=>'text','desc'=>''), array('name'=>'smsconfig_login','value'=>'登錄模板','type'=>'text','desc'=>''), array('name'=>'smsconfig_updatepwd','value'=>'修改密碼模板','type'=>'text','desc'=>''), array('name'=>'smsconfig_setpaypwd','value'=>'設置支付密碼模板','type'=>'text','desc'=>''), array('name'=>'smsconfig_changemobile','value'=>'更改手機號碼模板','type'=>'text','desc'=>''), array('name'=>'smsconfig_order','value'=>'訂單提醒模板','type'=>'text','desc'=>'有新訂單時,短信提醒'), ); function sendsms($recNum, $appkey,$secretKey,$signName='',$param='',$tplcode='',$extend='',$sms_type='code') { $pa['u'] = $appkey; $pa['p'] = md5($secretKey); $pa['m'] = $recNum; $tpl=$tplcode; $param=json_decode($param); foreach($param as $key=>$val){ if(strpos($tpl,$key)){ $tpl=str_replace('${'.$key.'}',$val,$tpl); } } $pa['c'] = "【".$signName."】".$tpl; $data=array('err'=>''); if($ret!='0'){ return $data['err']=getResult($ret); } } /** * 發送http請求 * @access protected * @param string $url 請求地址 * @param string $param get方式請求內容,數組形式,post方式時無效 * * @param string $data post請求方式時的內容,get方式時無效 * @param string $method 請求方式,默認get */ function http($url, $param, $data = '', $method = 'GET'){ $opts = array( CURLOPT_TIMEOUT => 30, CURLOPT_RETURNTRANSFER => 1, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_SSL_VERIFYHOST => false, ); /* 根據請求類型設置特定參數 */ $opts[CURLOPT_URL] = $url . '?' . http_build_query($param); if(strtoupper($method) == 'POST'){ $opts[CURLOPT_POST] = 1; $opts[CURLOPT_POSTFIELDS] = $data; if(is_string($data)){ //發送JSON數據 $opts[CURLOPT_HTTPHEADER] = array( 'Content-Type: application/json; charset=utf-8', 'Content-Length: ' . strlen($data), ); } } /* 初始化并執行curl請求 */ $ch = curl_init(); curl_setopt_array($ch, $opts); $data = curl_exec($ch); $error = curl_error($ch); curl_close($ch); //發生錯誤,拋出異常 if($error) throw new \Exception('請求發生錯誤:' . $error); return $data; } function getResult($key){ $rst['30'] = '密碼錯誤'; $rst['40'] = '賬號不存在'; $rst['41'] = '余額不足'; $rst['42'] = '帳號過期'; $rst['43'] = 'IP地址限制'; $rst['50'] = '內容含有敏感詞'; $rst['51'] = '手機號碼不正確'; return $rst[$key]; }?> |
接下來我們修改一下調用接口的文件,在項目/inc/admin_inc/page/message.sms.php文件,修改第6行左右,代碼如下:
|
1
|
$code = $code=='' ?'smsbao':$code; |
在項目/inc/lib/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
|
public function __construct($sms_sp='') { global $ym_sms_sp; $sms_sp = 'smsbao'; $ym_val=get_cache('sms', cache_static,$sms_sp); $this->sms_config = $ym_val; require plugin.'sms/'.$sms_sp.'/'.$sms_sp.'.php'; } /**發送短信通知提醒*/ function sms_notice($mobile, $type, $param=array()) { global $ym_notice_mobile; switch ($type) { case 'order': //下訂單通知商家 $tpl_type ='order'; $mobile = $ym_notice_mobile; break; default: $param=''; break; }return sendsms_patch($mobile, $tpl_type, json_encode($param,true));} |
好了,經過以上的替換,短信寶的短信平臺已經替換成功了,可以正常使用了。最后我們進行發送測試。

報備一下短信寶的VIP模板,這樣就可以走短信寶的優質通道了,并且免審核了,短信內容3~5秒就可送達。
最新更新
電商類
CMS類
微信類