Documentation ¶
Index ¶
- Constants
- Variables
- type Android
- type AndroidAppSign
- type BasePackager
- type Client
- type Notify
- type NotifyRequest
- type Package
- func NewAndroidPackage(android Android, maxRetry int, srcFile transfer.File, destFile transfer.File, ...) *Package
- func NewPackage(packageType PackageType, maxRetry int, srcFile transfer.File, ...) *Package
- func NewSimpleAndroidPackage(android Android, srcFile transfer.File, destFile transfer.File, notify Notify, ...) *Package
- func NewSimpleWindowsPackage(windows Windows, srcFile transfer.File, destFile transfer.File, notify Notify, ...) *Package
- func NewWindowsPackage(windows Windows, maxRetry int, srcFile transfer.File, destFile transfer.File, ...) *Package
- type PackageStatus
- type PackageType
- type Packager
- type Request
- type Response
- type Windows
Constants ¶
View Source
const ( // DefaultAppNameKey 默认语言键 DefaultAppNameKey string = "default" )
Variables ¶
View Source
var ErrorNotSupportPackage = &gox.CodeError{ErrorCode: 101, Message: "不支持的打包类型"}
ErrorNotSupportPackage 不支持的打包类型
Functions ¶
This section is empty.
Types ¶
type Android ¶
type Android struct { BasePackager // Name 应用名称 Name map[string]string `json:"name"` // Package 包名 Package string `json:"package"` // Icon 图标 Icon transfer.File `json:"icon"` // Version 版本号 Version string `json:"version"` // Sign 签名 Sign AndroidAppSign `json:"sign"` }
Android APK打包信息
type AndroidAppSign ¶
type AndroidAppSign struct { // KeystoreFile 密钥文件 KeystoreFile transfer.File `json:"keystoreFile"` // StorePass 密码 StorePass string `json:"storePass"` // DigestAlg 加密算法 DigestAlg string `default:"SHA1" json:"digestAlg"` // SigAlg 签名算法 SigAlg string `default:"SHA1withRSA" json:"sigAlg"` // Alias 别名 Alias string `json:"alias"` }
AndroidAppSign 安卓签名
type BasePackager ¶ added in v1.1.5
type BasePackager struct {
// contains filtered or unexported fields
}
BasePackager 基础打包
func (*BasePackager) AddCleanupPaths ¶ added in v1.1.5
func (bp *BasePackager) AddCleanupPaths(paths ...string)
func (*BasePackager) Cleanup ¶ added in v1.1.5
func (bp *BasePackager) Cleanup() (err error)
type Client ¶
type Client struct { class100.Client // Endpoint 地址 Endpoint string `default:"https://nuwa.class100.com" json:"endpoint"` }
Client 女娲打包系统
type Notify ¶
type Notify struct { // Url 回调地址 Url string `json:"url" validate:"required"` // Scheme JWT的验证前缀 Scheme string `default:"Bearer" json:"scheme" validate:"required"` // Token JWT验证授权码 Token string `json:"token" validate:"required"` // Payload 透传数据 Payload interface{} `json:"payload"` }
Notify 通知,通过JWT回调
type NotifyRequest ¶
type NotifyRequest struct { // Status 打包状态 Status PackageStatus `json:"status"` // SrcFile 源文件 SrcFile transfer.File `json:"srcFile"` // DestFile 打包后的文件 DestFile transfer.File `json:"destFile"` // Payload 透传数据 Payload interface{} `json:"payload"` }
NotifyRequest 回调请求数据
type Package ¶
type Package struct { // Type 打包类型 Type PackageType `json:"type" validate:"required,oneof=windows mac android"` // MaxRetry 最大重试次数 MaxRetry int `default:"10" json:"maxRetry" validate:"omitempty,min=1,max=100"` // SrcFile 源文件 SrcFile transfer.File `json:"srcFile" validate:"required"` // DestFile 打包后的文件 DestFile transfer.File `json:"destFile" validate:"required"` // Replaces 文件替换 Replaces []replace.Replace `json:"replaces" validate:"omitempty,dive"` // Notify 通知 Notify Notify `json:"notify" validate:"omitempty,structonly"` // Packager 真正的打包者 Packager interface{} `json:"packager" validate:"required"` }
Package 打包请求
func NewAndroidPackage ¶
func NewAndroidPackage( android Android, maxRetry int, srcFile transfer.File, destFile transfer.File, notify Notify, replaces ...replace.Replace, ) *Package
NewAndroidPackage 创建一个Android打包
func NewPackage ¶
func NewPackage( packageType PackageType, maxRetry int, srcFile transfer.File, destFile transfer.File, notify Notify, packager interface{}, replaces ...replace.Replace, ) *Package
NewPackage 创建一个打包
func NewSimpleAndroidPackage ¶
func NewSimpleAndroidPackage( android Android, srcFile transfer.File, destFile transfer.File, notify Notify, replaces ...replace.Replace, ) *Package
NewSimpleAndroidPackage 创建一个简单的Android打包
func NewSimpleWindowsPackage ¶
func NewSimpleWindowsPackage( windows Windows, srcFile transfer.File, destFile transfer.File, notify Notify, replaces ...replace.Replace, ) *Package
NewSimpleWindowsPackage 创建一个简单的Windows打包
func NewWindowsPackage ¶
func NewWindowsPackage( windows Windows, maxRetry int, srcFile transfer.File, destFile transfer.File, notify Notify, replaces ...replace.Replace, ) *Package
NewWindowsPackage 创建一个Windows打包
func (*Package) UnmarshalJSON ¶
type PackageStatus ¶
type PackageStatus string
PackageStatus 打包结果
const ( // 打包状态 // PackageStatusSuccess 打包成功 PackageStatusSuccess PackageStatus = "success" // PackageStatusFailed 打包失败 PackageStatusFailed PackageStatus = "failed" )
type PackageType ¶
type PackageType string
PackageType 打包类型
const ( // 打包类型 // PackageTypeWindows Windows打包 PackageTypeWindows PackageType = "windows" // PackageTypeMac Mac打包 PackageTypeMac PackageType = "mac" // PackageTypeAndroid 安卓打包 PackageTypeAndroid PackageType = "android" // PackageTypeIOS iOS打包 PackageTypeIOS PackageType = "ios" )
type Packager ¶
type Packager interface { // Init 初始化阶段,主要做一些打包前的初始化工作,比如各种变量的初始化 Init() (err error) // Decode 解码阶段,主要是把源文件解包(如果是Zip文件就解压,如果是APK就反编译,以此类推) Decode(inputFilename string, packageDir string) (err error) // Modify 修改阶段,比如替换图标、包名等 Modify(packageDir string) (err error) // Build 打包阶段,在修改阶段的基础上,把处理好的程序打包成最终的包(如Exe、APK、DMG以及IPA等) Build(packageDir string, outputFilename string) (err error) // Cleanup 清理阶段,做最后的清理工作,比如删除打包过程中的中间文件 Cleanup() (err error) // AddCleanupPaths 添加清理路径 AddCleanupPaths(paths ...string) }
type Request ¶
type Request struct { class100.Request // Package 打包参数 Package *Package `json:"package" validate:"required,structonly"` }
Request 女娲打包请求
type Windows ¶
type Windows struct { BasePackager // ProductId 产品的唯一标识 ProductId string `json:"productId" validate:"required,start_with_alpha"` // ProductName 安装过程中显示的应用程序名称 ProductName string `json:"productName" validate:"omitempty"` // ProductVersion 安装过程中显示的版本号 ProductVersion string `json:"productVersion" validate:"omitempty"` // ProductPublisher 应用程序出版人 ProductPublisher string `json:"productPublisher" validate:"omitempty"` // ProductWebsite 应用程序网站 ProductWebsite string `json:"productWebsite" validate:"omitempty,url"` // RunFilename 安装目录下Exe名称 RunFilename string `json:"runFilename" validate:"omitempty"` // ShortcutName 安装完成后快捷方式的名称 ShortcutName string `json:"shortcutName" validate:"omitempty"` // InstallDirName 安装目录文件夹名 InstallDirName string `json:"installDirName" validate:"omitempty"` // InstallIcon 安装图标 InstallIcon transfer.File `json:"installIcon" validate:"omitempty,structonly"` // UninstallIcon 卸载图标 UninstallIcon transfer.File `json:"uninstallIcon" validate:"omitempty,structonly"` // UninstallMessage 卸载时的提示语句 UninstallMessage string `json:"uninstallMessage" validate:"omitempty"` // UninstallFinishMessage 卸载完成是的提示语句 UninstallFinishMessage string `json:"uninstallFinishMessage" validate:"omitempty"` }
Windows Windows打包信息
Click to show internal directories.
Click to hide internal directories.