云之家开发者模式下接口值的抓取
云之家在节点中指定了接口之后,对于值的处理,进行一些简单的说明,主要是针对如何对于云之家的json流的数据分割进行简单阐述:
首先非常重要的一点是找出H5结构中的data-codeid的属性值,这是控件ID的具体命名
这样可以对具体的控件进行值的抓取,主要分为以下模块:
接收请求:云之家审批流提交表单时触发此接口。
解析数据:将表单数据解析为 JSON 对象。
定位表格:通过 Dd_1 找到表格控件。
遍历行:逐行提取 Nu_3 和 Te_35 的值。
返回结果:最终返回成功或错误状态
[HttpPost]
public ActionResult CalculateConsumption()
{
var rs = new Dictionary<string, object>();
try
{
string pdata = getStreamData(true);
var jsonObj = JObject.Parse(pdata);
var formCodeId = Convert.ToString(jsonObj.SelectToken("data.basicInfo.formCodeId"));
var tableData = jsonObj.SelectToken("data.formInfo.widgetMap.Dd_1.value") as JArray;
if (tableData != null)
{
foreach (JObject row in tableData)
{
string quantityTransferred = row["Nu_3"]?["value"]?.ToString();
string unitPrice = row["Te_35"]?["value"]?.ToString();
}
}
}
catch (Exception e)
{
rs.Add("success", false);
rs.Add("error", e.Message);
}
return Json(rs, JsonRequestBehavior.AllowGet);
}
注意:Dd_1、Nu_3、Te_35 必须是表单设计时定义的控件 ID,需通过云之家设计器(F12检查结构)确认。
通过以上代码,您可以准确提取云之家审批流表格中的数据,并根据实际需求进行扩展(如计算、存储或返回给前端)。如果需要处理其他控件或复杂逻辑,可参考类似模式操作 JSON 数据。