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


待發短信

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

4001-021-502

工作時間

9:00-21:00

Fastadmin 新增短信寶短信接口

Fastadmin是一款基于ThinkPHP和Bootstrap的極速后臺開發框架,擁有豐富的應用插件市場,CMS、博客、問答、商城、小程序、工作流應有盡有。小編對他還是很了解。今天小編就以新增短信接口為例,給大家講解一下如何進行二次開發,使用的短信接口是我們短信寶短信群發平臺的短信接口,我們短信寶短信群發平臺的接口非常穩定,發送速度快,注冊就送測試短信,推薦大家使用。

插件的目錄結構如下:
 
├─smsbao插件目錄
 
│  ├─controller
 
│  │  ├─index.php
 
│  ├─library
 
│  │  ├─Smsbao.php        
 
│  ├─config.php         
 
│  ├─info.ini       
 
│  ├─Smsbao.php          
 

下面具體給大家說一下每個文件的作用及代碼 inde.php 渲染前臺頁面控制器

?
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
 
namespace addons\smsbao\controller;
 
use think\addons\Controller;
 
class Index extends Controller
{
    public function index()
    {
        $this->error("當前插件暫無前臺頁面");
    }
}

library目錄下的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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<?php
 
namespace addons\smsbao\library;
 
class Smsbao
{
    private $_params = [];
    protected $error = '';
    protected $config = [];
    protected static $instance = null;
    protected $statusStr = array(
        "0"  => "短信發送成功",
        "-1" => "參數不全",
        "-2" => "服務器空間不支持,請確認支持curl或者fsocket,聯系您的空間商解決或者更換空間!",
        "30" => "密碼錯誤",
        "40" => "賬號不存在",
        "41" => "余額不足",
        "42" => "帳戶已過期",
        "43" => "IP地址限制",
        "50" => "內容含有敏感詞"
    );
 
    public function __construct($options = [])
    {
        if ($config = get_addon_config('smsbao')) {
            $this->config = array_merge($this->config, $config);
        }
        $this->config = array_merge($this->config, is_array($options) ? $options : []);
    }
 
    /**
     * 單例
     * @param array $options 參數
     * @return Smsbao
     */
    public static function instance($options = [])
    {
        if (is_null(self::$instance)) {
            self::$instance = new static($options);
        }
        return self::$instance;
    }
 
    /**
     * 立即發送短信
     *
     * @return boolean
     */
    public function send()
    {
        $this->error = '';
        $params = $this->_params();
        $postArr = array(
            'u' => $params['u'],
            'p' => $params['p'],
            'm' => $params['mobile'],
            'c' => $params['msg']
        );
        $options = [
            CURLOPT_HTTPHEADER => array(
                'Content-Type: application/json; charset=utf-8'
            )
        ];
        $result = \fast\Http::sendRequest('http://api.smsbao.com/sms', $postArr, 'GET', $options);
        if ($result['ret']) {
            if (isset($result['msg']) && $result['msg'] == '0')
                return TRUE;
            $this->error = isset($this->statusStr[$result['msg']]) ? $this->statusStr[$result['msg']] : 'InvalidResult';
        else {
            $this->error = $result['msg'];
        }
        return FALSE;
    }
 
    private function _params()
    {
        return array_merge([
            'u' => $this->config['username'],
            'p' => md5($this->config['password']),
        ], $this->_params);
    }
 
    /**
     * 獲取錯誤信息
     * @return string
     */
    public function getError()
    {
        return $this->error;
    }
 
    /**
     * 接收手機
     * @param   string $mobile 手機號碼
     * @return Smsbao
     */
    public function mobile($mobile = '')
    {
        $this->_params['mobile'] = $mobile;
        return $this;
    }
 
    /**
     * 短信內容
     * @param   string $msg 短信內容
     * @return Smsbao
     */
    public function msg($msg = '')
    {
        $this->_params['msg'] = $this->config['sign'] . $msg;
        return $this;
    }
}

config.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
<?php
 
return array(
    0 =>
        array(
            'name'    => 'username',
            'title'   => '短信寶賬號',
            'type'    => 'string',
            'content' =>
                array(),
            'value'   => 'username',
            'rule'    => 'required',
            'msg'     => '',
            'tip'     => '',
            'ok'      => '',
            'extend'  => '',
        ),
    1 =>
        array(
            'name'    => 'password',
            'title'   => '短信寶密碼',
            'type'    => 'string',
            'content' =>
                array(),
            'value'   => 'password',
            'rule'    => 'required',
            'msg'     => '',
            'tip'     => '',
            'ok'      => '',
            'extend'  => '',
        ),
    2 =>
        array(
            'name'    => 'sign',
            'title'   => '短信簽名',
            'type'    => 'string',
            'content' =>
                array(),
            'value'   => '【短信簽名】',
            'rule'    => 'required',
            'msg'     => '',
            'tip'     => '例如【短信寶】',
            'ok'      => '',
            'extend'  => '',
        ),
);

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
<?php
 
namespace addons\smsbao;
 
use app\common\library\Menu;
use think\Addons;
 
/**
 * Smsbao插件
 */
class Smsbao extends Addons
{
 
    /**
     * 插件安裝方法
     * @return bool
     */
    public function install()
    {
 
        return true;
    }
 
    /**
     * 插件卸載方法
     * @return bool
     */
    public function uninstall()
    {
 
        return true;
    }
 
    /**
     * 插件啟用方法
     * @return bool
     */
    public function enable()
    {
 
        return true;
    }
 
    /**
     * 插件禁用方法
     * @return bool
     */
    public function disable()
    {
 
        return true;
    }
 
    /**
     * 短信發送
     * @param Sms $params
     * @return mixed
     */
    public function smsSend(&$params)
    {
        $smsbao = new library\Smsbao();
        $result = $smsbao->mobile($params['mobile'])->msg("你的短信驗證碼是:{$params['code']}")->send();
        return $result;
    }
 
    /**
     * 短信發送通知(msg參數直接構建實際短信內容即可)
     * @param   array $params
     * @return  boolean
     */
    public function smsNotice(&$params)
    {
        $smsbao = new library\Smsbao();
        $result = $smsbao->mobile($params['mobile'])->msg($params['msg'])->send();
        return $result;
    }
 
    /**
     * 檢測驗證是否正確
     * @param   Sms $params
     * @return  boolean
     */
    public function smsCheck(&$params)
    {
        return TRUE;
    }
}

經過上面的替換,短信寶的短信平臺已經替換成功了,可以正常使用了。進行測試發送:

報備一下短信寶的VIP模板,這樣就可以走短信寶的優質通道了,即便遇到敏感文字我們都不會人工審核,短信內容3~5秒就可送達。

另外:我們已經開發好完整的Fastadmin系統短信寶插件,點擊此鏈接 下載及查看安裝流程。

開源插件

最新更新

電商類

CMS類

微信類

文章標簽