国产精品爱啪在线线免费观看_97视频精品_欧美精品一区二区在线播放_国产欧美久久一区二区三区

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6925|回復: 0

[插件開發] Discuz 插件開發【X3.5】 二次開發 - 在線手冊

[復制鏈接]
1#
發表于 2024-4-7 21:07:05 | 只看該作者 |倒序瀏覽 |閱讀模式

馬上注冊,結交更多好友,享用更多功能,讓你輕松玩轉社區

您需要 登錄 才可以下載或查看,沒有賬號?立即注冊

×
驗證插件二次開發

本功能由PHP+MYSQL語言開發,無縫對接新秀網絡驗證系統,采用獨立入口文件、類文件、第三方類文件庫進行調用開發。所有功能實現及控制均采用api接口操作,數據輸出形式為JSON、XML兩種常見形式,達到毫秒級數據快速交換功能。

1、插件開發是結合新秀網絡驗證系統進行的二次開發,不能獨立使用;

2、插件開發遵循Discuz、新秀網絡驗證、PHP語言規范開發;

3、插件開發適用于新秀網絡驗證系統3.5 ver1.3版本以后;

4、本功能與新秀網絡驗證系統、擴展框架系統,代碼相互獨立,但功能同時執行;

5、插件開發可使用Discuz內置函數、新秀網絡驗證內置函數、PHP函數。

適用環境:php版本>7.0、Mysql版本>5.5以上、Discuz版本>3.5。

= Discuz資料庫  = Discuz插件開發文檔  = 開發交流  =  BUG反饋  =  QQ客服:3188639  QQ交流群:281079920


接口開發常用函數

1、DB數據庫操作函數    /*常用MYSQL數據庫操作命令,增、減、改、查功能函數。*/

2、新秀網絡驗證數據庫對照表    /*新秀網絡驗證系統內部,所有數據庫表及說明*/

3、Discuz官方數據庫對照表  /*Discuz官方數據庫表,包括discuz、UCente數據庫字典。*/

4、Discuz基礎框架、類、函數    /*包含Discuz官方基礎框架、類、函數、方法使用說明。*/

5、新秀網絡基礎框架類、函數    /*包含新秀網絡驗證基礎框架、類、函數、方法使用說明。*/


驗證插件二次開發示例

1、ip地址查詢   /*用于查詢ip地址接口!*/


使 用 簡 介

1、插件開發演示文件下載(IP地址查詢)

插件開發模版ip查詢插件.zip (8.63 KB, 下載次數: 646)

2、插件開發演示文件目錄說明

xinxiu_network_plugin \\新秀網絡驗證應用中心插件主目錄

—lib \\自定義類存放目錄 (用于開發者存放第三方類、自定義類)

—function \\自定義方法存放目錄 (用于開發者存放自定義開發接口類和方法)

——function_dev.php \\自定義方法類開發文件 (自定義開發接口方法類)

—plugins \\插件數據庫代碼存放目錄 (用于開發者存放插件數據庫執行代碼)

dev \\插件名目錄

——extend_network.php \\設置插件數據庫執行代碼文件(數據新增、更新、刪除,接口增加、刪除功能,插件安裝和卸載代碼)

template \\插件前端htm開發存放目錄(根據discuz官方插件前臺開發代碼進行開發

admin_dev_set.inc.php \\插件后臺設置文件(根據discuz官方插件后臺開發代碼進行開發,并在插件設計頁面自行增加插件設置文件入口)

—dev.inc.php \\自定義接口入口開發文件

3、如何安裝、開發、調試?

#1、下載演示文件后,上傳至新秀網絡驗證應用中心插件根目錄。discuz論壇插件根目錄 \source\plugin\xinxiuvip_network_plugin\

#2、使用PHP代碼編輯軟件,對入口文件 dev.inc.php 和 自定義方法類文件 function_dev.php 等進行開發,注意:UTF8及GBK編碼問題。

#3、如需新增接口文件,請根據演示文件,修改 “dev” 為您想要的文件名,但不能與新秀框架插件內文件名沖突,且開發的接口方法,不能與新秀框架沖突

#4、如何發布自己開發的插件并獲取一定收益,請聯系客服QQ:

#5、功能代碼開發完成,組裝調試接口:


//根據演示文件中組裝url接口地址

http://demo35.xinxiuvip.com/plugin.php?id=xinxiuvip_network_plugin:ip&action=ip_cha&key=123456&ip=14.21.97.153


[PHP] 純文本查看 復制代碼
{
    "code": 200,
    "result": "ok",
    "count": 2,
    "data": {
        "ip": "14.21.97.153",
        "dizhi": "- 中國廣東"
    },
    "sqltime": "0.01041s"
}

ip.inc.php入口文件代碼實例
[PHP] 純文本查看 復制代碼
<?php
/*
 技術支持 QQ:3188639 QQ交流群:281079920
 官方網站 [url=http://www.5566wy.com/]http://www.5566wy.com/[/url]
 獲取授權 [url=http://www.5566wy.com/plugin.php?id=xinxiuvip_license:accredit]http://www.5566wy.com/plugin.php?id=xinxiuvip_license:accredit[/url]
 接口開發手冊 [url=http://www.5566wy.com/forum.php?mod=viewthread&tid=574]http://www.5566wy.com/forum.php?mod=viewthread&tid=574[/url]
 嚴禁反編譯、逆向等任何形式的侵權行為,違者將追究法律責任!
*/

#========================================
#以下兩行代碼,用于開發環境下代碼錯誤提示,可根據提示信息進行代碼檢查,無誤后即可注釋掉!
//ini_set("display_errors", "on");
//error_reporting(E_ALL);
#========================================

#========================================
#防止游客直接輸入網址進行訪問,權限檢測,勿動!!!
if (! defined('IN_DISCUZ')) {
    exit('Access Denied');
}
#========================================

#========================================
#引入自定義開發類文件,此文件保存位置 'function/dev' 代表 function/function_dev.php 如需修改請按格式進行!
C::import('function/ip', 'plugin/xinxiuvip_network_plugin', false);//注意這里插件開發和接口二次開發不同!
$api = new function_ip();//實例化function_dev.php類操作,實例化后可用$api->調用function_dev.php中的類方法!
#========================================


#此處為入口文件,根據接口方法,調用對應類方法。
switch ($api->action) { //$api->action 獲取入口方法,勿動!!!

    #========================================
    case 'ip_cha': // 判斷是否是此方法,如果是則進入下一步!
       
        $ip =  xx_client::safe_check('ip', true); //判斷參數傳輸,params為參數名稱,iscore為是否是必填項(true為必填,false為可空)
        $api->ip_cha($ip);//調用function_dev.php實例化后類方法,根據類方法設置傳入參數。
        break;
    #此處代碼根據接口開發需求,可以無限添加循環。
    #========================================

    #========================================
    case 'ip_demo': // 判斷是否是此方法,如果是則進入下一步!
        $ip =  xx_client::safe_check('ip', true); //判斷參數傳輸,params為參數名稱,iscore為是否是必填項(true為必填,false為可空)
        $api->ip_demo($ip);//調用function_dev.php實例化后類方法,根據類方法設置傳入參數。
        break;
    #此處代碼根據接口開發需求,可以無限添加循環。
    #========================================

    #========================================
    #此處代碼是判斷接口輸入是否正確。勿刪!!!
    default:
        xx_client::json_output(400,'error010');
        break;
    #========================================
}

function_ip.php自定義方法類代碼實例
[PHP] 純文本查看 復制代碼
<?php
/*
 技術支持 QQ:3188639 QQ交流群:281079920
 官方網站 [url=http://www.5566wy.com/]http://www.5566wy.com/[/url]
 獲取授權 [url=http://www.5566wy.com/plugin.php?id=xinxiuvip_license:accredit]http://www.5566wy.com/plugin.php?id=xinxiuvip_license:accredit[/url]
 接口開發手冊 [url=http://www.5566wy.com/forum.php?mod=viewthread&tid=574]http://www.5566wy.com/forum.php?mod=viewthread&tid=574[/url]
 嚴禁反編譯、逆向等任何形式的侵權行為,違者將追究法律責任!
*/

#========================================
#以下兩行代碼,用于開發環境下代碼錯誤提示,可根據提示信息進行代碼檢查,無誤后即可注釋掉!
//ini_set("display_errors", "on");
//error_reporting(E_ALL);
#========================================

#========================================
#防止游客直接輸入網址進行訪問,權限檢測,勿動!!!
if (! defined('IN_DISCUZ')) {
    exit('Access Denied');
}
#========================================

#========================================
#引入核心系統類,勿刪!!!
C::import('class/plugin','plugin/xinxiuvip_network_plugin',false);
require_once DISCUZ_ROOT.'./config/config_ucenter.php';
require_once DISCUZ_ROOT.'./uc_client/client.php';
#========================================


#========================================
#如何引入自定義系統類?
#1、將自定義核心類、第三方核心類上傳至extend文件夾下;
#2、通過 C::import 、 require_once 兩種引入形式引入第三方核心類;
#3、在下方 public function dev_demo1($demo1,$demo2) 方法中實例化后使用 $new-> 進行調用。
#========================================


class function_ip extends class_plugin
{
    public $action_all = array('ip_cha','ip_demo');//所有接口必填,用逗號隔開!!!除以下key、adminkey所包含以外,未包含的接口都是通過token令牌進行訪問。
    public $function_action_key = array('ip_cha','ip_demo');//使用key密鑰訪問的接口
    public $function_action_adminkey = array();//使用管理密鑰adminkey訪問的接口

    /**
     * 構造方法 __construct() 是在實例化對象時被自動調用
     * 用途:可以用于初始化程序(可以給成員屬性賦值,也可以調用成員方法)
     */
    public function __construct(){
        $this->plugin_status();//判斷插件后臺開啟狀態,勿刪!
        parent::__construct();//注意這里和接口二次開發不同
    }

    #========================================
    #此處為標準類方法,可根據DISCUZ、新秀網絡驗證內置函數進行調用,也可使用PHP官方函數進行操作。
    public function ip_cha($ip){

        #-具體DISCUZ內置函數、新秀網絡驗證內置函數、PHP函數,論壇相應帖子有專門介紹。
        $tinyipfile = DISCUZ_ROOT.'./data/ipdata/tinyipdata.dat';
        $data = $this->convertip_tiny($ip,$tinyipfile);
        $data_array = array(
            'ip'=>$ip,
            'dizhi'=>$data,
        );
        $data ? xx_client::json_output(200,'ok',$data_array): $this->json_output(400,'請檢查IP地址是否正確!');
        #-具體DISCUZ內置函數、新秀網絡驗證內置函數、PHP函數,論壇相應帖子有專門介紹。
    }
    #========================================

    #========================================
    #演示方法設置鉤子
    public function ip_demo($ip){
        #========================================
        #嵌入插件開發鉤子,注意:此擴展方法在應用中心擴展文件中使用‘extend_plugin.php’;
        xx_client::class_hook('hook_ip_ip_cha',array('ip'=>$ip));

        /*
         * 下面是插件拓展對應的方法
         * 注意class_hook中的'hook_ip_ip_cha' 就是擴展文件中的方法名!
         *
        public function hook_ip_ip_cha($data){
            var_dump($data,'plugin');
        }
        */
        #========================================
    }
    #========================================


    function convertip_tiny($ip, $ipdatafile) {//獲取ip地址的方法類

        static $fp = NULL, $offset = array(), $index = NULL;

        $ipdot = explode('.', $ip);
        $ip    = pack('N', ip2long($ip));

        $ipdot[0] = (int)$ipdot[0];
        $ipdot[1] = (int)$ipdot[1];

        if($fp === NULL && $fp = @fopen($ipdatafile, 'rb')) {
            $offset = @unpack('Nlen', @fread($fp, 4));
            $index  = @fread($fp, $offset['len'] - 4);
        } elseif($fp == FALSE) {
            return  '- Invalid IP data file';
        }

        $length = $offset['len'] - 1028;
        $start  = @unpack('Vlen', $index[$ipdot[0] * 4] . $index[$ipdot[0] * 4 + 1] . $index[$ipdot[0] * 4 + 2] . $index[$ipdot[0] * 4 + 3]);

        for ($start = $start['len'] * 8 + 1024; $start < $length; $start += 8) {

            if ($index[$start] . $index[$start + 1] . $index[$start + 2] . $index[$start + 3] >= $ip) {
                $index_offset = @unpack('Vlen', $index[$start + 4] . $index[$start + 5] . $index[$start + 6] . "\x0");
                $index_length = @unpack('Clen', $index[$start + 7]);
                break;
            }
        }

        @fseek($fp, $offset['len'] + $index_offset['len'] - 1024);
        if($index_length['len']) {
            return '- '.@fread($fp, $index_length['len']);
        } else {
            return '- Unknown';
        }

    }

    /**
     * 析構方法 __destruct() 是在對象被銷毀時自動調用
     * 用途:可以進行資源的釋放操作或文件的關閉操作或信息保存操作
     */
    public function __destruct()
    {
        return parent::__destruct(); // TODO: Change the autogenerated stub
    }

}

admin_qq_set.inc.php插件后臺設置文件
[PHP] 純文本查看 復制代碼
<?php

/*
 技術支持 QQ:3188639 QQ交流群:281079920
 官方網站 [url=http://www.5566wy.com/]http://www.5566wy.com/[/url]
 獲取授權 [url=http://www.5566wy.com/plugin.php?id=xinxiuvip_license:accredit]http://www.5566wy.com/plugin.php?id=xinxiuvip_license:accredit[/url]
 接口開發手冊 [url=http://www.5566wy.com/forum.php?mod=viewthread&tid=574]http://www.5566wy.com/forum.php?mod=viewthread&tid=574[/url]
 嚴禁反編譯、逆向等任何形式的侵權行為,違者將追究法律責任!
*/

if (! defined('IN_DISCUZ') || ! defined('IN_ADMINCP')) {
    exit('Access Denied');
}
C::import('class/client','plugin/xinxiuvip_network',false);
global $_G;


$tips = '<li>此處為ip插件公開源碼的,后臺演示頁面,做為開發者參考;</li><li>本后臺函數根據discuz官方后臺頁面開發文檔開發即可:</li><li>如不需要請刪除插件根目錄admin_ip_set.inc.php即可!</li>';
showtips($tips, 'tips', true, '溫馨提示');


extend_network.php插件安裝卸載配置實例
[PHP] 純文本查看 復制代碼
<?php

/*
 技術支持 QQ:3188639 QQ交流群:281079920
 官方網站 [url=http://www.5566wy.com/]http://www.5566wy.com/[/url]
 獲取授權 [url=http://www.5566wy.com/plugin.php?id=xinxiuvip_license:accredit]http://www.5566wy.com/plugin.php?id=xinxiuvip_license:accredit[/url]
 接口開發手冊 [url=http://www.5566wy.com/forum.php?mod=viewthread&tid=574]http://www.5566wy.com/forum.php?mod=viewthread&tid=574[/url]
 嚴禁反編譯、逆向等任何形式的侵權行為,違者將追究法律責任!
*/

if(!defined('IN_DISCUZ')) {
    exit('Access Denied');
}

C::import('class/plugin','plugin/xinxiuvip_network_plugin',false);//引入系統核心類

class extend_network extends class_plugin {

    public function __construct()//構造方法
    {
        parent::__construct(false);
    }

    public function hook_plugin_install(){//插件安裝代碼
        $sql = <<<EOF
        CREATE TABLE IF NOT EXISTS `pre_xinxiuvip_plugin_ip` (
          `id` BIGINT(16) unsigned NOT NULL AUTO_INCREMENT,
          `text1` longtext NOT NULL,
          PRIMARY KEY (`id`)
        ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 ;
EOF;
        return $sql;
    }

    public function hook_plugin_upgrade(){//插件更新代碼
        $sql = <<<EOF
        CREATE TABLE IF NOT EXISTS `pre_xinxiuvip_plugin_ip` (
          `id` BIGINT(16) unsigned NOT NULL AUTO_INCREMENT,
          `text1` longtext NOT NULL,
          PRIMARY KEY (`id`)
        ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 ;
EOF;
        return $sql;

    }
    public function hook_plugin_uninstall(){//插件卸載代碼
        $sql = <<<EOF
DROP TABLE IF EXISTS `pre_xinxiuvip_plugin_ip`;
EOF;
        
        return $sql;

    }
    public function hook_plugin_actions_install(){//插件安裝接口代碼

        $actions_array = array(
            array(
                'type'=>'ip模塊',
                'name'=>'查詢ip地址',
                'actions'=>'ip_cha',
                'url'=>'http://www.5566wy.com/forum.php?mod=viewthread&tid=556',
            ),
        );
       return $actions_array;

    }
    public function hook_plugin_actions_upgrade(){//插件接口更新代碼
    
    }
}

帖子永久地址: 

新秀網絡驗證系統 - 論壇版權1、本主題所有言論和圖片純屬會員個人意見,與本論壇立場無關
2、本站所有主題由該帖子作者發表,該帖子作者與新秀網絡驗證系統享有帖子相關版權
3、其他單位或個人使用、轉載或引用本文時必須同時征得該帖子作者和新秀網絡驗證系統的同意
4、帖子作者須承擔一切因本文發表而直接或間接導致的民事或刑事法律責任
5、本帖部分內容轉載自其它媒體,但并不代表本站贊同其觀點和對其真實性負責
6、如本帖侵犯到任何版權問題,請立即告知本站,本站將及時予與刪除并致以最深的歉意
7、新秀網絡驗證系統管理員和版主有權不事先通知發貼者而刪除本文

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

QQ|Archiver|手機版|新秀網絡驗證系統API[軟著登字第13061951號] ( 豫ICP備2021033257號-1 )

GMT+8, 2025-11-30 02:53 , Processed in 0.261009 second(s), 65 queries , Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復 返回頂部 返回列表
国产精品爱啪在线线免费观看_97视频精品_欧美精品一区二区在线播放_国产欧美久久一区二区三区
亚洲色诱最新| 成人福利视频网站| 99热精品国产| 亚洲国产精品一区| 国产精品久久久久久久久快鸭| 91蝌蚪porny九色| 欧美v国产在线一区二区三区| 国产v综合v亚洲欧| 欧美一区二区精品| 国产成人在线网站| 在线成人小视频| 国产精品一线二线三线| 日韩亚洲欧美一区| 成人自拍视频在线观看| 日韩精品一区二区在线观看| 国产成人8x视频一区二区| 欧美绝品在线观看成人午夜影视| 久久精品国产一区二区三 | 免费成人av资源网| 老牛影视一区二区三区| 日本亚洲最大的色成网站www| 色视频成人在线观看免| 老鸭窝一区二区久久精品| 欧美性一级生活| 国产乱码精品一区二区三区av| 欧美群妇大交群的观看方式| 国产一区欧美二区| 欧美大片在线观看一区二区| 99久久综合狠狠综合久久| 国产亚洲综合性久久久影院| 欧美久久影院| 亚洲黄色性网站| 色欧美乱欧美15图片| 精品中文字幕一区二区| 欧美一级理论片| 91蜜桃免费观看视频| 中文字幕一区二区三区在线播放| 国产欧美不卡| 蓝色福利精品导航| 欧美va亚洲va香蕉在线| 国产精品国码视频| 亚洲午夜一区二区三区| 欧洲人成人精品| 国产福利精品导航| 国产偷国产偷精品高清尤物| 亚洲午夜电影| 亚洲成av人在线观看| 一本色道久久综合亚洲精品婷婷| 天天做天天摸天天爽国产一区| 欧美日韩电影在线播放| 不卡在线观看av| 亚洲视频一区二区在线| 久久久久久自在自线| 国产精品一级在线| 国产日韩三级在线| 国产欧美午夜| 精品一区二区综合| 国产亚洲欧美一区在线观看| 99热这里只有成人精品国产| 蜜臀国产一区二区三区在线播放| 欧美一区二区免费视频| 亚洲一级黄色| 日本网站在线观看一区二区三区| 日韩免费成人网| 亚洲黄色一区二区三区| 免费在线观看一区| 精品国产伦一区二区三区观看方式 | 国产日产欧产精品推荐色| 日韩午夜电影| 国产尤物一区二区| 中文字幕在线不卡| 欧美日韩综合在线| 国产精品大片| 免费在线观看不卡| 国产午夜精品一区二区三区四区 | 午夜日韩在线| 亚洲成在线观看| 欧美sm美女调教| 亚洲一区二区伦理| 成人永久免费视频| 亚洲一区二区三区四区五区黄| 欧美一区二区女人| 一本色道久久99精品综合| 国产精品1区二区.| 一区二区三区在线视频免费观看| 欧美乱妇15p| 亚洲精品乱码久久久久久蜜桃91| 国产又粗又猛又爽又黄91精品| 亚洲视频在线一区| 91精品国产综合久久久久久久| 欧美日韩一区二区视频在线观看 | 欧美在线观看你懂的| 欧美在线看片| 美女免费视频一区二区| 中文幕一区二区三区久久蜜桃| 在线看国产日韩| 欧美三级小说| 激情偷乱视频一区二区三区| 自拍视频在线观看一区二区| 日韩网站在线看片你懂的| 国产精品久久久久久久久久直播 | 国产一区二区在线影院| 国产亚洲1区2区3区| 久久青青草综合| 欧美一区二区三区久久精品茉莉花| 丝袜诱惑亚洲看片| 中文字幕五月欧美| 7777精品伊人久久久大香线蕉完整版 | 五月天丁香久久| 国产视频一区在线观看| 欧美亚洲国产一区在线观看网站| 欧美亚州在线观看| 九九国产精品视频| 亚洲精品写真福利| 欧美精品一区二区三区在线播放| 色婷婷综合久久久久中文| 黄色av成人| 成人在线一区二区三区| 日韩和欧美一区二区| 国产精品不卡一区二区三区| 欧美一区二区三区公司| 久久综合影视| 亚洲国产午夜| 99国产麻豆精品| 极品少妇xxxx精品少妇| 亚洲国产精品久久人人爱| 久久久久久日产精品| 7777精品伊人久久久大香线蕉完整版| 久久精品欧洲| 一区二区三区精品国产| 欧美性久久久| 91一区一区三区| 岛国精品在线播放| 激情另类小说区图片区视频区| 亚洲电影第三页| 亚洲少妇30p| 国产精品天干天干在线综合| 3d动漫精品啪啪一区二区竹菊 | 久久精品一区四区| 日韩丝袜情趣美女图片| 色偷偷久久人人79超碰人人澡| 亚洲激情偷拍| 国产精品mm| 欧美黄在线观看| av成人免费在线观看| 国产精品一级片在线观看| 美女在线视频一区| 秋霞av亚洲一区二区三| 亚洲成人av中文| 亚洲国产sm捆绑调教视频| 一区二区三区日韩精品视频| 中文字幕日本不卡| 国产精品毛片久久久久久| 国产日韩亚洲欧美综合| 亚洲精品在线观| 日韩精品中午字幕| 日韩免费看网站| 日韩久久免费av| 欧美不卡一二三| 精品国产伦一区二区三区免费| 91麻豆精品国产91久久久使用方法| 欧美无乱码久久久免费午夜一区| 日本韩国欧美一区二区三区| 色一情一乱一乱一91av| 久久狠狠婷婷| 久久午夜激情| 色呦呦一区二区三区| 久久久久久穴| 91黄色免费版| 欧美三级电影网| 欧美少妇xxx| 欧美综合色免费| 欧美日韩一本到| 欧美剧在线免费观看网站| 91精品免费在线观看| 欧美一卡二卡三卡四卡| 精品久久一二三区| 国产亚洲欧美在线| 1区2区3区精品视频| 亚洲色图一区二区三区| 亚洲丝袜制服诱惑| 亚洲综合另类小说| 首页综合国产亚洲丝袜| 蜜臀av一级做a爰片久久| 久久电影网站中文字幕| 日韩中文字幕1| 亚洲一区二区三区美女| 五月天中文字幕一区二区| 麻豆久久久久久久| 国产尤物一区二区| 丰满放荡岳乱妇91ww| 91视频观看免费| 国产精品红桃| 国产精品夜夜夜一区二区三区尤| 久久国产成人| 欧美日韩在线观看一区二区| 欧美一区二区三区免费在线看 | 日韩激情视频网站| 精品一区二区三区蜜桃| 国产精品2024|