找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 8038|回复: 0

[接口开发] Discuz Api 接口【X3.5】二次开发 - 在线手册

[复制链接]
发表于 2024-4-7 18:44:33 | 显示全部楼层 |阅读模式

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

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

×
接口二次开发

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

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

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

3、接口开发适用于新秀网络验证系统3.5ver1.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、*


使 用 简 介

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

dev接口开发模版.zip (3.2 KB, 下载次数: 652) 【UTF8】

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

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

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

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

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

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

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

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

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

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

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


[PHP] 纯文本查看 复制代码
//根据演示文件中组装url接口地址
demo35.xinxiuvip.com/plugin.php?id=xinxiuvip_network:dev&key=123456&action=dev_demo1&demo1=demo&demo2=demo

[PHP] 纯文本查看 复制代码
//根据演示文件中接口访问返回的结果
{
    "code": "200",
    "result": "OK",
    "count": 2,
    "data": {
        "demo1": "demo",
        "demo2": "demo"
    },
    "sqltime": "0.00131s"
}
dev.inc.php入口文件代码实例
[PHP] 纯文本查看 复制代码
<?php
/*
 创建时间 2024-04-06 21:33:55
 技术支持 QQ:3188639 微信号:xinxiuvip
 官方网站 [url=http://www.xinxiuvip.com/]http://www.xinxiuvip.com/[/url]
 获取授权 [url=http://www.xinxiuvip.com/plugin.php?id=xinxiuvip_license:accredit]http://www.xinxiuvip.com/plugin.php?id=xinxiuvip_license:accredit[/url]
 开发手册 [url=http://www.xinxiuvip.com/thread-529-1-1.html]http://www.xinxiuvip.com/thread-529-1-1.html[/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/dev', 'plugin/xinxiuvip_network', false);

$api = new function_dev();//实例化function_dev.php类操作,实例化后可用$api->调用function_dev.php中的类方法!
#注释结束

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

function_dev.php自定义方法类代码实例
[PHP] 纯文本查看 复制代码
<?php
/*
 创建时间 2024-04-06 21:33:55
 技术支持 QQ:3188639 微信号:xinxiuvip
 官方网站 [url=http://www.xinxiuvip.com/]http://www.xinxiuvip.com/[/url]
 获取授权 [url=http://www.xinxiuvip.com/plugin.php?id=xinxiuvip_license:accredit]http://www.xinxiuvip.com/plugin.php?id=xinxiuvip_license:accredit[/url]
 开发手册 [url=http://www.xinxiuvip.com/thread-529-1-1.html]http://www.xinxiuvip.com/thread-529-1-1.html[/url]
 严禁反编译、逆向等任何形式的侵权行为,违者将追究法律责任!
*/

#以下两行代码,用于开发环境下代码错误提示,可根据提示信息进行代码检查,无误后即可注释掉!
//ini_set("display_errors", "on");
//error_reporting(E_ALL);
#注释结束

#防止游客直接输入网址进行访问,权限检测,勿动!!!
if (! defined('IN_DISCUZ')) {
    exit('Access Denied');
}
#注释结束

#引入核心系统类,勿删!!!
C::import('class/client','plugin/xinxiuvip_network',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_dev extends class_client
{
    public $action_all = array('dev_demo1');//所有接口必填,用逗号隔开!!!除以下key、adminkey所包含以外,未包含的接口都是通过token令牌进行访问。
    public $function_action_key = array('dev_demo1');//使用key密钥访问的接口
    public $function_action_adminkey = array();//使用管理密钥adminkey访问的接口
        public $config;//可自定义变量,在构造方法中设置变量值。
    /**
     * 构造方法 __construct() 是在实例化对象时被自动调用
     * 用途:可以用于初始化程序(可以给成员属性赋值,也可以调用成员方法)
     */
    public function __construct(){
        parent::__construct();
        $this->config = xx_G::xinxiuvip_network();//获取新秀网络插件配置信息
    }


    #此处为标准类方法,可根据DISCUZ、新秀网络验证内置函数进行调用,也可使用PHP官方函数进行操作。
    public function dev_demo1($demo1,$demo2){
        #-具体DISCUZ内置函数、新秀网络验证内置函数、PHP函数,论坛相应帖子有专门介绍。
        $data = array( //组合数组
            'demo1' => $demo1,
            'demo2' => $demo2
        );
        xx_client::json_output('200','',$data); // 新秀内置打印函数,打印结果,并结束程序。
        #-具体DISCUZ内置函数、新秀网络验证内置函数、PHP函数,论坛相应帖子有专门介绍。
    }
    #注释结束

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

}

将接口添加到接口管理数据库代码实例

[SQL] 纯文本查看 复制代码
INSERT INTO `pre_xinxiuvip_network_actions` (`id`, `type`, `typekey`, `groups`, `name`, `actions`, `status`, `islogs`, `snum`, `hnum`, `dnum`, `nums`, `zjf`, `kjf`, `do`, `ips`, `url`, `ziduan`, `remarks`, `moment`) VALUES (NULL, '测试模块', NULL, '', '测试名称', 'dev_demo1', '0', '0', '0', '0', '0', '0', NULL, NULL, '0', '', 'http://www.xinxiuvip.com/forum.php?mod=viewthread&tid=573', '', '', '');

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-8 22:51 , Processed in 0.274758 second(s), 63 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