最后更新时间:2020年12月28日
1.引言
本文档主要讲述开发者开发、打包、上架“框架+插件产品”的流程,及终端用户购买、使用产品的流程。内容主要包括:开发环境部署、授权认证、插件产品开发、打包、上架、安装使用的方法等。
另外,针对过程中的一些重难点,进行了详细的说明,如:搭建开发环境、认证开发授权、打包插件产品等方法。通过阅读本文档,二次开发者可以熟悉插件产品从最初产生到最终上架的整个流程,终端用户可以掌握产品购买及安装使用的方法。
1.进行“框架+插件”式开发的二次开发人员、二次开发合作伙伴;
2.产品终端用户。
CPU:Intel(R)Core(TM)i5-4200U ®1.6GHZ 及以上
内存:2G 及以上
操作系统:Windows 7、Windows 8、Windows 10
开发软件:Visual Studio 2010 及以上版本
GIS 环境:MapGIS 10.5桌面开发包、插件开发工具向导包、开发授权
2.流程图
3.环境部署
基于 MapGIS 10.5 进行二次开发,需要获取开发环境及开发授权,以完成环境部署。下面详细讲述环境部署的流程及方法。
二次开发用户要获取 MapGIS 开发环境及授权, 需登录司马云网站 www.smaryun.com。对于初次进入司马云的开发者而言,需先用邮箱或手机号进行账号注册,注册成功后登录司马云。如图 1 司马云初始界面,图 2 注册司马云账号所示。
登录司马云后,首先要升级成为开发者。点击“云开发世界”,在下方点击 “升级成为开发者”即可。如图 3 升级为开发者所示。
依次点击“云开发世界”->“资源中心”->“产品开发包”。进行框架+插件式桌面开发,需下载 MapGIS 10 桌面开发包(for.NET)。该产品开发包除带有 SDK外,还附带了 MapGIS 桌面工具,可进行桌面平台操作,如图 4 下载桌面开发包所示。
进行框架+插件开发,除需下载 MapGIS 10 桌面开发包(for.NET)外,还需下载 MapGIS 10 桌面插件开发向导,以便集成到 VS 开发工具中,提供 MapGIS 插件开发的模板。如图 5 下载插件开发向导所示。
进行二次开发,除需获取产品开发包外,还需获取开发授权。在开发世界的工作台中,依次点击“开发环境”->“获取开发授权”,进入到授权申请界面。
完成手机号、邮箱、微信号的绑定认证后,即可在图 6 所示界面中免费获取基础开发授权。由于是基础开发授权,在功能及数据量上存在一定限制,如果想使用三维、网络数据库等功能模块,则需使用高级开发授权。 点击申请高级开发授权,完善申请资料,等待审核通过。审核通过后,即可下载使用高级开发授权,如图 7 下载开发授权所示。
无论是基础开发授权还是高级开发授权,下载到本地都是一个后缀为 reg 的授权文件。双击该文件,文件与机器绑定后,还需进行联网握手,才能完成开发授权的认证。下面将介绍联网状态下授权握手认证的方法。
在联网状态下,启动 MapGIS 桌面平台,即可自动完成授权握手。在桌面平台工具中,点击“帮助”菜单下的“关于 MapGIS”按钮,可看到授权的认证情况。
需要注意的是,一个授权对应一台电脑,如果该授权想在其他电脑上使用, 首先要解除与当前电脑的绑定。具体操作如下: 点击工作台的“开发环境”,可看到授权的绑定信息。点击解除绑定按钮,系统会向关联的手机号上发送验证码,信息验证通过后,即可成功解绑。
4.开发插件产品
桌面开发包和插件向导包安装完成、授权认证成功后,MapGIS桌面插件开发环境即部署完成,可利用Visual Studio 2010开发工具进行MapGIS 10.5的桌面插件开发。
二次开发用户在进行桌面插件开发时,可从开发世界的资源中心里获取各类开发资源,包括:开发文档、视频资源、API文档等。桌面API文档中提供了大量的接口和方法,还提供了丰富的示例资源,方便开发者快速掌握MapGIS桌面开发的体系和方法。
MapGIS Desktop API为用户在线API(应用程序编程接口),用户可以通过API查找学习MapGIS提供的实现功能的方法。
在线访问地址: http://develop.smaryun.com:81/API/DesktopAPI/MapGISDesktop/index.htm
5.打包产品
插件的功能代码开发及调试完成后,即可在 VS 项目上编译生成插件文件(DLL 文件)。之后,利用 MapGIS 10.5 桌面开发包中自带的数据中心设计器对插件进行打包,作为后续在司马云交易中心上传的资源文件。 下面分别介绍工具包和插件包的打包方法及各自的应用。
工具包对应的是不可定制的框架插件产品,终端用户所使用的系统和开发者搭建的系统一致,无法再重新扩展插件产品。生成工具包的具体过程如下。 打开 MapGIS 数据中心设计器,新建一个解决方案。系统向开发者提供了两种风格的界面:传统风格和 Ribbon 风格,开发者可根据情况进行选择。 创建解决方案后,右键“引用”,将所需要的插件都添加进来。在”MapGIS 10\Program\plugin”文件夹下,提供了大量已有的工具插件,开发者可直接添加使用,非常方便。 此处,分别添加了工作空间插件和自定义开发的地图显示插件,如图 13 引用插件、图 14 系统界面展示所示。
如果要修改菜单按钮的放置顺序或名称,可在“菜单栏”目录中完成相应操作,如下图所示:
界面调整完成后,在项目上右键运行,即可弹出“框架+插件”系统界面。开发者可在此测试各插件的功能是否正常。
测试无误后,在项目上右键,生成工具包。生成工具包时,如果插件有依赖文件,可将插件和依赖文件放置在一个文件夹中,通过“添加目录”的形式添加该文件夹。整理完成后,点击“生成”按钮,即可生成工具包(dczip)文件。
如果实际应用中需用到多个系统界面,比如一个主系统界面和多个子系统界面时,则要使用该打包方式。在解决方案中添加多个项目,每一个项目对应于一个系统。在项目中分别引用所需的功能插件,并设置菜单条和工具条等显示效果。设置完成后,在项目上右键,可生成该项目的工具包;也可直接在解决方案上右键,将所有的项目都生成其对应的工具包(dczip)。如图 17 生成多个工具包所示。
注意:添加的项目不区分先后顺序,该操作只是用于生成多个系统(多个 dczip 工具包),在司马云中上传产品时,才会依据上传顺序决定主系统和子系统。另外,如果主系统要做成欢迎屏的样式(点击某个菜单打开对应的子系统), 则需要在对应的点击事件中读取到该主系统的进程路径,然后通过命令行参数来启动子系统。命令行参数的格式为:” –app”+” 子系统名称”,可参照如下代码: System.Diagnostics.Process.Start(@"D:\MapGIS 10\Program\多个子系统不可定制框架产品.exe"," -app 传统风格程序3"); " -app 传统风格程序3"即为命令行参数。
插件包主要用于可定制框架插件产品中,用户可按需选择各插件工具,聚合成框架产品。生成插件包的具体过程如下。
在插件上右键,弹出“生成插件包”向导。如果插件有依赖文件,可将插件和依赖文件放置在一个文件夹中,通过“添加目录”的形式添加该文件夹。整理完成后,点击“生成”按钮,即可生成插件包(dcplugin)文件。
至此,插件产品的开发及打包工作已完成。接下来重点介绍插件产品在司马云交易中心上架的流程。
6.上架产品
产品开发完成后,要在司马云的交易中心上架,以便终端用户购买并使用产品。点击“工作室”->“产品管理”->“上传新产品”->“桌面工具”,进入产品上传页面。
根据页面提示,输入相关产品信息,如:产品资源文件(dczip)、产品售价、试用天数、运行环境、产品图标及描述等内容。信息填写完毕,检查无误后,提交审核即可。
另外,产品上架时要选择所需的功能组,每个功能组都对应了一个价钱。在设置产品售价时,即便设置为 0,最终上架的产品也会包括所选功能组的价钱。所以,如果客户已经在线下购买了产品,可联系商务部进行代购。
待产品审核通过后,会上架到交易中心板块,终端用户即可进行购买使用。
该上架方式是 6.1 小节中的扩展,主要用于上传多个系统(共用一个授权)。首先,点击“产品上传”标签后的“选择文件”按钮,上传产品的主系统;其次, 点击下方的“添加其它文件”按钮,可添加多个 dczip 文件,对应于多个子系统。最后,完善产品的其它信息,如:产品售价、试用天数、功能组、运行环境、产品图标及描述等内容。信息填写完毕,检查无误后,提交审核即可。
待产品审核通过后,会上架到交易中心板块,终端用户即可进行购买使用。
上架插件包(dcplugin)的流程同工具包相似,根据向导添加相关信息即可, 不再赘述。
终端用户可通过 MapGIS 10 for Desktop 定制版,按需选取所用插件,自定义框架产品。
除了使用 MapGIS 10 for Desktop 定制版来定制框架产品外,开发者还可自行上架一个可定制的框架,来让终端用户定制自己的产品。 选择“桌面端-可定制框架”,设置框架的名称和一些基本信息(行业分类、运行环境、试用天数、产品图标等)。添加完成后,在页面最下方点击“添加绑定插件”按钮,跳转至插件上传界面。
插件上传完成后,需设置该插件的绑定方式。如果设置为必选插件,则该插件会同框架绑定在一起,用户必须购买。如果不勾选,则表示为可选插件,终端用户可按需决定是否购买使用该插件。 重复上述操作,直至上传完该框架配套的所有插件。
产品提交审核通过后,终端用户即可在交易中心进行购买。除了框架的必选插件外,还可自由选择其它的插件,来定制自己的产品。
7.终端用户购买产品
终端用户登录司马云后,进入云交易中心,选取自己所需的产品,进行购买。购买时,需选择产品的购买期限及购买份数,设置完成后点击购买即可。如 果该产品支持试用,也可先试用再购买。
点击购买后,弹出订单界面。信息核对无误后,进行购买即可。
8.产品安装及使用
产品购买成功后,可在交易中心的“已购”目录下,查看所购产品的信息, 如文件大小、运行环境、使用期限等内容。框架+插件产品,支持在线安装和离线安装两种方式,下面以不可定制框架产品为例,讲述这两种安装方式(定制插件产品与之类似)。
点击迁移到本地,下载产品 exe,进行在线安装。
如果本机上没有 MapGIS 运行时,会自动先安装运行时。MapGIS 运行时安装完成后,开始聚合插件产品。
插件产品聚合完成后,运行产品,可看到系统界面同数据中心设计器中的产品界面相一致。点击“添加图层”命令,结果如下图所示。
如果目标机器是离线机,则可先用可联网的机器下载离线安装包,包括: MapGIS 运行时和产品安装包。下载完成后,通过移动设备拷贝至目标机器即可。如下图所示。
点击“迁移 MapGIS 运行时”按钮,即可下载 MapGIS 运行时,它是产品运行必备的环境。下载完成后,启动 MapGIS 运行时安装程序,进行安装。 注意,在进行安装之前,需先关闭诸如 360 安全卫士等杀毒软件,防止其隔离环境中的某些文件。
MapGIS 运行时安装完成后,运行产品安装 exe 文件,开始聚合框架产品。该步骤同“在线安装”类似,不再赘述。 安装完成后,会弹出二维码扫描框。用手机扫描可得到一串认证码,输入至文本框中完成授权认证,产品即可正常使用。
多系统框架产品安装完成后,用户只能看到主系统的 exe 应用程序。如果在主系统中已实现了打开子系统功能,则点击相应菜单打开即可。否则,需要在运行的命令行中输入:”主系统的路径”+” –app”+” 子系统名称”,来打开子系统。
例如:"D:\MapGIS 10\Program\多个子系统不可定制框架产品.exe" -app 传统风格程序 2。具体如图 42 打开子系统所示
注意:
1.主系统的 exe 运行程序在 MapGIS 的 Program 文件夹下。
2.安装的产品资源文件会生成在 Program 的 Package 文件夹中,其中 DCEXP 文件名即为子系统的名称。
9.常见问题及解答
答:没区分,运行时都是一样的。如果需使用多个框架+插件产品,只需下载并安装一个 MapGIS 运行时。另外,每个产品需使用其各自的产品授权。
答:功能上没有区别。但是试用版有期限,且一个司马云账号不能无限试用同一款产品。此外,试用版有水印。
解决方案如下:
1.在打包插件产品时,添加 Plugin 文件夹中的 GDBManager 功能插件;
2.在开发的插件中添加该功能模块;
1.一定要把所有配套的插件进行上传,这样终端用户才能在购买该框架时看到所有的插件。
2.框架中必须用的插件功能,应绑定为必选插件,以防用户未选择该插件导致系统功能不完整。
1.主系统的运行路径一定要动态获取,因为不同用户安装的位置是不一样的,不能写死。
2.子系统没有对应的exe运行程序,要通过命令行参数来启动。