找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 558|回复: 0

[扩展开发] Discuz Api 接口【旗舰版】二次开发 - 在线手册

[复制链接]
发表于 2025-7-2 16:56:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
接口二次开发

本功能由PHP+MYSQL语言开发,无缝对接新秀网络验证系统,采用独立入口文件、类文件、第三方类文件库进行调用开发。所有功能实现及控制均采用api接口操作,数据输出形式为JSON、XML两种常见形式,达到毫秒级数据快速交换功能。

1、接口开发是结合新秀网络验证系统进行的二次开发,不能独立使用;

2、接口开发遵循Discuz、新秀网络验证、PHP语言规范开发;

3、接口开发适用于新秀网络验证系统旗舰版ver1.0版本以后;

4、本功能与新秀网络验证系统、扩展框架系统,代码相互独立,但功能同时执行;

5、接口开发可使用Discuz内置函数、新秀网络验证内置函数、PHP函数。

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

= Discuz资料库  = Discuz插件开发文档  = 开发交流  =  BUG反馈  =  QQ客服:3188639  QQ交流群:281079920


9 a8 L4 [# C- R! ^5 ^
接口开发常用函数

1、DB数据库操作函数    /*常用MYSQL数据库操作命令,增、减、改、查功能函数。*/

2、新秀网络验证数据库对照表    /*新秀网络验证系统内部,所有数据库表及说明*/

3、Discuz官方数据库对照表  /*Discuz官方数据库表,包括discuz、UCente数据库字典。*/

4、Discuz基础框架、类、函数    /*包含Discuz官方基础框架、类、函数、方法使用说明。*/

5、新秀网络基础框架类、函数    /*包含新秀网络验证基础框架、类、函数、方法使用说明。*/

7 B" A  P' H7 t2 F- w8 G1 o5 d
二次接口开发示例

1、*


' X& m4 v7 q3 E! S8 v7 {! l
使 用 简 介

1、接口开发演示文件下载

dev.zip (4.21 KB, 下载次数: 121) 【UTF8】

2、接口开发演示文件目录说明

xinxiuvip_network_plugin\\新秀网络验证系统插件主目录

—lib \\自定义类存放目录 (用于开发者存放第三方类、自定义类,命名:lib_dev.php

——lib_dev.php \\自定义方法库开发文件 (自定义开发接口方法库)

—function \\自定义方法存放目录 (用于开发者存放自定义开发接口类和方法)

——function_dev.php \\自定义方法类开发文件 (自定义开发接口方法类)

—dev.inc.php \\自定义接口入口开发文件

3、如何安装、开发、调试?

#1、下载演示文件后,上传至新秀网络验证插件根目录。discuz论坛插件根目录 \source\plugin\xinxiuvip_network_plugin\

#2、使用PHP代码编辑软件,对入口文件 dev.inc.php 和 自定义方法类文件 function_dev.php 进行开发,注意:UTF8及GBK编码问题。

#3、如需新增接口文件,请根据演示文件,修改 “dev” 为您想要的文件名,但不能与新秀框架插件内文件名冲突,且开发的接口方法,不能与新秀框架冲突

#4、功能代码开发完成,组装调试接口:

4 _& _+ Z( n$ u2 E
[PHP] 纯文本查看 复制代码
//根据演示文件中组装url接口地址
demo35.xinxiuvip.com/plugin.php?id=xinxiuvip_network_plugin:dev&soft=2&action=dev_demo1&key=123456&demo1=demo1&demo2=demo2
  ]; B& Y' a7 l2 R3 I5 w  ^+ A
[PHP] 纯文本查看 复制代码
//根据演示文件中接口访问返回的结果
{
        "code": "200",
        "result": "OK",
        "count": 2,
        "data": {
                "demo1": "demo1",
                "demo2": "demo2"
        },
        "sqltime": "0s"
}
dev.inc.php入口文件代码实例
[PHP] 纯文本查看 复制代码
<?php

#以下两行代码,用于开发环境下代码错误提示,可根据提示信息进行代码检查,无误后即可注释掉!
// 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/dev', 'plugin/xinxiuvip_network_plugin', false);//注意这里和接口二次开发不同
$api = new function_dev();//实例化function_dev.php类操作,实例化后可用$api->调用function_dev.php中的类方法!
#注释结束

#此处为入口文件,根据接口方法,调用对应类方法。
switch ($api->action) { //$api->action 获取入口方法,勿动!!!
    #此处代码根据接口开发需求,可以无限添加循环。
    case 'dev_demo1': // 判断是否是此方法,如果是则进入下一步!
        $demo1 = web_client::safe_check('demo1', true); //判断参数传输,params为参数名称,iscore为是否是必填项(true为必填,false为可空)
        $demo2 =web_client::safe_check('demo2', false);//判断参数传输,params为参数名称,iscore为是否是必填项(true为必填,false为可空)
        $api->dev_demo1($demo1,$demo2);//调用function_dev.php实例化后类方法,根据类方法设置传入参数。
        break;
    #注释结束
    #此处代码是判断接口输入是否正确。勿删!!!
    default:
        web_output::json_output(400,'error010');
        break;
    #注释结束
}
#注释结束

4 y0 T3 K$ I2 y+ [
function_dev.php自定义方法类代码实例
[PHP] 纯文本查看 复制代码
<?php
#以下两行代码,用于开发环境下代码错误提示,可根据提示信息进行代码检查,无误后即可注释掉!
//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);
#注释结束

#如何引入自定义系统类?
#1、将自定义核心类、第三方核心类上传至extend文件夹下;
#2、通过 C::import 、 require_once 两种引入形式引入第三方核心类;
#3、在下方方法中使用 lib_dev::demo_dev(); 进行调用,具体功能看lib_dev封装代码;
C::import('lib/dev', 'plugin/xinxiuvip_network_plugin', false);//如果没有自定义类库,请将此处注释掉!
#注释结束


class function_dev extends class_plugin
{
    public $action_all = array('dev_demo1'); //所有接口必填,用逗号隔开!!!除以下key、adminkey所包含以外,未包含的接口都是通过token令牌进行访问。
    public $function_action_key = array('dev_demo1'); //使用key密钥访问的接口
    public $function_action_adminkey = array(); //使用管理密钥adminkey访问的接口
    /**
     * 构造方法 __construct() 是在实例化对象时被自动调用
     * 用途:可以用于初始化程序(可以给成员属性赋值,也可以调用成员方法)
     */
    public function __construct()
    {
        parent::__construct(); //继承父类构造方法
    }


    #此处为标准类方法,可根据DISCUZ、新秀网络验证内置函数进行调用,也可使用PHP官方函数进行操作。
    public function dev_demo1($demo1, $demo2)
    {
        #-具体DISCUZ内置函数、新秀网络验证内置函数、PHP函数,论坛相应帖子有专门介绍。
        $data = array( //组合数组
            'demo1' => $demo1,
            'demo2' => $demo2
        );
        $data['time'] = lib_dev::demo_dev(time());//调用lib自定义封装类库示例;

        #========================================
        #嵌入点开发,注意:此扩展方法在应用中心-内置钩子页面设置;
        web_client::class_hook('hook_dev_demo1',array($data));
        /*
         * 下面是接口拓展对应的方法
         * 注意class_hook中的'hook_dev_demo1' 就是扩展文件中的方法名!
         * 将下面代码复制到-内置钩子开发页面中。
         *
        public function hook_dev_demo1($data){
            var_dump($data);
        }
        */
        #========================================

        web_output::json_output('200', '', $data); // 新秀内置打印函数,打印结果,并结束程序。
        #-具体DISCUZ内置函数、新秀网络验证内置函数、PHP函数,论坛相应帖子有专门介绍。
    }
    #注释结束

    /**
     * 析构方法 __destruct() 是在对象被销毁时自动调用
     * 用途:可以进行资源的释放操作或文件的关闭操作或信息保存操作
     */
    public function __destruct()
    {
        return parent::__destruct(); // TODO: 析构方法
        
    }
}

& d( U4 b0 ?8 p% x- ?) f* s7 F! F
lib_dev.php自定义封装类库代码实例
[PHP] 纯文本查看 复制代码
<?php
#以下两行代码,用于开发环境下代码错误提示,可根据提示信息进行代码检查,无误后即可注释掉!
//ini_set("display_errors", "on");
//error_reporting(E_ALL);
#注释结束

#引入验证自带核心系统类,勿删!!!
C::import('class/xinxiu', 'plugin/xinxiuvip_network', false);
#注释结束

class lib_dev
{
    /**
     * 自定义封装类库方法演示,根据自己的需求进行功能开发!
     * demo_dev 为自定义方法名
     * @param [type] $value
     * @return void
     */
   public static function demo_dev($value)
   {
      return $value;//直接返回传回的值
   }
}
8 f# @$ f' |- Q: f
将接口添加到接口管理数据库实例
将设定好的接口方法添加到接口管理中心。如果不在此处添加将报错。

4 X7 R8 j" v- ]& _( B! o% @
增加修改接口方法.png
0 f3 Z3 ^* _$ O3 O: h1 @
8 f1 m/ a7 d8 k/ }! N- P+ ]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|新秀网络验证系统API[软著登字第13061951号] ( 豫ICP备2021033257号-1 )

GMT+8, 2026-1-7 07:20 , Processed in 0.270710 second(s), 68 queries , Redis On.

Powered by Discuz! X3.5 Licensed

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表
slot777
slot qris
atlas123
KAPAK123
MENARA123
BARONG123
VIRGO123
HORAS123
KAKEK123
ION123
PATEN123
SALAM123
TUYUL123
KUNGLO123
PINTU123
JOKI123
INTI123
JADI123
MENANGBET
JADIJP
ACEH123
TINGGIBET
SUMBER4D
PULANG4D
POLAMAXWIN
INTAN123
dingin4d
paten123
slotsultan
slot sultan