宝塔面板-第三方插件如何正确调用宝塔官方接口

点击这里  下载代码demo


#!/usr/bin/python
# coding: utf-8
# +-------------------------------------------------------------------
# | 宝塔Linux面板 第三方插件使用 宝塔官方类函数 demo
# +--------------------------------------------------------------------


import os,sys

# 请检查插件环境中是否已经配置好python 的运行环境和引用包路径地址
# 默认情况下官方的 插件开发demo 里面已经引用
# 如果没有 请在脚本开头加上下面的代码
# ======================================================
# 设置运行目录
os.chdir("/www/server/panel")
# 添加包引用位置并引用公共包
sys.path.append("class/")
# =====================================================

# 引入你需要使用的宝塔面板的官方包
# 关于官方的包的地址 可以在 /www/server/panel/class 目录中找到
# 通常,如果你在浏览器F12调试到的接口是请求格式如下
# /{包名}?action={函数名}
# 如 /system?action=GetNetWork 实际调用的就是 system 这个包里的 GetNetWork 这个方法
# 假设这里 我们要调用 /system?action=GetNetWork  和 /data?action=getData  这两个接口
# 引入公共包, system , data
import public,system,data
# 实例化各包下的类 通常情况下,宝塔官方的类名和包名相同
# 注:public 包下面没有类 ,无需实例化对象
BtSystem = system.system()
BtData = data.data()




#如 /system?action=GetNetWork 接口在调用时是不需要传入参数的
#故直接调用该类的GetNetWork方法即可 偷懒可以写成
NetWork = BtSystem.GetNetWork("")
#规范写法
NetWork = BtSystem.GetNetWork(public.dict_obj())
#NetWork 就是宝塔面板返回给前端的数据

#如 /data?action=getData 接口需要POST 参数
# 新建一个dict 类型的对象,用来传需要传递给宝塔接口的参数
# 需要注意的是 宝塔在前端进行参数传递时,整数类型的参数会被自动转成字符串
# 所以在这里填写参数时,如果是 整型/浮点型 参数请一律格式成字符串
# 其它的参数和F12 调试的时候传参相同
args = public.dict_obj()
args.table = "sites"
args.type = "-1"
args.limit = "20"
args.p = "1"
args.search =""
SitesData = BtData.getData(args)
点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注