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 } }