精品深夜福利视频,日本中文字幕不卡,久久久久国产,av综合电影网站


待發短信

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

4001-021-502

工作時間

9:00-21:00

極致CMS系統新增短信寶短信接口

極致CMS是開源免費的PHPCMS網站內容管理系統,無商業授權,簡單易用,提供豐富的插件,實現零基礎搭建不同類型網站(企業站,門戶站,個人博客站等),是個建站的好幫手。小編帶著大家一起開發極致CMS的短信寶插件接口。我們使用的短信接口是我們短信寶短信群發平臺的短信接口,我們短信寶短信群發平臺非常穩定,發送速度快,注冊就送測試短信,推薦大家使用。
1.首先打開項目app\admin\exts,新增smsbao 文件并創建config.php

1
2
3
4
5
6
7
8
9
10
<?php
 
return [
    'name'=>'短信寶短信注冊',//插件名
    'desc'=>'使用短信寶短信注冊或者登錄系統',//插件介紹
    'author'=>'短信寶小編',//作者介紹,這里可以把自己的聯系方式帶上去,方便用戶溝通
    'version'=>'1.0',//插件版本,默認1.0為最低版本
    'update_time'=>'2025-06-12',//插件更新時間,格式:Y-m-d
    'module'=>'Home',//插件應用的模塊,Home表示前臺模塊,Admin表示后臺模塊.插件安裝的時候會據此加載控制器到對應的目錄中
];

接著創建PluginsController.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
<?php
namespace app\admin\exts;
 
use frphp\lib\Controller;
use frphp\extend\Page;
class PluginsController extends Controller {
 
    //自動執行
    public function _init(){
    /**
            繼承系統默認配置
 
        **/
 
        //檢查當前賬戶是否合乎操作
        if(!isset($_SESSION['admin']) || $_SESSION['admin']['id']==0){
            Redirect(U('Login/index'));
 
        }
 
        if($_SESSION['admin']['isadmin']!=1){
            if(strpos($_SESSION['admin']['paction'],','.APP_CONTROLLER.',')!==false){
 
            }else{
                $action = APP_CONTROLLER.'/'.APP_ACTION;
                if(strpos($_SESSION['admin']['paction'],','.$action.',')===false){
                   $ac = M('Ruler')->find(array('fc'=>$action));
                   if($this->frparam('ajax')){
 
                       JsonReturn(['code'=>1,'msg'=>'您沒有【'.$ac['name'].'】的權限!','url'=>U('Index/index')]);
                   }
                   Error('您沒有【'.$ac['name'].'】的權限!',U('Index/index'));
                }
            }
        }
 
        $webconf = webConf();
        $this->webconf = $webconf;
        $customconf = get_custom();
        $this->customconf = $customconf;
 
        //插件模板頁目錄
 
        $this->tpl = '@'.dirname(__FILE__).'/tpl/';
 
        /**
            在下面添加自定義操作
        **/
 
    }
 
    //執行SQL語句在此處處理,或者移動文件也可以在此處理
    public  function install(){
        //下面是新增test表的SQL操作        
        $this->recurse_copy(APP_PATH.'app/admin/exts/smsbao/file/',APP_PATH);
        return true;
 
    }
 
    //卸載程序,對新增字段、表等進行刪除SQL操作,或者其他操作
    public function uninstall(){
        if(is_dir(APP_PATH.'smsbao')){
            deldir(APP_PATH.'smsbao');
        }
        return true;
    }
 
    // 原目錄,復制到的目錄
    function recurse_copy($src,$dst) {  
 
        $dir = opendir($src);
        @mkdir($dst);
        while(false !== ( $file = readdir($dir)) ) {
            if (( $file != '.' ) && ( $file != '..' )) {
                if is_dir($src '/' $file) ) {
                    $this->recurse_copy($src '/' $file,$dst '/' $file);
                }
                else {
                    copy($src '/' $file,$dst '/' $file);
                }
            }
        }
        closedir($dir);
    }
 
    //安裝頁面介紹,操作說明
    public function desc(){
 
        $this->display($this->tpl.'plugins-description.html');
    }
 
    //配置文件,插件相關賬號密碼等操作
    public  function setconf($plugins){
        //將插件賦值到模板中
        $this->plugins = $plugins;
        $this->config = json_decode($plugins['config'],1);
 
        $this->display($this->tpl.'plugins-body.html');
    }
 
    //獲取插件內提交的數據處理
    public function setconfigdata($data){
 
        M('plugins')->update(['id'=>$data['id']],['config'=>json_encode($data,JSON_UNESCAPED_UNICODE)]);
        setCache('hook',null);//清空hook緩存
 
        JsonReturn(['code'=>0,'msg'=>'設置成功!']);
    }
 
}

2.接著在app\admin\exts\smsbao目錄下創建tpl文件夾并創建plugins-body.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
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    {include="style"}
<style>
.layui-form-label {
    width: 230px;
    }
</style>
</head>
<body >
  <div class="layui-rows" style="    margin: 84px;">
    <form class="layui-form" action="">
    <input name="id" value="{$plugins['id']}" type="hidden">
  <div class="layui-form-item">
    <label class="layui-form-label">短信寶賬號:</label>
    <div class="layui-input-inline">
      <input type="text" name="username" required  value="{$config['username']}" lay-verify="required" placeholder="請輸入短信寶賬號" autocomplete="off" class="layui-input">
    </div>
    <div class="layui-form-mid layui-word-aux">還沒注冊短信寶賬號? <a style="color: blue;" target="_blank" href=">去注冊</a></div>
  </div>
  <div class="layui-form-item">
    <label class="layui-form-label">短信寶APIKEY:</label>
    <div class="layui-input-inline">
      <input type="password" name="apiKey"  value="{$config['apiKey']}"  required lay-verify="required" placeholder="請輸入APIKEY" autocomplete="off" class="layui-input">
    </div>
    <div class="layui-form-mid layui-word-aux"></div>
  </div>
 <div class="layui-form-item">
    <label class="layui-form-label">短信簽名:</label>
    <div class="layui-input-inline">
      <input type="text" name="SignName" required  value="{$config['SignName']}" lay-verify="required" placeholder="短信簽名" autocomplete="off" class="layui-input">
    </div>
  </div>
   <div class="layui-form-item">
    <label class="layui-form-label">模板內容:</label>
    <div class="layui-input-inline">
      <input type="text" name="templateContent" required  value="{$config['templateContent']}" lay-verify="required" placeholder="模板內容" autocomplete="off" class="layui-input">
    </div>
    <div class="layui-form-mid layui-word-aux">模板示例:您的驗證碼為: {code},如非本人操作,請忽略本短信</div>
  </div>
  <div class="layui-form-item">
    <div class="layui-input-block">
      <button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>
      <button type="reset" class="layui-btn layui-btn-primary">重置</button>
    </div>
  </div>
</form>
</div>
    <script>
        $(function  () {
            layui.use('form'function(){
              var form = layui.form;
              //監聽提交
              form.on('submit(formDemo)'function(data){
                $.post("{fun U('setconf')}",data.field,function(res){
                    //console.log(res);return false;
                     var res = JSON.parse(res);
                     if(res.code==1){
                        layer.msg(res.msg);
                     }else{
                        layer.msg(res.msg, {icon: 6,time: 2000},function(){
                        window.location.reload();
                        });
                     }
                })
                return false;
              });
            });
        })
    </script>
</body>
</html>

3.接著在app\admin\exts\smsbao目錄下創建file\smsbao文件夾并創建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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<?php
 
ini_set("display_errors""on");
 
class Sms
{
 
    private static $sendUrl ';
    private static $statusStr array(
                "0" => "短信發送成功",
                "-1" => "參數不全",
                "-2" => "服務器空間不支持,請確認支持curl或者fsocket,聯系您的空間商解決或者更換空間!",
                "30" => "密碼錯誤",
                "40" => "賬號不存在",
                "41" => "余額不足",
                "42" => "帳戶已過期",
                "43" => "IP地址限制",
                "50" => "內容含有敏感詞",
                "51" => "手機號碼不正確"
            );
 
    public static $username '';
    public static $apiKey '';
    public static $SignName '';
    public static $templateContent '';
 
    public static function setdata($username,$apiKey,$SignName,$templateContent){
        static::$username $username;
        static::$apiKey $apiKey;
        static::$SignName $SignName;
        static::$templateContent $templateContent;
 
    }
 
    private static function curl_get($sendurl){
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $sendurl);
        curl_setopt($ch, CURLOPT_TIMEOUT, 1);
        curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"]);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $result = curl_exec($ch);
        curl_close($ch);
        return $result;
    }
    /**
     * 發送短信
     * @return stdClass
     */
    public static function sendSms($tel,$code) {
         try {
            $statusStr static::$statusStr;
            $user static::$username;
            $apikey static::$apiKey;
            $templateContent str_replace('{code}'$codestatic::$templateContent);
            $content '【'static::$SignName.'】'.$templateContent;
            $sendurl static::$sendUrl."u=".$user."&p=".$apikey."&m=".$tel."&c=".urlencode($content);
            $result static::curl_get($sendurl);
 
            if ($result == 0) {
                return $res['code'] = $result;
            }else{
                $res['code'] = $result;
                $res['msg'] = $statusStr[$result];
                return $res;
            }
        catch (\Exception $error) {
            $res['code'] = '-1';
            $res['msg'] = "發送失敗";
            return $res;
        }
 
        return $res['code'] = '0';
 
    }
 
}

4.接著在app\admin\exts\smsbao目錄下創建controller\home文件夾并創建MsgController.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
<?php
namespace app\home\plugins;
 
use app\home\c\CommonController;
 
 
class MsgController extends CommonController
{
 
    function _init(){
        parent::_init();
        $w['filepath'] = 'smsbao';
        $w['isopen'] = 1;
        $res = M('plugins')->find($w);
        if(!$res){
            JsonReturn(['code'=>1,'msg'=>'短信插件未開啟!']);
        }
        $res['config'] = json_decode($res['config'],1);
        $this->plugin = $res;
        require_once  APP_PATH.'smsbao/Sms.php';
        \Sms::setdata($res['config']['username'],$res['config']['apiKey'],$res['config']['SignName'],$res['config']['templateContent']);
    }
 
    function index(){
 
        $yzmname $this->frparam('codename',1);
        $yzm $this->frparam('yzm',1);
        if(isset($GLOBALS['Redis'])){
            $code $GLOBALS['Redis']->get($yzmname);
            if(!$yzm || md5(md5($yzm))!=$code){
 
                JsonReturn(['code'=>1,'msg'=>'驗證碼錯誤!','data'=>[]]);
            }
 
        }else{
            if(!$yzm || md5(md5($yzm))!=$_SESSION[$yzmname]){
 
                JsonReturn(['code'=>1,'msg'=>'驗證碼錯誤!','data'=>[]]);
            }
        }
        $tel $this->frparam('tel',1);
        if(strlen($tel)==11){
 
        }else{
            JsonReturn(['code'=>1,'msg'=>'手機號格式錯誤!','data'=>[]]);
        }
 
        $code = rand(100000,999999);
        $_SESSION['tel_code'] = $code;
        if(isset($GLOBALS['Redis'])){
            $GLOBALS['Redis']->setex('tel_code',5 * 60,$code);
        }
        $response = \Sms::sendSms($tel,$code);
        //echo "發送短信(sendSms)接口返回的結果:\n";
        //print_r($response);
        if($response['code']=='0'){
            JsonReturn(['code'=>0,'msg'=>'發送成功!','data'=>[]]);
 
        }else{
            JsonReturn(['code'=>1,'msg'=>$response['msg'],'data'=>[]]);
        }
 
    }
 
    function sendmsg($code,$tel){
        if(strlen($tel)==11){
 
        }else{
            JsonReturn(['code'=>1,'msg'=>'手機號格式錯誤!','data'=>[]]);
        }
 
        $_SESSION['tel_code'] = $code;
        if(isset($GLOBALS['Redis'])){
            $GLOBALS['Redis']->setex('tel_code',5 * 60,$code);
        }
        $response = \Sms::sendSms($tel,$code);
        //echo "發送短信(sendSms)接口返回的結果:\n";
        //print_r($response);
        if($response['code']=='0'){
            JsonReturn(['code'=>0,'msg'=>'發送成功!','data'=>[]]);
 
        }else{
            JsonReturn(['code'=>1,'msg'=>$response['msg'],'data'=>[]]);
        }
    }
}

5.接著在注冊、登錄頁面增加以下前端代碼

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
#################login.html頁面####################
<div class="form-control">
<label for="">手機驗證碼:</label>
<input type="text" value="" name="telyzm" id="telyzm" placeholder="請輸入手機驗證碼">
<button type="button" onclick="sendmsg()">發送驗證碼</button>
  </div>
function sendmsg(){
var tel = $("#tel").val();
if(tel==''){
alert('手機號不能為空!');
return false;
}
var vercode = $("#yzm").val();
if(vercode==''){
alert('圖形驗證碼不能為空!');
return false;
}
$.post('/msg/index',{tel:tel,yzm:vercode,codename:'login_vercode'},function(r){
alert(r.msg);
},'json');
}
 
#################register.html頁面####################
 
<div class="form-control">
<label for="">手機驗證碼:</label>
<input type="text" value="" name="telyzm" id="telyzm" placeholder="請輸入手機驗證碼">
<button type="button" onclick="sendmsg()">發送驗證碼</button>
  </div>
function sendmsg(){
var tel = $("#tel").val();
if(tel==''){
alert('手機號不能為空!');
return false;
}
var vercode = $("#yzm").val();
if(vercode==''){
alert('圖形驗證碼不能為空!');
return false;
}
$.post('/msg/index',{tel:tel,yzm:vercode,codename:'reg_vercode'},function(r){
alert(r.msg);
},'json');
}

經過上面的增加,短信寶的短信平臺已經對接成功了,可以正常使用了。

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

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

開源插件

最新更新

電商類

CMS類

微信類

文章標簽
精品深夜福利视频,日本中文字幕不卡,久久久久国产,av综合电影网站
国产精品毛片| 亚洲精品自拍| 久久亚洲视频| 中文不卡在线| 私拍精品福利视频在线一区| 欧美激情精品| 亚洲精品一级二级三级| 高清一区二区| 精品一二三区| 在线国产一区二区| 久热re这里精品视频在线6| 亚洲精品观看| 激情不卡一区二区三区视频在线| 国产精品99一区二区三| 亚洲精品四区| 日韩中文字幕一区二区高清99| 日韩毛片视频| 日韩动漫一区| 亚洲精品三级| 天使萌一区二区三区免费观看| 国产日韩欧美中文在线| 99在线观看免费视频精品观看| av中文字幕在线观看第一页 | 国产精品毛片视频| 亚洲高清影视| 国产精品yjizz视频网| 国产精品亲子伦av一区二区三区| 成人av动漫在线观看| 亚洲精品国产嫩草在线观看| 亚洲深夜视频| 国产探花一区| 久久伊人国产| 精品国产欧美日韩一区二区三区| 伊人成人网在线看| 老牛影视一区二区三区| 久久成人福利| 国产亚洲精品自拍| 亚洲视频二区| se01亚洲视频| 日韩专区欧美专区| 亚洲精品福利电影| 91九色精品| 免费观看在线综合| 久久国产欧美日韩精品| 日韩不卡手机在线v区| 久久狠狠久久| 欧美日韩精品免费观看视欧美高清免费大片| 婷婷视频一区二区三区| 免费毛片在线不卡| 亚洲一区二区三区高清| 精品少妇av| 青草av.久久免费一区| 欧美日韩在线网站| 国产欧美一区二区三区精品观看| 欧美激情日韩| 日韩av午夜在线观看| 欧美亚洲一区二区三区| 另类av一区二区| 久久婷婷一区| 欧美成人aaa| 欧美aⅴ一区二区三区视频| 日本aⅴ免费视频一区二区三区| 国产一区二区三区日韩精品| 综合国产在线| 91精品婷婷色在线观看| 日韩和欧美一区二区三区| 天堂va欧美ⅴa亚洲va一国产| 日本精品影院| 欧美 日韩 国产一区二区在线视频 | 日韩午夜黄色| 欧美日韩一视频区二区| 精品一区在线| av一区二区高清| 婷婷色综合网| 国产日韩精品视频一区二区三区| 国产精品视频一区二区三区综合| 国产精品日本一区二区不卡视频 | 综合五月婷婷| 日韩影片在线观看| 国产精品va视频| 久久精品 人人爱| 日韩av中文字幕一区二区三区| 一区二区三区国产在线| 日韩一区免费| 国产精品亚洲综合色区韩国| 久久国内精品视频| 麻豆免费精品视频| 日韩欧美三级| 欧美成人一二区| 日韩av在线中文字幕| 欧美亚洲国产激情| 日韩一区二区三免费高清在线观看| 亚洲四虎影院| 国产精品亚洲欧美一级在线| 青草国产精品| 国内不卡的一区二区三区中文字幕| 免费观看亚洲天堂| 欧美xxxx中国| 国产精品美女久久久浪潮软件| 不卡中文一二三区| 亚洲欧美日韩国产综合精品二区| 中文字幕视频精品一区二区三区 | 久久久久国产| 美美哒免费高清在线观看视频一区二区| 精品99在线| 久久大逼视频| 你懂的国产精品| 99国产精品视频免费观看一公开 | 首页国产精品| 午夜在线观看免费一区| 国产欧美日韩精品一区二区三区| 欧洲一级精品| 亚洲精品免费观看| 四虎成人av| 久久亚洲电影| 国产经典一区| 在线一区电影| 久久久免费人体| 亚洲手机视频| 女生影院久久| 1024精品久久久久久久久| 欧美国产另类| 日韩精品a在线观看91| 精品国产一区二区三区噜噜噜| 国产精品一国产精品k频道56| 免费黄色成人| 桃色一区二区| 国产乱子精品一区二区在线观看| 国产精品xx| 日韩av首页| 国产精品欧美大片| 亚洲影院天堂中文av色| 99精品视频在线| 精品视频在线一区二区在线| 国产丝袜一区| 日韩高清三区| 免费在线观看成人| 影音先锋久久| 日韩视频精品在线观看| 日韩欧美综合| 高清av不卡| 国产精品麻豆久久| 欧美aa在线视频| 国产成人免费精品| 亚洲三级欧美| 久久国产小视频| 国产一区二区三区自拍| 亚洲二区视频| 精品一区二区三区视频在线播放| 国产欧美日韩在线一区二区| 欧美久久精品| 国产精品1luya在线播放| 六月婷婷综合| 精品一区二区三区中文字幕在线| 欧美日韩一视频区二区| 欧美黑人巨大videos精品| 久久电影tv| 模特精品在线| 色偷偷色偷偷色偷偷在线视频| 亚洲综合福利| 麻豆91精品91久久久的内涵| 国产aⅴ精品一区二区三区久久| 伊人久久在线| 免费在线观看一区二区三区| 国产精品成人国产| 欧美日韩国产高清电影| 国产精品一区二区中文字幕| 亚洲大片在线| 卡一卡二国产精品| 丝袜诱惑制服诱惑色一区在线观看 | 91看片一区| 久久国产精品毛片| 福利一区二区| 国产精品中文| 亚洲ab电影| 免费在线观看一区二区三区| 久久uomeier| 久久精品 人人爱| 综合视频一区| 性色一区二区| 亚洲福利精品| 国产精品精品国产一区二区| 亚洲一级大片| 婷婷中文字幕一区| 日韩免费看片| 久久爱www成人| 亚洲精品极品少妇16p| sm久久捆绑调教精品一区| 国产精品对白| 美女av一区| 精品中国亚洲| 福利一区在线| 精品免费视频| 日韩和欧美一区二区三区| 亚洲欧美网站在线观看| 日韩专区一卡二卡| 亚洲一区有码| 亚洲ab电影| 国产精品v一区二区三区| 国产精品99精品一区二区三区∴ |