UNPKG

tencentcloud-sdk-nodejs-intl-en

Version:
8,651 lines • 221 kB
/*
 * Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
const AbstractModel = require("../../common/abstract_model");

/**
 * CreatePresetKey response structure.
 * @class
 */
class CreatePresetKeyResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {PresetResp || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new PresetResp();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * DescribeTeamMemberList request structure.
 * @class
 */
class DescribeTeamMemberListRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Page offset
         * @type {number || null}
         */
        this.Offset = null;

        /**
         * Number of results per page
         * @type {number || null}
         */
        this.Limit = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

        /**
         * Team ID
         * @type {string || null}
         */
        this.TeamId = null;

        /**
         * Keywords for search (user name)
         * @type {string || null}
         */
        this.Keyword = null;

        /**
         * Role ID
         * @type {Array.<number> || null}
         */
        this.RoleIds = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.Offset = 'Offset' in params ? params.Offset : null;
        this.Limit = 'Limit' in params ? params.Limit : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;
        this.TeamId = 'TeamId' in params ? params.TeamId : null;
        this.Keyword = 'Keyword' in params ? params.Keyword : null;
        this.RoleIds = 'RoleIds' in params ? params.RoleIds : null;

    }
}

/**
 * DescribeMNPAllStageVersions request structure.
 * @class
 */
class DescribeMNPAllStageVersionsRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Mini program ID
         * @type {string || null}
         */
        this.MNPId = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.MNPId = 'MNPId' in params ? params.MNPId : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * ModifyApplication request structure.
 * @class
 */
class ModifyApplicationRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Application ID
         * @type {string || null}
         */
        this.ApplicationId = null;

        /**
         * Application name
         * @type {string || null}
         */
        this.ApplicationName = null;

        /**
         * Application introduction
         * @type {string || null}
         */
        this.Intro = null;

        /**
         * Icon
         * @type {string || null}
         */
        this.Logo = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

        /**
         * Android app package name
         * @type {string || null}
         */
        this.AndroidAppKey = null;

        /**
         * iOS App bundleId
         * @type {string || null}
         */
        this.IosAppKey = null;

        /**
         * Remarks
         * @type {string || null}
         */
        this.Remark = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.ApplicationId = 'ApplicationId' in params ? params.ApplicationId : null;
        this.ApplicationName = 'ApplicationName' in params ? params.ApplicationName : null;
        this.Intro = 'Intro' in params ? params.Intro : null;
        this.Logo = 'Logo' in params ? params.Logo : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;
        this.AndroidAppKey = 'AndroidAppKey' in params ? params.AndroidAppKey : null;
        this.IosAppKey = 'IosAppKey' in params ? params.IosAppKey : null;
        this.Remark = 'Remark' in params ? params.Remark : null;

    }
}

/**
 * DeleteUser request structure.
 * @class
 */
class DeleteUserRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * User ID
         * @type {string || null}
         */
        this.UserId = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.UserId = 'UserId' in params ? params.UserId : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * DescribeMNPCategory response structure.
 * @class
 */
class DescribeMNPCategoryResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {Array.<MNPTypeDefine> || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            this.Data = new Array();
            for (let z in params.Data) {
                let obj = new MNPTypeDefine();
                obj.deserialize(params.Data[z]);
                this.Data.push(obj);
            }
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * The request to add a sensitive API
 * @class
 */
class CreateApplicationSensitiveAPIReq extends  AbstractModel {
    constructor(){
        super();

        /**
         * API name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.APIName = null;

        /**
         * API description
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.APIDesc = null;

        /**
         * API type. 1: System; 2: Custom
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.APIType = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.APIName = 'APIName' in params ? params.APIName : null;
        this.APIDesc = 'APIDesc' in params ? params.APIDesc : null;
        this.APIType = 'APIType' in params ? params.APIType : null;

    }
}

/**
 * CreateMNPApproval request structure.
 * @class
 */
class CreateMNPApprovalRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Mini program version ID
         * @type {number || null}
         */
        this.MNPVersionId = null;

        /**
         * submit: Submit an approval request; cancel: Cancel the approval request
         * @type {string || null}
         */
        this.ApplyAction = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.MNPVersionId = 'MNPVersionId' in params ? params.MNPVersionId : null;
        this.ApplyAction = 'ApplyAction' in params ? params.ApplyAction : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * RemoveMNP request structure.
 * @class
 */
class RemoveMNPRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Mini program ID
         * @type {string || null}
         */
        this.MNPId = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.MNPId = 'MNPId' in params ? params.MNPId : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * DescribeMNPPreview response structure.
 * @class
 */
class DescribeMNPPreviewResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {DescribeMNPPreviewResp || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new DescribeMNPPreviewResp();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * Mini program list
 * @class
 */
class DescribeMNPListResp extends  AbstractModel {
    constructor(){
        super();

        /**
         * Total number of entries
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.TotalCount = null;

        /**
         * List information
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {Array.<DescribeMNPListData> || null}
         */
        this.DataList = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;

        if (params.DataList) {
            this.DataList = new Array();
            for (let z in params.DataList) {
                let obj = new DescribeMNPListData();
                obj.deserialize(params.DataList[z]);
                this.DataList.push(obj);
            }
        }

    }
}

/**
 * Response of querying the preview
 * @class
 */
class DescribeMNPPreviewResp extends  AbstractModel {
    constructor(){
        super();

        /**
         * Mini program ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPId = null;

        /**
         * Mini program name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPName = null;

        /**
         * Mini program description
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPDesc = null;

        /**
         * Mini program version
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPVersion = null;

        /**
         * Mini program introduction
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPVersionIntro = null;

        /**
         * Mini program QR code
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.QRCodeUrl = null;

        /**
         * Path to the preview
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.PreviewEntrancePath = null;

        /**
         * QR code content
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.QRCodeContent = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.MNPId = 'MNPId' in params ? params.MNPId : null;
        this.MNPName = 'MNPName' in params ? params.MNPName : null;
        this.MNPDesc = 'MNPDesc' in params ? params.MNPDesc : null;
        this.MNPVersion = 'MNPVersion' in params ? params.MNPVersion : null;
        this.MNPVersionIntro = 'MNPVersionIntro' in params ? params.MNPVersionIntro : null;
        this.QRCodeUrl = 'QRCodeUrl' in params ? params.QRCodeUrl : null;
        this.PreviewEntrancePath = 'PreviewEntrancePath' in params ? params.PreviewEntrancePath : null;
        this.QRCodeContent = 'QRCodeContent' in params ? params.QRCodeContent : null;

    }
}

/**
 * DescribeMNPVersion response structure.
 * @class
 */
class DescribeMNPVersionResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {DescribeMNPVersionResp || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new DescribeMNPVersionResp();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * ModifyApplication response structure.
 * @class
 */
class ModifyApplicationResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {BooleanInfo || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new BooleanInfo();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * EnableApplicationSensitiveAPI response structure.
 * @class
 */
class EnableApplicationSensitiveAPIResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {BooleanInfo || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new BooleanInfo();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * DescribeMNPList response structure.
 * @class
 */
class DescribeMNPListResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {DescribeMNPListResp || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new DescribeMNPListResp();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * ProcessMNPApproval response structure.
 * @class
 */
class ProcessMNPApprovalResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {BooleanInfo || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new BooleanInfo();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * DeleteTeam response structure.
 * @class
 */
class DeleteTeamResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {BooleanInfo || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new BooleanInfo();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * RemoveMNP response structure.
 * @class
 */
class RemoveMNPResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {BooleanInfo || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new BooleanInfo();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * DescribeMNPSensitiveAPIPermissionApproval request structure.
 * @class
 */
class DescribeMNPSensitiveAPIPermissionApprovalRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Approval request number
         * @type {string || null}
         */
        this.ApprovalNo = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.ApprovalNo = 'ApprovalNo' in params ? params.ApprovalNo : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * ModifyUser response structure.
 * @class
 */
class ModifyUserResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {BooleanInfo || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new BooleanInfo();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * Team member information
 * @class
 */
class DescribeTeamMemberInfoResp extends  AbstractModel {
    constructor(){
        super();

        /**
         * User ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.UserId = null;

        /**
         * User account
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.UserAccount = null;

        /**
         * User name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.UserName = null;

        /**
         * Team ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.TeamId = null;

        /**
         * Team name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.TeamName = null;

        /**
         * Team role name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.TeamRoleName = null;

        /**
         * Team role ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.TeamRoleId = null;

        /**
         * Editable or not
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {boolean || null}
         */
        this.CanEdit = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.UserId = 'UserId' in params ? params.UserId : null;
        this.UserAccount = 'UserAccount' in params ? params.UserAccount : null;
        this.UserName = 'UserName' in params ? params.UserName : null;
        this.TeamId = 'TeamId' in params ? params.TeamId : null;
        this.TeamName = 'TeamName' in params ? params.TeamName : null;
        this.TeamRoleName = 'TeamRoleName' in params ? params.TeamRoleName : null;
        this.TeamRoleId = 'TeamRoleId' in params ? params.TeamRoleId : null;
        this.CanEdit = 'CanEdit' in params ? params.CanEdit : null;

    }
}

/**
 * ConfigureMNPPreview response structure.
 * @class
 */
class ConfigureMNPPreviewResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {BooleanInfo || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new BooleanInfo();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * List of permission requests to allow a mini program to call sensitive APIs
 * @class
 */
class DescribeMNPSensitiveAPIPermissionApprovalListData extends  AbstractModel {
    constructor(){
        super();

        /**
         * Approval ID
         * @type {string || null}
         */
        this.ApprovalNo = null;

        /**
         * Sensitive API ID
         * @type {string || null}
         */
        this.APIId = null;

        /**
         * API name
         * @type {string || null}
         */
        this.APIName = null;

        /**
         * API request method
         * @type {string || null}
         */
        this.APIMethod = null;

        /**
         * Mini program ID
         * @type {string || null}
         */
        this.MNPId = null;

        /**
         * Mini program name
         * @type {string || null}
         */
        this.MNPName = null;

        /**
         * Applicant
         * @type {string || null}
         */
        this.ApplyUser = null;

        /**
         * Application time
         * @type {string || null}
         */
        this.ApplyTime = null;

        /**
         * Application notes
         * @type {string || null}
         */
        this.ApplyNote = null;

        /**
         * Approval status. 1: Processing; 20: Rejected; 30: Approved
         * @type {number || null}
         */
        this.ApprovalStatus = null;

        /**
         * Approver
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ApprovalUser = null;

        /**
         * Approval time
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ApprovalTime = null;

        /**
         * Approval notes
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ApprovalNote = null;

        /**
         * Application ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ApplicationId = null;

        /**
         * Application name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ApplicationName = null;

        /**
         * Application icon
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ApplicationLogo = null;

        /**
         * API type. 1: System; 2: Custom
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.APIType = null;

        /**
         * API feature description
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.APIDesc = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.ApprovalNo = 'ApprovalNo' in params ? params.ApprovalNo : null;
        this.APIId = 'APIId' in params ? params.APIId : null;
        this.APIName = 'APIName' in params ? params.APIName : null;
        this.APIMethod = 'APIMethod' in params ? params.APIMethod : null;
        this.MNPId = 'MNPId' in params ? params.MNPId : null;
        this.MNPName = 'MNPName' in params ? params.MNPName : null;
        this.ApplyUser = 'ApplyUser' in params ? params.ApplyUser : null;
        this.ApplyTime = 'ApplyTime' in params ? params.ApplyTime : null;
        this.ApplyNote = 'ApplyNote' in params ? params.ApplyNote : null;
        this.ApprovalStatus = 'ApprovalStatus' in params ? params.ApprovalStatus : null;
        this.ApprovalUser = 'ApprovalUser' in params ? params.ApprovalUser : null;
        this.ApprovalTime = 'ApprovalTime' in params ? params.ApprovalTime : null;
        this.ApprovalNote = 'ApprovalNote' in params ? params.ApprovalNote : null;
        this.ApplicationId = 'ApplicationId' in params ? params.ApplicationId : null;
        this.ApplicationName = 'ApplicationName' in params ? params.ApplicationName : null;
        this.ApplicationLogo = 'ApplicationLogo' in params ? params.ApplicationLogo : null;
        this.APIType = 'APIType' in params ? params.APIType : null;
        this.APIDesc = 'APIDesc' in params ? params.APIDesc : null;

    }
}

/**
 * DeleteMNP response structure.
 * @class
 */
class DeleteMNPResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {BooleanInfo || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new BooleanInfo();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * List of all developer versions of a mini program
 * @class
 */
class DescribeMPAllStageVersionsResp extends  AbstractModel {
    constructor(){
        super();

        /**
         * Mini program ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPId = null;

        /**
         * Mini program version ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.MNPVersionId = null;

        /**
         * Mini program name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPName = null;

        /**
         * Mini program icon
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPIcon = null;

        /**
         * Mini program type
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPType = null;

        /**
         * Mini program introduction
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPIntro = null;

        /**
         * Mini program description
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPDesc = null;

        /**
         * Developer
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.CreateUser = null;

        /**
         * The time when the developer created it
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.CreateTime = null;

        /**
         * Mini program version
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPVersion = null;

        /**
         * Version features
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPVersionIntro = null;

        /**
         * Phase. Values: [Develop,Platform,Online]
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.Phase = null;

        /**
         * 0: Pending; 1: Processing; 2: Rejected; 3: Approved; 4: Cancelled
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.ApprovalStatus = null;

        /**
         * Approval request number
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ApprovalNo = null;

        /**
         * Whether it is a preview
0: Not a preview; 1: Preview
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.ShowCase = null;

        /**
         * Version number to roll back to
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.RollbackVersion = null;

        /**
         * Release status
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.Status = null;

        /**
         * Version approval status. 0: Pending; 1: Processing; 2: Rejected; 3: Approved; 4: Cancelled
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.VersionCurrentStatus = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.MNPId = 'MNPId' in params ? params.MNPId : null;
        this.MNPVersionId = 'MNPVersionId' in params ? params.MNPVersionId : null;
        this.MNPName = 'MNPName' in params ? params.MNPName : null;
        this.MNPIcon = 'MNPIcon' in params ? params.MNPIcon : null;
        this.MNPType = 'MNPType' in params ? params.MNPType : null;
        this.MNPIntro = 'MNPIntro' in params ? params.MNPIntro : null;
        this.MNPDesc = 'MNPDesc' in params ? params.MNPDesc : null;
        this.CreateUser = 'CreateUser' in params ? params.CreateUser : null;
        this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
        this.MNPVersion = 'MNPVersion' in params ? params.MNPVersion : null;
        this.MNPVersionIntro = 'MNPVersionIntro' in params ? params.MNPVersionIntro : null;
        this.Phase = 'Phase' in params ? params.Phase : null;
        this.ApprovalStatus = 'ApprovalStatus' in params ? params.ApprovalStatus : null;
        this.ApprovalNo = 'ApprovalNo' in params ? params.ApprovalNo : null;
        this.ShowCase = 'ShowCase' in params ? params.ShowCase : null;
        this.RollbackVersion = 'RollbackVersion' in params ? params.RollbackVersion : null;
        this.Status = 'Status' in params ? params.Status : null;
        this.VersionCurrentStatus = 'VersionCurrentStatus' in params ? params.VersionCurrentStatus : null;

    }
}

/**
 * DescribeMNPSensitiveAPIPermissionList request structure.
 * @class
 */
class DescribeMNPSensitiveAPIPermissionListRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Page offset
         * @type {number || null}
         */
        this.Offset = null;

        /**
         * Number of results per page
         * @type {number || null}
         */
        this.Limit = null;

        /**
         * Mini program ID
         * @type {string || null}
         */
        this.MNPId = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

        /**
         * Application ID
         * @type {string || null}
         */
        this.ApplicationId = null;

        /**
         * Keywords for search (API name)
         * @type {string || null}
         */
        this.Keyword = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.Offset = 'Offset' in params ? params.Offset : null;
        this.Limit = 'Limit' in params ? params.Limit : null;
        this.MNPId = 'MNPId' in params ? params.MNPId : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;
        this.ApplicationId = 'ApplicationId' in params ? params.ApplicationId : null;
        this.Keyword = 'Keyword' in params ? params.Keyword : null;

    }
}

/**
 * DescribeApplicationList request structure.
 * @class
 */
class DescribeApplicationListRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Page offset
         * @type {number || null}
         */
        this.Offset = null;

        /**
         * Number of results per page
         * @type {number || null}
         */
        this.Limit = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

        /**
         * Keywords for search (app name)
         * @type {string || null}
         */
        this.Keyword = null;

        /**
         * Team ID
         * @type {string || null}
         */
        this.TeamId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.Offset = 'Offset' in params ? params.Offset : null;
        this.Limit = 'Limit' in params ? params.Limit : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;
        this.Keyword = 'Keyword' in params ? params.Keyword : null;
        this.TeamId = 'TeamId' in params ? params.TeamId : null;

    }
}

/**
 * DeleteTeam request structure.
 * @class
 */
class DeleteTeamRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Team ID
         * @type {string || null}
         */
        this.TeamId = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.TeamId = 'TeamId' in params ? params.TeamId : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * DescribeRoleList request structure.
 * @class
 */
class DescribeRoleListRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Page offset
         * @type {number || null}
         */
        this.Offset = null;

        /**
         * Number of results per page
         * @type {number || null}
         */
        this.Limit = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

        /**
         * Keywords for search (role name)
         * @type {string || null}
         */
        this.Keyword = null;

        /**
         * Team ID
         * @type {string || null}
         */
        this.TeamId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.Offset = 'Offset' in params ? params.Offset : null;
        this.Limit = 'Limit' in params ? params.Limit : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;
        this.Keyword = 'Keyword' in params ? params.Keyword : null;
        this.TeamId = 'TeamId' in params ? params.TeamId : null;

    }
}

/**
 * ModifyTeamMember response structure.
 * @class
 */
class ModifyTeamMemberResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {BooleanInfo || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new BooleanInfo();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * DeleteApplication response structure.
 * @class
 */
class DeleteApplicationResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {BooleanInfo || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new BooleanInfo();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * ProcessMNPSensitiveAPIPermissionApproval response structure.
 * @class
 */
class ProcessMNPSensitiveAPIPermissionApprovalResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {BooleanInfo || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new BooleanInfo();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * Application details
 * @class
 */
class DescribeApplicationResp extends  AbstractModel {
    constructor(){
        super();

        /**
         * Application ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ApplicationId = null;

        /**
         * Product ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.AppIdentityId = null;

        /**
         * Application name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ApplicationName = null;

        /**
         * Application icon
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.Logo = null;

        /**
         * Remarks
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.Remark = null;

        /**
         * Android package name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.AndroidAppKey = null;

        /**
         * iOS bundleId
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.IosAppKey = null;

        /**
         * Creator
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.CreateUser = null;

        /**
         * Creation time
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.CreateTime = null;

        /**
         * Updater
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.UpdateUser = null;

        /**
         * Update time
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.UpdateTime = null;

        /**
         * Application description
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.Intro = null;

        /**
         * Team ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.TeamId = null;

        /**
         * Team name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.TeamName = null;

        /**
         * Number of sensitive APIs
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.SensitiveApiCount = null;

        /**
         * Application type. 1: Test; 2: Formal
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.ApplicationType = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.ApplicationId = 'ApplicationId' in params ? params.ApplicationId : null;
        this.AppIdentityId = 'AppIdentityId' in params ? params.AppIdentityId : null;
        this.ApplicationName = 'ApplicationName' in params ? params.ApplicationName : null;
        this.Logo = 'Logo' in params ? params.Logo : null;
        this.Remark = 'Remark' in params ? params.Remark : null;
        this.AndroidAppKey = 'AndroidAppKey' in params ? params.AndroidAppKey : null;
        this.IosAppKey = 'IosAppKey' in params ? params.IosAppKey : null;
        this.CreateUser = 'CreateUser' in params ? params.CreateUser : null;
        this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
        this.UpdateUser = 'UpdateUser' in params ? params.UpdateUser : null;
        this.UpdateTime = 'UpdateTime' in params ? params.UpdateTime : null;
        this.Intro = 'Intro' in params ? params.Intro : null;
        this.TeamId = 'TeamId' in params ? params.TeamId : null;
        this.TeamName = 'TeamName' in params ? params.TeamName : null;
        this.SensitiveApiCount = 'SensitiveApiCount' in params ? params.SensitiveApiCount : null;
        this.ApplicationType = 'ApplicationType' in params ? params.ApplicationType : null;

    }
}

/**
 * ModifyGlobalDomain response structure.
 * @class
 */
class ModifyGlobalDomainResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {GlobalDomainModifyRespResp || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new GlobalDomainModifyRespResp();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * Role management list
 * @class
 */
class DescribeRoleListResp extends  AbstractModel {
    constructor(){
        super();

        /**
         * Total number of entries
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.TotalCount = null;

        /**
         * List data
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {Array.<DescribeRoleListData> || null}
         */
        this.DataList = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;

        if (params.DataList) {
            this.DataList = new Array();
            for (let z in params.DataList) {
                let obj = new DescribeRoleListData();
                obj.deserialize(params.DataList[z]);
                this.DataList.push(obj);
            }
        }

    }
}

/**
 * Team list information
 * @class
 */
class DescribeTeamListInfoResp extends  AbstractModel {
    constructor(){
        super();

        /**
         * Team ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.TeamId = null;

        /**
         * Team name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.TeamName = null;

        /**
         * Admin ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.AdminUserId = null;

        /**
         * Admin account
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.AdminUserAccount = null;

        /**
         * Admin username
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.AdminUserName = null;

        /**
         * Number of team members
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.MemberCount = null;

        /**
         * Team registration link
         * @type {string || null}
         */
        this.RegisterLink = null;

        /**
         * Team permission type
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {Array.<number> || null}
         */
        this.TeamRoleTypeList = null;

        /**
         * Associated team ID
         * @type {number || null}
         */
        this.RelatedTeamId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.TeamId = 'TeamId' in params ? params.TeamId : null;
        this.TeamName = 'TeamName' in params ? params.TeamName : null;
        this.AdminUserId = 'AdminUserId' in params ? params.AdminUserId : null;
        this.AdminUserAccount = 'AdminUserAccount' in params ? params.AdminUserAccount : null;
        this.AdminUserName = 'AdminUserName' in params ? params.AdminUserName : null;
        this.MemberCount = 'MemberCount' in params ? params.MemberCount : null;
        this.RegisterLink = 'RegisterLink' in params ? params.RegisterLink : null;
        this.TeamRoleTypeList = 'TeamRoleTypeList' in params ? params.TeamRoleTypeList : null;
        this.RelatedTeamId = 'RelatedTeamId' in params ? params.RelatedTeamId : null;

    }
}

/**
 * CreateMNPSensitiveAPIPermissionApproval request structure.
 * @class
 */
class CreateMNPSensitiveAPIPermissionApprovalRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * API Id
         * @type {string || null}
         */
        this.APIId = null;

        /**
         * Reason for application
         * @type {string || null}
         */
        this.ApplyReason = null;

        /**
         * Mini program ID
         * @type {string || null}
         */
        this.MNPId = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.APIId = 'APIId' in params ? params.APIId : null;
        this.ApplyReason = 'ApplyReason' in params ? params.ApplyReason : null;
        this.MNPId = 'MNPId' in params ? params.MNPId : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * DeleteMNP request structure.
 * @class
 */
class DeleteMNPRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Mini program ID
         * @type {string || null}
         */
        this.MNPId = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.MNPId = 'MNPId' in params ? params.MNPId : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * DescribeTeamList response structure.
 * @class
 */
class DescribeTeamListResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {DescribeTeamPageResp || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new DescribeTeamPageResp();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * DescribeMNPAllStageVersions response structure.
 * @class
 */
class DescribeMNPAllStageVersionsResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {Array.<DescribeMPAllStageVersionsResp> || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            this.Data = new Array();
            for (let z in params.Data) {
                let obj = new DescribeMPAllStageVersionsResp();
                obj.deserialize(params.Data[z]);
                this.Data.push(obj);
            }
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * User management list
 * @class
 */
class DescribeUserListResp extends  AbstractModel {
    constructor(){
        super();

        /**
         * Total number of entries
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.TotalCount = null;

        /**
         * List data
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {Array.<DescribeUserListData> || null}
         */
        this.DataList = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;

        if (params.DataList) {
            this.DataList = new Array();
            for (let z in params.DataList) {
                let obj = new DescribeUserListData();
                obj.deserialize(params.DataList[z]);
                this.DataList.push(obj);
            }
        }

    }
}

/**
 * Result of the mini program approval requests
 * @class
 */
class ApprovalItem extends  AbstractModel {
    constructor(){
        super();

        /**
         * Application ID
         * @type {string || null}
         */
        this.AppId = null;

        /**
         * Approval result. 2: Rejected;
3: Approved
         * @type {number || null}
         */
        this.ApprovalResult = null;

        /**
         * Approval notes. It’s required when the request is rejected.
         * @type {string || null}
         */
        this.ApprovalNote = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.AppId = 'AppId' in params ? params.AppId : null;
        this.ApprovalResult = 'ApprovalResult' in params ? params.ApprovalResult : null;
        this.ApprovalNote = 'ApprovalNote' in params ? params.ApprovalNote : null;

    }
}

/**
 * Mini program online version ID
 * @class
 */
class QueryOnlineVersionResp extends  AbstractModel {
    constructor(){
        super();

        /**
         * Mini program ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPId = null;

        /**
         * Version
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPVersion = null;

        /**
         * Version ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.MNPVersionId = null;

        /**
         * Version note
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPVersionNote = null;

        /**
         * Update time
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.UpdateTime = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.MNPId = 'MNPId' in params ? params.MNPId : null;
        this.MNPVersion = 'MNPVersion' in params ? params.MNPVersion : null;
        this.MNPVersionId = 'MNPVersionId' in params ? params.MNPVersionId : null;
        this.MNPVersionNote = 'MNPVersionNote' in params ? params.MNPVersionNote : null;
        this.UpdateTime = 'UpdateTime' in params ? params.UpdateTime : null;

    }
}

/**
 * Application information
 * @class
 */
class DescribeApplicationListData extends  AbstractModel {
    constructor(){
        super();

        /**
         * Application ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ApplicationId = null;

        /**
         * App ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.AppIdentityId = null;

        /**
         * Name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ApplicationName = null;

        /**
         * Icon
         * @type {string || null}
         */
        this.Logo = null;

        /**
         * Remarks
         * @type {string || null}
         */
        this.Remark = null;

        /**
         * Android app package name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.AndroidAppKey = null;

        /**
         * iOS App bundleId
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.IosAppKey = null;

        /**
         * Creator
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.CreateUser = null;

        /**
         * Creation time
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.CreateTime = null;

        /**
         * Updater
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.UpdateUser = null;

        /**
         * Update time
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.UpdateTime = null;

        /**
         * Introduction
         * @type {string || null}
         */
        this.Intro = null;

        /**
         * Team ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.TeamId = null;

        /**
         * Team name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.TeamName = null;

        /**
         * Number of sensitive APIs
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.SensitiveApiCount = null;

        /**
         * Application type. 1: Test; 2: Formal
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.ApplicationType = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.ApplicationId = 'ApplicationId' in params ? params.ApplicationId : null;
        this.AppIdentityId = 'AppIdentityId' in params ? params.AppIdentityId : null;
        this.ApplicationName = 'ApplicationName' in params ? params.ApplicationName : null;
        this.Logo = 'Logo' in params ? params.Logo : null;
        this.Remark = 'Remark' in params ? params.Remark : null;
        this.AndroidAppKey = 'AndroidAppKey' in params ? params.AndroidAppKey : null;
        this.IosAppKey = 'IosAppKey' in params ? params.IosAppKey : null;
        this.CreateUser = 'CreateUser' in params ? params.CreateUser : null;
        this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
        this.UpdateUser = 'UpdateUser' in params ? params.UpdateUser : null;
        this.UpdateTime = 'UpdateTime' in params ? params.UpdateTime : null;
        this.Intro = 'Intro' in params ? params.Intro : null;
        this.TeamId = 'TeamId' in params ? params.TeamId : null;
        this.TeamName = 'TeamName' in params ? params.TeamName : null;
        this.SensitiveApiCount = 'SensitiveApiCount' in params ? params.SensitiveApiCount : null;
        this.ApplicationType = 'ApplicationType' in params ? params.ApplicationType : null;

    }
}

/**
 * DescribeRoleList response structure.
 * @class
 */
class DescribeRoleListResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {DescribeRoleListResp || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new DescribeRoleListResp();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * CreateMNPVersion request structure.
 * @class
 */
class CreateMNPVersionRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Mini program ID
         * @type {string || null}
         */
        this.MNPId = null;

        /**
         * Version number
         * @type {string || null}
         */
        this.MNPVersion = null;

        /**
         * Address of the mini program package. You can export the package from IDE and upload it to a file server.
         * @type {string || null}
         */
        this.FileUrl = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

        /**
         * Version introduction
         * @type {string || null}
         */
        this.MNPVersionIntro = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.MNPId = 'MNPId' in params ? params.MNPId : null;
        this.MNPVersion = 'MNPVersion' in params ? params.MNPVersion : null;
        this.FileUrl = 'FileUrl' in params ? params.FileUrl : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;
        this.MNPVersionIntro = 'MNPVersionIntro' in params ? params.MNPVersionIntro : null;

    }
}

/**
 * Mini program list
 * @class
 */
class DescribeMNPListData extends  AbstractModel {
    constructor(){
        super();

        /**
         * Mini program ID
         * @type {string || null}
         */
        this.MNPId = null;

        /**
         * Mini program icon
         * @type {string || null}
         */
        this.MNPIcon = null;

        /**
         * Mini program name
         * @type {string || null}
         */
        this.MNPName = null;

        /**
         * Name of the associated team
         * @type {string || null}
         */
        this.TeamName = null;

        /**
         * Mini program type
         * @type {string || null}
         */
        this.MNPType = null;

        /**
         * Whether the mini program is released. 1: Released; 2: Removed
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.Status = null;

        /**
         * Mini program introduction
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPIntro = null;

        /**
         * Creator
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.CreateUser = null;

        /**
         * Creation time
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.CreateTime = null;

        /**
         * Updater
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.UpdateUser = null;

        /**
         * Update time
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.UpdateTime = null;

        /**
         * Application name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ApplicationName = null;

        /**
         * Effective status of the bound application. 1: Not effective; 2: Effective
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.EffectStatus = null;

        /**
         * ID of the application bound with the mini program
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.EffectMNPVersionId = null;

        /**
         * Effective version number of the application that bound with the mini program
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.EffectMNPVersion = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.MNPId = 'MNPId' in params ? params.MNPId : null;
        this.MNPIcon = 'MNPIcon' in params ? params.MNPIcon : null;
        this.MNPName = 'MNPName' in params ? params.MNPName : null;
        this.TeamName = 'TeamName' in params ? params.TeamName : null;
        this.MNPType = 'MNPType' in params ? params.MNPType : null;
        this.Status = 'Status' in params ? params.Status : null;
        this.MNPIntro = 'MNPIntro' in params ? params.MNPIntro : null;
        this.CreateUser = 'CreateUser' in params ? params.CreateUser : null;
        this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
        this.UpdateUser = 'UpdateUser' in params ? params.UpdateUser : null;
        this.UpdateTime = 'UpdateTime' in params ? params.UpdateTime : null;
        this.ApplicationName = 'ApplicationName' in params ? params.ApplicationName : null;
        this.EffectStatus = 'EffectStatus' in params ? params.EffectStatus : null;
        this.EffectMNPVersionId = 'EffectMNPVersionId' in params ? params.EffectMNPVersionId : null;
        this.EffectMNPVersion = 'EffectMNPVersion' in params ? params.EffectMNPVersion : null;

    }
}

/**
 * DescribeApplicationList response structure.
 * @class
 */
class DescribeApplicationListResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {DescribeApplicationListResp || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new DescribeApplicationListResp();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * DescribeMNPApprovalList request structure.
 * @class
 */
class DescribeMNPApprovalListRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Page offset
         * @type {number || null}
         */
        this.Offset = null;

        /**
         * Number of results per page
         * @type {number || null}
         */
        this.Limit = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

        /**
         * Approval status. 1: Processing; 2: Rejected; 3: Approved; 4 Cancelled
         * @type {Array.<number> || null}
         */
        this.ApprovalStatusList = null;

        /**
         * Keywords of the mini program name to search
         * @type {string || null}
         */
        this.Keyword = null;

        /**
         * Application ID
         * @type {string || null}
         */
        this.ApplicationId = null;

        /**
         * Team ID
         * @type {string || null}
         */
        this.TeamId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.Offset = 'Offset' in params ? params.Offset : null;
        this.Limit = 'Limit' in params ? params.Limit : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;
        this.ApprovalStatusList = 'ApprovalStatusList' in params ? params.ApprovalStatusList : null;
        this.Keyword = 'Keyword' in params ? params.Keyword : null;
        this.ApplicationId = 'ApplicationId' in params ? params.ApplicationId : null;
        this.TeamId = 'TeamId' in params ? params.TeamId : null;

    }
}

/**
 * ModifyMNPDomain request structure.
 * @class
 */
class ModifyMNPDomainRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Mini program ID
         * @type {string || null}
         */
        this.MNPId = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

        /**
         * Domain list
         * @type {Array.<CreateDomainParam> || null}
         */
        this.Domain = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.MNPId = 'MNPId' in params ? params.MNPId : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

        if (params.Domain) {
            this.Domain = new Array();
            for (let z in params.Domain) {
                let obj = new CreateDomainParam();
                obj.deserialize(params.Domain[z]);
                this.Domain.push(obj);
            }
        }

    }
}

/**
 * ModifyTeam request structure.
 * @class
 */
class ModifyTeamRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Team ID
         * @type {string || null}
         */
        this.TeamId = null;

        /**
         * Team name
         * @type {string || null}
         */
        this.TeamName = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

        /**
         * Team administrator
         * @type {string || null}
         */
        this.AdminUserId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.TeamId = 'TeamId' in params ? params.TeamId : null;
        this.TeamName = 'TeamName' in params ? params.TeamName : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;
        this.AdminUserId = 'AdminUserId' in params ? params.AdminUserId : null;

    }
}

/**
 * New team member - Member information
 * @class
 */
class CreateTeamMemberInfoReq extends  AbstractModel {
    constructor(){
        super();

        /**
         * User ID
         * @type {string || null}
         */
        this.UserId = null;

        /**
         * User role ID
         * @type {number || null}
         */
        this.UserRoleId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.UserId = 'UserId' in params ? params.UserId : null;
        this.UserRoleId = 'UserRoleId' in params ? params.UserRoleId : null;

    }
}

/**
 * Application configuration info
 * @class
 */
class DownloadApplicationConfigResp extends  AbstractModel {
    constructor(){
        super();

        /**
         * Configuration information in Base64 format
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.File = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.File = 'File' in params ? params.File : null;

    }
}

/**
 * CreateUser response structure.
 * @class
 */
class CreateUserResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data, user ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {ResourceIdStringInfo || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new ResourceIdStringInfo();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * ModifyMNPDomain response structure.
 * @class
 */
class ModifyMNPDomainResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {BooleanInfo || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new BooleanInfo();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * DescribeApplicationConfigFile request structure.
 * @class
 */
class DescribeApplicationConfigFileRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Application ID
         * @type {string || null}
         */
        this.ApplicationId = null;

        /**
         * Application platform. 2: Android; 3: iOS
         * @type {number || null}
         */
        this.AppType = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.ApplicationId = 'ApplicationId' in params ? params.ApplicationId : null;
        this.AppType = 'AppType' in params ? params.AppType : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * DescribeUserList request structure.
 * @class
 */
class DescribeUserListRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Page offset
         * @type {number || null}
         */
        this.Offset = null;

        /**
         * Number of results per page
         * @type {number || null}
         */
        this.Limit = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

        /**
         * Keywords for search (username or account)
         * @type {string || null}
         */
        this.Keyword = null;

        /**
         * User account 1 - Super admin 2 - Platform admin 3 - Member
         * @type {number || null}
         */
        this.AccountType = null;

        /**
         * Team ID
         * @type {string || null}
         */
        this.TeamId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.Offset = 'Offset' in params ? params.Offset : null;
        this.Limit = 'Limit' in params ? params.Limit : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;
        this.Keyword = 'Keyword' in params ? params.Keyword : null;
        this.AccountType = 'AccountType' in params ? params.AccountType : null;
        this.TeamId = 'TeamId' in params ? params.TeamId : null;

    }
}

/**
 * DeleteUser response structure.
 * @class
 */
class DeleteUserResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {BooleanInfo || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new BooleanInfo();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * DescribeApplication response structure.
 * @class
 */
class DescribeApplicationResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {DescribeApplicationResp || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new DescribeApplicationResp();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * Response of creating a mini program version
 * @class
 */
class CreateMNPVersionResp extends  AbstractModel {
    constructor(){
        super();

        /**
         * ID of the task to create a mini program version
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.TaskId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.TaskId = 'TaskId' in params ? params.TaskId : null;

    }
}

/**
 * Domain information
 * @class
 */
class DescribeDomainInfoParam extends  AbstractModel {
    constructor(){
        super();

        /**
         * Multiple domain separators ';'
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.DomainUrl = null;

        /**
         * Domain type 1-requests domain 2-WebView load domain
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.DomainType = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.DomainUrl = 'DomainUrl' in params ? params.DomainUrl : null;
        this.DomainType = 'DomainType' in params ? params.DomainType : null;

    }
}

/**
 * CreateMNPApproval response structure.
 * @class
 */
class CreateMNPApprovalResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {BooleanInfo || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new BooleanInfo();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * List of mini program approval requests of the application
 * @class
 */
class DescribeMNPApprovalListData extends  AbstractModel {
    constructor(){
        super();

        /**
         * Approval request ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ApprovalNo = null;

        /**
         * Application ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ApplicationId = null;

        /**
         * Approval status : 1: Processing; 2: Rejected; 3: Approved; 4: Cancelled
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.ApprovalStatus = null;

        /**
         * Mini program ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPId = null;

        /**
         * Mini program version
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPVersion = null;

        /**
         * Mini program version ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.MNPVersionId = null;

        /**
         * Applicant
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ApplyUser = null;

        /**
         * Application time
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ApplyTime = null;

        /**
         * Mini program name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPName = null;

        /**
         * Mini program icon
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPIcon = null;

        /**
         * Application name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ApplicationName = null;

        /**
         * Application icon
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ApplicationLogo = null;

        /**
         * Team ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.TeamId = null;

        /**
         * Team name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.TeamName = null;

        /**
         * Mini Program QR code
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPQrCodeUrl = null;

        /**
         * Mini program type
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPType = null;

        /**
         * Approver
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ApprovalUser = null;

        /**
         * Approval time
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ApprovalTime = null;

        /**
         * Approval notes
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ApprovalNote = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.ApprovalNo = 'ApprovalNo' in params ? params.ApprovalNo : null;
        this.ApplicationId = 'ApplicationId' in params ? params.ApplicationId : null;
        this.ApprovalStatus = 'ApprovalStatus' in params ? params.ApprovalStatus : null;
        this.MNPId = 'MNPId' in params ? params.MNPId : null;
        this.MNPVersion = 'MNPVersion' in params ? params.MNPVersion : null;
        this.MNPVersionId = 'MNPVersionId' in params ? params.MNPVersionId : null;
        this.ApplyUser = 'ApplyUser' in params ? params.ApplyUser : null;
        this.ApplyTime = 'ApplyTime' in params ? params.ApplyTime : null;
        this.MNPName = 'MNPName' in params ? params.MNPName : null;
        this.MNPIcon = 'MNPIcon' in params ? params.MNPIcon : null;
        this.ApplicationName = 'ApplicationName' in params ? params.ApplicationName : null;
        this.ApplicationLogo = 'ApplicationLogo' in params ? params.ApplicationLogo : null;
        this.TeamId = 'TeamId' in params ? params.TeamId : null;
        this.TeamName = 'TeamName' in params ? params.TeamName : null;
        this.MNPQrCodeUrl = 'MNPQrCodeUrl' in params ? params.MNPQrCodeUrl : null;
        this.MNPType = 'MNPType' in params ? params.MNPType : null;
        this.ApprovalUser = 'ApprovalUser' in params ? params.ApprovalUser : null;
        this.ApprovalTime = 'ApprovalTime' in params ? params.ApprovalTime : null;
        this.ApprovalNote = 'ApprovalNote' in params ? params.ApprovalNote : null;

    }
}

/**
 * Unified operation success ID - integer
 * @class
 */
class ResourceIdInfo extends  AbstractModel {
    constructor(){
        super();

        /**
         * Resource ID
0: No preview
1. A preview is currently available and uploaded by the current user.
2. A preview is currently available and uploaded by another user.
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.ResourceId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.ResourceId = 'ResourceId' in params ? params.ResourceId : null;

    }
}

/**
 * DeleteTeamMember response structure.
 * @class
 */
class DeleteTeamMemberResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {BooleanInfo || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new BooleanInfo();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * ProcessMNPApproval request structure.
 * @class
 */
class ProcessMNPApprovalRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Approval ID
         * @type {string || null}
         */
        this.ApprovalNo = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

        /**
         * Approval details
         * @type {Array.<ApprovalItem> || null}
         */
        this.ApprovalItems = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.ApprovalNo = 'ApprovalNo' in params ? params.ApprovalNo : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

        if (params.ApprovalItems) {
            this.ApprovalItems = new Array();
            for (let z in params.ApprovalItems) {
                let obj = new ApprovalItem();
                obj.deserialize(params.ApprovalItems[z]);
                this.ApprovalItems.push(obj);
            }
        }

    }
}

/**
 * ModifyUser request structure.
 * @class
 */
class ModifyUserRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * User ID
         * @type {string || null}
         */
        this.UserId = null;

        /**
         * User name
         * @type {string || null}
         */
        this.UserName = null;

        /**
         * Account type 2 - Platform admin 3 - Member
         * @type {number || null}
         */
        this.AccountType = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.UserId = 'UserId' in params ? params.UserId : null;
        this.UserName = 'UserName' in params ? params.UserName : null;
        this.AccountType = 'AccountType' in params ? params.AccountType : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * CreateMNP response structure.
 * @class
 */
class CreateMNPResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response mini program ID
         * @type {ResourceIdStringInfo || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new ResourceIdStringInfo();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * List of permission requests to allow a mini program to call sensitive APIs
 * @class
 */
class DescribeMNPSensitiveAPIPermissionApprovalListResp extends  AbstractModel {
    constructor(){
        super();

        /**
         * Total number of entries
         * @type {number || null}
         */
        this.TotalCount = null;

        /**
         * List information
         * @type {Array.<DescribeMNPSensitiveAPIPermissionApprovalListData> || null}
         */
        this.DataList = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;

        if (params.DataList) {
            this.DataList = new Array();
            for (let z in params.DataList) {
                let obj = new DescribeMNPSensitiveAPIPermissionApprovalListData();
                obj.deserialize(params.DataList[z]);
                this.DataList.push(obj);
            }
        }

    }
}

/**
 * DescribeMNPDomainACL request structure.
 * @class
 */
class DescribeMNPDomainACLRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Mini program ID
         * @type {string || null}
         */
        this.MNPId = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.MNPId = 'MNPId' in params ? params.MNPId : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * DescribeUserList response structure.
 * @class
 */
class DescribeUserListResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {DescribeUserListResp || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new DescribeUserListResp();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * DeleteTeamMember request structure.
 * @class
 */
class DeleteTeamMemberRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Team ID
         * @type {string || null}
         */
        this.TeamId = null;

        /**
         * User ID
         * @type {string || null}
         */
        this.UserId = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.TeamId = 'TeamId' in params ? params.TeamId : null;
        this.UserId = 'UserId' in params ? params.UserId : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * CreateGlobalDomainACL response structure.
 * @class
 */
class CreateGlobalDomainACLResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {CreateGlobalDomainResp || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new CreateGlobalDomainResp();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * RollbackMNPVersion request structure.
 * @class
 */
class RollbackMNPVersionRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Mini program ID
         * @type {string || null}
         */
        this.MNPId = null;

        /**
         * Mini program version ID
         * @type {number || null}
         */
        this.MNPVersionId = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

        /**
         * Mini program version number
         * @type {string || null}
         */
        this.MNPVersion = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.MNPId = 'MNPId' in params ? params.MNPId : null;
        this.MNPVersionId = 'MNPVersionId' in params ? params.MNPVersionId : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;
        this.MNPVersion = 'MNPVersion' in params ? params.MNPVersion : null;

    }
}

/**
 * ProcessMNPSensitiveAPIPermissionApproval request structure.
 * @class
 */
class ProcessMNPSensitiveAPIPermissionApprovalRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Approval ID
         * @type {string || null}
         */
        this.ApprovalNo = null;

        /**
         * Approval status. 20: Rejected; 30: Approved
         * @type {number || null}
         */
        this.ApprovalStatus = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

        /**
         * Approval notes
         * @type {string || null}
         */
        this.ApprovalNote = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.ApprovalNo = 'ApprovalNo' in params ? params.ApprovalNo : null;
        this.ApprovalStatus = 'ApprovalStatus' in params ? params.ApprovalStatus : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;
        this.ApprovalNote = 'ApprovalNote' in params ? params.ApprovalNote : null;

    }
}

/**
 * List of sensitive APIs that can be called by a mini program
 * @class
 */
class DescribeMNPSensitiveAPIPermissionListData extends  AbstractModel {
    constructor(){
        super();

        /**
         * API ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.APIId = null;

        /**
         * API name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.APIName = null;

        /**
         * API request method
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.APIMethod = null;

        /**
         * API status
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.APIStatus = null;

        /**
         * API application status
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.APIApplyStatus = null;

        /**
         * Reason for rejection
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.RejectReason = null;

        /**
         * Approval ID
         * @type {string || null}
         */
        this.ApprovalNo = null;

        /**
         * Application ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ApplicationId = null;

        /**
         * Application icon
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ApplicationIcon = null;

        /**
         * Application name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ApplicationName = null;

        /**
         * API type. 1: System; 2: Custom
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.APIType = null;

        /**
         * API feature description
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.APIDesc = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.APIId = 'APIId' in params ? params.APIId : null;
        this.APIName = 'APIName' in params ? params.APIName : null;
        this.APIMethod = 'APIMethod' in params ? params.APIMethod : null;
        this.APIStatus = 'APIStatus' in params ? params.APIStatus : null;
        this.APIApplyStatus = 'APIApplyStatus' in params ? params.APIApplyStatus : null;
        this.RejectReason = 'RejectReason' in params ? params.RejectReason : null;
        this.ApprovalNo = 'ApprovalNo' in params ? params.ApprovalNo : null;
        this.ApplicationId = 'ApplicationId' in params ? params.ApplicationId : null;
        this.ApplicationIcon = 'ApplicationIcon' in params ? params.ApplicationIcon : null;
        this.ApplicationName = 'ApplicationName' in params ? params.ApplicationName : null;
        this.APIType = 'APIType' in params ? params.APIType : null;
        this.APIDesc = 'APIDesc' in params ? params.APIDesc : null;

    }
}

/**
 * DescribeMNPOfflinePackageURL response structure.
 * @class
 */
class DescribeMNPOfflinePackageURLResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {StringData || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new StringData();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * DescribeUser response structure.
 * @class
 */
class DescribeUserResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {DescribeUserDetailResp || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new DescribeUserDetailResp();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * CreateApplicationSensitiveAPI response structure.
 * @class
 */
class CreateApplicationSensitiveAPIResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {BooleanInfo || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new BooleanInfo();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * Response of global domain name modification
 * @class
 */
class GlobalDomainModifyRespResp extends  AbstractModel {
    constructor(){
        super();

        /**
         * 0: Success; 1: Allowed domains; 2: Blocked domains
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.Result = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.Result = 'Result' in params ? params.Result : null;

    }
}

/**
 * DisableApplicationSensitiveAPI request structure.
 * @class
 */
class DisableApplicationSensitiveAPIRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

        /**
         * API ID
         * @type {string || null}
         */
        this.APIId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;
        this.APIId = 'APIId' in params ? params.APIId : null;

    }
}

/**
 * DescribeApplicationSensitiveAPIList response structure.
 * @class
 */
class DescribeApplicationSensitiveAPIListResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {DescribeApplicationSensitiveAPIListResp || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new DescribeApplicationSensitiveAPIListResp();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * DeleteApplication request structure.
 * @class
 */
class DeleteApplicationRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Application ID
         * @type {string || null}
         */
        this.ApplicationId = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.ApplicationId = 'ApplicationId' in params ? params.ApplicationId : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * DescribeUser request structure.
 * @class
 */
class DescribeUserRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * User ID
         * @type {string || null}
         */
        this.UserId = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.UserId = 'UserId' in params ? params.UserId : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * ModifyGlobalDomain request structure.
 * @class
 */
class ModifyGlobalDomainRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Domain ID
         * @type {number || null}
         */
        this.DomainId = null;

        /**
         * Domain name
         * @type {string || null}
         */
        this.DomainUrl = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.DomainId = 'DomainId' in params ? params.DomainId : null;
        this.DomainUrl = 'DomainUrl' in params ? params.DomainUrl : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * User details
 * @class
 */
class DescribeUserDetailResp extends  AbstractModel {
    constructor(){
        super();

        /**
         * User ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.UserId = null;

        /**
         * User account
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.UserAccount = null;

        /**
         * User account
1 - Super admin 2 - Platform admin 3 - Member
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.AccountType = null;

        /**
         * User name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.UserName = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.UserId = 'UserId' in params ? params.UserId : null;
        this.UserAccount = 'UserAccount' in params ? params.UserAccount : null;
        this.AccountType = 'AccountType' in params ? params.AccountType : null;
        this.UserName = 'UserName' in params ? params.UserName : null;

    }
}

/**
 * DescribeMNPReleasedVersionHistory request structure.
 * @class
 */
class DescribeMNPReleasedVersionHistoryRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Mini program ID
         * @type {string || null}
         */
        this.MNPId = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.MNPId = 'MNPId' in params ? params.MNPId : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * DescribeMNPSensitiveAPIPermissionList response structure.
 * @class
 */
class DescribeMNPSensitiveAPIPermissionListResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response parameters
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {DescribeMNPSensitiveAPIPermissionListResp || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new DescribeMNPSensitiveAPIPermissionListResp();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * AddTeamMember response structure.
 * @class
 */
class AddTeamMemberResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {BooleanInfo || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new BooleanInfo();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * CreateTeam response structure.
 * @class
 */
class CreateTeamResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * CreateMNPSensitiveAPIPermissionApproval response structure.
 * @class
 */
class CreateMNPSensitiveAPIPermissionApprovalResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {ResourceIdStringInfo || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new ResourceIdStringInfo();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * ModifyMNP request structure.
 * @class
 */
class ModifyMNPRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Mini program type
         * @type {string || null}
         */
        this.MNPType = null;

        /**
         * Mini program name
         * @type {string || null}
         */
        this.MNPName = null;

        /**
         * Mini program introduction
         * @type {string || null}
         */
        this.MNPIntro = null;

        /**
         * Mini program description
         * @type {string || null}
         */
        this.MNPDesc = null;

        /**
         * Mini program ID
         * @type {string || null}
         */
        this.MNPId = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

        /**
         * Mini program icon
         * @type {string || null}
         */
        this.MNPIcon = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.MNPType = 'MNPType' in params ? params.MNPType : null;
        this.MNPName = 'MNPName' in params ? params.MNPName : null;
        this.MNPIntro = 'MNPIntro' in params ? params.MNPIntro : null;
        this.MNPDesc = 'MNPDesc' in params ? params.MNPDesc : null;
        this.MNPId = 'MNPId' in params ? params.MNPId : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;
        this.MNPIcon = 'MNPIcon' in params ? params.MNPIcon : null;

    }
}

/**
 * CreateMNPDomainACL request structure.
 * @class
 */
class CreateMNPDomainACLRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Mini program ID
         * @type {string || null}
         */
        this.MNPId = null;

        /**
         * Domain name list
         * @type {Array.<CreateDomainParam> || null}
         */
        this.Domain = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.MNPId = 'MNPId' in params ? params.MNPId : null;

        if (params.Domain) {
            this.Domain = new Array();
            for (let z in params.Domain) {
                let obj = new CreateDomainParam();
                obj.deserialize(params.Domain[z]);
                this.Domain.push(obj);
            }
        }
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * RollbackMNPVersion response structure.
 * @class
 */
class RollbackMNPVersionResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {BooleanInfo || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new BooleanInfo();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * CreateTeam request structure.
 * @class
 */
class CreateTeamRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Team name
         * @type {string || null}
         */
        this.TeamName = null;

        /**
         * Admin name
         * @type {string || null}
         */
        this.AdminUserId = null;

        /**
         * Permission assigned to the team. 1: Mini program; 2: Application (only one of these types is supported)
         * @type {Array.<number> || null}
         */
        this.TeamRoleTypeList = null;

        /**
         * Remarks
         * @type {string || null}
         */
        this.Remark = null;

        /**
         * Platform ID, required for API call
         * @type {string || null}
         */
        this.PlatformId = null;

        /**
         * Associated team ID
         * @type {string || null}
         */
        this.RelatedTeamId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.TeamName = 'TeamName' in params ? params.TeamName : null;
        this.AdminUserId = 'AdminUserId' in params ? params.AdminUserId : null;
        this.TeamRoleTypeList = 'TeamRoleTypeList' in params ? params.TeamRoleTypeList : null;
        this.Remark = 'Remark' in params ? params.Remark : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;
        this.RelatedTeamId = 'RelatedTeamId' in params ? params.RelatedTeamId : null;

    }
}

/**
 * CreateApplicationSensitiveAPI request structure.
 * @class
 */
class CreateApplicationSensitiveAPIRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Application ID
         * @type {string || null}
         */
        this.ApplicationId = null;

        /**
         * List of newly-added APIs
         * @type {Array.<CreateApplicationSensitiveAPIReq> || null}
         */
        this.APIList = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.ApplicationId = 'ApplicationId' in params ? params.ApplicationId : null;

        if (params.APIList) {
            this.APIList = new Array();
            for (let z in params.APIList) {
                let obj = new CreateApplicationSensitiveAPIReq();
                obj.deserialize(params.APIList[z]);
                this.APIList.push(obj);
            }
        }
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * List of sensitive APIs that can be called by a mini program
 * @class
 */
class DescribeMNPSensitiveAPIPermissionListResp extends  AbstractModel {
    constructor(){
        super();

        /**
         * Total number of entries
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.TotalCount = null;

        /**
         * List data
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {Array.<DescribeMNPSensitiveAPIPermissionListData> || null}
         */
        this.DataList = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;

        if (params.DataList) {
            this.DataList = new Array();
            for (let z in params.DataList) {
                let obj = new DescribeMNPSensitiveAPIPermissionListData();
                obj.deserialize(params.DataList[z]);
                this.DataList.push(obj);
            }
        }

    }
}

/**
 * ReleaseMNPVersion request structure.
 * @class
 */
class ReleaseMNPVersionRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Mini program version ID
         * @type {number || null}
         */
        this.MNPVersionId = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.MNPVersionId = 'MNPVersionId' in params ? params.MNPVersionId : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * Role management list
 * @class
 */
class DescribeRoleListData extends  AbstractModel {
    constructor(){
        super();

        /**
         * Role ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.RoleId = null;

        /**
         * Role name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.RoleName = null;

        /**
         * Team name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.TeamName = null;

        /**
         * Creation time
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.CreateTime = null;

        /**
         * Role type 1-Preset role 2-Custom role
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.RoleType = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.RoleId = 'RoleId' in params ? params.RoleId : null;
        this.RoleName = 'RoleName' in params ? params.RoleName : null;
        this.TeamName = 'TeamName' in params ? params.TeamName : null;
        this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
        this.RoleType = 'RoleType' in params ? params.RoleType : null;

    }
}

/**
 * DescribeMNP response structure.
 * @class
 */
class DescribeMNPResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {DescribeMNPManagerDetailData || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new DescribeMNPManagerDetailData();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * Global domain name page list
 * @class
 */
class DescribeGlobalDomainsResp extends  AbstractModel {
    constructor(){
        super();

        /**
         * Total number of results
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.TotalCount = null;

        /**
         * Domain name information
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {Array.<DescribeGlobalDomainsListData> || null}
         */
        this.DataList = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;

        if (params.DataList) {
            this.DataList = new Array();
            for (let z in params.DataList) {
                let obj = new DescribeGlobalDomainsListData();
                obj.deserialize(params.DataList[z]);
                this.DataList.push(obj);
            }
        }

    }
}

/**
 * Response of querying the rollback version list
 * @class
 */
class DescribeRevertOnlineVersionPageResp extends  AbstractModel {
    constructor(){
        super();

        /**
         * Total number of entries
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.TotalCount = null;

        /**
         * List information
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {Array.<QueryOnlineVersionResp> || null}
         */
        this.DataList = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;

        if (params.DataList) {
            this.DataList = new Array();
            for (let z in params.DataList) {
                let obj = new QueryOnlineVersionResp();
                obj.deserialize(params.DataList[z]);
                this.DataList.push(obj);
            }
        }

    }
}

/**
 * List of mini program approval requests of an application
 * @class
 */
class DescribeMNPApprovalListResp extends  AbstractModel {
    constructor(){
        super();

        /**
         * Total number of entries
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.TotalCount = null;

        /**
         * List information
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {Array.<DescribeMNPApprovalListData> || null}
         */
        this.DataList = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;

        if (params.DataList) {
            this.DataList = new Array();
            for (let z in params.DataList) {
                let obj = new DescribeMNPApprovalListData();
                obj.deserialize(params.DataList[z]);
                this.DataList.push(obj);
            }
        }

    }
}

/**
 * Details of a permission request to allow a mini program to call sensitive APIs
 * @class
 */
class DescribeMNPSensitiveAPIPermissionApprovalData extends  AbstractModel {
    constructor(){
        super();

        /**
         * API ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.APIId = null;

        /**
         * API request method
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.APIMethod = null;

        /**
         * Reason for the request
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ApplyReason = null;

        /**
         * Reason for rejection
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.RejectReason = null;

        /**
         * Approval status. 20: Rejected; 30: Approved
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.ApprovalStatus = null;

        /**
         * API feature description
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.APIDesc = null;

        /**
         * API type. 1: System; 2: Custom
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.APIType = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.APIId = 'APIId' in params ? params.APIId : null;
        this.APIMethod = 'APIMethod' in params ? params.APIMethod : null;
        this.ApplyReason = 'ApplyReason' in params ? params.ApplyReason : null;
        this.RejectReason = 'RejectReason' in params ? params.RejectReason : null;
        this.ApprovalStatus = 'ApprovalStatus' in params ? params.ApprovalStatus : null;
        this.APIDesc = 'APIDesc' in params ? params.APIDesc : null;
        this.APIType = 'APIType' in params ? params.APIType : null;

    }
}

/**
 * DescribeMNPSensitiveAPIPermissionApprovalList response structure.
 * @class
 */
class DescribeMNPSensitiveAPIPermissionApprovalListResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {DescribeMNPSensitiveAPIPermissionApprovalListResp || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new DescribeMNPSensitiveAPIPermissionApprovalListResp();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * DescribeMNPSensitiveAPIPermissionApprovalList request structure.
 * @class
 */
class DescribeMNPSensitiveAPIPermissionApprovalListRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Page offset
         * @type {number || null}
         */
        this.Offset = null;

        /**
         * Number of results per page
         * @type {number || null}
         */
        this.Limit = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

        /**
         * Approval status. 1: Processing; 20: Rejected; 30: Approved
         * @type {Array.<number> || null}
         */
        this.ApprovalStatusList = null;

        /**
         * Keywords for search (API name, API method or application name)
         * @type {string || null}
         */
        this.Keyword = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.Offset = 'Offset' in params ? params.Offset : null;
        this.Limit = 'Limit' in params ? params.Limit : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;
        this.ApprovalStatusList = 'ApprovalStatusList' in params ? params.ApprovalStatusList : null;
        this.Keyword = 'Keyword' in params ? params.Keyword : null;

    }
}

/**
 * List of applications
 * @class
 */
class DescribeApplicationListResp extends  AbstractModel {
    constructor(){
        super();

        /**
         * Total number of entries
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.TotalCount = null;

        /**
         * List information
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {Array.<DescribeApplicationListData> || null}
         */
        this.DataList = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;

        if (params.DataList) {
            this.DataList = new Array();
            for (let z in params.DataList) {
                let obj = new DescribeApplicationListData();
                obj.deserialize(params.DataList[z]);
                this.DataList.push(obj);
            }
        }

    }
}

/**
 * AddTeamMember request structure.
 * @class
 */
class AddTeamMemberRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Team ID
         * @type {string || null}
         */
        this.TeamId = null;

        /**
         * Members to be added
         * @type {Array.<CreateTeamMemberInfoReq> || null}
         */
        this.MemberList = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.TeamId = 'TeamId' in params ? params.TeamId : null;

        if (params.MemberList) {
            this.MemberList = new Array();
            for (let z in params.MemberList) {
                let obj = new CreateTeamMemberInfoReq();
                obj.deserialize(params.MemberList[z]);
                this.MemberList.push(obj);
            }
        }
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * DescribeMNPOfflinePackageURL request structure.
 * @class
 */
class DescribeMNPOfflinePackageURLRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Mini program ID
         * @type {string || null}
         */
        this.MNPId = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.MNPId = 'MNPId' in params ? params.MNPId : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * CreateMNP request structure.
 * @class
 */
class CreateMNPRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Mini program type
         * @type {string || null}
         */
        this.MNPType = null;

        /**
         * Mini program name
         * @type {string || null}
         */
        this.MNPName = null;

        /**
         * Mini app icon
         * @type {string || null}
         */
        this.MNPIcon = null;

        /**
         * Mini program introduction
         * @type {string || null}
         */
        this.MNPIntro = null;

        /**
         * Mini program description
         * @type {string || null}
         */
        this.MNPDesc = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

        /**
         * Team ID
         * @type {string || null}
         */
        this.TeamId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.MNPType = 'MNPType' in params ? params.MNPType : null;
        this.MNPName = 'MNPName' in params ? params.MNPName : null;
        this.MNPIcon = 'MNPIcon' in params ? params.MNPIcon : null;
        this.MNPIntro = 'MNPIntro' in params ? params.MNPIntro : null;
        this.MNPDesc = 'MNPDesc' in params ? params.MNPDesc : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;
        this.TeamId = 'TeamId' in params ? params.TeamId : null;

    }
}

/**
 * DescribeTeam request structure.
 * @class
 */
class DescribeTeamRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Team ID
         * @type {string || null}
         */
        this.TeamId = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.TeamId = 'TeamId' in params ? params.TeamId : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * DescribeMNP request structure.
 * @class
 */
class DescribeMNPRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Mini program ID
         * @type {string || null}
         */
        this.MNPId = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.MNPId = 'MNPId' in params ? params.MNPId : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * CreateUser request structure.
 * @class
 */
class CreateUserRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * User account
         * @type {string || null}
         */
        this.UserAccount = null;

        /**
         * User name
         * @type {string || null}
         */
        this.UserName = null;

        /**
         * User account type. 2: Platform admin; 3: Member.
         * @type {number || null}
         */
        this.AccountType = null;

        /**
         * Account password. Use CreatePresetKey to get the public key to encrypt the password.
         * @type {string || null}
         */
        this.Password = null;

        /**
         * Call CreatePresetKey to get the keyID from RequestId
         * @type {string || null}
         */
        this.KeyId = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.UserAccount = 'UserAccount' in params ? params.UserAccount : null;
        this.UserName = 'UserName' in params ? params.UserName : null;
        this.AccountType = 'AccountType' in params ? params.AccountType : null;
        this.Password = 'Password' in params ? params.Password : null;
        this.KeyId = 'KeyId' in params ? params.KeyId : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * ModifyTeam response structure.
 * @class
 */
class ModifyTeamResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {BooleanInfo || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new BooleanInfo();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * DescribeMNPSensitiveAPIPermissionApproval response structure.
 * @class
 */
class DescribeMNPSensitiveAPIPermissionApprovalResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {DescribeMNPSensitiveAPIPermissionApprovalData || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new DescribeMNPSensitiveAPIPermissionApprovalData();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * DescribeTempSecret4UploadFile2Cos request structure.
 * @class
 */
class DescribeTempSecret4UploadFile2CosRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Service name
         * @type {string || null}
         */
        this.BusinessName = null;

        /**
         * File suffix
         * @type {string || null}
         */
        this.Suffix = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.BusinessName = 'BusinessName' in params ? params.BusinessName : null;
        this.Suffix = 'Suffix' in params ? params.Suffix : null;

    }
}

/**
 * ModifyTeamMember request structure.
 * @class
 */
class ModifyTeamMemberRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Team ID
         * @type {string || null}
         */
        this.TeamId = null;

        /**
         * User ID
         * @type {string || null}
         */
        this.UserId = null;

        /**
         * Role ID
         * @type {number || null}
         */
        this.RoleId = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.TeamId = 'TeamId' in params ? params.TeamId : null;
        this.UserId = 'UserId' in params ? params.UserId : null;
        this.RoleId = 'RoleId' in params ? params.RoleId : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * List of global domain names
 * @class
 */
class DescribeGlobalDomainsListData extends  AbstractModel {
    constructor(){
        super();

        /**
         * Domain ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.DomainId = null;

        /**
         * Domain name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.DomainUrl = null;

        /**
         * Type. 1: Allowed; 2: Blocked
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.DomainType = null;

        /**
         * Creator
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.CreateUser = null;

        /**
         * Creation time
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.CreateTime = null;

        /**
         * Updater
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.UpdateUser = null;

        /**
         * Update time
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.UpdateTime = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.DomainId = 'DomainId' in params ? params.DomainId : null;
        this.DomainUrl = 'DomainUrl' in params ? params.DomainUrl : null;
        this.DomainType = 'DomainType' in params ? params.DomainType : null;
        this.CreateUser = 'CreateUser' in params ? params.CreateUser : null;
        this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
        this.UpdateUser = 'UpdateUser' in params ? params.UpdateUser : null;
        this.UpdateTime = 'UpdateTime' in params ? params.UpdateTime : null;

    }
}

/**
 * Mini program details
 * @class
 */
class DescribeMNPManagerDetailData extends  AbstractModel {
    constructor(){
        super();

        /**
         * Mini program type 
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPType = null;

        /**
         * Mini program ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPId = null;

        /**
         * Mini program name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPName = null;

        /**
         * Mini program icon
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPIcon = null;

        /**
         * Mini program introduction
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPIntro = null;

        /**
         * Mini program description
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPDesc = null;

        /**
         * Creation time, timestamp
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.CreateTime = null;

        /**
         * Creator
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.CreateUser = null;

        /**
         * Connection status. 1: Not connected; 2: Connected
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.AccessStatus = null;

        /**
         * The name of the associated team
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.TeamName = null;

        /**
         * Team ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.TeamId = null;

        /**
         * Mini program release status. 1: Released; 2: Removed
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.Status = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.MNPType = 'MNPType' in params ? params.MNPType : null;
        this.MNPId = 'MNPId' in params ? params.MNPId : null;
        this.MNPName = 'MNPName' in params ? params.MNPName : null;
        this.MNPIcon = 'MNPIcon' in params ? params.MNPIcon : null;
        this.MNPIntro = 'MNPIntro' in params ? params.MNPIntro : null;
        this.MNPDesc = 'MNPDesc' in params ? params.MNPDesc : null;
        this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
        this.CreateUser = 'CreateUser' in params ? params.CreateUser : null;
        this.AccessStatus = 'AccessStatus' in params ? params.AccessStatus : null;
        this.TeamName = 'TeamName' in params ? params.TeamName : null;
        this.TeamId = 'TeamId' in params ? params.TeamId : null;
        this.Status = 'Status' in params ? params.Status : null;

    }
}

/**
 * User list data
 * @class
 */
class DescribeUserListData extends  AbstractModel {
    constructor(){
        super();

        /**
         * User ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.UserId = null;

        /**
         * User account
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.UserAccount = null;

        /**
         * Account type. 1: Super admin; 2: Platform admin; 3: Member
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.AccountType = null;

        /**
         * User name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.UserName = null;

        /**
         * Creation time
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.CreateTime = null;

        /**
         * Status. 1: Normal; 2: Disabled
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.Status = null;

        /**
         * Team name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.TeamName = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.UserId = 'UserId' in params ? params.UserId : null;
        this.UserAccount = 'UserAccount' in params ? params.UserAccount : null;
        this.AccountType = 'AccountType' in params ? params.AccountType : null;
        this.UserName = 'UserName' in params ? params.UserName : null;
        this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
        this.Status = 'Status' in params ? params.Status : null;
        this.TeamName = 'TeamName' in params ? params.TeamName : null;

    }
}

/**
 * DescribeTeam response structure.
 * @class
 */
class DescribeTeamResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {DescribeTeamDetailResp || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new DescribeTeamDetailResp();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * DescribeApplication request structure.
 * @class
 */
class DescribeApplicationRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Application ID
         * @type {string || null}
         */
        this.ApplicationId = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.ApplicationId = 'ApplicationId' in params ? params.ApplicationId : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * CreateMNPVersion response structure.
 * @class
 */
class CreateMNPVersionResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {CreateMNPVersionResp || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new CreateMNPVersionResp();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * DescribeMNPDomainACL response structure.
 * @class
 */
class DescribeMNPDomainACLResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {Array.<DescribeDomainInfoParam> || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            this.Data = new Array();
            for (let z in params.Data) {
                let obj = new DescribeDomainInfoParam();
                obj.deserialize(params.Data[z]);
                this.Data.push(obj);
            }
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * ReleaseMNPVersion response structure.
 * @class
 */
class ReleaseMNPVersionResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {BooleanInfo || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new BooleanInfo();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * The general parameter for resource ID returned for successful operations
 * @class
 */
class ResourceIdStringInfo extends  AbstractModel {
    constructor(){
        super();

        /**
         * The ID of the resource returned
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ResourceId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.ResourceId = 'ResourceId' in params ? params.ResourceId : null;

    }
}

/**
 * Parameters to create a domain name
 * @class
 */
class CreateDomainParam extends  AbstractModel {
    constructor(){
        super();

        /**
         * Array of domain name URLs
         * @type {Array.<string> || null}
         */
        this.DomainUrlList = null;

        /**
         * Domain type. 1: requests domain; 2: WebView load domain, 3: sockets domain; 4: File upload; 5: File download
         * @type {number || null}
         */
        this.DomainType = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.DomainUrlList = 'DomainUrlList' in params ? params.DomainUrlList : null;
        this.DomainType = 'DomainType' in params ? params.DomainType : null;

    }
}

/**
 * Team list
 * @class
 */
class DescribeTeamPageResp extends  AbstractModel {
    constructor(){
        super();

        /**
         * Total number of entries
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.TotalCount = null;

        /**
         * List information
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {Array.<DescribeTeamListInfoResp> || null}
         */
        this.DataList = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;

        if (params.DataList) {
            this.DataList = new Array();
            for (let z in params.DataList) {
                let obj = new DescribeTeamListInfoResp();
                obj.deserialize(params.DataList[z]);
                this.DataList.push(obj);
            }
        }

    }
}

/**
 * ModifyMNP response structure.
 * @class
 */
class ModifyMNPResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {ResourceIdInfo || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new ResourceIdInfo();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * Result of the task to create a mini program version
 * @class
 */
class DescribeMNPVersionResp extends  AbstractModel {
    constructor(){
        super();

        /**
         * Mini program ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.MNPId = null;

        /**
         * Task ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.TaskId = null;

        /**
         * 1: Pending; 20: Running; 30: Failed; 60: Succeeded 
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.TaskStatus = null;

        /**
         * Task status message
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.TaskMsg = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.MNPId = 'MNPId' in params ? params.MNPId : null;
        this.TaskId = 'TaskId' in params ? params.TaskId : null;
        this.TaskStatus = 'TaskStatus' in params ? params.TaskStatus : null;
        this.TaskMsg = 'TaskMsg' in params ? params.TaskMsg : null;

    }
}

/**
 * DescribeApplicationConfigFile response structure.
 * @class
 */
class DescribeApplicationConfigFileResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {DownloadApplicationConfigResp || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new DownloadApplicationConfigResp();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * Used for Data object when no data is returned after the a successful action.
 * @class
 */
class BooleanInfo extends  AbstractModel {
    constructor(){
        super();

        /**
         * Bool type response object
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {boolean || null}
         */
        this.Result = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.Result = 'Result' in params ? params.Result : null;

    }
}

/**
 * DisableApplicationSensitiveAPI response structure.
 * @class
 */
class DisableApplicationSensitiveAPIResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {BooleanInfo || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new BooleanInfo();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * Temporary key for file upload
 * @class
 */
class UploadFileTempSecret extends  AbstractModel {
    constructor(){
        super();

        /**
         * Bucket
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.Bucket = null;

        /**
         * Region
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.Region = null;

        /**
         * Destination of upload
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.Path = null;

        /**
         * Temporary secret ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.TempSecretId = null;

        /**
         * Temporary secret key
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.TempSecretKey = null;

        /**
         * Token 
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.Token = null;

        /**
         * Whether to enable global acceleration. Valid values: 0 (no), 1 (yes)
         * @type {number || null}
         */
        this.AccelerateEnable = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.Bucket = 'Bucket' in params ? params.Bucket : null;
        this.Region = 'Region' in params ? params.Region : null;
        this.Path = 'Path' in params ? params.Path : null;
        this.TempSecretId = 'TempSecretId' in params ? params.TempSecretId : null;
        this.TempSecretKey = 'TempSecretKey' in params ? params.TempSecretKey : null;
        this.Token = 'Token' in params ? params.Token : null;
        this.AccelerateEnable = 'AccelerateEnable' in params ? params.AccelerateEnable : null;

    }
}

/**
 * CreateMNPDomainACL response structure.
 * @class
 */
class CreateMNPDomainACLResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {BooleanInfo || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new BooleanInfo();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * DescribeTeamList request structure.
 * @class
 */
class DescribeTeamListRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Pagination offset
         * @type {number || null}
         */
        this.Offset = null;

        /**
         * Number of results per page
         * @type {number || null}
         */
        this.Limit = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

        /**
         * Name of the team to be queried
         * @type {string || null}
         */
        this.Keyword = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.Offset = 'Offset' in params ? params.Offset : null;
        this.Limit = 'Limit' in params ? params.Limit : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;
        this.Keyword = 'Keyword' in params ? params.Keyword : null;

    }
}

/**
 * DescribeMNPApprovalList response structure.
 * @class
 */
class DescribeMNPApprovalListResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {DescribeMNPApprovalListResp || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new DescribeMNPApprovalListResp();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * DescribeMNPVersion request structure.
 * @class
 */
class DescribeMNPVersionRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * ID of the task to create a mini program version
         * @type {string || null}
         */
        this.BusinessId = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.BusinessId = 'BusinessId' in params ? params.BusinessId : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * DescribeGlobalDomainACL request structure.
 * @class
 */
class DescribeGlobalDomainACLRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Page offset
         * @type {number || null}
         */
        this.Offset = null;

        /**
         * Number of results per page
         * @type {number || null}
         */
        this.Limit = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

        /**
         * Domain type. 1: Allowed; 2: Blocked
         * @type {Array.<number> || null}
         */
        this.DomainTypes = null;

        /**
         * Domain names to be queried
         * @type {string || null}
         */
        this.Keyword = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.Offset = 'Offset' in params ? params.Offset : null;
        this.Limit = 'Limit' in params ? params.Limit : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;
        this.DomainTypes = 'DomainTypes' in params ? params.DomainTypes : null;
        this.Keyword = 'Keyword' in params ? params.Keyword : null;

    }
}

/**
 * CreateApplication request structure.
 * @class
 */
class CreateApplicationRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Application name
         * @type {string || null}
         */
        this.ApplicationName = null;

        /**
         * Logo address
         * @type {string || null}
         */
        this.Logo = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

        /**
         * Team ID
         * @type {string || null}
         */
        this.TeamId = null;

        /**
         * Application type. 1: Test; 2: Formal
         * @type {number || null}
         */
        this.ApplicationType = null;

        /**
         * Introduction
         * @type {string || null}
         */
        this.Intro = null;

        /**
         * Android app package name
         * @type {string || null}
         */
        this.AndroidAppKey = null;

        /**
         * iOS App bundleId
         * @type {string || null}
         */
        this.IosAppKey = null;

        /**
         * Remarks
         * @type {string || null}
         */
        this.Remark = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.ApplicationName = 'ApplicationName' in params ? params.ApplicationName : null;
        this.Logo = 'Logo' in params ? params.Logo : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;
        this.TeamId = 'TeamId' in params ? params.TeamId : null;
        this.ApplicationType = 'ApplicationType' in params ? params.ApplicationType : null;
        this.Intro = 'Intro' in params ? params.Intro : null;
        this.AndroidAppKey = 'AndroidAppKey' in params ? params.AndroidAppKey : null;
        this.IosAppKey = 'IosAppKey' in params ? params.IosAppKey : null;
        this.Remark = 'Remark' in params ? params.Remark : null;

    }
}

/**
 * Mini program category information
 * @class
 */
class MNPTypeDefine extends  AbstractModel {
    constructor(){
        super();

        /**
         * Mini program category name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.TypeName = null;

        /**
         * Mini program category value
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {Array.<string> || null}
         */
        this.TypeValue = null;

        /**
         * Category ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.TypeId = null;

        /**
         * Creation time
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.CreateTime = null;

        /**
         * Creator
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.CreateUser = null;

        /**
         * Whether it is a system category
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {boolean || null}
         */
        this.IsSystem = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.TypeName = 'TypeName' in params ? params.TypeName : null;
        this.TypeValue = 'TypeValue' in params ? params.TypeValue : null;
        this.TypeId = 'TypeId' in params ? params.TypeId : null;
        this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
        this.CreateUser = 'CreateUser' in params ? params.CreateUser : null;
        this.IsSystem = 'IsSystem' in params ? params.IsSystem : null;

    }
}

/**
 * String object
 * @class
 */
class StringData extends  AbstractModel {
    constructor(){
        super();

        /**
         * String type response data
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.Data = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.Data = 'Data' in params ? params.Data : null;

    }
}

/**
 * DescribeTempSecret4UploadFile2Cos response structure.
 * @class
 */
class DescribeTempSecret4UploadFile2CosResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {UploadFileTempSecret || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new UploadFileTempSecret();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * ConfigureMNPPreview request structure.
 * @class
 */
class ConfigureMNPPreviewRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Mini program ID
         * @type {string || null}
         */
        this.MNPId = null;

        /**
         * 1: Set; 2: Cancel
         * @type {number || null}
         */
        this.ActionType = null;

        /**
         * Mini program version ID
         * @type {number || null}
         */
        this.MNPVersionId = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

        /**
         * Path to the preview page
         * @type {string || null}
         */
        this.PreivewEntrancePath = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.MNPId = 'MNPId' in params ? params.MNPId : null;
        this.ActionType = 'ActionType' in params ? params.ActionType : null;
        this.MNPVersionId = 'MNPVersionId' in params ? params.MNPVersionId : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;
        this.PreivewEntrancePath = 'PreivewEntrancePath' in params ? params.PreivewEntrancePath : null;

    }
}

/**
 * DescribeMNPReleasedVersionHistory response structure.
 * @class
 */
class DescribeMNPReleasedVersionHistoryResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {DescribeRevertOnlineVersionPageResp || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new DescribeRevertOnlineVersionPageResp();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * DeleteApplicationSensitiveAPI request structure.
 * @class
 */
class DeleteApplicationSensitiveAPIRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * API ID
         * @type {string || null}
         */
        this.APIId = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.APIId = 'APIId' in params ? params.APIId : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * List of sensitive APIs of an application
 * @class
 */
class DescribeApplicationSensitiveAPIListData extends  AbstractModel {
    constructor(){
        super();

        /**
         * APIID
         * @type {string || null}
         */
        this.APIId = null;

        /**
         * API name
         * @type {string || null}
         */
        this.APIName = null;

        /**
         * API request method
         * @type {string || null}
         */
        this.APIMethod = null;

        /**
         * API description
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.APIDesc = null;

        /**
         * Creator
         * @type {string || null}
         */
        this.CreateUser = null;

        /**
         * Creation time
         * @type {string || null}
         */
        this.CreateTime = null;

        /**
         * Updater
         * @type {string || null}
         */
        this.UpdateUser = null;

        /**
         * Update time
         * @type {string || null}
         */
        this.UpdateTime = null;

        /**
         * Application ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ApplicationId = null;

        /**
         * Application name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ApplicationName = null;

        /**
         * Team ID
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.TeamId = null;

        /**
         * Team name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.TeamName = null;

        /**
         * Application icon
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.ApplicationLogo = null;

        /**
         * API type. 1: System; 2: Custom
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.APIType = null;

        /**
         * API status. 0: Public; 1: Restricted
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.Status = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.APIId = 'APIId' in params ? params.APIId : null;
        this.APIName = 'APIName' in params ? params.APIName : null;
        this.APIMethod = 'APIMethod' in params ? params.APIMethod : null;
        this.APIDesc = 'APIDesc' in params ? params.APIDesc : null;
        this.CreateUser = 'CreateUser' in params ? params.CreateUser : null;
        this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
        this.UpdateUser = 'UpdateUser' in params ? params.UpdateUser : null;
        this.UpdateTime = 'UpdateTime' in params ? params.UpdateTime : null;
        this.ApplicationId = 'ApplicationId' in params ? params.ApplicationId : null;
        this.ApplicationName = 'ApplicationName' in params ? params.ApplicationName : null;
        this.TeamId = 'TeamId' in params ? params.TeamId : null;
        this.TeamName = 'TeamName' in params ? params.TeamName : null;
        this.ApplicationLogo = 'ApplicationLogo' in params ? params.ApplicationLogo : null;
        this.APIType = 'APIType' in params ? params.APIType : null;
        this.Status = 'Status' in params ? params.Status : null;

    }
}

/**
 * List of sensitive APIs of the application
 * @class
 */
class DescribeApplicationSensitiveAPIListResp extends  AbstractModel {
    constructor(){
        super();

        /**
         * Total number of entries
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.TotalCount = null;

        /**
         * List information
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {Array.<DescribeApplicationSensitiveAPIListData> || null}
         */
        this.DataList = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;

        if (params.DataList) {
            this.DataList = new Array();
            for (let z in params.DataList) {
                let obj = new DescribeApplicationSensitiveAPIListData();
                obj.deserialize(params.DataList[z]);
                this.DataList.push(obj);
            }
        }

    }
}

/**
 * Team details
 * @class
 */
class DescribeTeamDetailResp extends  AbstractModel {
    constructor(){
        super();

        /**
         * Team name
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.TeamName = null;

        /**
         * Team role type 1-Mini program team 2-Application team
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.TeamRoleType = null;

        /**
         * Admin account
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.AdminUserAccount = null;

        /**
         * Creator
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.CreateUser = null;

        /**
         * Creation time
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.CreateTime = null;

        /**
         * Number of team members
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.MemberCount = null;

        /**
         * Number of bound mini program teams
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.BindMiniTeamCount = null;

        /**
         * Name of the bound team
         * @type {string || null}
         */
        this.BindTeamName = null;

        /**
         * Team registration link
         * @type {string || null}
         */
        this.RegisterLink = null;

        /**
         * Application name. It’s required when querying details of a mini program team.
         * @type {string || null}
         */
        this.ApplicationName = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.TeamName = 'TeamName' in params ? params.TeamName : null;
        this.TeamRoleType = 'TeamRoleType' in params ? params.TeamRoleType : null;
        this.AdminUserAccount = 'AdminUserAccount' in params ? params.AdminUserAccount : null;
        this.CreateUser = 'CreateUser' in params ? params.CreateUser : null;
        this.CreateTime = 'CreateTime' in params ? params.CreateTime : null;
        this.MemberCount = 'MemberCount' in params ? params.MemberCount : null;
        this.BindMiniTeamCount = 'BindMiniTeamCount' in params ? params.BindMiniTeamCount : null;
        this.BindTeamName = 'BindTeamName' in params ? params.BindTeamName : null;
        this.RegisterLink = 'RegisterLink' in params ? params.RegisterLink : null;
        this.ApplicationName = 'ApplicationName' in params ? params.ApplicationName : null;

    }
}

/**
 * DescribeGlobalDomainACL response structure.
 * @class
 */
class DescribeGlobalDomainACLResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {DescribeGlobalDomainsResp || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new DescribeGlobalDomainsResp();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * CreatePresetKey request structure.
 * @class
 */
class CreatePresetKeyRequest extends  AbstractModel {
    constructor(){
        super();

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

    }
}

/**
 * Encryption key returned
 * @class
 */
class PresetResp extends  AbstractModel {
    constructor(){
        super();

        /**
         * RSA encryption public key
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {string || null}
         */
        this.Key = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.Key = 'Key' in params ? params.Key : null;

    }
}

/**
 * CreateApplication response structure.
 * @class
 */
class CreateApplicationResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {ResourceIdStringInfo || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new ResourceIdStringInfo();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * DescribeMNPCategory request structure.
 * @class
 */
class DescribeMNPCategoryRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * DeleteApplicationSensitiveAPI response structure.
 * @class
 */
class DeleteApplicationSensitiveAPIResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {BooleanInfo || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new BooleanInfo();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * EnableApplicationSensitiveAPI request structure.
 * @class
 */
class EnableApplicationSensitiveAPIRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

        /**
         * API ID
         * @type {string || null}
         */
        this.APIId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;
        this.APIId = 'APIId' in params ? params.APIId : null;

    }
}

/**
 * DeleteGlobalDomain request structure.
 * @class
 */
class DeleteGlobalDomainRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Domain ID
         * @type {number || null}
         */
        this.DomainId = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.DomainId = 'DomainId' in params ? params.DomainId : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * Response of deleting a global domain name
 * @class
 */
class GlobalDomainDeleteResp extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response result
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {boolean || null}
         */
        this.Result = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.Result = 'Result' in params ? params.Result : null;

    }
}

/**
 * DeleteGlobalDomain response structure.
 * @class
 */
class DeleteGlobalDomainResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {GlobalDomainDeleteResp || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new GlobalDomainDeleteResp();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * DescribeMNPList request structure.
 * @class
 */
class DescribeMNPListRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Page offset
         * @type {number || null}
         */
        this.Offset = null;

        /**
         * Number of results per page
         * @type {number || null}
         */
        this.Limit = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

        /**
         * Keywords for search (mini program name)
         * @type {string || null}
         */
        this.Keyword = null;

        /**
         * Team ID
         * @type {string || null}
         */
        this.TeamId = null;

        /**
         * Application ID
         * @type {string || null}
         */
        this.ApplicationId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.Offset = 'Offset' in params ? params.Offset : null;
        this.Limit = 'Limit' in params ? params.Limit : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;
        this.Keyword = 'Keyword' in params ? params.Keyword : null;
        this.TeamId = 'TeamId' in params ? params.TeamId : null;
        this.ApplicationId = 'ApplicationId' in params ? params.ApplicationId : null;

    }
}

/**
 * DescribeMNPPreview request structure.
 * @class
 */
class DescribeMNPPreviewRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Mini program ID
         * @type {string || null}
         */
        this.MNPId = null;

        /**
         * Mini program version ID
         * @type {number || null}
         */
        this.MNPVersionId = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.MNPId = 'MNPId' in params ? params.MNPId : null;
        this.MNPVersionId = 'MNPVersionId' in params ? params.MNPVersionId : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * Response of creating a global domain name
 * @class
 */
class CreateGlobalDomainResp extends  AbstractModel {
    constructor(){
        super();

        /**
         * Result
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {boolean || null}
         */
        this.Result = null;

        /**
         * List of duplicate domain names
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {Array.<string> || null}
         */
        this.RepeatUrls = null;

        /**
         * List of allowed domain names
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {Array.<string> || null}
         */
        this.ExistsWhiteUrls = null;

        /**
         * List of blocked domain names
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {Array.<string> || null}
         */
        this.ExistsBlackUrls = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.Result = 'Result' in params ? params.Result : null;
        this.RepeatUrls = 'RepeatUrls' in params ? params.RepeatUrls : null;
        this.ExistsWhiteUrls = 'ExistsWhiteUrls' in params ? params.ExistsWhiteUrls : null;
        this.ExistsBlackUrls = 'ExistsBlackUrls' in params ? params.ExistsBlackUrls : null;

    }
}

/**
 * CreateGlobalDomainACL request structure.
 * @class
 */
class CreateGlobalDomainACLRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Domain name list
         * @type {Array.<string> || null}
         */
        this.DomainUrlList = null;

        /**
         * Domain type. 1: Allowed; 2: Blocked
         * @type {number || null}
         */
        this.DomainType = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.DomainUrlList = 'DomainUrlList' in params ? params.DomainUrlList : null;
        this.DomainType = 'DomainType' in params ? params.DomainType : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;

    }
}

/**
 * DescribeApplicationSensitiveAPIList request structure.
 * @class
 */
class DescribeApplicationSensitiveAPIListRequest extends  AbstractModel {
    constructor(){
        super();

        /**
         * Page offset
         * @type {number || null}
         */
        this.Offset = null;

        /**
         * Number of results per page
         * @type {number || null}
         */
        this.Limit = null;

        /**
         * Platform ID
         * @type {string || null}
         */
        this.PlatformId = null;

        /**
         * Application ID
         * @type {string || null}
         */
        this.ApplicationId = null;

        /**
         * Keywords for search (API name or method)
         * @type {string || null}
         */
        this.Keyword = null;

        /**
         * Team ID
         * @type {string || null}
         */
        this.TeamId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.Offset = 'Offset' in params ? params.Offset : null;
        this.Limit = 'Limit' in params ? params.Limit : null;
        this.PlatformId = 'PlatformId' in params ? params.PlatformId : null;
        this.ApplicationId = 'ApplicationId' in params ? params.ApplicationId : null;
        this.Keyword = 'Keyword' in params ? params.Keyword : null;
        this.TeamId = 'TeamId' in params ? params.TeamId : null;

    }
}

/**
 * DescribeTeamMemberList response structure.
 * @class
 */
class DescribeTeamMemberListResponse extends  AbstractModel {
    constructor(){
        super();

        /**
         * Response data
         * @type {DescribeTeamMemberListPageResp || null}
         */
        this.Data = null;

        /**
         * The unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
         * @type {string || null}
         */
        this.RequestId = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }

        if (params.Data) {
            let obj = new DescribeTeamMemberListPageResp();
            obj.deserialize(params.Data)
            this.Data = obj;
        }
        this.RequestId = 'RequestId' in params ? params.RequestId : null;

    }
}

/**
 * List of members
 * @class
 */
class DescribeTeamMemberListPageResp extends  AbstractModel {
    constructor(){
        super();

        /**
         * Total number of results.
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {number || null}
         */
        this.TotalCount = null;

        /**
         * List information
Note: This field may return null, indicating that no valid values can be obtained.
         * @type {Array.<DescribeTeamMemberInfoResp> || null}
         */
        this.DataList = null;

    }

    /**
     * @private
     */
    deserialize(params) {
        if (!params) {
            return;
        }
        this.TotalCount = 'TotalCount' in params ? params.TotalCount : null;

        if (params.DataList) {
            this.DataList = new Array();
            for (let z in params.DataList) {
                let obj = new DescribeTeamMemberInfoResp();
                obj.deserialize(params.DataList[z]);
                this.DataList.push(obj);
            }
        }

    }
}

module.exports = {
    CreatePresetKeyResponse: CreatePresetKeyResponse,
    DescribeTeamMemberListRequest: DescribeTeamMemberListRequest,
    DescribeMNPAllStageVersionsRequest: DescribeMNPAllStageVersionsRequest,
    ModifyApplicationRequest: ModifyApplicationRequest,
    DeleteUserRequest: DeleteUserRequest,
    DescribeMNPCategoryResponse: DescribeMNPCategoryResponse,
    CreateApplicationSensitiveAPIReq: CreateApplicationSensitiveAPIReq,
    CreateMNPApprovalRequest: CreateMNPApprovalRequest,
    RemoveMNPRequest: RemoveMNPRequest,
    DescribeMNPPreviewResponse: DescribeMNPPreviewResponse,
    DescribeMNPListResp: DescribeMNPListResp,
    DescribeMNPPreviewResp: DescribeMNPPreviewResp,
    DescribeMNPVersionResponse: DescribeMNPVersionResponse,
    ModifyApplicationResponse: ModifyApplicationResponse,
    EnableApplicationSensitiveAPIResponse: EnableApplicationSensitiveAPIResponse,
    DescribeMNPListResponse: DescribeMNPListResponse,
    ProcessMNPApprovalResponse: ProcessMNPApprovalResponse,
    DeleteTeamResponse: DeleteTeamResponse,
    RemoveMNPResponse: RemoveMNPResponse,
    DescribeMNPSensitiveAPIPermissionApprovalRequest: DescribeMNPSensitiveAPIPermissionApprovalRequest,
    ModifyUserResponse: ModifyUserResponse,
    DescribeTeamMemberInfoResp: DescribeTeamMemberInfoResp,
    ConfigureMNPPreviewResponse: ConfigureMNPPreviewResponse,
    DescribeMNPSensitiveAPIPermissionApprovalListData: DescribeMNPSensitiveAPIPermissionApprovalListData,
    DeleteMNPResponse: DeleteMNPResponse,
    DescribeMPAllStageVersionsResp: DescribeMPAllStageVersionsResp,
    DescribeMNPSensitiveAPIPermissionListRequest: DescribeMNPSensitiveAPIPermissionListRequest,
    DescribeApplicationListRequest: DescribeApplicationListRequest,
    DeleteTeamRequest: DeleteTeamRequest,
    DescribeRoleListRequest: DescribeRoleListRequest,
    ModifyTeamMemberResponse: ModifyTeamMemberResponse,
    DeleteApplicationResponse: DeleteApplicationResponse,
    ProcessMNPSensitiveAPIPermissionApprovalResponse: ProcessMNPSensitiveAPIPermissionApprovalResponse,
    DescribeApplicationResp: DescribeApplicationResp,
    ModifyGlobalDomainResponse: ModifyGlobalDomainResponse,
    DescribeRoleListResp: DescribeRoleListResp,
    DescribeTeamListInfoResp: DescribeTeamListInfoResp,
    CreateMNPSensitiveAPIPermissionApprovalRequest: CreateMNPSensitiveAPIPermissionApprovalRequest,
    DeleteMNPRequest: DeleteMNPRequest,
    DescribeTeamListResponse: DescribeTeamListResponse,
    DescribeMNPAllStageVersionsResponse: DescribeMNPAllStageVersionsResponse,
    DescribeUserListResp: DescribeUserListResp,
    ApprovalItem: ApprovalItem,
    QueryOnlineVersionResp: QueryOnlineVersionResp,
    DescribeApplicationListData: DescribeApplicationListData,
    DescribeRoleListResponse: DescribeRoleListResponse,
    CreateMNPVersionRequest: CreateMNPVersionRequest,
    DescribeMNPListData: DescribeMNPListData,
    DescribeApplicationListResponse: DescribeApplicationListResponse,
    DescribeMNPApprovalListRequest: DescribeMNPApprovalListRequest,
    ModifyMNPDomainRequest: ModifyMNPDomainRequest,
    ModifyTeamRequest: ModifyTeamRequest,
    CreateTeamMemberInfoReq: CreateTeamMemberInfoReq,
    DownloadApplicationConfigResp: DownloadApplicationConfigResp,
    CreateUserResponse: CreateUserResponse,
    ModifyMNPDomainResponse: ModifyMNPDomainResponse,
    DescribeApplicationConfigFileRequest: DescribeApplicationConfigFileRequest,
    DescribeUserListRequest: DescribeUserListRequest,
    DeleteUserResponse: DeleteUserResponse,
    DescribeApplicationResponse: DescribeApplicationResponse,
    CreateMNPVersionResp: CreateMNPVersionResp,
    DescribeDomainInfoParam: DescribeDomainInfoParam,
    CreateMNPApprovalResponse: CreateMNPApprovalResponse,
    DescribeMNPApprovalListData: DescribeMNPApprovalListData,
    ResourceIdInfo: ResourceIdInfo,
    DeleteTeamMemberResponse: DeleteTeamMemberResponse,
    ProcessMNPApprovalRequest: ProcessMNPApprovalRequest,
    ModifyUserRequest: ModifyUserRequest,
    CreateMNPResponse: CreateMNPResponse,
    DescribeMNPSensitiveAPIPermissionApprovalListResp: DescribeMNPSensitiveAPIPermissionApprovalListResp,
    DescribeMNPDomainACLRequest: DescribeMNPDomainACLRequest,
    DescribeUserListResponse: DescribeUserListResponse,
    DeleteTeamMemberRequest: DeleteTeamMemberRequest,
    CreateGlobalDomainACLResponse: CreateGlobalDomainACLResponse,
    RollbackMNPVersionRequest: RollbackMNPVersionRequest,
    ProcessMNPSensitiveAPIPermissionApprovalRequest: ProcessMNPSensitiveAPIPermissionApprovalRequest,
    DescribeMNPSensitiveAPIPermissionListData: DescribeMNPSensitiveAPIPermissionListData,
    DescribeMNPOfflinePackageURLResponse: DescribeMNPOfflinePackageURLResponse,
    DescribeUserResponse: DescribeUserResponse,
    CreateApplicationSensitiveAPIResponse: CreateApplicationSensitiveAPIResponse,
    GlobalDomainModifyRespResp: GlobalDomainModifyRespResp,
    DisableApplicationSensitiveAPIRequest: DisableApplicationSensitiveAPIRequest,
    DescribeApplicationSensitiveAPIListResponse: DescribeApplicationSensitiveAPIListResponse,
    DeleteApplicationRequest: DeleteApplicationRequest,
    DescribeUserRequest: DescribeUserRequest,
    ModifyGlobalDomainRequest: ModifyGlobalDomainRequest,
    DescribeUserDetailResp: DescribeUserDetailResp,
    DescribeMNPReleasedVersionHistoryRequest: DescribeMNPReleasedVersionHistoryRequest,
    DescribeMNPSensitiveAPIPermissionListResponse: DescribeMNPSensitiveAPIPermissionListResponse,
    AddTeamMemberResponse: AddTeamMemberResponse,
    CreateTeamResponse: CreateTeamResponse,
    CreateMNPSensitiveAPIPermissionApprovalResponse: CreateMNPSensitiveAPIPermissionApprovalResponse,
    ModifyMNPRequest: ModifyMNPRequest,
    CreateMNPDomainACLRequest: CreateMNPDomainACLRequest,
    RollbackMNPVersionResponse: RollbackMNPVersionResponse,
    CreateTeamRequest: CreateTeamRequest,
    CreateApplicationSensitiveAPIRequest: CreateApplicationSensitiveAPIRequest,
    DescribeMNPSensitiveAPIPermissionListResp: DescribeMNPSensitiveAPIPermissionListResp,
    ReleaseMNPVersionRequest: ReleaseMNPVersionRequest,
    DescribeRoleListData: DescribeRoleListData,
    DescribeMNPResponse: DescribeMNPResponse,
    DescribeGlobalDomainsResp: DescribeGlobalDomainsResp,
    DescribeRevertOnlineVersionPageResp: DescribeRevertOnlineVersionPageResp,
    DescribeMNPApprovalListResp: DescribeMNPApprovalListResp,
    DescribeMNPSensitiveAPIPermissionApprovalData: DescribeMNPSensitiveAPIPermissionApprovalData,
    DescribeMNPSensitiveAPIPermissionApprovalListResponse: DescribeMNPSensitiveAPIPermissionApprovalListResponse,
    DescribeMNPSensitiveAPIPermissionApprovalListRequest: DescribeMNPSensitiveAPIPermissionApprovalListRequest,
    DescribeApplicationListResp: DescribeApplicationListResp,
    AddTeamMemberRequest: AddTeamMemberRequest,
    DescribeMNPOfflinePackageURLRequest: DescribeMNPOfflinePackageURLRequest,
    CreateMNPRequest: CreateMNPRequest,
    DescribeTeamRequest: DescribeTeamRequest,
    DescribeMNPRequest: DescribeMNPRequest,
    CreateUserRequest: CreateUserRequest,
    ModifyTeamResponse: ModifyTeamResponse,
    DescribeMNPSensitiveAPIPermissionApprovalResponse: DescribeMNPSensitiveAPIPermissionApprovalResponse,
    DescribeTempSecret4UploadFile2CosRequest: DescribeTempSecret4UploadFile2CosRequest,
    ModifyTeamMemberRequest: ModifyTeamMemberRequest,
    DescribeGlobalDomainsListData: DescribeGlobalDomainsListData,
    DescribeMNPManagerDetailData: DescribeMNPManagerDetailData,
    DescribeUserListData: DescribeUserListData,
    DescribeTeamResponse: DescribeTeamResponse,
    DescribeApplicationRequest: DescribeApplicationRequest,
    CreateMNPVersionResponse: CreateMNPVersionResponse,
    DescribeMNPDomainACLResponse: DescribeMNPDomainACLResponse,
    ReleaseMNPVersionResponse: ReleaseMNPVersionResponse,
    ResourceIdStringInfo: ResourceIdStringInfo,
    CreateDomainParam: CreateDomainParam,
    DescribeTeamPageResp: DescribeTeamPageResp,
    ModifyMNPResponse: ModifyMNPResponse,
    DescribeMNPVersionResp: DescribeMNPVersionResp,
    DescribeApplicationConfigFileResponse: DescribeApplicationConfigFileResponse,
    BooleanInfo: BooleanInfo,
    DisableApplicationSensitiveAPIResponse: DisableApplicationSensitiveAPIResponse,
    UploadFileTempSecret: UploadFileTempSecret,
    CreateMNPDomainACLResponse: CreateMNPDomainACLResponse,
    DescribeTeamListRequest: DescribeTeamListRequest,
    DescribeMNPApprovalListResponse: DescribeMNPApprovalListResponse,
    DescribeMNPVersionRequest: DescribeMNPVersionRequest,
    DescribeGlobalDomainACLRequest: DescribeGlobalDomainACLRequest,
    CreateApplicationRequest: CreateApplicationRequest,
    MNPTypeDefine: MNPTypeDefine,
    StringData: StringData,
    DescribeTempSecret4UploadFile2CosResponse: DescribeTempSecret4UploadFile2CosResponse,
    ConfigureMNPPreviewRequest: ConfigureMNPPreviewRequest,
    DescribeMNPReleasedVersionHistoryResponse: DescribeMNPReleasedVersionHistoryResponse,
    DeleteApplicationSensitiveAPIRequest: DeleteApplicationSensitiveAPIRequest,
    DescribeApplicationSensitiveAPIListData: DescribeApplicationSensitiveAPIListData,
    DescribeApplicationSensitiveAPIListResp: DescribeApplicationSensitiveAPIListResp,
    DescribeTeamDetailResp: DescribeTeamDetailResp,
    DescribeGlobalDomainACLResponse: DescribeGlobalDomainACLResponse,
    CreatePresetKeyRequest: CreatePresetKeyRequest,
    PresetResp: PresetResp,
    CreateApplicationResponse: CreateApplicationResponse,
    DescribeMNPCategoryRequest: DescribeMNPCategoryRequest,
    DeleteApplicationSensitiveAPIResponse: DeleteApplicationSensitiveAPIResponse,
    EnableApplicationSensitiveAPIRequest: EnableApplicationSensitiveAPIRequest,
    DeleteGlobalDomainRequest: DeleteGlobalDomainRequest,
    GlobalDomainDeleteResp: GlobalDomainDeleteResp,
    DeleteGlobalDomainResponse: DeleteGlobalDomainResponse,
    DescribeMNPListRequest: DescribeMNPListRequest,
    DescribeMNPPreviewRequest: DescribeMNPPreviewRequest,
    CreateGlobalDomainResp: CreateGlobalDomainResp,
    CreateGlobalDomainACLRequest: CreateGlobalDomainACLRequest,
    DescribeApplicationSensitiveAPIListRequest: DescribeApplicationSensitiveAPIListRequest,
    DescribeTeamMemberListResponse: DescribeTeamMemberListResponse,
    DescribeTeamMemberListPageResp: DescribeTeamMemberListPageResp,

}