91成人在线播放_欧美一区二区视频在线观看_91精品国产高清久久久久久_国产精品久久亚洲不卡4k岛国


待發短信

在線客服
產品支持 短信寶客服
合作渠道 渠道合作
服務咨詢

4001-021-502

工作時間

9:00-21:00

WSTMall開源商城短信接口替換

WSTMall開源商城是一款基于ThinkPHP開發的多商戶新零售開源系統,因為使用的是ThinkPHP框架,所以二次開發比較容易,小編對此系統還比較了解,今天小編就以替換短信接口為例為大家講解一下如何進行二次開發,我們今天講解的是1.9.5版本,我們使用的短信接口是我們短信寶短信群發平臺的短信接口,我們短信寶短信群發平臺非常穩定,發送速度快,推薦大家使用。

因為短信配置是寫在數據庫中的所以我們先去修改數據庫中的接口信息,我們在項目\Apps\Home\Action 下建一個文件,取名叫SmsbaoAction.class.php,文件代碼為:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
namespace Home\Action;
use think\Db;
header("Content-type:text/html;charset=utf-8");
/**
* 短信寶短信插件
*/
class SmsbaoAction extends BaseAction
{
        
        public function smsbao()
        {
                $smsbao = M('sys_configs');
                $data['fieldName'] = '短信寶賬號';
                $data['fieldTips'] = '還沒有帳號?請點擊<a href="http://www.gjrencai.com/reg" style="color:red;">注冊</a>';
                $smsbao->where('fieldCode="smsKey"')->save($data);
                
                echo '短信寶插件安裝成功,請刪除Apps\home\action\SmsbaoAction.class.php文件';
        }
}

新建完成后我們需要運行一下修改數據庫,我們訪問 域名/index.php?m=home&c=Smsbao&a=smsbao,看到短信寶插件安裝成功,請刪除Apps\home\action\SmsbaoAction.class.php文件 即為修改成功,修改成功我們去修改接口發送文件,打開項目\Apps\Common\Common\function.php,添加以下代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/**
 * @param string $phoneNumer  手機號碼
 * @param string $content     短信內容
 */
function SmsbaoSMS($phoneNumer,$content){
        $url 'http://api.smsbao.com/sms?u='.$GLOBALS['CONFIG']['smsKey'].'&p='.md5($GLOBALS['CONFIG']['smsPass']).'&m='.$phoneNumer.'&c='.$content;
        $ch=curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//設置否輸出到頁面
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30 ); //設置連接等待時間
    curl_setopt($ch, CURLOPT_ENCODING, "gzip" );
    $data=curl_exec($ch);
    curl_close($ch);
    return $data;
}

另一處短信接口文件,打開項目\Upgrade\Upgrade\Apps\Common\Common\function.php,添加一下代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/**
 * @param unknown_type $phoneNumer
 * @param unknown_type $content
 */
function SmsbaoSMS($phoneNumer,$content){
        $url 'http://api.smsbao.com/sms?u='.$GLOBALS['CONFIG']['smsKey'].'&p='.md5($GLOBALS['CONFIG']['smsPass']).'&m='.$phoneNumer.'&c='.$content;
        $ch=curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//設置否輸出到頁面
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30 ); //設置連接等待時間
    curl_setopt($ch, CURLOPT_ENCODING, "gzip" );
    $data=curl_exec($ch);
    curl_close($ch);
    return $data;
}

接下來我們去修改調用短信接口的代碼,打開項目\Apps\Home\Model\LogSmsModel.class.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
<?php
namespace Home\Model;
/**
 * ============================================================================
 * WSTMall開源商城
 * 官網地址:http://www.wstmall.net
 * 聯系QQ:707563272
 * ============================================================================
 * 短信服務類
 */
class LogSmsModel extends BaseModel {
        /**
         * 插入并發送短訊記錄
         */
        public function sendSMS($smsSrc,$phoneNumber,$content,$smsFunc,$verfyCode,$imgVerfy=1){
                $USER = session('WST_USER');
                $userId empty($USER)?0:$USER['userId'];
                $m = M('log_sms');
                $ip = get_client_ip();
            //檢測短信驗證碼驗證是否正確
            if($GLOBALS['CONFIG']['smsVerfy']==1 && $imgVerfy==1){
                    $smsverfy = I('smsVerfy');
                    $verify new \Think\Verify(array('reset'=>false));    
                    $rs =  $verify->check($smsverfy);
                        if(!$rs){
                                return array('status'=>-29999,'msg'=>'驗證碼不正確!');
                        }
                }
                //檢測是否超過每日短信發送數
                $date date('Y-m-d');
                $sql = 'select count(smsId) counts,max(createTime) createTime from __PREFIX__log_sms
                          where smsPhoneNumber='.$phoneNumber.' and createTime>"'.$date.' 00:00:00" and createTime<="'.$date.' 23:59:59"';
                $smsRs $this->queryRow($sql);
                if($smsRs['counts']>(int)$GLOBALS['CONFIG']['smsLimit']){
                        return array('status'=>-20000,'msg'=>'請勿頻繁發送短信驗證!');
                }
                if($smsRs['createTime'] !='' && ((time()-strtotime($smsRs['createTime']))<120)){
                        return array('status'=>-20001,'msg'=>'請勿頻繁發送短信驗證!');
                }
                //檢測IP是否超過發短信次數
            $sql = 'select count(smsId) counts,max(createTime) createTime from __PREFIX__log_sms
                          where smsIP="'.$ip.'" and createTime>"'.$date.' 00:00:00" and createTime<="'.$date.' 23:59:59"';
                $ipRs $this->queryRow($sql);
                if($ipRs['counts']>(int)$GLOBALS['CONFIG']['smsLimit']){
                        return array('status'=>-20003,'msg'=>'請勿頻繁發送短信驗證!');
                }
                if($ipRs['createTime']!='' && ((time()-strtotime($ipRs['createTime']))<120)){
                        return array('status'=>-20004,'msg'=>'請勿頻繁發送短信驗證!');
                }
                
                $code = SmsbaoSMS($phoneNumber,$content);
            $data array();
                $data['smsSrc'] = $smsSrc;
                $data['smsUserId'] = $userId;
                $data['smsPhoneNumber'] = $phoneNumber;
                $data['smsContent'] = $content;
                $data['smsReturnCode'] = $code;
                $data['smsCode'] = $verfyCode;
                $data['smsIP'] = $ip;
                $data['smsFunc'] = $smsFunc;
                $data['createTime'] = date('Y-m-d H:i:s');
                $m->add($data);
                if(intval($code) == 0){
                        return array('status'=>1,'msg'=>'短信發送成功!');
                }else{
                        return array('status'=>-1,'msg'=>'短信發送失敗!');
                }
        }
}

好了,經過以上的替換,短信寶的短信平臺已經替換成功了,我們去進行發送測試:

報備一下短信寶的VIP模板,這樣就可以走短信寶的優質通道了,并且免審核了,短信內容3~5秒就可送達。
開源插件

最新更新

電商類

CMS類

微信類

文章標簽