本帖最后由 Patrick.Zhu 于 2024-4-17 15:16 编辑
目前活字格的插件开发API中,对于返回值的定义支持对象和数组,常规来说,对于普通单层的数组,我们使用官方提供的API足够使用,代码如下:
- public IEnumerable<GenerateParam> GetGenerateParams()
- {
- yield return new GenerateListParam()
- {
- ParamName = this.ResultTo,
- Description = "查询学生的详细信息结果",
- ParamScope = CommandScope.All,
- ItemProperties = new List<string>() {
- "姓名",
- "年龄"
- }
- };
- }
复制代码
但是在很多时候,第三方返回的结果,并不只是一个单层的数组,可能数组内还嵌套着其他数组对象,例如下方是税务一个接口返回的数据结构。
这只是一个很平常的接口返回数据,它首先返回了一个数组,然后内部属性中,还有一个也是数组。这种嵌套有时候能达到2-3层以上。
虽然说,我们直接将返回值给到用户,用户通过手动输入属性名,也能正常访问到该属性值
但这无疑给用户使用插件设置了一个很大的门槛,他必须熟悉第三方的API文档,了解它有什么属性,在什么位置,才能准确的拿到值。
插件封装的意义,就在于让用户可视化的方式,通过点选、查看参数描述等,方便的调用API和获取数据,这样一来这个目的就达不到了。
所以建议官方在新的版本中,对插件API进行优化,尤其对于返回值,看能否使其支持多层结构的定义,让命令提示做到和返回值同步,使用户能轻松使用。
|