框架插件桌面产品打包上架与使用

最后更新时间:2020年12月28日

1.引言

1.1 目的与意义

本文档主要讲述开发者开发、打包、上架“框架+插件产品”的流程,及终端用户购买、使用产品的流程。内容主要包括:开发环境部署、授权认证、插件产品开发、打包、上架、安装使用的方法等。

另外,针对过程中的一些重难点,进行了详细的说明,如:搭建开发环境、认证开发授权、打包插件产品等方法。通过阅读本文档,二次开发者可以熟悉插件产品从最初产生到最终上架的整个流程,终端用户可以掌握产品购买及安装使用的方法。

1.2 预期读者

1.进行“框架+插件”式开发的二次开发人员、二次开发合作伙伴;

2.产品终端用户。

1.3 环境要求

1.3.1 硬件要求

CPU:Intel(R)Core(TM)i5-4200U ®1.6GHZ 及以上

内存:2G 及以上

1.3.2 软件要求

操作系统:Windows 7、Windows 8、Windows 10

开发软件:Visual Studio 2010 及以上版本

GIS 环境:MapGIS 10.5桌面开发包、插件开发工具向导包、开发授权

1.4 名词解释

  1. 框架:包含了框架开发所遵循的开发标准规范、应用所需的布局、界面库、样式信息等内容,主要作用是基于标准规范承载功能插件。
  2. 插件:是框架主要管理的对象,通常一个插件代表一个独立的功能,或者由一些功能组成的独立的功能模块。
  3. 可定制框架:开发者自定义框架,设计框架的价格和信息,并在该框架下绑定插件。用户在选购时可自由定制插件。
  4. 不可定制框架:用户在“云交易中心”选购时不可随意定制,只能将所包含的所有插件全部购买。
  5. 工具包:利用 MapGIS 10.5 桌面开发包中自带的数据中心设计器引用所需的插件资源,并对界面进行布局后,将整个解决方案打成一个后缀为.dczip 的工具包。该工具包对应于不可定制框架产品。
  6. 插件包:利用 MapGIS 10.5 桌面开发包中自带的数据中心设计器,将单个 dll 插件打成插件包,对应于司马云中的插件产品,供可定制框架产品添加。

2.流程图

2.1 框架插件产品上架流程图

框架插件产品上架流程图

2.2 框架插件产品购买及使用流程图

框架插件产品购买及使用流程图

3.环境部署

基于 MapGIS 10.5 进行二次开发,需要获取开发环境及开发授权,以完成环境部署。下面详细讲述环境部署的流程及方法。

3.1 注册并登录司马云

二次开发用户要获取 MapGIS 开发环境及授权, 需登录司马云网站 www.smaryun.com。对于初次进入司马云的开发者而言,需先用邮箱或手机号进行账号注册,注册成功后登录司马云。如图 1 司马云初始界面,图 2 注册司马云账号所示。

司马云初始界面

图 1 司马云初始界面

注册司马云账号

图 2 注册司马云账号

3.2 升级成为开发者

登录司马云后,首先要升级成为开发者。点击“云开发世界”,在下方点击 “升级成为开发者”即可。如图 3 升级为开发者所示。

升级为开发者

图 3 升级为开发者

3.3 下载产品开发包

依次点击“云开发世界”->“资源中心”->“产品开发包”。进行框架+插件式桌面开发,需下载 MapGIS 10 桌面开发包(for.NET)。该产品开发包除带有 SDK外,还附带了 MapGIS 桌面工具,可进行桌面平台操作,如图 4 下载桌面开发包所示。

下载桌面开发包

图 4 下载桌面开发包

3.4 下载插件开发向导

进行框架+插件开发,除需下载 MapGIS 10 桌面开发包(for.NET)外,还需下载 MapGIS 10 桌面插件开发向导,以便集成到 VS 开发工具中,提供 MapGIS 插件开发的模板。如图 5 下载插件开发向导所示。

下载插件开发向导

图 5 下载插件开发向导

3.5 获取开发授权

3.5.1 授权申请

进行二次开发,除需获取产品开发包外,还需获取开发授权。在开发世界的工作台中,依次点击“开发环境”->“获取开发授权”,进入到授权申请界面。

授权申请

图 6 授权申请

完成手机号、邮箱、微信号的绑定认证后,即可在图 6 所示界面中免费获取基础开发授权。由于是基础开发授权,在功能及数据量上存在一定限制,如果想使用三维、网络数据库等功能模块,则需使用高级开发授权。 点击申请高级开发授权,完善申请资料,等待审核通过。审核通过后,即可下载使用高级开发授权,如图 7 下载开发授权所示。

下载开发授权

图 7 下载开发授权

3.5.2 授权绑定

无论是基础开发授权还是高级开发授权,下载到本地都是一个后缀为 reg 的授权文件。双击该文件,文件与机器绑定后,还需进行联网握手,才能完成开发授权的认证。下面将介绍联网状态下授权握手认证的方法。

3.5.3 授权认证

在联网状态下,启动 MapGIS 桌面平台,即可自动完成授权握手。在桌面平台工具中,点击“帮助”菜单下的“关于 MapGIS”按钮,可看到授权的认证情况。

查看授权认证情况

图 8 查看授权认证情况

3.5.4 授权解绑

需要注意的是,一个授权对应一台电脑,如果该授权想在其他电脑上使用, 首先要解除与当前电脑的绑定。具体操作如下: 点击工作台的“开发环境”,可看到授权的绑定信息。点击解除绑定按钮,系统会向关联的手机号上发送验证码,信息验证通过后,即可成功解绑。

授权解绑

图 9 授权解绑

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

MapGIS Desktop API

图 10 MapGIS Desktop API

插件式二次开发示例

图 11 插件式二次开发示例

5.打包产品

插件的功能代码开发及调试完成后,即可在 VS 项目上编译生成插件文件(DLL 文件)。之后,利用 MapGIS 10.5 桌面开发包中自带的数据中心设计器对插件进行打包,作为后续在司马云交易中心上传的资源文件。 下面分别介绍工具包和插件包的打包方法及各自的应用。

5.1 不可定制框架产品(工具包)

工具包对应的是不可定制的框架插件产品,终端用户所使用的系统和开发者搭建的系统一致,无法再重新扩展插件产品。生成工具包的具体过程如下。 打开 MapGIS 数据中心设计器,新建一个解决方案。系统向开发者提供了两种风格的界面:传统风格和 Ribbon 风格,开发者可根据情况进行选择。 创建解决方案后,右键“引用”,将所需要的插件都添加进来。在”MapGIS 10\Program\plugin”文件夹下,提供了大量已有的工具插件,开发者可直接添加使用,非常方便。 此处,分别添加了工作空间插件和自定义开发的地图显示插件,如图 13 引用插件、图 14 系统界面展示所示。

引用插件

图 13 引用插件

系统界面展示

图 14 系统界面展示

如果要修改菜单按钮的放置顺序或名称,可在“菜单栏”目录中完成相应操作,如下图所示:

调整菜单栏

图 15 调整菜单栏

界面调整完成后,在项目上右键运行,即可弹出“框架+插件”系统界面。开发者可在此测试各插件的功能是否正常。

框架界面展示

图 16 框架界面展示

测试无误后,在项目上右键,生成工具包。生成工具包时,如果插件有依赖文件,可将插件和依赖文件放置在一个文件夹中,通过“添加目录”的形式添加该文件夹。整理完成后,点击“生成”按钮,即可生成工具包(dczip)文件。

生成工具包

图 17 生成工具包

5.2 多个系统框架产品(多个工具包)

如果实际应用中需用到多个系统界面,比如一个主系统界面和多个子系统界面时,则要使用该打包方式。在解决方案中添加多个项目,每一个项目对应于一个系统。在项目中分别引用所需的功能插件,并设置菜单条和工具条等显示效果。设置完成后,在项目上右键,可生成该项目的工具包;也可直接在解决方案上右键,将所有的项目都生成其对应的工具包(dczip)。如图 17 生成多个工具包所示。

生成多个工具包

图 18 生成多个工具包

注意:添加的项目不区分先后顺序,该操作只是用于生成多个系统(多个 dczip 工具包),在司马云中上传产品时,才会依据上传顺序决定主系统和子系统。另外,如果主系统要做成欢迎屏的样式(点击某个菜单打开对应的子系统), 则需要在对应的点击事件中读取到该主系统的进程路径,然后通过命令行参数来启动子系统。命令行参数的格式为:” –app”+” 子系统名称”,可参照如下代码: System.Diagnostics.Process.Start(@"D:\MapGIS 10\Program\多个子系统不可定制框架产品.exe"," -app 传统风格程序3"); " -app 传统风格程序3"即为命令行参数。

5.3 可定制框架+插件产品(生成插件包)

插件包主要用于可定制框架插件产品中,用户可按需选择各插件工具,聚合成框架产品。生成插件包的具体过程如下。

在插件上右键,弹出“生成插件包”向导。如果插件有依赖文件,可将插件和依赖文件放置在一个文件夹中,通过“添加目录”的形式添加该文件夹。整理完成后,点击“生成”按钮,即可生成插件包(dcplugin)文件。

生成插件包

图 19 生成插件包

至此,插件产品的开发及打包工作已完成。接下来重点介绍插件产品在司马云交易中心上架的流程。

6.上架产品

产品开发完成后,要在司马云的交易中心上架,以便终端用户购买并使用产品。点击“工作室”->“产品管理”->“上传新产品”->“桌面工具”,进入产品上传页面。

上传桌面产品

图 20 上传桌面产品

6.1 上架不可定制框架产品(工具包)

根据页面提示,输入相关产品信息,如:产品资源文件(dczip)、产品售价、试用天数、运行环境、产品图标及描述等内容。信息填写完毕,检查无误后,提交审核即可。

上架不可定制框架产品

图 21 上架不可定制框架产品

另外,产品上架时要选择所需的功能组,每个功能组都对应了一个价钱。在设置产品售价时,即便设置为 0,最终上架的产品也会包括所选功能组的价钱。所以,如果客户已经在线下购买了产品,可联系商务部进行代购。

待产品审核通过后,会上架到交易中心板块,终端用户即可进行购买使用。

不可定制框架产品上架成功

图 22 不可定制框架产品上架成功

6.2 上架多系统框架产品(多个工具包)

该上架方式是 6.1 小节中的扩展,主要用于上传多个系统(共用一个授权)。首先,点击“产品上传”标签后的“选择文件”按钮,上传产品的主系统;其次, 点击下方的“添加其它文件”按钮,可添加多个 dczip 文件,对应于多个子系统。最后,完善产品的其它信息,如:产品售价、试用天数、功能组、运行环境、产品图标及描述等内容。信息填写完毕,检查无误后,提交审核即可。

上架多系统框架产品

图 23 上架多系统框架产品

待产品审核通过后,会上架到交易中心板块,终端用户即可进行购买使用。

上架多系统框架产品成功

图 24 上架多系统框架产品成功

6.3 上架插件产品(插件包)

上架插件包(dcplugin)的流程同工具包相似,根据向导添加相关信息即可, 不再赘述。

上架插件产品

图 25 上架插件产品

插件包上架成功

图 26 插件包上架成功

终端用户可通过 MapGIS 10 for Desktop 定制版,按需选取所用插件,自定义框架产品。

插件包上架成功

6.4 上架可定制框架

除了使用 MapGIS 10 for Desktop 定制版来定制框架产品外,开发者还可自行上架一个可定制的框架,来让终端用户定制自己的产品。 选择“桌面端-可定制框架”,设置框架的名称和一些基本信息(行业分类、运行环境、试用天数、产品图标等)。添加完成后,在页面最下方点击“添加绑定插件”按钮,跳转至插件上传界面。

上架可定制框架

图 27 上架可定制框架

添加需绑定的插件

图 28 添加需绑定的插件

插件上传完成后,需设置该插件的绑定方式。如果设置为必选插件,则该插件会同框架绑定在一起,用户必须购买。如果不勾选,则表示为可选插件,终端用户可按需决定是否购买使用该插件。 重复上述操作,直至上传完该框架配套的所有插件。

设置插件绑定方式

图 29 设置插件绑定方式

产品提交审核通过后,终端用户即可在交易中心进行购买。除了框架的必选插件外,还可自由选择其它的插件,来定制自己的产品。

用户按需定制框架产品

图 30 用户按需定制框架产品

7.终端用户购买产品

终端用户登录司马云后,进入云交易中心,选取自己所需的产品,进行购买。购买时,需选择产品的购买期限及购买份数,设置完成后点击购买即可。如 果该产品支持试用,也可先试用再购买。

购买产品

图 31 购买产品

点击购买后,弹出订单界面。信息核对无误后,进行购买即可。

提交订单

图 32 提交订单

8.产品安装及使用

产品购买成功后,可在交易中心的“已购”目录下,查看所购产品的信息, 如文件大小、运行环境、使用期限等内容。框架+插件产品,支持在线安装和离线安装两种方式,下面以不可定制框架产品为例,讲述这两种安装方式(定制插件产品与之类似)。

8.1 在线安装

点击迁移到本地,下载产品 exe,进行在线安装。

产品在线安装

图 33 产品在线安装

如果本机上没有 MapGIS 运行时,会自动先安装运行时。MapGIS 运行时安装完成后,开始聚合插件产品。

聚合插件

图 34 聚合插件

插件产品聚合完成后,运行产品,可看到系统界面同数据中心设计器中的产品界面相一致。点击“添加图层”命令,结果如下图所示。

运行框架产品

图 35 运行框架产品

8.2 离线安装

如果目标机器是离线机,则可先用可联网的机器下载离线安装包,包括: MapGIS 运行时和产品安装包。下载完成后,通过移动设备拷贝至目标机器即可。如下图所示。

产品离线安装

图 36 产品离线安装

下载离线安装包

图 37 下载离线安装包

8.2.1 安装 MapGIS 运行时

点击“迁移 MapGIS 运行时”按钮,即可下载 MapGIS 运行时,它是产品运行必备的环境。下载完成后,启动 MapGIS 运行时安装程序,进行安装。 注意,在进行安装之前,需先关闭诸如 360 安全卫士等杀毒软件,防止其隔离环境中的某些文件。

启动运行时安装程序

图 38 启动运行时安装程序

设置安装路径

图 39 设置安装路径

安装成功

图 40 安装成功

8.2.2 聚合产品

MapGIS 运行时安装完成后,运行产品安装 exe 文件,开始聚合框架产品。该步骤同“在线安装”类似,不再赘述。 安装完成后,会弹出二维码扫描框。用手机扫描可得到一串认证码,输入至文本框中完成授权认证,产品即可正常使用。

产品离线授权

图 41 产品离线授权

8.3 运行子系统

多系统框架产品安装完成后,用户只能看到主系统的 exe 应用程序。如果在主系统中已实现了打开子系统功能,则点击相应菜单打开即可。否则,需要在运行的命令行中输入:”主系统的路径”+” –app”+” 子系统名称”,来打开子系统。

例如:"D:\MapGIS 10\Program\多个子系统不可定制框架产品.exe" -app 传统风格程序 2。具体如图 42 打开子系统所示

注意:

1.主系统的 exe 运行程序在 MapGIS 的 Program 文件夹下。

2.安装的产品资源文件会生成在 Program 的 Package 文件夹中,其中 DCEXP 文件名即为子系统的名称。

多系统框架产品映射目录

图 42 多系统框架产品映射目录

打开子系统

图 43 打开子系统

子系统打开成功

图 44 子系统打开成功

9.常见问题及解答

9.1 产品中的 MapGIS 运行时有无版本区分?

答:没区分,运行时都是一样的。如果需使用多个框架+插件产品,只需下载并安装一个 MapGIS 运行时。另外,每个产品需使用其各自的产品授权。

9.2 桌面工具试用版和正式购买,在功能上有区别吗?

答:功能上没有区别。但是试用版有期限,且一个司马云账号不能无限试用同一款产品。此外,试用版有水印。

9.3 产品中需要用到数据管理功能,怎么办?

解决方案如下:

1.在打包插件产品时,添加 Plugin 文件夹中的 GDBManager 功能插件;

2.在开发的插件中添加该功能模块;

9.4 上传可定制框架的注意事项

1.一定要把所有配套的插件进行上传,这样终端用户才能在购买该框架时看到所有的插件。

2.框架中必须用的插件功能,应绑定为必选插件,以防用户未选择该插件导致系统功能不完整。

9.5 在主系统中启动子系统的注意事项

1.主系统的运行路径一定要动态获取,因为不同用户安装的位置是不一样的,不能写死。

2.子系统没有对应的exe运行程序,要通过命令行参数来启动。