门店移动订货接入第三方应用概要说明原创
金蝶云社区-Mandybuff
Mandybuff
0人赞赏了该文章 507次浏览 未经作者许可,禁止转载编辑于2022年09月05日 15:11:09

门店订货集成及门店订货集成plus接入第三方应用是便于门店订货人员从门店订货集成或门店订货集成plus(以下称:移动订货)快速切换到第三方应用的便捷功能。支持在门店订货集成或门店订货集成plus【首页】或【我的】页面展示第三方应用的入口,也支持第三方应用通过金蝶云星空企业版二开接口获取后台信息。客户在使用中如有接入第三方应用的需求,可参考以下说明进行接入。

该功能的前置补丁为:

 

1.     配置第三方应用

管理员登录星空企业版后台 -> 打开菜单【基础管理】-【公共设置】-【移动订货第三方应用接入配置】

图片.png

保存后,门店订货集成或门店订货集成plus页面

图片.png

2.     二开星空企业版接口获取星空后台信息

2.1 首先看下跳转链接的格式第三方应用入口的跳转链接

假设第三方应用接入地址为:https://www.baidu.com,则跳转链接为:

https://www.baidu.com?cloudUrl=https%3a%2f%2fserverip%2fK3Cloud&token=tnF%2f1pULsW8RdOpYUNc0AnZYsggRqOzIW9ISKXjnd72%2f1wnaUUvPBA%3d%3d&userName=super03&orgName=%e6%b7%b1%e5%9c%b3%e9%87%91%e8%9d%b6%e9%a4%90%e9%a5%ae%e7%ae%a1%e7%90%86%e6%9c%89%e9%99%90%e5%85%ac%e5%8f%b8&deptName=%e9%83%a8%e9%97%a8

 

url查询参数介绍:

属性

类型

描述

cloudUrl

string

星空企业版地址(使用时需url解码,格式UTF-8)

token

string

可换取星空企业版信息(无需解码,仅二开星空企业版接口时需要)

userName

string

移动订货登录的用户名(使用时需url解码,格式UTF-8)

orgName

string

移动订货登录的组织名(使用时需url解码,格式UTF-8)

deptName

string

移动订货登录的部门名(使用时需url解码,格式UTF-8)

 

如果跳转链接中的基本信息无法满足第三方应用的需求,可以开发星空企业版自定义webpai接口,第三方应用调用该接口获取其他所需信息或者完成相关业务。

 

cloud自定义webapi接口相关文档:

https://vip.kingdee.com/article/53574187566093824?productLineId=1&isKnowledge=2

https://vip.kingdee.com/article/97030089581136896?productLineId=1&isKnowledge=2


 

 

2.2   代码示例-webapi自定义接口

引用必要组件:

到K/3 Cloud安装目录的WebSite\Bin子目录,引用如下组件:

Kingdee.BOS.dll

Kingdee.BOS.ServiceFacade.KDServiceFx.dll

Kingdee.BOS.WebApi.ServicesStub.dll

Kingdee.K3.DE.Core.dll

 

示例:

using Kingdee.BOS;

using Kingdee.BOS.JSON;

using Kingdee.BOS.ServiceFacade.KDServiceFx;

using Kingdee.BOS.WebApi.ServicesStub;

using Kingdee.K3.DE.Core.Mobile;

using System;

 

namespace Kingdee.K3.Cloud.Custom.WebAPI

{

    public class CustomAppService : AbstractWebApiBusinessService

    {

        public CustomAppService(KDServiceContext context)

                : base(context)

        { }

 

        public object ExecuteService(string parameter)

        {

            JSONObject requestParam = JSONObject.Parse(parameter);

 

            // 请求参数中的Token值为跳转链接中携带的token

            string token = requestParam.GetString("Token");

 

            // 获取登录上下文(上下文有效时间为30分钟,每次获取后都会重新计时)

            Context ctx = MobileOrderCustomAppHelper.GetContextByToken(token);

            if (ctx == null)

            {

                throw new Exception("上下文为空");

            }

 

            // 通过登录上下文获取信息,或者执行其他业务

 

            // 返回响应结果

            return null;

        }

    }

}

该示例的接口访问地址为:http://ServerIp/K3Cloud/Kingdee.K3.Cloud.Custom.WebAPI.CustomAppService.ExecuteService,Kingdee.K3.Cloud.Custom.WebAPI.common.kdsvc

 

请求方式:POST

 

请求JSON参数为:

{

    "parameters""[{\"Token\": \"UmGBP0p4ai2qA6xgDLaCCLPwhav13LiGdi0ZqCpTRpzVsy8MIETwQA%3d%3d\"}]"

}

 


赞 0