由于各方面原因,可能后续帖子有点乱, 等手头事情告一段落在慢慢整理一下。好了,废话不多说,先贴一篇 框架的部分接口先。
unit YsPlatformIntf; interface uses ...; type IYsWorkBenchWindow = interface; /// <summary> /// 业务模块 /// </summary> IYsWorkModule = interface ['{2F1CE43D-696B-40A6-94A0-2E18A92D8557}'] function GetIsConnected: Boolean; procedure SetIsConnected(const Value: Boolean); procedure InitModule(aWorkBenchWindow: IYsWorkBenchWindow; aModule: TGcModulesRecord; admGc: TYsDatabase); procedure LoadModuleData; procedure Restore; procedure Refresh; function getModuleRecord: TGcModulesRecord; function getDataContext: TYsDatabase; function getWorkBenchWindow: IYsWorkBenchWindow; function getWorkModuleHandle: THandle; property IsConnected: Boolean read GetIsConnected write SetIsConnected; end; /// <summary> /// 业务模块加载器 /// </summary> IYsWorkModuleLoader = interface ['{FC040122-BE94-474E-9AC8-1DCBBA1024A0}'] function Load: Boolean; end; /// <summary> /// 服务 /// </summary> IYsWorkBenchService = interface ['{2989E80B-5513-413F-8C73-D45BA7C0E14B}'] end; /// <summary> /// 服务实现基类 /// </summary> TYsWorkBenchCustomService = class(TYsInterfacedObject, IYsWorkBenchService) private Ftoken: string; public constructor Create(aToken: string); reintroduce; overload; virtual; end; /// <summary> /// 服务实现基类Class /// </summary> TYsWorkBenchCustomServiceClass = class of TYsWorkBenchCustomService; /// <summary> /// 服务管理 /// </summary> IYsServicesManager = interface ['{D78B989D-D28D-4715-A085-C8EB445016A9}'] function RegisterService(token: string; ServiceClass: TYsWorkBenchCustomServiceClass): IYsWorkBenchService; function RegisterFormService(token: string; Service: TForm): IInterface; function GetService(token: string): IYsWorkBenchService; function GetFormService(token: string): IInterface; end; /// <summary> /// 工作窗口监听器 /// </summary> IYsWorkBenchWindowListener = interface ['{1BC967F0-4EFC-4620-8CD0-7B5144FFA440}'] end; /// <summary> /// 平台工作窗口 /// </summary> IYsWorkBenchWindow = interface ['{463A28A0-06F9-4343-811E-19503972D61D}'] procedure RegisterWorkBenchWindowListener(); function GetSideBarVisible: Boolean; procedure SetSideBarVisible(Value: Boolean); function GetAciveModuleID: Integer; procedure SetAciveModuleID(Value: Integer); function getDataContext: TcsSimpleDatabase; function getWorkBenchWindowService: IYsServicesManager; function getWorkBenchWindowItem: TYsWorkBenchWindowItem; function getWorkBenchWindowHandle: THandle; /// <summary> /// 定位指定aModuleToken的业务模块, 并激活该模块 /// aModuleToken: TGcModuleRecord.GetModuleTokenSTR /// </summary> function LocateWorkModule(aModuleToken: string): IYsWorkModule; function getActiveWorkModule: IYsWorkModule; property AciveModuleID: Integer read GetAciveModuleID write SetAciveModuleID; property SideBarVisible: Boolean read GetSideBarVisible write SetSideBarVisible; end; /// <summary> /// 平台工作窗口集合 /// </summary> IYsWorkBenchWindows = interface ['{BF67ECAA-0D56-46CC-9967-4D42F8BC2986}'] end; /// <summary> /// 工作平台监听器 /// </summary> IYsWorkBenchListener = interface ['{25C5349B-24A8-49AF-8A9F-0BFC17A61089}'] end; /// <summary> /// 工作平台接口 /// </summary> IYsWorkBench = interface ['{0ECC55FB-9E81-4EAB-B5DE-DFA18FD10B89}'] function getActiveWorkBenchWindow: IYsWorkBenchWindow; function getWorkBenchHandle: THandle; end; /// <summary> /// 工作平台监听器 /// </summary> IYsPlatformListener = interface ['{599919A9-BEB2-4777-88A1-5E31FF78F2BF}'] end; /// <summary> /// 平台接口 /// </summary> IYsPlatform = interface ['{9D7EF75A-03E5-4CB7-8AA1-7FF7BCC1BF64}'] function GetWorkBenchServices: IYsServicesManager; function getWorkBench: IYsWorkBench; function getActiveWorkBenchWindow: IYsWorkBenchWindow; procedure openingWorkBenchWindow(WorkBenchWindow: IYsWorkBenchWindow); procedure openedWorkBenchWindow(WorkBenchWindow: IYsWorkBenchWindow); procedure closingWorkBenchWindow(WorkBenchWindow: IYsWorkBenchWindow); procedure closedWorkBenchWindow(WorkBenchWindow: IYsWorkBenchWindow); end; IYsPlatformService = interface ['{BF9072AD-D8A7-4450-97DF-50E5ACC3A89B}'] end; var YsPlatform: IYsPlatform; implementation { TYsWorkBenchCustomService } constructor TYsWorkBenchCustomService.Create(aToken: string); begin Ftoken := aToken; end; end.
平台top10数据接口 - GetTop10Platforms 获取某个品类的份额前十平台 Request Parameters Parameter name Type Description Required category_id string 品类id Yes platform_id string 平台id,如果为空,则不做过滤 No brand_id string 品牌id,如果为空,则不
其它平台接入 1.支付宝小程序 兑吧的积分商城为HTML5页面,需要通过小程序的< web-view />组件来加载。 组件使用条件 1.基础库 1.6.0 开始支持,低版本需做兼容 2.每个页面只能有一个,请不要渲染多个,webview会自动铺满整个页面,并覆盖其它组件。(具体请参考 小程序官方组件文档 )。 添加业务域名 web-view加载H5页面需要添加业务域名白名单 1.需要添加的业务域
平台数据接口 - GetPlatforms 获取平台列表 可根据名称模糊查询返回平台列表 Request Parameters Parameter name Type Description Required search_word string 名称模糊查询,如果为空,返回所有平台 No Response Elements Parameter name Type Description acti
智齿智能客服系统提供了包含完整业务流程的开放平台接口(Open API),结合企业的二次开发,可帮助企业建立一些更复杂的业务流程或者更灵活的数据流转。 以产品功能模块划分,包含: 在线客服 在线统计 机器人&知识库 电商平台 呼叫中心 工单系统 质检管理 客户中心 客服管理 智能外呼 其他业务接口
接口方式 1.我们提供两种接口方式API方式和DLL动态库,两种对接方式都可以完成对接。 2.API接口方式使用http协议,GET或POST方式提交和接收数据,数据交换格式为JSON 3.DLL接口方式使用DLL动态库调用,支持JSON,INI,XML三种文件格式进件数据交换 4.DLL接口优点: a.接入的难度DLL方式低于API方式, b.DLL调用方式也能实现全部的接口协议, c.DLL接
当我运行我的ionic项目:ionic cordova build Android时,我几乎没有错误。 android_home=/usr/lib/android-sdk 在/usr/lib/android-sdk/licenses中检查包Android SDK Platform 25的许可证 警告:不接受包Android SDK平台25的许可证。 失败:生成失败,出现异常。 null null
1 概述 智齿客服全面支持桌面网站、移动网站、微信、微博、APP五种接入方式,只要10分钟就可以将智齿客服嵌入所有营销路径,各渠道用户反馈汇总至智齿客服平台统一轻松管理,企业客服效率提升50%以上。智齿客服SDK是以Android和iOS原生语言开发,作为移动端插件使用,能完美的适配各个版本和系统特性,同时具备优秀的使用体验。 考虑市场开发需要,智齿客服SDK提供了基于Flutter、APIClo
我们提供两种接口方式API方式和DLL动态库,两种对接方式都可以完成对接。API 接口方式使用http协议,GET或POST方式提交和接收数据,数据交换格式为 JSON。