BBASMPMSRequestItem.h 2.79 KB
//
//  BBASMPMSRequestItem.h
//  SWAN
//
//  Created by baidu on 2018/11/2.
//  Copyright © 2018 baidu. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "BBASMListRequestParam.h"
#import "BBASMPMSCommon.h"

@class BBASMPMSDepRequestItem;

//#import "BBASMDependenceConfig.h"
NS_ASSUME_NONNULL_BEGIN

/**
 * PMS request prameter model.
 */
@interface BBASMPMSRequestItem : NSObject  <NSCopying>
/// Represent the field `bundle_id`. Package bundle ID. If the type is app main package, it means `app_id`, but not `app_key`.
@property (nonatomic, copy) NSString *bundleID;
/// Represent the field `category`. Default is `BBASMPMSCategoryNotSet`.
@property (nonatomic, assign) BBASMPMSCategory category;
/// Represent the field `pkg_ver` of parameters. It means the lastest local package version, if it cannot be obtained, set as `0`.
@property (nonatomic, assign) NSInteger packageVersion;
/// Represent the field `framework_ver`. Swan core or game core version.
@property (nonatomic, copy) NSString *frameworkVersion;
/// Represent the field `sub_id`. When requesting a subPackage separately,need to be set.
@property (nonatomic, copy) NSString *subPackageID;
/// Represent the field `app_sign`. Use this to fetch swan app info if needed.
@property (nonatomic, assign) int64_t appSignature;
/// Represent the field `extension_ver`. Host app extension version.
@property (nonatomic, copy) NSString *extensionVersion;
/// Represent the field `plugin_ver`. 
@property (nonatomic, copy) NSString *pluginVersion;
/// Represent the field `path`. Page path.
@property (nonatomic, copy) NSString *pagePath;
/// Represent the field `from`.
/// 1: pre-download, 2: silent download 3: sync download 4: async download
@property (nonatomic, assign) BBASMPMSAppDownloadType downloadType;
/// 触发下载的场景值,目前只有预下载需要,预下载目前都使用批量接口
@property (nonatomic, assign) NSInteger downloadScene;
/// 期望下发的版本
@property (nonatomic, assign) NSInteger expectPackageVersion;
/// Represent the field `swan_vercode`. Host app extension version code.
@property (nonatomic, strong) NSNumber *extensionVersionCode;
/// Represent the field `swan_vercode`. Swan core or game core version code.
@property (nonatomic, strong) NSNumber *frameworkVersionCode;
/// Represent the field `plugin_vercode`.
@property (nonatomic, strong) NSNumber *pluginVersionCode;
#pragma mark - Used for fetch package list api.
/// A list contains package infos you want to fetch
@property (nonatomic, copy) NSArray<BBASMListRequestParam *> *appInfos;

/// 标识此次请求,隶属于该launchID对应的xcx启动过程(xcx销毁前launchID不变)
@property (nonatomic, copy) NSString *launchID;

/// 本地可用扩展
@property (nonatomic, copy) NSArray<BBASMPMSDepRequestItem *> *dependencies;


@end

NS_ASSUME_NONNULL_END