找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

只需一步,快速开始

查看: 134|回复: 0

[技术文章] 了解server.php 方法储存模块基本结构乐众主机

[复制链接]

2346

主题

1

回帖

7479

积分

版主

积分
7479
发表于 2024-8-24 10:38:40 | 显示全部楼层 |阅读模式
了解server.php 方法储存模块基本结构乐众主机
【开发者帮助】5、了解server.php 方法储存模块基本结构
该文件主要用于开通、管理、续费等功
每个方法前缀必须改成插件目录名称_方法名称  如插件目录是 xingwai 则:检测通讯的方法名称为 xingwai_status_vhost
下面请看示例代码:
/**
* 检测接口通讯
*/
function xingwai_status_vhost($plugin) {
    $status = array('status' => true, 'msg' => "渠道通信成功", 'data' => array());
    // 如果要返回失败 则把status值改为 false   msg值改成失败的原因 具体是成功还是失败,请根据请求接口后的数据判断
    return $plugin->system("status", $plugin->ide->lzsys_system->json($status));
}
/**
* 启动资产
*/
function lzsys_server_start_vhost($plugin) {
    $asset_data = $plugin->asset_data(); // 请求过来的数据  里面包含了 用户请求的数据信息  可通过打印数组查看全部
    $api_config = $plugin->api_config(); // 渠道数据   里面包含了渠道相关的数据  在 remark数组下面 可自行输出数组查看
    $status = array('status' => true, 'msg' => "启动成功", 'data' => array("msg" => $data));

    return $plugin->system("status", $plugin->ide->lzsys_system->json($status));
}
/**
* 暂停资产
*/
function lzsys_server_stop_vhost($plugin) {
    $asset_data = $plugin->asset_data(); // 请求过来的数据  里面包含了 用户请求的数据信息  可通过打印数组查看全部
    $api_config = $plugin->api_config(); // 渠道数据   里面包含了渠道相关的数据  在 remark数组下面 可自行输出数组查看
    $status = array('status' => true, 'msg' => "暂停成功", 'data' => array("msg" => $data));

    return $plugin->system("status", $plugin->ide->lzsys_system->json($status));
}
/**
* 续费资产
*/
function lzsys_server_renew_vhost($plugin) {
    $asset_data = $plugin->asset_data(); // 请求过来的数据  里面包含了 用户请求的数据信息  可通过打印数组查看全部
    $api_config = $plugin->api_config(); // 渠道数据   里面包含了渠道相关的数据  在 remark数组下面 可自行输出数组查看
        $status = array('status' => true,
            'msg' => '续费资产',
            'data' => array(

                ),

            );

    return $plugin->system("status", $plugin->ide->lzsys_system->json($status)); // 将开通结果写入系统通知   

}
/**
* 资产改密
*/
function xingwai_pass_vhost($plugin) {
    $api_config = $plugin->api_config();
    $asset_data = $plugin->asset_data();
    $post = $asset_data['post'];
    if (!$post['newpass']) {
        $post['newpass'] = $plugin->ide->php->post("newpass");
    }
    $asset_data['remark']['secret'] = $post['newpass'];

    if (strtotime($asset_data['remark']['begin_time'])) {
        $asset_data['remark']['begin_time'] = strtotime($asset_data['remark']['begin_time']);
    }
    if (strtotime($asset_data['remark']['end_time'])) {
        $asset_data['remark']['end_time'] = strtotime($asset_data['remark']['end_time']);
    }

    if (!preg_match('/(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])[A-Za-z0-9]{8,20}/', $post['newpass'])) {
        exit("密码至少8位数且包含大写、小写、数字");
    }

        unset($asset_data['post']);
        $updata = $plugin->ide->lzsys_system->json($asset_data['remark']);
        $plugin->ide->mysql->up_db("secret='" . $post['newpass'] . "',remark='" . $updata . "'", "user_asset", "app_id='" . $plugin->ide->lzsys_system->app_id() . "' and user_asset_id='" . $asset_data['user_asset_id'] . "'");

        $status = array('status' => true, 'msg' => "操作成功", 'data' => array());
   

    return $plugin->system("status", $plugin->ide->lzsys_system->json($status));
}
/**
* 同步资产数据  该方法可忽略
*/
function xingwai_get_vhost($plugin) {
    $status = array('status' => false, 'msg' => "渠道不支持同步", 'data' => array("msg" => $data));

    return $plugin->system("status", $plugin->ide->lzsys_system->json($status));
}
/**
* 批量创建资产 该方法可忽略
*/
function xingwai_creates_vhost($plugin) {
    $status = array('status' => false, 'msg' => "渠道不支持批量添加", 'data' => array("msg" => $data));

    return $plugin->system("status", $plugin->ide->lzsys_system->json($status));
}
/**
* 单个创建资产
*/
function xingwai_create_vhost($plugin) {
    $asset_data = $plugin->asset_data(); // 请求过来的数据  里面包含了 用户请求的数据信息  可通过打印数组查看全部  $asset_data['shop_product']数组中包含了商品数据
    $api_config = $plugin->api_config(); // 渠道数据   里面包含了渠道相关的数据  在 remark数组下面 可自行输出数组查看
    $get_data  = "ok"; // 假设这是请求接口后返回的数据

    if ($get_data == "ok") {
        $status = array('status' => true,
            'msg' => '创建资产成功',
            'data' => array(// 这里可以根据插件返回需要的参数,会自动保存,然后其他地方可调用
                'vhost_describe' => "无", // 资产描述信息
                ),

            );
    } else {

        $status = array('status' => false,
            'msg' => '创建资产失败,错误数据:' . get_data ,
            'data' => $plugin->ide->lzsys_system->json($get_data ),

            );
    }

    return $plugin->system("status", $plugin->ide->lzsys_system->json($status)); // 将开通结果写入系统通知
}
/**
* 编辑资产
*/
function xingwai_edit_vhost($plugin) {
    $api_config = $plugin->api_config();
    $asset_data = $plugin->asset_data();

    $get_status['status'] = true;
    if ($get_status['status'] == true) {
        $status = array('status' => true, 'msg' => "编辑成功", 'data' => array());
    } else {
        $status = array('status' => false, 'msg' => $get_status['msg'], 'data' => array());
    }
    return $plugin->system("status", $plugin->ide->lzsys_system->json($status));
}

/**
* 同步删除资产(由于平台是删除到回收站,所以这里只暂停站点,不删除)
*/
function xingwai_dell_vhost($plugin) {
    $asset_data = $plugin->asset_data();
    foreach ($asset_data as $id) {
        if ($id) {
            $stop['status'] = false; // 这里是直接返回失败
            if ($stop['status'] == true) {
                $data = $data . "  操作成功:" . $id['remark']['account'] . "";
            } else {
                $data = $data . "  操作失败:" . $id['remark']['account'] . " 该资产不支持同步删除";
            }
        }
    }

    $status = array('status' => true, 'msg' => "暂停成功", 'data' => array("msg" => $data));

    return $plugin->system("status", $plugin->ide->lzsys_system->json($status));
}

/**
* 同步删除资产(由于平台是回收站删除资产,所以这里也进行删除操作)
*/
function xingwai_dells_vhost($plugin) {
    $asset_data = $plugin->asset_data();
    foreach ($asset_data as $id) {
        if ($id) {
            $stop['status'] = false; // 这里是直接返回失败
            if ($stop['status'] == true) {
                $data = $data . "  操作成功:" . $id['remark']['account'] . "";
            } else {
                $data = $data . "  操作失败:" . $id['remark']['account'] . " 该资产不支持同步删除";
            }
        }
    }

    $status = array('status' => true, 'msg' => "删除站点成功", 'data' => array("msg" => $data));

    return $plugin->system("status", $plugin->ide->lzsys_system->json($status));
}
/**
* 同步恢复资产(由于平台是从回收站恢复资产,这里对暂停的资产进行启动)
*/
function xingwai_redu_vhost($plugin) {
    $asset_data = $plugin->asset_data();
    foreach ($asset_data as $id) {
        if ($id) {
            $stop['status'] = false; // 这里是直接返回失败
            if ($stop['status'] == true) {
                $data = $data . "  操作成功:" . $id['remark']['account'] . "";
            } else {
                $data = $data . "  操作失败:" . $id['remark']['account'] . " 该资产不支持同步恢复";
            }
        }
    }

    $status = array('status' => true, 'msg' => "启动站点成功", 'data' => array("msg" => $data));

    return $plugin->system("status", $plugin->ide->lzsys_system->json($status));
}

/**
* 一键登录渠道管理 相对于是登录到接口方的网站,而不是控制面板,比如 乐众同系统插件支持一键登录到上级的网站用户中心,登录代码写在这里
*/
function xingwai_login_vhost($plugin) {
    $api_config = $plugin->api_config();

    $status = array('status' => false, 'msg' => "该渠道不支持一键登录", 'data' => array());
    return $plugin->system("status", $plugin->ide->lzsys_system->json($status));
}
/**
* 资产管理  客户购买产品后,点击管理面板 将调用此处的方法
*/
function xingwai_admin_vhost($plugin) {
    $asset_data = $plugin->asset_data();
    $api_config = $plugin->api_config();
    $addons_config = $plugin->addons_config();
    $get = $plugin->ide->php->get();
    if ($get['view_file'] == "") {
        $get['view_file'] = "index.html";
    }

    if (!file_exists($plugin->ide->views->template_dir[0] . $get['view_file'])) {
        $plugin->views->display("notice.html");
        exit;
    }

    $modular = "modular/" . str_replace(".html", ".php", $get['view_file']);;

    require($modular);

    $plugin->ide->views->assign("plugins_config", $plugins_config, true); // 应用配置文件
    $plugin->ide->views->assign("addons_config", $addons_config, true); // 应用信息 api_type
    $plugin->ide->views->assign("api_config", $api_config, true); // 渠道信息 api
    $plugin->ide->views->assign("asset_data", $asset_data, true); // 资产信息 user_asset
    $plugin->views->display($get['view_file']);
    exit;
}
/**
* 渠道管理  管理员后台点击管理渠道时 将调用此处方法
*/
function xingwai_admin_panel($plugin) {
    $asset_data = $plugin->asset_data();
    $api_config = $plugin->api_config();
    $addons_config = $plugin->addons_config();
    $get = $plugin->ide->php->get();
    if ($get['view_file'] == "") {
        $url = "?view_file=index.html";
        header("location: $url");
        $get['view_file'] = "index.html";
    }

    if (!file_exists($plugin->ide->views->template_dir[0] . $get['view_file'])) {
        $plugin->views->display("notice.html");
        exit;
    }

    $modular = "modular_admin/" . str_replace(".html", ".php", $get['view_file']);

    require($modular);
    $plugin->ide->views->assign("plugins_config", $plugins_config, true); // 应用配置文件
    $plugin->ide->views->assign("addons_config", $addons_config, true); // 应用信息 api_type
    $plugin->ide->views->assign("api_config", $api_config, true); // 渠道信息 api
    $plugin->ide->views->assign("asset_data", $asset_data, true); // 资产信息 user_asset
    $plugin->views->display($get['view_file']);
    exit;
}

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

本版积分规则

QQ|Archiver|手机版|小黑屋|114源码网 ( 黔ICP备2023004328号-2 )

GMT+8, 2024-11-23 16:24 , Processed in 0.066559 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表