# 各语言插件
# JS插件
JS插件是官方推荐使用的首选插件,编写代码少,并且很容易跨平台。
请参考JS插件
# PB插件
通过PB编写服务端代码,实现服务端的WebApi,支持H5,微信公众号和小程序等,支持PB断点调试功能。
查看pbtest插件配置如下:
参数说明:
数据 | 说明 |
---|---|
"Dir": "test" | 表示插件的目录,所有插件都在plugins目录下面,这里值为”test”代表插件在plugins目录下的test目录 |
"Method":"Get;Post" | 表示http调用的方法,可以为Get,Post,Any,Put,Delete中的一个或多个,多个以;分隔 |
"URL": "/pbtest/**" | 表示响应以http://ip:port/pbtest开头的url。这里"/pbtest/**"可以响应http://127.0.0.1:5555/pbtest/test.go,也可以响应http://127.0.0.1:5555/pbtest/tttt.go等。如果设置为"URL": "/pbtest/test.go"则只响应http://127.0.0.1:5555/pbtest/test.go,可以配置多个url,多个url以;分隔 |
"Type": "pb" | 表示调用PB插件 |
"DLL": "pbvm90.dll" | 表示pb运行库的dll名称,这里是pb9的运行库,其它版本请自行设置。比如12.5运行库设置为"DLL": "pbvm125.dll" |
"AppName":"plugin" | 表示pb的application的名称,一定要和创建的pb的名称对应起来 |
# PB插件示例
请加群下载satrda最新版本,打开pb示例查看具体源码.
# DLL插件(Dephi,C++等编写dll)
使用Delphi、C++等编写标准的windows dll,实现服务端WebApi功能。
参数说明:
数据 | 说明 |
---|---|
"Dir": "dtest" | 表示插件的目录,所有插件都在plugins目录下面,这里值为”test”代表插件在plugins目录下的test目录 |
"Method":"Get;Post" | 表示http调用的方法,可以为Get,Post,Any,Put,Delete中的一个或多个,多个以;分隔 |
"URL": "/dtest/**" | 表示响应以http://ip:port/dtest开头的url。这里"/dtest/**"可以响应http://127.0.0.1:5555/dtest/test.go,也可以响应http://127.0.0.1:5555/dtest/tttt.go等。如果设置为"URL": "/pbtest/test.go"则只响应http://127.0.0.1:5555/pbtest/test.go,可以配置多个url,多个url以;分隔 |
"Type": "dll" | 表示调用dll插件 |
"DLL": "DPlugin.dll" | 表示dll的名称 |
"AppName":"" | 不需要使用 |
# DLL插件示例
插件的dll是标准的动态链接库,需要导出stdcall方式调用函数SatRDA_Service (注意:名称一定要是SatRDA_Service) 请加群下载satrda最新版本,打开delphi示例查看具体源码。
# COM插件(VB,C++,.NET等编写dll)
编写COM组件实现插件功能
配置如下:
参数说明:
数据 | 说明 |
---|---|
"Dir": "vbplugin" | 表示插件的目录,所有插件都在plugins目录下面,这里值为”vbplugin”代表插件在plugins目录下的vbplugin目录,com插件由于通过regsvr32注册到了注册表,这里可以不必要填写 |
"Method":"Get;Post" | 表示http调用的方法,可以为Get,Post,Any,Put,Delete中的一个或多个,多个以;分隔 |
"URL": "/vbtest/**" | 表示响应以http://ip:port/vbtest开头的url。这里"vbtest/**"可以响应http://127.0.0.1:5555/vbtest/test.go,也可以响应http://127.0.0.1:5555/vbtest/tttt.go等。如果设置为"URL": "/vbtest/test.go"则只响应http://127.0.0.1:5555/vbtest/test.go |
"Type": "com" | 表示调用coml插件 |
"DLL": "vbweb.dll" | 表示dll的名称,由于是com插件需要注册,这里可以不填 |
"AppName":"vbweb.app" | com加载的类名,通过这个名称找到对应调用的com组件 |
# .NET插件
编写标准的.NET dll作为插件 :
配置如下:
参数说明:
数据 | 说明 |
---|---|
"Dir": "dnettest" | 表示插件的目录,所有插件都在plugins目录下面,这里值为”dnettest”代表插件在plugins目录下的test目录。 |
"Method":"Get;Post" | 表示http调用的方法,可以为Get,Post,Any,Put,Delete中的一个或多个,多个以;分隔 |
"URL": "/dnet/**" | 表示响应以http://ip:port/dnet开头的url。 |
"Type": "dotnet" | 表示是.net插件 |
"DLL": "DotNetDll.dll" | .net生成的dll |
"AppName":"SatRDA.Plugin" | 表示SatRDA命名空间下面的Plugin类, 类必须有一个静态方法Service,当指定的连接到达时会调用到方法。 |
# .NET插件示例
插件工程请看示例目录dotnet/DotNetDll下面的工程
# JAVA插件
通过JAVA语言编写插件
配置如下:
参数说明:
数据 | 说明 |
---|---|
"Dir": "java" | 表示插件所在的目录,所有插件都在plugins目录下面,这里值为”java”代表插件在plugins目录下的java目录。把源码打包成jar并放在这个目录下面,插件会自动加载目录下面所有的jar文件 |
"Method":"Get;Post" | 表示http调用的方法,可以为Get,Post,Any,Put,Delete中的一个或多个,多个以;分隔 |
"URL": "/java/**" | 表示响应以http://ip:port/java开头的url。 |
"Type": "java" | 表示是java插件 |
"DLL": "" | 保持为空 |
"AppName":"com.satrda.Plugin" | 表示com.satrda包下面的Plugin类, 类必须有一个静态方法Service,当指定的连接到达时会调用到方法。 |
# JAVA插件示例
插件工程请看示例目录java\plugin下面的工程
# H5插件
当我们开发完成一个前后端分离的h5应用之后,可能有一堆的html、js、css文件。虽然我们可以把它们直接放到satserver的public目录下面,或者配置H5插件的dir为目录,就完成了访问。但是这样意味着我们的程序源码直接部署到了服务器上,不利于知识产权的保护。我们可以通过satserver把所有文件打包成一个加密文件,把加密文件发布成h5插件解决这个问题。
# H5打包
如果需要打包d:/myweb目录中所有文件。可以按如下步骤:
- 在satserver.exe目录建立一个名为pack.bat批处理文件,输入以下内容并保存
satserver pack d:/myweb d:/myweb.bin
@pause
- 双击执行该文件
也可以在cmd进入satserver所在目录,输入satserver pack d:/myweb d:/myweb.bin
- 成功后,会生成d:/myweb.bin
# 插件配置
h5插件方便实现h5应用的部署
参数说明:
参数 | 必选 | 类型 | 说明 |
---|---|---|---|
Dir | yes | string | 打包的文件的路径,打包文件参考h5打包 |
Method | yes | string | 表示http调用的方法,可以为Get,Post,Any,Put,Delete中的一个或多个,多个以;分隔 |
URL | yes | string | "URL": "/h5test/"表示响应以http://ip:port/h5test开头的url |
Type | Yes | string | 选择h5表示是h5类型插件 |
允许跨域 | Yes | String | 是否允许跨域访问 |
← JS插件高级操作