二次开发接口说明
二次开发接口文档
接口开发文档一、开发包目录结构1.1demo 文件夹包含了sdk 接口调用源代码,可供二次开发参考。
使用 C++开发的 MFC 程序。
1.2dll 文件夹包含了二次开发所需的所有动态库,demo 编译好的e xe 文件需要放在该文件夹才可以运行。
1.3include 文件夹包含了二次开发所需要的头文件。
1.4lib 文件夹包含了二次开发所需要的l ib 静态库。
1.5DSS 二次开发指南(C++).pdf指导二次开发用户如何新建V S2005 工程运行d emo 文件夹中的d emo。
1.6Version.xmldpsdk 开发包的程序版本信息。
1.7常见问题解答.pdf二次开发常见问题以及解决方式。
1.8大华平台S DK 开发手册(C++版).chm二次开发接口使用说明。
二、术语和缩略语1、D PSDK:DSS 平台二次开发S DK 包2、C MS:中心管理服务3、D MS:设备管理模块4、d emo:程序示例(功能类似D SS 平台客户端)5、w eb 管理员端:在浏览器中输入D SS 平台的i p 即可打开管理员端6、C ameraID:通道i d,形如:10000010$1$0$07、D eviceID:设备i d三、Demo 操作方法3.1 运行d emo把“demo/bin/”目录下面的3个文件,如下图所示3.2 登陆平台登陆界面如图 1 所示,其中: IP:DSS 平台ip 地址;端口:9000;用户名:web 管理员端配置的用户;密码:web管理员端配置的用户对应的密码。
点击“登录”按钮,登陆平台。
登陆成功的界面如图2所示:1235图2主界面上图选中的 5个模块分别是:1、组织树;2、实时视频;3、本地录像;4、云台操作;5、执行结果。
3.3 主界面功能介绍3.3.1、组织树操作步骤:点击“加载所有组织结构”按钮加载组织结构是其他操作的前提,是为了获取 DSS平台上所有的设备信息。
二次开发接口文档
接口开发文档一、开发包目录结构1.1demo文件夹包含了sdk接口调用源代码,可供二次开发参考。
使用C++开发的MFC程序。
1.2dll文件夹包含了二次开发所需的所有动态库,demo编译好的exe文件需要放在该文件夹内才可以运行。
1.3include文件夹包含了二次开发所需要的头文件。
1.4lib文件夹包含了二次开发所需要的lib静态库。
1.5DSS二次开发指南(C++).pdf指导二次开发用户如何新建VS2005工程运行demo文件夹中的demo。
1.6Version.xmldpsdk开发包的程序版本信息。
1.7常见问题解答.pdf二次开发常见问题以及解决方式。
1.8大华平台SDK开发手册(C++版).chm二次开发接口使用说明。
二、术语和缩略语1、DPSDK:DSS平台二次开发SDK包2、CMS:中心管理服务5、web管理员端:在浏览器中输入DSS平台的ip即可打开管理员端6、CameraID:通道id,形如:10000010$1$0$07、DeviceID:设备id三、Demo操作方法3.1运行demo把“demo/bin/”目录下面的3个文件,如下图所示拷贝到“dll”文件夹下面,运行Test_DPSDK_Core.exe。
3.2登陆平台图 1 登陆界面登陆界面如图 1 所示,其中: IP:DSS 平台ip 地址;端口:9000;用户名:web 管理员端配置的用户;密码:web管理员端配置的用户对应的密码。
点击“登录”按钮,登陆平台。
登陆成功的界面如图2所示:1235图2 主界面上图选中的 5个模块分别是:1、组织树;2、实时视频;3、本地录像;4、云台操作;5、执行结果。
3.3主界面功能介绍3.3.1、组织树操作步骤:点击“加载所有组织结构”按钮加载组织结构是其他操作的前提,是为了获取 DSS平台上所有的设备信息。
3.3.2、实时视频模块操作步骤:1)确保已经成功加载组织结构。
2)输入CamID(通道ID)。
U8-EAI二次开发说明
企业应用集成工具(EAI)二次开发1.概述U850企业应用集成工具(EAI)是U850与外部系统的数据接口,EAI提供了一些组件,可以在这些组件的基础上进行二次开发(以下简称“EAI二次开发”),实现与外部系统的集成。
不同系统集成的关键是遵循共同的数据标准,U850根据自己系统提出了一套数据标准,包括各种单据和基础档案,外部系统如果要和U850集成则必须遵循这一标准。
这套标准用XML 描述,因此数据流都为XML格式。
EAI二次开发可分为两种模式:注意:文中所有编程都以VB为例一、直接利用EAI管理工具。
在开始菜单中选择企业应用集成工具,登录企业应用集成主界面。
在这里可以将U850数据以标准XML文件的形式导出U850数据库或将标准XML数据文件导入U850系统。
二次开发程序员只需编写一个工具将标准XML数据文件进行适当转换写入外部系统或取出外部系统数据写成标准XML数据文件。
(参看EAI安装目录\xml\Samples\下的例子)数据流程如下:这种开发模式比较简单,优点是:充分利用EAI工具提供的功能,编程简单;缺点是:只能提供批量导入导出功能。
二、利用EAI提供的组件,进行灵活的二次开发。
包括两种方式:本地COM方式、Internet方式。
1)本地COM方式:这种方式可根据开发者的需要批量处理或者实时处理。
接口调用非常简单,简化了编程。
开发者只需将标准数据传入接口,如下:Set Obj=CreateObject(U8Distribute.iDistribute)Str = obj. Process(sXml)sXml为标准数据串,具体格式后面会说明。
2)Internet方式:http.Open "Post",http_name & “import.asp", True //指定服务器ASPhttp.send dom.xml //把xml数据发送到服务器端strRet= http.responseText //strRet :返回的xml格式的回执信息2.数据格式标准EAI可以导入导出的数据范围包括:Ø总帐§凭证§银行对账单Ø工资管理§人员档案§工资项目数据Ø固定资产§固定资产卡片Ø成本管理§材料消耗数据Ø资金管理§资金内部结算单Ø应收管理§应收单§收款单Ø应付管理§应付单§付款单Ø采购管理§采购订单§采购到货单§采购发票Ø销售管理§销售订单§发货单§销售发票§销售发票_导入到内部结算单Ø库存管理§入库单§出库单§库存量Ø基础档案§部门档案§职员档案§地区分类§客户分类§客户档案§供应商分类§供应商档案§存货分类§存货档案§结算方式§付款条件§开户银行§仓库档案§收发类别§销售类型§计量单位§计量单位组§产品结构§采购类型§成套件§费用项目§发运方式§货位档案§自定义项档案§项目§会计科目§外币§凭证类别§常用摘要提示:EAI安装目录\xml\Operation\dir.xml保存了相关定义下面一个例子是从U8导出的部门档案的片断:<?xml version="1.0" encoding="gb2312" ?><ufinterface sender="001" receiver="u8" roottag="department" docid=".533424" proc="Query" codeexchanged="N" exportneedexch="N" display="部门档案" family="基础档案" billtype=""> <department><code>1</code><endflag>0</endflag><name>综合处</name><rank>1</rank><manager/><prop>管理兼技术</prop><phone/><address/><remark/><creditline/><creditgrade/><creditdate/><offergrade/><offerrate/></department><department><code>109</code><endflag>1</endflag><name>厂办公室</name><rank>2</rank><manager/><prop>管理</prop><phone/><address/><remark/><creditline/><creditgrade/><creditdate/><offergrade/><offerrate/></department>…………</ufinterface>EAI中所有的标准数据文件都有类似于上例的结构,首先,有一个名为ufinterface的元素,ufinterface再有若干个子元素组成,不同应用的子元素有不同的格式。
二次开发接口说明
二次开发接口说明目录客户接口说明.................................................................................................... 错误!未定义书签。
短信二次接口技术 (2)支持多种操作体统:WINDOWS、LINUX、UNIX (2)支持多种开发语言:C#、VB、delphi、VC++、ASP、JAVA、.NET 等 (2)支持编码格式:UTF-8编码 (3)第一章发送接口 (3)1.1 请求地址 (3)1.2参数说明 (3)1.3返回值 (3)第二章余额及已发送量查询接口 (5)2.1 请求地址 (5)2.2参数说明 (5)2.3返回值 (5)第三章非法关键词查询 (7)3.1 请求地址 (7)3.2参数说明 (7)3.3返回值 (7)第四章状态报告接口 (9)4.1请求地址 (9)4.2参数说明 (9)4.3返回值 (9)4.4错误返回值——状态报告请求错误返回格式及对应值 (10)第五章上行接口 (10)5.1 请求地址 (10)5.2参数说明 (10)5.3返回值 (10)5.4错误返回值——回复请求错误返回格式及对应值 (11)短信二次接口技术随着移动商务应用和3G无线技术的加速普及和深入发展与用户需求的变化,短信用户群由时尚人群不断向企业、行业用户扩展。
短信作为一种实用、方便、廉价的通信手段,越来越多地成为企业、行业人士日常工作不可或缺的通讯工具;同时,短信应用范围也由通用服务向企业、行业应用领域扩展。
短信应用不再局限于交互游戏等娱乐方式,它已经介入到企业办公、银行、证券、保险、交通、教育、社保、数据采集等领域,已成为企业、行业应用密不可分的一部分。
面向企业、行业的短信业务逐渐成为短信应用的一个重要组成部分,越来越多的企业开始利用短信平台开展各种短信增值业务如:OA管理系统、短信商业信息发布系统、短信客户关系管理系统、短信呼叫中心、进销存系统、短信防伪、生产管理系统、短信数据采集等。
pano2VR二次开发接口(API)相关说明
Flash API (Pano2VR) From Garden Gnome Software (Redirected from Pano2VR - Flash API)Jump to: navigation, searchTo embed the pano, please use the following code: Contents[hide]∙1Loading the Panoramao 1.1Actionscript 3.0o 1.2Actionscript 2.0∙2Panorama API callso 2.1Changing the viewo 2.2Changing the panorama windowo 2.3Hotspotso 2.4Videoo 2.5Others∙3Change the default Hotspot handlero 3.1Actionscript 3.0o 3.2Actionscript 2.0Loading the Panorama Actionscript 3.0import flash.display.*;import .URLRequest;import flash.events.Event;var loader:Loader = new Loader();var url:String = "panorama.swf";var urlReq:URLRequest = new URLRequest(url); var vr:MovieClip;// panorama movieclip// This is done after the swf is loaded.function finished_loading (e:Event){}function initHandler(event:Event):void{trace("initHandler: "+ event);vr = MovieClip(loader.content);// cast 'DisplayObject' to 'MovieClip'// vr.isFlash10=false; // Disable Flash 10 rendering if the container is Flash 9}function initPanorama(e:Event){// check if the panorama object is available and initialize it if((vr!=null)&&(vr.pano!=null)){removeEventListener(Event.ENTER_FRAME, initPanorama);vr.x=50;vr.y=50;vr.pano.setWindowSize(400,300);}}// call initPanorama every frameaddEventListener(Event.ENTER_FRAME, initPanorama);// Tell the loader to call 'finished_loading' after the swf is loaded. loader.contentLoaderInfo.addEventListener( PLETE, finished_loading);// Tell the loader to call 'initHandler' after the swf is initialized. loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler);loader.load(urlReq);addChild(loader);// add your swf directly to the stageIf you like to remove the panorama use the following code:vr.cleanup();removeChild(loader);You need to call the cleanup method to avoid errors like "Cannot access a property or method of a null object reference" because ActionScript doesn't provide a destructor for objects. Actionscript 2.0Only for Flash 8 export in Pano2VR 2.x - deprecatedvar vr:MovieClip = _root.createEmptyMovieClip("vr", 1);vr._lockroot=true;// move the upper left cornervr._x=100;vr._y=200;var myLoader = new MovieClipLoader();var myListener = new Object();myListener.onLoadStart = function(){// Set the dimensions and position of the panovr.window_width=500;vr.window_height=380;vr.window_x=100;vr.window_y=10;};myListener.onLoadInit = function(){// your initalisation of the pano, add Hotspots,...// You can also set the window size here but you need to use the API vr.pano.setWindowSize(500,380);};myLoader.addListener(myListener);myLoader.loadClip("mypanorama.swf", vr);I never managed to use loadMovie properly, so if you really want to use it you are on your own. The demo at/samples/pano2qtvr/flashtour/ includes the .fla file with the complete source code. Panorama API callsAfter the panorama is initialized and loaded you can make the following API calls at runtimeChanging the view<panoclip>.pano.getPan();// returns the current pan angle<panoclip>.pano.setPan(angle_in_degrees:Number);// sets the current pan angle<panoclip>.pano.changePan(offset_in_degrees:Number);// change the current pan angle<panoclip>.pano.getTilt();// returns the current tilt angle<panoclip>.pano.setTilt(angle_in_degrees:Number);// sets the current tilt angle<panoclip>.pano.changeTilt(offset_in_degrees:Number);// change the current tilt angle<panoclip>.pano.getFov();// sets the current FoV<panoclip>.pano.setFov(angle_in_degrees:Number);// sets the current FoV<panoclip>.pano.changeFov(offset_in_degrees:Number);// change the current FoV<panoclip>.pano.moveTo(pan:Number, tilt:Number, fov:Number, speed:Number);// move to positionChanging the panorama window<panoclip>.pano.setWindowSize(<width>,<height>);// sets the current panorama window size<panoclip>.pano.setWindowPos(<x>,<y>);// sets the panorama window positionHotspots<panoclip>.pano.addHotspot(<id:String>,<pan:Number>,<tilt:Number >,<mc:MovieClip>);// Adds a Hotspot to the panorama ∙<id> - This is just a string. No use for it now but maybe in the future.∙<pan>,<tilt> - define the position within the panorama.∙<mc> - this can be anything you created in the library or code. Basically only the _x and _y are moved by the pano so the depth of your movieclip defines for example the visibility. Also you can let the movieclip do what ever you want for example open a URL, change the color on mouse over.... animations will always run with the speed of the pano so don't expect wonders. On a normal PC this would result in 10-20 fps.<panoclip>.pano.unloadHotspots();// Remove references for all HotspotsVideoIf you like to play panoramic videos you can directly access the video object. The variables are:<panoclip>.pano.video.connection // NetConnection object<panoclip>.pano.video.stream // NetStream object<panoclip>.pano.video.video // Video objectYou can also bind a video at runtime with<panoclip>.attachVideo(videoXML:String);The videoXML has to be the same form as for the HTML based binding. Example:vr.attachVideo('<video url="video.flv"/>');OthersSome other API calls that might be useful<panoclip>.pano.setAutorotate(<speed:Number>,<delay:Number>,<retu rn to horizon:Number>,<only in focus:Boolean>);<panoclip>.pano.setLocked(<value:Boolean>);// Allow interaction with the panorama (mouse/keyboard)<panoclip>.pano.setMeshDensity(<angular speed:Number>);// change the Flash 9 quality for the current speed (in scripted movement)<panoclip>.pano.openNext(<url:String>,<target:String>);// open a new panorama.swf within the current player, target can be"pan/tilt/fov"Change the default Hotspot handlerFor panoramas with QuickTime like hotspots the following code allows to use your own handler.Actionscript 3.0import flash.display.*;import .URLRequest;import flash.events.Event;var loader:Loader = new Loader();var url:String = "panorama.swf";var urlReq:URLRequest = new URLRequest(url);var vr:MovieClip;// panorama movieclip// This is done after the swf is loaded.function finished_loading (e:Event){}function initHandler(event:Event):void{trace("initHandler: "+ event);vr = MovieClip(loader.content);// cast 'DisplayObject' to'MovieClip'// vr.isFlash10=false; // Disable Flash 10 rendering if the container is Flash 9}function initPanorama(e:Event){// check if the panorama object is available and initialize itif((vr!=null)&&(vr.pano!=null)){removeEventListener(Event.ENTER_FRAME, initPanorama);// Hotspot handlersvr.pano.onClickQtHotspot=function(id:Number,title:String,url: String,target:String){// add your code here!trace("Area Hotspot:"+ id +","+ title);}vr.pano.onClickHotspot=function(id:String,obj:Object,url:Strin g,target:String){// add your code here!trace("Point Hotspot:"+ id);}vr.pano.onRollOverQtHotspot=function(id:Number,title:String, url:String,target:String){trace("QtRollOver "+ id +","+ title);}vr.pano.onRollOutQtHotspot=function(id:Number,title:String,u rl:String,target:String){trace("QtRollOut "+ id +","+ title);}}}// call initPanorama every frameaddEventListener(Event.ENTER_FRAME, initPanorama);// Tell the loader to call 'finished_loading' after the swf is loaded. loader.contentLoaderInfo.addEventListener( PLETE, finished_loading);// Tell the loader to call 'initHandler' after the swf is initialized. loader.contentLoaderInfo.addEventListener(Event.INIT, initHandler);loader.load(urlReq);addChild(loader);// add your swf directly to the stage Actionscript 2.0Only for Flash 8 export in Pano2VR 2.x - deprecatedvar vr:MovieClip = _root.createEmptyMovieClip("vr", 1);vr._lockroot=true;var myLoader = new MovieClipLoader();var myListener = new Object();myListener.onLoadInit = function(){// callback after the pano is fully loadedvr.pano.onClickQtHotspot=function(id:Number,title:String,url:Stri ng,target:String){// add your code here!trace(id + "," + title);}};myLoader.addListener(myListener);myLoader.loadClip("mypanorama.swf", vr);其他说明文档pano2VR攻略-flash系列Pano2vr全景文件接口· 加载后的全景文件类型为MovieClip,命名为:panoMc。
microstation二次开发指南
microstation二次开发指南MicroStation是一种广泛应用于土木工程和建筑设计的CAD软件。
它具有强大的二次开发功能,允许用户根据自己的需求进行定制和扩展。
本文将为大家提供一份MicroStation二次开发指南,帮助读者了解和应用这一功能。
一、什么是MicroStation二次开发?MicroStation二次开发是指通过使用MicroStation的编程接口和开发工具,对软件进行定制和扩展的过程。
通过二次开发,用户可以根据自己的需求,添加新的功能、修改现有功能或者与其他软件进行集成,以提高工作效率和准确性。
二、MicroStation二次开发的工具和接口MicroStation提供了多种工具和接口,用于进行二次开发。
以下是其中一些常用的工具和接口:1. MicroStation VBA:MicroStation VBA是MicroStation的内置编程环境,基于Microsoft的Visual Basic for Applications。
通过编写VBA代码,用户可以访问和操作MicroStation的对象模型,实现自定义功能。
2. MicroStation SDK:MicroStation SDK(Software Development Kit)是一个开发工具包,提供了丰富的API(Application Programming Interface)和示例代码,用于开发插件和扩展功能。
3. MicroStation CONNECT Edition:MicroStation CONNECT Edition是MicroStation的最新版本,提供了更多的二次开发功能和改进的开发工具。
它支持多种编程语言,如C++、C#、Python 等,并提供了更强大的对象模型和API。
三、MicroStation二次开发的应用场景MicroStation二次开发可以应用于多个领域和场景,以下是其中一些常见的应用场景:1. 自动化绘图:通过二次开发,可以实现自动创建符合特定标准的绘图文件,减少重复劳动和人为错误。
布谷鸟二次开发接口说明
《布谷鸟2010》二次开发接口说明(SDK R3.0)平台:.netFramework2.0森森工作室http:布谷鸟客户端插件用法 (2)客户端插件用法: (3)服务器端插件用户: (3)客户端标准插件接口 (3)客户端标准插件接口 (3)属性: (3)方法 (4)事件 (4)接口代码: (4)客户端通讯接口 (7)属性: (7)方法 (7)事件 (7)接口代码: (8)客户端文件发送接口 (10)属性: (10)方法 (10)事件 (10)接口代码: (10)布谷鸟客户端多页面接口: (12)属性: (12)方法 (12)接口代码: (12)布谷鸟客户端多页面Web浏览接口: (14)属性: (14)方法 (14)事件 (14)接口代码: (15)布谷鸟服务器端插件接口: (17)属性: (17)方法 (17)事件 (17)接口代码: (18)服务器端系统消息组件进行消息发送: (20)说明: (20)使用方法: (20)布谷鸟客户端插件用法1.插件开发使用.net平台2.SisenMESS-Interface.dll文件是接口,在程序中需要引用3.Guid生成器.exe用于生成Guid编号,每个模块都需要用一个Guid做为标识。
以免和其它插件产生冲突。
客户端插件用法:客户端插件生成后,复制到布谷鸟客户端目录下的“plug_ins”目录中便可进行使用;如果您开发的插件还有其它DLL或文件,请复制到“plug_ins”目录下的” Abet_File”目录中去。
服务器端插件用户:服务器端插件生成后,复制到布谷鸟服务器端目录下的“Server_Plug_in”目录中去;如果您开发的插件还有其它DLL或文件,请复制到“Server_Plug_in”目录下的”Abet_File”目录中去。
客户端标准插件接口客户端标准插件接口接口名称:SisenMESS_Interface.SisenMESS_Tools_Interface说明:布谷鸟二次开发中,最基本的接口。
接口函数库(二次开发库)使用说明书
接口函数库(二次开发库)使用说明书说明书版本:V2.06更新日期:2020.01.01目录第一部分概述 (1)第二部分兼容ZLG函数库及数据结构 (2)2.1 类型定义 (2)2.1.1 Device Type (2)2.1.2 VCI_BOARD_INFO (2)2.1.3 VCI_CAN_OBJ (3)2.1.4 VCI_INIT_CONFIG (5)2.2 函数描述 (8)2.2.1 VCI_OpenDevice (8)2.2.2 VCI_CloseDevice (9)2.2.3 VCI_InitCan (9)2.2.4 VCI_ReadBoardInfo (12)2.2.5 VCI_GetReceiveNum (13)2.2.6 VCI_ClearBuffer (14)2.2.7 VCI_StartCAN (15)2.2.8 VCI_ResetCAN (16)2.2.9 VCI_Transmit (17)2.2.10 VCI_Receive (18)第三部分其他函数及数据结构描述 (21)3.1 类型定义 (21)3.1.1 VCI_BOARD_INFO1............................................................ 错误!未定义书签。
3.2 函数描述 (21)3.2.1 VCI_UsbDeviceReset (21)3.2.2 VCI_FindUsbDevice (22)第四部分接口库函数使用流程 (24)I第一部分概述用户如果只是利用USB-CAN总线接口适配器进行CAN总线调试,可以直接利用随机提供的USB-CAN Tool工具软件,进行收发数据的测试。
如果用户打算编写自己产品的软件程序。
请认真阅读以下说明,并参考我们提供的:① C++Builder ②C# ③VC ④VB ⑤ ⑥Delphi ⑦LabVIEW ⑧LabWindows/CVI ⑨Matlab等示例代码。
二次开发使用 WEB32网页调用接口说明V2.0
WEB3.2控件二次开发接口说明文档编写时间:2017/05/031修订记录目录WEB3.2控件接口说明文档 (1)1接口方法: (7)1.1插件初始化(晓慧) (7)1.1.1SetInitParams .................................................................. 错误!未定义书签。
1.1.2AddEventListener ........................................................... 错误!未定义书签。
1.1.3SetTranslateString ........................................................... 错误!未定义书签。
1.1.4SetOEM ........................................................................... 错误!未定义书签。
1.2登陆/登出(晓慧) ................................................................... 错误!未定义书签。
1.2.1LoginDeviceEx ............................................................... 错误!未定义书签。
1.2.2LogoutDevice .................................................................. 错误!未定义书签。
1.3窗口相关(晓慧) .................................................................... 错误!未定义书签。
二次开发接口说明V3.0
⼆次开发接⼝说明V3.01.概述精伦电⼦开发的⼆代⾝份证读卡系列机具适⽤于相关⾏业的联机型应⽤。
产品提供了完善的⼆次软件开发接⼝(API)。
本⼿册对开发接⼝的⽂件组成、函数定义格式、调⽤⽅法及返回值等进⾏详细的说明。
本通⽤开发包⽀持的设备型号如下:1、iDR200(串⼝和USB⼝)。
2、iDR320(必须进⼊“同步应⽤”模式)。
3、iDR400-1(必须进⼊“同步”模式)。
4、iDR210(USB-HID免驱动接⼝)。
5、iDR210(串⼝)。
注意:完全兼容原2.0版本开发接⼝,⽀持USB-HID接⼝和串⼝的iDR210。
1、如果使⽤原开发包采⽤动态调⽤dll⽅式,只需直接替换原dll即可。
2、如果使⽤原开发包采⽤的静态调⽤⽅式,则在不改变代码的情况下,对原程序重新编译链接即可。
2.系统要求使⽤本API的PC机,必须满⾜下列条件:●Windows 98、Windows 2000 Pro、Windows 2000 Server、Windows XP。
●⾄少32兆内存(32M RAM or Larger)。
●⾄少10兆空闲硬盘空间(10M Free Hard Disk Space or Larger)。
●⾄少⼀个空闲普通串⼝或USB⼝(视⽤户需求⽽定)。
3.接⼝⽂件说明接⼝⽂件包括:Dewlt.dll 相关动态联接库sdtapi.dll 相关动态联接库JpgDll.dll 相关动态联接库SavePhoto.dll 相关动态联接库sdtapi.h 相关动态联接库头⽂件适⽤开发语⾔:Visual C++ 5.0 及以后版本C++ Builder 5.0 及以后版本Visual Basic 5.0 及以后版本Delphi 3.0 及以后版本PowerBuilder 5.0 及以后版本4.接⼝函数说明4.1.端⼝函数4.1.1.端⼝初始化函数原型:int InitComm (int iPort)说明:本函数⽤于打开串⼝或USB并检测读卡设备是否就绪。
TurboMail邮件系统二次开发接口说明
TurboMail邮件系统二次开发接口说明二次开发接口类型TurboMail邮件系统提供全面的二次开发接口,分别有:java/ .net/ http/ webservice,企业或者集成商可以轻松制定集成方案。
1. 短信提醒功能,短信二次开发接口TurboMail邮件系统支持短信提醒功能,企业可以使用TurboMail提供的短信二次开发接口,通过短信猫或者短信平台连接邮件服务器,实现短信通知邮件功能。
2. 彩信接口TurboMail邮件系统的提供通过调用彩信接口,实现彩信发送。
3. Plugin开发客户可通过邮件系统plugin 功能为系统插入额外的邮件处理功能。
如:提取邮件内容,保存邮件内容到数据库等等。
邮件系统提供基于java 的plugin 开发接口,所有的客户化plugin 存在于plugin 服务器中。
4. WEB操作接口WEB操作接口用于标准的WEB From 提交方法来实现对邮件服务器功能的操作。
5. 单点登录二次开发接口所谓单点登录,即在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
通过TurboMail提供的单点登录接口,企业可以把内部信息系统和邮件系统实行集成,实现“一次登录,畅通整个系统”。
6. 地址本二次开发接口地址本是邮件系统一个重要的组成部分,为了让企业实现灵活应用,TurboMail提供地址本二次开发接口,企业可以根据公司的实际需求进行地址本二次开发,实现对地址本的各种操作功能。
7. 组织机构管理二次开发接口组织机构代表了企业的内部人员架构,也显示了企业通讯录组成。
TurboMail提供组织机构管理二次开发接口,企业在原有的组织机构功能上,可以扩展组织结构的各个功能。
8. 系统用户操作接口开发企业可通过用户操作接口,实现所有对系统用户信息增删改的操作的功能扩展。
9. 开发邮件服务器插件通过TurboMail提供的接口,企业可以根据自己的实际情况开发邮件服务器Java插件。
二次开发-接口开发
金蝶软件二次开发——接口开发说明接口开发背景说明在日益激励的竞争环境中、在经济形势不容乐观的背景下,随着原材料采购成本和用工成本的不断提高和攀升,企业希望通过各种各样的管理系统来提交企业的运作效率、降低企业的运营成本、寻找企业产品的销售和提高销量。
企业实施了各种各样的IT系统,如财务系统(FI)、供应链管理系统(SCM)、生产管理系统(MM)、制造执行系统(MES)、条形码管理系统(Barcode)、仓储管理系统(WMS)、运输管理系统(TMS)、电商平台(B2C、B2B、B2B2C、B2B2B等等)、人力资源管理系统(HR)、协同办公管理系统(OA)等等。
但各系统之间的数据互相隔离,基于此,我司可以向您提供如下服务,来解决您企业中的各IT系统之间的数据互联互通应用。
接口开发应用举例1、B2C、B2B2C、B2B2B等电商平台与金蝶电商ERP系统(如KIS旗舰版、K/3 WISE 和K/3 Cloud)的集成应用。
如:商品同步、会员同步、物流方式与物流公司同步、订单同步、库存同步、物流同步、售后同步、商家提现等。
2、金蝶电商ERP系统(如KIS旗舰版、K/3 WISE 和K/3 Cloud)或供应链管理系统与WMS、TMS系统的集成应用。
如:商品档案同步、仓库档案同步、入库订单同步、入库结果同步、出库订单同步、出库结果同步、库间调拨同步、盘点同步等。
3、企业非金蝶软件的异构系统与金蝶软件(如KIS旗舰版、K/3 WISE 和K/3 Cloud)供应链管理系统集成应用。
如:门店零售管理系统、NEC物流贩卖系统、餐饮行业管理系统、客户关系管理系统(CRM)、质量追溯管理系统等。
4、企业非金蝶软件的异构系统与金蝶软件(如K/3 WISE 和K/3 Cloud)财务凭证的集成应用。
如:塑胶生产行业ERP管理系统、服装面料生产行业ERP管理系统等。
5、金蝶ERP系统(如K/3 WISE 和K/3 Cloud)与协同办公管理系统(OA)间的集成应用。
Skyline平台二次开发接口介绍
Skyline平台二次开发接口介绍1、开发环境(B/S)本地开发环境(IIS,TEPro,TEDEV,根据项目的要求具体选择服务器端的语言和客户端的脚本语言,如:asp,,jsp,php…..,使用的开发工具用:Microsoft Visual Studio .NET 2003/5, 客户端脚本语言:javascript/jscript,vbscript,使用的开发的工具:UltraEdit,Editplus等等,根据自己爱好)网络开发环境:在服务器上进行开发和调试,但在服务器上必须安装internet lic+TerraGate的情况下,才能应用,本机只需安装TE即可;1.服务器的配置服务器端必须要安装TerraGate4.0,的主要作用是进行mpt的网络发布,在TerraGate 可以设置多个mpt,供fly工程文件调用。
2.客户端浏览客户端需要安装TE(TerraExplorer VIEW)+IE版本即可使用本系统。
3.二次开发的概述TerraExplorePro提供了一整套的API,供二次开发使用,它提供了一些访问外部信息的方法,比如:数据库或矢量数据的。
所有这些以COM协议为基础的界面都可以通过脚本语言管理,也可通过非脚本语言控制(如:C++或Visual Basic)来开发(c/s)。
TerraExplorePro也可以设置ActiveX控件。
它作为ActiveX控件通常被应用在可视化界面的3D窗口、信息树、导航图的操作。
下面主要讨论TerraExplorePRO API的功能:用户接口API:是对标准TerraExplorer Pro API的扩充。
利用其强大功能,开发人员可控制和激活大多数TerraExplorer Pro的工具和函数。
如:1、控制飞行和视景2、对象的创建3、信息树和管理4、层和对象管理5、事件处理6、在网页和windows应用程序中添加ActiveX控件另外,TerraExplorerPro的API还允许常用的一些操作,比如控制容器中的内容,查询地形高度信息,获取快照,查找对象等更多操作。
NVR地SKD二次开发接口文档
NVR的SDK二次开发接口文档采购的海康NVR及IPC的产品需支持SDK版本在XXX上能够支持输出RTSP协议流以下SDK的接口是必须的1账号验证用户登录NVR:实现用户的认证功能,登录成功后,返回的用户ID 作为其他功能操作的唯一标识。
1.1SDK初始化1)初始化SDK接口:NET_DVR_Init函数: BOOL NET_DVR_Init()参数:无返回值: TRUE 表示成功,FALSE 表示失败。
说明:调用设备网络SDK 其他函数的前提。
2)释放SDK 资源接口:NET_DVR_Cleanup函数: BOOL NET_DVR_Cleanup()参数:无返回值: TRUE 表示成功,FALSE 表示失败。
说明:在结束之前最后调用。
接口返回失败请调用NET_DVR_GetLastError 获取错误码,通过错误码判断出错原因。
1.2NVR用户的认证/登录1)激活设备接口:NET_DVR_ActivateDevice函数:BOOL NET_DVR_ActivateDevice(char* sDVRIP, WORD wDVRPort, LPNET_DVR_ACTIVATECFGlpActivateCfg)参数:[in]sDVRIP 设备IP 地址[in]wDVRPort 设备端口[in]lpActivateCfg 激活参数,包括激活使用的初始密码返回值: TRUE 表示成功,FALSE 表示失败。
接口返回失败请调用NET_DVR_GetLastError 获取错误码,通过错误码判断出错原因。
说明:出厂设备需要先激活,然后再使用激活使用的初始密码登录设备。
2)IPServer 或者DDNS 域名解析,获取动态IP 地址和端口号接口:NET_DVR_GetDVRIPByResolveSvr_EX函数:BOOL NET_DVR_GetDVRIPByResolveSvr_EX (char* sServerIP, WORD wServerPort, BYTE* sDVRName, WORD wDVRNameLen, BYTE* sDVRSerialNumber, WORD wDVRSerialLen,char* sGetIP, DWORD* dwPort)参数:[in]sServerIP 解析服务器的IP 地址[in]wServerPort 解析服务器的端口号,IP Server 解析服务器端口号为7071,HiDDNS 服务器的端口号为80[in]sDVRName 设备名称[in]wDVRNameLen 设备名称的长度[in]sDVRSerialNumber 设备的序列号[in]wDVRSerialLen 设备序列号的长度[out]sGetIP 获取到的设备IP 地址指针[out]dwPort 获取到的设备端口号指针返回值: TRUE 表示成功,FALSE 表示失败。
NVRSKD二次开发接口文档
NVRSKD二次开发接口文档R NVR 的的 K SDK 二次开发接口文档采购的海康 R NVR 及及 C IPC 的产品需支持 K SDK 版本在 XXX 上能够支持输出 P RTSP 协议流以下 K SDK 的接口是必须的1 1 账号验证用户登录 NVR:实现用户的认证功能,登录成功后,返回的用户 ID 作为其他功能操作的唯一标识。
1.1 K SDK 初始化1) 初始化 SDK接口:NET_DVR_Init 函数:BOOL NET_DVR_Init() 参数:无返回值:TRUE 表示成功,FALSE 表示失败。
说明:调用设备网络 SDK 其他函数的前提。
2) 释放 SDK 资源接口:NET_DVR_Cleanup 函数:BOOL NET_DVR_Cleanup() 参数:无返回值:TRUE 表示成功,FALSE 表示失败。
说明:在结束之前最后调用。
接口返回失败请调用NET_DVR_GetLastError 获取错误码,通过错误码判断出错原因。
1.2 R NVR 用户的认证/ / 登录1) 激活设备接口:NET_DVR_ActivateDevice 函数:BOOL NET_DVR_ActivateDevice(char* sDVRIP, WORD wDVRPort, LPNET_DVR_ACTIVATECFGlpActivateCfg) 参数:[in]sDVRIP设备 IP 地址 [in]wDVRPort 设备端口[in]lpActivateCfg 激活参数,包括激活使用的初始密码返回值:TRUE 表示成功,FALSE 表示失败。
接口返回失败请调用NET_DVR_GetLastError 获取错误码,通过错误码判断出错原因。
说明:出厂设备需要先激活,然后再使用激活使用的初始密码登录设备。
2) IPServer 或者 DDNS 域名解析,获取动态 IP 地址和端口号接口:NET_DVR_GetDVRIPByResolveSvr_EX 函数:BOOL NET_DVR_GetDVRIPByResolveSvr_EX (char* sServerIP, WORD wServerPort, BYTE* sDVRName, WORD wDVRNameLen, BYTE* sDVRSerialNumber, WORD wDVRSerialLen,char* sGetIP, DWORD*dwPort) 参数:[in]sServerIP解析服务器的 IP 地址 [in]wServerPort解析服务器的端口号,IP Server 解析服务器端口号为7071,HiDDNS 服务器的端口号为 80 [in]sDVRName 设备名称 [in]wDVRNameLen设备名称的长度 [in]sDVRSerialNumber 设备的序列号[in]wDVRSerialLen 设备序列号的长度 [out]sGetIP 获取到的设备 IP 地址指针 [out]dwPort获取到的设备端口号指针返回值:TRUE 表示成功,FALSE 表示失败。
二次开发接口
二次开发接口说明LCD显示屏二次开发接口设计的首要工作是定义控制端与LCD显示屏之间的通信协议。
为了实现简便并对用户透明,这里所有通信方式皆采用同一协议,每一个命令都成对出现,对应命令和返回命令,如表1和表2所示。
表1命令格式表2返回命令格式各参数说明:(1)命令类型:标注命令类型ID,如通信握手命令、文件传输以及其它控制指令等;(2)命令号:如果某一类型命令有多个,不同的命令号表示该类不同的命令;(3)目标ID:指显示屏ID,默认值为0x01;(4)源ID:指控制端ID,默认为0x00;(5)长度:指具体命令实际数据长度;(6)数据:具体命令的数据或返回结果;(7)校验和:除校验和外所有该协议数据的校验和数据,一般使用算术和即可。
命令传输逻辑如下:(1)发送方在发送具体的命令之前,先发送一个通信握手命令:控制源端----------发送通信握手命令----------》显示屏控制源端《----------返回通信握手命令----------显示屏控制源端收到结果正确,则表示显示屏已经做好接收数据准备,可以开始发送具体命令。
如果收不到显示屏的任何返回,需要检查物理链路是否正常,串口的波特率设置是否正常等。
(2)发送方把具体命令数据按前面的格式进行打包发送到显示屏,显示屏在收到数据包后会对数据进行校验检查。
如果校验失败,则请求重发。
(3)发送方的命令成功发送到显示屏后,显示屏按协议包格式把控制卡执行的结果反馈到发送方。
如果校验失败,请求显示屏重发执行结果数据;否则发送结束结果给显示屏,结束命令过程。
(4)如果(2)中指令是文件传输指令,则重复(2)、(3),直到文件传输结束。
在通信过程中,发送方要强制结束发送过程,可以发送通信握手命令或强制中止通信进行强制终止。
2。
2通信通道接口在对LED显示屏进行通信之前,必须先建立通信通道,而退出系统时,则释放通信通道资源。
通信通道接口包括:(1)打开通信通道函数格式:DWORDCOMM_Open(constPDeviceParampDevParam,DWORDdwNotify,DWORDdwWindws,DWORDdwMsg);参数说明:①pDevParam:表示指定设备的参数,例如串口的波特率、串口号,以及网络本地IP 地址、端口号等参数;②dwNotify:表示当LED显示屏有返回值时是否通知,0代表不通知,1表示通知;③dwWindws:表示消息通知的窗体句柄;④dwMsg:用户定义的消息号。
pano2VR二次开发接口(API)相关说明
Flash API (Pano2VR) From GardenGnome Softwar e(Redirec ted from Pano2VR - Flash API)Jump to: navigat ion, searchTo embed the pano, pleaseuse the followi ng code: Content s[hide]∙1Loading the Panoram ao 1.1Actions cript3.0o 1.2Actions cript2.0∙2Panoram a API callso 2.1Changin g the viewo 2.2Changin g the panoram a windowo 2.3Hotspot so 2.4Videoo 2.5Others∙3Changethe default Hotspot handlero 3.1Actions cript3.0o 3.2Actions cript2.0Loading the Panoram aActions cript3.0importflash.display.*;import.URLRequ est;importflash.events.Event;var loader:Loader= new Loader();var url:String= "panoram a.swf";var urlReq:URLRequ est = new URLRequ est(url);var vr:MovieCl ip;// panoram a moviecl ip// This is done after the swf is loaded.functio n finishe d_load ing (e:Event){}functio n initHan dler(event:Event):void{trace("initHan dler: "+ event);vr = MovieCl ip(loader.content);// cast 'Display Object' to 'MovieCl ip'// vr.isFlash10=false; // Disable Flash 10 renderi ng if the contain er is Flash 9}functio n initPan orama(e:Event){// check if the panoram a objectis availab le and initial ize it if((vr!=null)&&(vr.pano!=null)){removeE ventLi stener(Event.ENTER_F RAME,initPan orama);vr.x=50;vr.y=50;vr.pano.setWind owSize(400,300);}}// call initPan oramaevery frameaddEven tListe ner(Event.ENTER_F RAME, initPan orama);// Tell the loaderto call 'finishe d_load ing' after the swf is loaded. loader.content Loader Info.addEven tListe ner(flash.events PLET E, finishe d_load ing);// Tell the loaderto call 'initHan dler' after the swf is initial ized. loader.content Loader Info.addEven tListe ner(Event.INIT,initHan dler);loader.load(urlReq);addChil d(loader);// add your swf directl y to the stageIf you like to removethe panoram a use the followi ng code:vr.cleanup();removeC hild(loader);You need to call the cleanup methodto avoid errorslike "Cannotaccessa propert y or methodof a null objectreferen ce" because ActionS criptdoesn't provide a destruc tor for objects.Actions cript2.0Only for Flash 8 exportin Pano2VR 2.x - depreca tedvar vr:MovieCl ip = _root.createE mptyMo vieCli p("vr", 1);vr._lockro ot=true;// move the upper left cornervr._x=100;vr._y=200;var myLoade r = new MovieCl ipLoad er();var myListe ner = new Object();myListe ner.onLoadS tart = functio n(){// Set the dimensi ons and positio n of the panovr.window_width=500;vr.window_height=380;vr.window_x=100;vr.window_y=10;};myListe ner.onLoadI nit = functio n(){// your initali sation of the pano, add Hotspot s,...// You can also set the windowsize here but you need to use the API vr.pano.setWind owSize(500,380);};myLoade r.addList ener(myListe ner);myLoade r.loadCli p("mypanor ama.swf", vr);I never managed to use loadMov ie properl y, so if you reallywant to use it you are on your own. The demo athttp://gardeng nomeso ftwar/samples/pano2qt vr/flashto ur/ include s the .fla file with the complet e sourcecode.Panoram a API callsAfter the panoram a is initial ized and loadedyou can make the followi ng API calls at runtimeChangin g the view<panocli p>.pano.getPan();// returns the current pan angle<panocli p>.pano.setPan(angle_i n_degr ees:Number);// sets the current pan angle<panocli p>.pano.changeP an(offset_in_deg rees:Number);// changethe current pan angle<panocli p>.pano.getTilt();// returns the current tilt angle<panocli p>.pano.setTilt(angle_i n_degr ees:Number);// sets the current tilt angle<panocli p>.pano.changeT ilt(offset_in_deg rees:Number);// changethe current tilt angle<panocli p>.pano.getFov();// sets the current FoV<panocli p>.pano.setFov(angle_i n_degr ees:Number);// sets the current FoV<panocli p>.pano.changeF ov(offset_in_deg rees:Number);// changethe current FoV<panocli p>.pano.moveTo(pan:Number, tilt:Number, fov:Number, speed:Number);// move to positio nChangin g the panoram a window<panocli p>.pano.setWind owSize(<width>,<height>);// sets the current panoram a windowsize<panocli p>.pano.setWind owPos(<x>,<y>);// sets the panoram a windowpositio nHotspot s<panocli p>.pano.addHots pot(<id:String>,<pan:Number>,<tilt:Number>,<mc:MovieCl ip>);// Adds a Hotspot to the panoram a∙<id> - This is just a string. No use for it now but maybe in the future.∙<pan>,<tilt> - definethe positio n withinthe panoram a.∙<mc> - this can be anythin g you created in the library or code. Basical ly only the _x and _y are moved by the pano so the depth of your moviecl ip defines for example the visibil ity. Also you can let the moviecl ip do what ever you want for example open a URL, changethe color on mouse over.... animati ons will alwaysrun with the speed of the pano so don't expectwonders. On a normalPC this would resultin 10-20 fps.<panocli p>.pano.unloadH otspot s();// Removereferen ces for all Hotspot sVideoIf you like to play panoram ic videosyou can directl y accessthe video object. The variabl es are:<panocli p>.pano.video.connect ion // NetConn ection object<panocli p>.pano.video.stream// NetStre am object<panocli p>.pano.video.video // Video objectYou can also bind a video at runtime with<panocli p>.attachV ideo(videoXM L:String);The videoXM L has to be the same form as for the HTML based binding. Example:vr.attachV ideo('<video url="video.flv"/>');OthersSome other API calls that might be useful<panocli p>.pano.setAuto rotate(<speed:Number>,<delay:Number>,<retu rnto horizon:Number>,<only in focus:Boolean>);<panocli p>.pano.setLock ed(<value:Boolean>);// Allow interac tion with the panoram a (mouse/keyboar d)<panocli p>.pano.setMesh Densit y(<angular speed:Number>);// changethe Flash 9 quality for the current speed (in scripte d movemen t)<panocli p>.pano.openNex t(<url:String>,<target:String>);// open a new panoram a.swf withinthe current player, targetcan be"pan/tilt/fov"Changethe default Hotspot handlerFor panoram as with QuickTi me like hotspot s the followi ng code allowsto use your own handler.Actions cript3.0importflash.display.*;import.URLRequ est;importflash.events.Event;var loader:Loader= new Loader();var url:String= "panoram a.swf";var urlReq:URLRequ est = new URLRequ est(url);var vr:MovieCl ip;// panoram a moviecl ip// This is done after the swf is loaded.functio n finishe d_load ing (e:Event){}functio n initHan dler(event:Event):void{trace("initHan dler: "+ event);vr = MovieCl ip(loader.content);// cast 'Display Object' to'MovieCl ip'// vr.isFlash10=false; // Disable Flash 10 renderi ng if the contain er is Flash 9}functio n initPan orama(e:Event){// check if the panoram a objectis availab le and initial ize itif((vr!=null)&&(vr.pano!=null)){removeE ventLi stener(Event.ENTER_F RAME,initPan orama);// Hotspot handler svr.pano.onClick QtHots pot=functio n(id:Number,title:String,url: String,target:String){// add your code here!trace("Area Hotspot:"+ id +","+ title);}vr.pano.onClick Hotspo t=functio n(id:String,obj:Object,url:Strin g,target:String){// add your code here!trace("Point Hotspot:"+ id);}vr.pano.onRollO verQtH otspot=functio n(id:Number,title:String, url:String,target:String){trace("QtRollO ver "+ id +","+ title);}vr.pano.onRollO utQtHo tspot=functio n(id:Number,title:String,u rl:String,target:String){trace("QtRollO ut "+ id +","+ title);}}}// call initPan oramaevery frameaddEven tListe ner(Event.ENTER_F RAME, initPan orama);// Tell the loaderto call 'finishe d_load ing' after the swf is loaded. loader.content Loader Info.addEven tListe ner(flash.events PLET E, finishe d_load ing);// Tell the loaderto call 'initHan dler' after the swf is initial ized. loader.content Loader Info.addEven tListe ner(Event.INIT,initHan dler);loader.load(urlReq);addChil d(loader);// add your swf directl y to the stageActions cript2.0Only for Flash 8 exportin Pano2VR 2.x - depreca tedvar vr:MovieCl ip = _root.createE mptyMo vieCli p("vr", 1);vr._lockro ot=true;var myLoade r = new MovieCl ipLoad er();var myListe ner = new Object();myListe ner.onLoadI nit = functio n(){// callbac k after the pano is fully loadedvr.pano.onClick QtHots pot=functio n(id:Number,title:String,url:Stri ng,target:String){// add your code here!trace(id + "," + title);}};myLoade r.addList ener(myListe ner);myLoade r.loadCli p("mypanor ama.swf", vr);其他说明文档pano2VR攻略-flash系列Pano2vr全景文件接口· 加载后的全景文件类型为Mo vieCli p,命名为:panoMc。
GUI接口文档二次开发接口说明文档一、登录描述实现用户登录接口
GUI接口文档二次开发接口说明文档一、登录描述:实现用户登录接口验证请求方式:POSTurl路径:http://${ip}/index内部接口名称:selectByUsername输出内容格式{result:success,username:admin,loginnum:1}二、统一管理控制器节点信息描述:获取统一管理节点状态请求方式:GETurl路径:http://${ip} /getsystemstatjson内部接口名称:getGroupInfo输出内容格式[{"issbb":"0","hostname":"dfa","hostversion":"V1110crypt.20.v6.r16.p4PRO","ipdredess":"192.168.36.141","tinmeup":"42min(s)","status":"online","clusterstatd":"alone","hostid":"1","hosttime":"2017-08-1717:31","memory":"16GB","guiversion":"1.0.0"},{"issbb":"0","hostname":"dfb","hostversion":"--","ipdredess":"--","tinmeup":"--","status":"offline","clusterstatd":"--","hostid":"--","hosttime":"--","memory":"--","guiversion":"--"}]三、Pool列表描述:获取统一管理控制器的存储池信息请求方式:GETurl路径:http://${ip}/getpoollistjson内部接口名称:getpoollist传入参数:输出结果格式:{"total":5,"rows":[{"name":"gg","node":"dfa","state":"ONLINE","available":"7.61T\n","used" :"364G\n","cid":"1","rid":"1"},{"name":"aaaaaaaaaaaaaaa","node":"dfb","state":"ONLINE","avail able":"3.57T\n","used":"274K\n","cid":"2","rid":"1"},{"name":"pool","node":"dfb","state":"ONLI NE","available":"1.78T\n","used":"408K\n","cid":"2","rid":"1"},{"name":"poolb","node":"dfb","st ate":"ONLINE","available":"1.78T\n","used":"390K\n","cid":"2","rid":"2"},{"name":"test","node": "dfb","state":"ONLINE","available":"919G\n","used":"3.88T\n","cid":"2","rid":"1"}]}四、创建pool描述:指定控制器创建请求方式:POSTurl路径:输出结果格式:{ result:success}五、删除存储池描述:选择指定的节点的请求方式:POSTurl传入参数:{ result:success}当pool池下存在nas或san时返回结果为:{ result:extis}六、存储池管理列表显示描述:选择指定的节点的请求方式:GETurl路径:http://${ip}/getPoolinfoBynamejson/{poolname}/{node}/{type}内部接口名称:getinfobypoolname输出结果[{"raidtype":"raid0","diskname":"c0t5000C500567C4843d0","writeeror":"0","readerror ":"0","sumerror":"0","enid":"22","slotid":"6","status":"ONLINE","mark":"2"}]七、存储池数据盘扩容描述:指定某节点控制器上的存储池,进行数据盘扩容请求方式:POSTurl路径:http://${ip}/expandpool内部接口名称:expandpool输出结果格式:{ result:success}八、存储池元数据盘描述:指定某节点控制器上的存储池,进行元数据盘进行添加请求方式:POSTurl路径:http://${ip}/expandpool内部接口名称:expandpool传入参数:{ result:success}九、添加元数据热备盘描述:指定某节点控制器上的存储池,进行元数据热备盘进行添加请求方式:POSTurl路径:http://${ip}/expandpool内部接口名称:expandpool传入参数:十、添加存储池专属热备盘描述:指定某节点控制器上的存储池,进行热备盘添加请求方式:POSTurl路径:http://${ip}/expandpool内部接口名称:expandpool传入参数:输出结果格式:{ result:success}十一、移除存储池专属热备盘描述:指定某节点控制器上的存储池,选择违背使用的专属热备盘进行移除请求方式:POSTurl路径:http://${ip} /delsparedisk内部接口名称:delsparedisk传入参数:输出结果格式:{ result:success}十二、存储池导出描述:指定某节点控制器上的存储池,进行切换导出请求方式:POSTurl路径:http://${ip}/ realsepool内部接口名称:realsepool传入参数:{ result:success}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二次开发接口说明目录客户接口说明.................................................................................................... 错误!未定义书签。
短信二次接口技术 (2)支持多种操作体统:WINDOWS、LINUX、UNIX (2)支持多种开发语言:C#、VB、delphi、VC++、ASP、JAVA、.NET 等 (2)支持编码格式:UTF-8编码 (3)第一章发送接口 (3)1.1 请求地址 (3)1.2参数说明 (3)1.3返回值 (3)第二章余额及已发送量查询接口 (5)2.1 请求地址 (5)2.2参数说明 (5)2.3返回值 (5)第三章非法关键词查询 (7)3.1 请求地址 (7)3.2参数说明 (7)3.3返回值 (7)第四章状态报告接口 (9)4.1请求地址 (9)4.2参数说明 (9)4.3返回值 (9)4.4错误返回值——状态报告请求错误返回格式及对应值 (10)第五章上行接口 (10)5.1 请求地址 (10)5.2参数说明 (10)5.3返回值 (10)5.4错误返回值——回复请求错误返回格式及对应值 (11)短信二次接口技术随着移动商务应用和3G无线技术的加速普及和深入发展与用户需求的变化,短信用户群由时尚人群不断向企业、行业用户扩展。
短信作为一种实用、方便、廉价的通信手段,越来越多地成为企业、行业人士日常工作不可或缺的通讯工具;同时,短信应用范围也由通用服务向企业、行业应用领域扩展。
短信应用不再局限于交互游戏等娱乐方式,它已经介入到企业办公、银行、证券、保险、交通、教育、社保、数据采集等领域,已成为企业、行业应用密不可分的一部分。
面向企业、行业的短信业务逐渐成为短信应用的一个重要组成部分,越来越多的企业开始利用短信平台开展各种短信增值业务如:OA管理系统、短信商业信息发布系统、短信客户关系管理系统、短信呼叫中心、进销存系统、短信防伪、生产管理系统、短信数据采集等。
业务系统、网站、客户管理系统、进销存系统、OA、生产管理系统。
手机也势必会成为企业信息化管理、移动商务办公的又一大信息终端。
支持多种操作体统:WINDOWS、LINUX、UNIX支持多种开发语言:C#、VB、delphi、VC++、ASP、JAVA、.NET 等支持开发方式:Http协议支持编码格式:UTF-8编码第一章发送接口1.1 请求地址请求地址是客户接口程序调用时请求的url地址,采用的是http post 接口,地址是客户端地址+ 例如::8888/;入口地址一般不会发生变化,当发生变化的时候,会通知接口用户1.2参数说明:8888/?action=send例如:action=send&userid=12&account=账号&password=密码&mobile=,&content=内容&sendTime=&taskName=本次任务描述&checkcontent=1&mobilenumber=10&countnumber=12&telephonenumber=21.3返回值在接收到客户端发送的http请求后,返回以xml的方式返回处理结果。
格式为:<?xml version="1.0" encoding="utf-8" ?><returnsms><returnstatus>status</returnstatus> ---------- 返回状态值:成功返回Success 失败返回:Faild<message>message</message> ---------- 返回信息:见下表<remainpoint> remainpoint</remainpoint> ---------- 返回余额<taskID>taskID</taskID> ----------- 返回本次任务的序列ID<successCounts>successCounts</successCounts> --成功短信数:当成功后返回提交成功短信数</returnsms>C# 实例:try{Encoding myEncoding = coding("UTF-8");string param = "action=send&userid=" + userid + "&account=" + code(account, myEncoding) + "&password=" + code(password, myEncoding) + "&mobile=,&content=" + code(content, myEncoding) + "&sendTime=" +code(sendTime, myEncoding) + "&mobilenumber=2&countnumber=2&telephonenumber=0";byte[] postBytes = .GetBytes(param);HttpWebRequest req = (HttpWebRequest)e(":8888/");d = "POST";ntType = "application/x-www-form-urlencoded;charset=UTF-8";ntLength = h;using (Stream reqStream = questStream()){(postBytes, 0, h);}.XmlDocument xmlDoc = new .XmlDocument();using (WebResponse wr = sponse()){StreamReader sr = new StreamReader(wr.GetResponseStream(), .8);.StreamReader xmlStreamReader = sr;(xmlStreamReader);}if (xmlDoc == null){("请求发生异常" );}else {String message = ementsByTagName("message").Item(0).ing();if(message =="ok"){("发送成功" );}else {(message );}}}catch (.WebException WebExcp){("网络错误,无法连接到服务器!" );}第二章余额及已发送量查询接口2.1 请求地址请求地址是客户接口程序调用的时候请求的url地址,采用的是http post接口,地址是:8888/入口地址一般不会发生变化,当发生变化的时候,会通知接口用户2.2参数说明例如:action=overage&userid=12&account=账号&password=密码2.3返回值<?xml version="1.0" encoding="utf-8" ?><returnsms><returnstatus>status</returnstatus>-------返回状态值:成功返回Success 失败返回:Faild <message>message</message>--------------返回信息提示:见下表<payinfo>payinfo</payinfo>--------------返回支付方式后付费,预付费<overage>overage</overage>-------------返回已发送条数<sendTotal>sendTotal</sendTotal>----返回总点数当支付方式为预付费是返回总充值点数</returnsms>C# 实例:try{Encoding myEncoding = coding("UTF-8");string param = "action=overage&userid=" + userid + "&account=" + code(account, myEncoding) +"&password=" + code(password, myEncoding) ;byte[] postBytes = .GetBytes(param);HttpWebRequest req = (HttpWebRequest)e(":8888/");d = "POST";ntType = "application/x-www-form-urlencoded;charset=UTF-8";ntLength = h;using (Stream reqStream = questStream()){(postBytes, 0, h);}.XmlDocument xmlDoc = new .XmlDocument();using (WebResponse wr = sponse()){StreamReader sr = new StreamReader(wr.GetResponseStream(), .8);.StreamReader xmlStreamReader = sr;(xmlStreamReader);}if (xmlDoc == null){("请求发生异常" );}else {String returnstatus= ementsByTagName("returnstatus").Item(0).ing();String message = ementsByTagName("message").Item(0).ing();String overage= ementsByTagName("overage").Item(0).ing();if(returnstatus=="Success"){("查询余额成功" );}else {(message );}}}catch (.WebException WebExcp){("网络错误,无法连接到服务器!" );}第三章非法关键词查询3.1 请求地址请求地址是客户接口程序调用的时候请求的url地址,采用的是http post接口,地址是:8888/入口地址一般不会发生变化,当发生变化的时候,会通知接口用户3.2参数说明action=checkkeyword&userid=12&account=账号&password=密码&content=内容3.3返回值<?xml version="1.0" encoding="utf-8" ?><returnsms><message>message</message>--------------返回信息提示:见下表</returnsms>C# 实例:try{Encoding myEncoding = coding("UTF-8");string param = "action=overage&userid=" + userid + "&account=" + code(account, myEncoding) + "&password=" + code(password, myEncoding) ;byte[] postBytes = .GetBytes(param);HttpWebRequest req = (HttpWebRequest)e(":8888/");d = "POST";ntType = "application/x-www-form-urlencoded;charset=UTF-8";ntLength = h;using (Stream reqStream = questStream()){(postBytes, 0, h);}.XmlDocument xmlDoc = new .XmlDocument();using (WebResponse wr = sponse()){StreamReader sr = new StreamReader(wr.GetResponseStream(), .8);.StreamReader xmlStreamReader = sr;(xmlStreamReader);}if (xmlDoc == null){("请求发生异常" );}else {String returnstatus= ementsByTagName("returnstatus").Item(0).ing();String message = ementsByTagName("message").Item(0).ing();String overage= ementsByTagName("overage").Item(0).ing();if(returnstatus=="Success"){("查询余额成功" );}else {(message );}}}catch (.WebException WebExcp){("网络错误,无法连接到服务器!" );}第四章状态报告接口4.1请求地址请求地址是客户接口程序调用的时候请求的url地址,采用的是http post接口,地址是:8888/入口地址一般不会发生变化,当发生变化的时候,会通知接口用户4.2参数说明action=query&userid=12&account=账号&password=密码4.3返回值<?xml version="1.0" encoding="utf-8" ?><returnsms><statusbox><mobile></mobile>-------------对应的手机号码<taskid>1212</taskid>-------------同一批任务ID<status>10</status>---------状态报告----10:发送成功,20:发送失败<receivetime>2011-12-02 22:12:11</receivetime>-------------接收时间</statusbox><statusbox><mobile></mobile><taskid>1212</taskid><status>20</status><receivetime>2011-12-02 22:12:11</receivetime></statusbox></returnsms>4.4错误返回值——状态报告请求错误返回格式及对应值<?xml version="1.0" encoding="utf-8" ?><returnsms><errorstatus><error>1</error>-------------错误码<remark>用户名或密码不能为空</remark>-------------错误描述</errorstatus></returnsms>1:用户名或密码不能为空2:用户名或密码错误3:该用户不允许查看状态报告4:参数不正确第五章上行接口5.1 请求地址请求地址是客户接口程序调用的时候请求的url地址,采用的是http post接口,地址是:8888/入口地址一般不会发生变化,当发生变化的时候,会通知接口用户5.2参数说明例如:action=query&userid=12&account=账号&password=密码5.3返回值<?xml version="1.0" encoding="utf-8" ?><returnsms><callbox><mobile></mobile>-------------对应的手机号码<taskid>1212</taskid>-------------同一批任务ID<content>你好,我不需要</content>---------上行内容<receivetime>2011-12-02 22:12:11</receivetime>-------------接收时间</callbox><callbox><mobile></mobile><taskid>1212</taskid><content>你好,本次活动路线是怎么的</content><receivetime>2011-12-02 22:12:11</receivetime></callbox></returnsms>5.4错误返回值——回复请求错误返回格式及对应值<?xml version="1.0" encoding="utf-8" ?><returnsms><errorstatus><error>1</error>-------------错误码<remark>用户名或密码不能为空</remark>-------------错误描述</errorstatus></returnsms>1:用户名或密码不能为空2:用户名或密码错误3:该用户不允许查看状态报告4:参数不正确。