using System;
using System.Xml.Serialization;
using System.Collections.Generic;
using Top.Api.Util;
using Top.Api;
using Top.Api.DingTalk;
namespace DingTalk.Api.Request
{
///
/// TOP API: dingtalk.oapi.mpdev.previewbuild.create
///
public class OapiMpdevPreviewbuildCreateRequest : BaseDingTalkRequest
{
///
/// SDK构建脚本版本
///
public string BuildScriptVersion { get; set; }
///
/// 远程调试的channel
///
public string Channel { get; set; }
///
/// scheme中corpId值
///
public string Corpid { get; set; }
///
/// 开启tabBar
///
public string EnableTabbar { get; set; }
///
/// 忽略http安全域名检查
///
public Nullable IgnoreHttpReqPermission { get; set; }
///
/// 忽略web-view安全域名检查
///
public Nullable IgnoreWebviewDomainCheck { get; set; }
///
/// 远程调试模式
///
public Nullable IsRemoteDebug { get; set; }
///
/// remoteX远程调试模式
///
public Nullable IsRemoteX { get; set; }
///
/// 包默认主页
///
public string MainPage { get; set; }
///
/// 小程序ID
///
public string MiniappId { get; set; }
///
/// 预览上传包地址
///
public string PackageKey { get; set; }
///
/// scheme page参数
///
public string Page { get; set; }
///
/// 插件预览包地址
///
public string PluginPackageKey { get; set; }
///
/// 静态插件信息
///
public string PluginRefs { get; set; }
public List PluginRefs_ { set { this.PluginRefs = TopUtils.ObjectToJson(value); } }
///
/// scheme query参数
///
public string Query { get; set; }
///
/// 分包数据
///
public string SubPackages { get; set; }
public List SubPackages_ { set { this.SubPackages = TopUtils.ObjectToJson(value); } }
///
/// 远程调试tyroid
///
public string Tyroid { get; set; }
#region IDingTalkRequest Members
public override string GetApiName()
{
return "dingtalk.oapi.mpdev.previewbuild.create";
}
public override string GetApiCallType()
{
return DingTalkConstants.CALL_TYPE_OAPI;
}
public override IDictionary GetParameters()
{
TopDictionary parameters = new TopDictionary();
parameters.Add("build_script_version", this.BuildScriptVersion);
parameters.Add("channel", this.Channel);
parameters.Add("corpid", this.Corpid);
parameters.Add("enable_tabbar", this.EnableTabbar);
parameters.Add("ignore_http_req_permission", this.IgnoreHttpReqPermission);
parameters.Add("ignore_webview_domain_check", this.IgnoreWebviewDomainCheck);
parameters.Add("is_remote_debug", this.IsRemoteDebug);
parameters.Add("is_remote_x", this.IsRemoteX);
parameters.Add("main_page", this.MainPage);
parameters.Add("miniapp_id", this.MiniappId);
parameters.Add("package_key", this.PackageKey);
parameters.Add("page", this.Page);
parameters.Add("plugin_package_key", this.PluginPackageKey);
parameters.Add("plugin_refs", this.PluginRefs);
parameters.Add("query", this.Query);
parameters.Add("sub_packages", this.SubPackages);
parameters.Add("tyroid", this.Tyroid);
if (this.otherParams != null)
{
parameters.AddAll(this.otherParams);
}
return parameters;
}
public override void Validate()
{
RequestValidator.ValidateRequired("enable_tabbar", this.EnableTabbar);
RequestValidator.ValidateRequired("main_page", this.MainPage);
RequestValidator.ValidateRequired("miniapp_id", this.MiniappId);
RequestValidator.ValidateRequired("package_key", this.PackageKey);
RequestValidator.ValidateRequired("plugin_package_key", this.PluginPackageKey);
RequestValidator.ValidateObjectMaxListSize("plugin_refs", this.PluginRefs, 999);
RequestValidator.ValidateObjectMaxListSize("sub_packages", this.SubPackages, 999);
}
///
/// OpenSubPackageVoDomain Data Structure.
///
[Serializable]
public class OpenSubPackageVoDomain : TopObject
{
///
/// 包地址
///
[XmlElement("package_key")]
public string PackageKey { get; set; }
///
/// 分包路径
///
[XmlElement("path")]
public string Path { get; set; }
///
/// 包类型,主包or分包
///
[XmlElement("type")]
public string Type { get; set; }
}
///
/// PluginReferenceDomain Data Structure.
///
[Serializable]
public class PluginReferenceDomain : TopObject
{
///
/// 插件ID
///
[XmlElement("plugin_id")]
public string PluginId { get; set; }
///
/// 版本号
///
[XmlElement("plugin_version")]
public string PluginVersion { get; set; }
}
#endregion
}
}