一级目录如下:
{ "cloudSchema": "...", //服务端配置,如果不需要服务端请勿配置 "authorizeSchema": "...", // 鉴权配置 "jsonSchema": "...", // 表单配置(配置表单基于jsonSchema做数据校验和UI渲染,配置应用基于jsonSchema做数据校验) }
云应用配置:
{ // 云应用类型 "cloudSchema": { // 云应用 "cloudType": "cloudApp", // 环境: test/online "env": "test", // 提交数据的接口 "submit": { // 云应用ID "cloudAppId": 345 "path": "/submit", /** 平台传入参数如下: appId:小部件id appVersion:小部件版本 authToken:授权的token(需要授权时) formData:配置表单数据 orderId:投放计划Id,表示商家针对应用,在某个场景产生的一次投放; dataId:投放单数据id widgetViewId:商家针对小部件,配置相关数据以后,产生的小部件视图卡片Id,比如旺铺内的某一个模块实例; sellerId:卖家id(isv侧的数据保存接口可根据sellerId+orderId来区分不同卖家以及相同卖家的不同坑位) **/ } // 初始化的接口 "initial": { // 云应用ID "cloudAppId": 345, "path": "/initial" /** 平台传入参数如下: appId:小部件模板id appVersion:小部件版本 sellerId:卖家id instanceWidgetId:实例化小部件id(首次触发时值为空,后续版本更新触发时,返回实例化小部件id) **/ } } }
云函数配置:
{ // 云函数类型 "cloudSchema": { // 函数 "cloudType": "serverless", // 环境: test/online "env": "online", // 提交数据的接口 "submit": { // 云应用ID "handler":"main", "functionName":"functionName" /** 平台传入参数如下: appId:小部件id appVersion:小部件版本 authToken:授权的token(需要授权时) formData:配置表单数据 orderId:投放计划Id,表示商家针对应用,在某个场景产生的一次投放; dataId:投放单数据id widgetViewId:商家针对小部件,配置相关数据以后,产生的小部件视图卡片Id,比如旺铺内的某一个模块实例; sellerId:卖家id(isv侧的数据保存接口可根据sellerId+orderId来区分不同卖家以及相同卖家的不同坑位) **/ } // 小部件模版需要配置,进行小部件实例化操作 "initial": { // 云应用ID "handler":"main", "functionName":"functionName" /** 平台传入参数如下: appId:小部件模板id appVersion:小部件版本 sellerId:卖家id instanceWidgetId:实例化小部件id(首次触发时值为空,后续版本更新触发时,返回实例化小部件id) **/ } } }
ISV 可能需要获取商家授权的信息,可以使用该配置来确定授权类型:
{ // 鉴权能力 "authorizeSchema": { "needAuthorize": true // 是否开启鉴权能力,如果开启鉴权能力且配置了服务端,提交表单的时候平台会将商家授权token带到配置的服务端接口 } }
配置应用(推荐)和配置表单(废弃)对于jsonSchema的使用略有不同,区别如下:
1)配置应用:jsonSchema 仅定义数据结构,UI与交互通过java script代码来实现;
2)配置表单:jsonSchema 即定义数据结构也定义UI、交互、校验等实现;
{ "jsonSchema": { "type": "object", "properties": { "webapp": { "widget": "TaobaowpCustomForm", "type":"object", "properties": { "moduleEditTitle": { "type": "string" }, "pageIds": { "type": "array", "properties": { "id": { "type": "stirng" } } }, "coupon": { "type": "number" }, /****小程序二跳的配置****/ "miniappSelect": { "customeWidget": "TaobaowpOutside_miniapp_select" }, "shopItem": { "type": "string" }, } } } } }