Documentation
¶
Index ¶
- Constants
- Variables
- func CompareFile(file1Path string, file2Path string) (bool, error)
- func CreateDir(dirPath string) error
- func CreateFile(filePath string) error
- func Delay(second float32)
- func DeleteFile(filePath string) error
- func FileEmpty(filePath string) bool
- func FileExist(filePath string) bool
- func FileSHA256(filePath string) (string, error)
- func FolderEmpty(dirPath string) bool
- func GetAbsPath(filePath string) string
- func GetCurrentUserInfo() (*user.User, error)
- func GetHostname() string
- func GetLatestReleaseTag(body []byte) (string, error)
- func GetLatestSourceHash(body []byte) (string, error)
- func GetLatestSourceTag(body []byte) (string, error)
- func GetReleaseFileInfo(body []byte, fileName FileName) (multipleFilesInfo, error)
- func GetUserInfoById(userId int) (*user.User, error)
- func GetUserInfoByName(userName string) (*user.User, error)
- func GetVariable(key string) string
- func GoToDir(dirPath string) error
- func ListFolderFiles(dirPath string) ([]string, error)
- func PolicyKitAuthentication()
- func PrintDelimiter(length int)
- func ProgramInfo(only bool) string
- func ReadFileCount(file, key string) int
- func ReadFileKey(file, key string) string
- func ReadFileLine(file string, line int) string
- func RealLength(text string) int
- func RequestApi(url string) ([]byte, error)
- func RunCommand(command string, args []string) error
- func RunCommandGetResult(command string, args []string) (string, error)
- func SetVariable(key, value string) error
- func UnzipFile(filePath, outputDir string) error
- func WriteFile(filePath string, content string) error
- type FileName
Constants ¶
View Source
const ( Name string = "Manager" // 程序名 Version string = "v1.2.3" // 程序版本 Project string = "github.com/yhyj/manager" // 项目地址 )
Variables ¶
View Source
var ( RegelarFormat = "%s\n" // 常规输出格式 常规输出: <输出内容> Regelar2PFormat = "%s%s\n" // 常规输出格式 常规输出·2部分: <输出内容1><输出内容2> TitleH1Format = "\n\x1b[36;3m%s\x1b[0m\n\n" // 标题输出格式 H1级别标题: <标题文字> LineHiddenFormat = "\x1b[30m%s\x1b[0m\n" // 分隔线输出格式 隐性分隔线: <分隔线> LineShownFormat = "\x1b[30m%s\x1b[0m\n" // 分隔线输出格式 显性分隔线: <分隔线> SliceTraverseFormat = "\x1b[32m%s\x1b[0m\n" // Slice输出格式 切片遍历: <切片内容> SliceTraverseSuffixFormat = "\x1b[32m%s\x1b[0m%s%s\n" // Slice输出格式 带后缀的切片遍历: <切片内容><分隔符><后缀> SliceTraverse2PFormat = "\x1b[32m%s\x1b[0m%s\x1b[34m%s\x1b[0m\n" // Slice输出格式 切片遍历·2部分: <切片内容1><分隔符><切片内容2> SliceTraverse2PSuffixFormat = "\x1b[32m%s\x1b[0m%s\x1b[34m%s\x1b[0m%s%s\n" // Slice输出格式 带后缀的切片遍历·2部分: <切片内容1><分隔符><切片内容2><分隔符><后缀> SliceTraverse2PSuffixNoNewLineFormat = "\x1b[32m%s\x1b[0m%s\x1b[34m%s\x1b[0m%s%s" // Slice输出格式 带后缀的切片遍历·2部分·不换行: <切片内容1><分隔符><切片内容2><分隔符><后缀> SliceTraverse3PSuffixFormat = "\x1b[32m%s\x1b[0m%s\x1b[34m%s\x1b[0m%s\x1b[33m%s\x1b[0m%s%s\n" // Slice输出格式 带后缀的切片遍历·3部分: <切片内容1><分隔符><切片内容2><分隔符><切片内容3><分隔符><后缀> SliceTraverse4PFormat = "\x1b[32m%s\x1b[0m%s\x1b[34m%s\x1b[0m%s\x1b[33m%s\x1b[0m%s\x1b[35m%s\x1b[0m\n" // Slice输出格式 切片遍历·4部分: <切片内容1><分隔符><切片内容2><分隔符><切片内容3><分隔符><切片内容4> SliceTraverse4PSuffixFormat = "\x1b[32m%s\x1b[0m%s\x1b[34m%s\x1b[0m%s\x1b[33m%s\x1b[0m%s\x1b[35m%s\x1b[0m%s%s\n" // Slice输出格式 带后缀的切片遍历·4部分: <切片内容1><分隔符><切片内容2><分隔符><切片内容3><分隔符><切片内容4><分隔符><后缀> SliceTraverse5PFormat = "\x1b[32m%s\x1b[0m%s\x1b[34m%s\x1b[0m%s\x1b[33m%s\x1b[0m%s\x1b[33m%s\x1b[0m%s\x1b[35m%s\x1b[0m\n" // Slice输出格式 切片遍历·5部分: <切片内容1><分隔符><切片内容2><分隔符><切片内容3><分隔符><切片内容4><分隔符><切片内容5> AskFormat = "\x1b[34m%s\x1b[0m" // 问询信息输出格式 问询信息: <问询信息> SuccessFormat = "\x1b[32m%s\x1b[0m\n" // 成功信息输出格式 成功信息: <成功信息> SuccessDarkFormat = "\x1b[36m%s\x1b[0m\n" // 成功信息输出格式 暗色成功信息: <成功信息> SuccessNoNewLineFormat = "\x1b[32m%s\x1b[0m" // 成功信息输出格式 成功信息·不换行: <成功信息> SuccessSuffixFormat = "\x1b[32m%s\x1b[0m%s%s\n" // 成功信息输出格式 带后缀的成功信息: <成功信息><分隔符><后缀> SuccessSuffixNoNewLineFormat = "\x1b[32m%s\x1b[0m%s%s" // 成功信息输出格式 带后缀的成功信息·不换行: <成功信息><分隔符><后缀> TipsPrefixFormat = "%s%s\x1b[32m%s\x1b[0m\n" // 提示信息输出格式 带前缀的提示信息: <提示信息> Tips2PSuffixNoNewLineFormat = "\x1b[32m%s\x1b[0m%s\x1b[36m%s\x1b[0m%s%s" // 提示信息输出格式 带后缀的提示信息·2部分·不换行: <提示信息1><分隔符><提示信息2><分隔符><后缀> InfoFormat = "\x1b[33m%s\x1b[0m\n" // 展示信息输出格式 展示信息: <展示信息> Info2PFormat = "\x1b[33m%s%s\x1b[0m\n" // 展示信息输出格式 展示信息·2部分: <展示信息> InfoPrefixFormat = "%s%s\x1b[33m%s\x1b[0m\n" // 展示信息输出格式 带前缀的展示信息: <前缀><分隔符><展示信息> Info2PPrefixFormat = "%s%s\x1b[33m%s\x1b[0m%s\x1b[35m%s\x1b[0m\n" // 展示信息输出格式 带前缀的展示信息·2部分: <前缀><分隔符><展示信息1><分隔符><展示信息2> InfoSuffixFormat = "\x1b[33m%s\x1b[0m%s%s\n" // 展示信息输出格式 带后缀的展示信息: <展示信息><分隔符><后缀> InfoPrefixSuffixFormat = "%s%s\x1b[33m%s\x1b[0m%s%s\n" // 展示信息输出格式 带前后缀的展示信息: <前缀><分隔符><展示信息><分隔符><后缀> ErrorBaseFormat = "\x1b[31m%s\x1b[0m\n" // 错误信息输出格式 基础错误: <错误信息> ErrorPrefixFormat = "%s%s\x1b[31m%s\x1b[0m\n" // 错误信息输出格式 带前缀的错误: <前缀><分隔符><错误信息> ErrorSuffixFormat = "\x1b[31m%s\x1b[0m%s%s\n" // 错误信息输出格式 带后缀的错误: <错误信息><分隔符><后缀> )
View Source
var ( Run = "➤" Dot = "•" Yes = "✔" No = "✘" )
View Source
var ( GitCommitHash string = "Unknown" // Git 提交 Hash BuildTime string = "Unknown" // 编译时间 BuildBy string = "Unknown" // 编译者 )
View Source
var Arch = runtime.GOARCH // 系统架构
View Source
var Platform = runtime.GOOS // 操作系统
View Source
var ProgressParameters = map[string]string{
"view": "0",
}
View Source
var UserInfo, _ = GetUserInfoByName(UserName) // 用户信息
View Source
var UserName = func() string { if GetVariable("SUDO_USER") != "" { return GetVariable("SUDO_USER") } return GetVariable("USER") }()
用户名,当程序提权运行时,使用 SUDO_USER 变量获取提权前的用户名
Functions ¶
func CompareFile ¶
CompareFile 并发比较两个文件是否相同
参数:
- file1Path: 文件1路径
- file2Path: 文件2路径
返回:
- 文件相同返回 true,出错或不同返回 false
func GetLatestReleaseTag ¶ added in v1.0.4
GetLatestReleaseTag 解析 API 响应体,获取 Release 的最新 Tag
- 该函数解析的是 https://api.github.com/repos/{OWNER}/{REPO}/releases/latest 的返回值
- 用于通过 Release 安装程序时获取最新版本的 Tag
参数:
- body: API 响应数据
返回:
- 最新 Release 的 Tag
- 错误信息
func GetLatestSourceHash ¶ added in v1.0.4
GetLatestSourceHash 解析 API 响应体,获取源代码的最新提交的 Hash
- 该函数解析的是 https://api.github.com/repos/{OWNER}/{REPO}/tags 的返回值
- 用于通过 Source 安装不带 Tag 的程序时获取最新提交的 Hash
参数:
- body: API 响应数据
返回:
- 最新提交的 Hash
- 错误信息
func GetLatestSourceTag ¶ added in v1.0.4
GetLatestSourceTag 解析 API 响应数据,获取源代码的最新 Tag
- 该函数解析的是 https://api.github.com/repos/{OWNER}/{REPO}/tags 的返回值
- 用于通过 Source 安装程序时获取最新的 Tag
参数:
- body: API 响应数据
返回:
- 最新 Tag
- 错误信息
func GetReleaseFileInfo ¶ added in v1.0.4
GetReleaseFileInfo 解析 API 响应体,获取 Release 文件的信息
- 该函数解析的是 https://api.github.com/repos/{OWNER}/{REPO}/releases/latest 的返回值
- 用于通过 Release 安装程序时获取校验文件、压缩包等文件的信息
参数:
- body: API 响应数据
- fileName: 要获取其信息的文件名
返回:
- 多文件信息(包括文件名 Name 、文件大小 Size 、文件类型 ContentType 、下载链接 DownloadUrl 和下载次数 DownloadCount)
- 错误信息
func ListFolderFiles ¶ added in v1.1.2
ListFolderFiles 列出指定文件夹下的所有文件
参数:
- dirPath: 文件夹路径
返回:
- 文件列表
- 错误信息
func PolicyKitAuthentication ¶
func PolicyKitAuthentication()
PolicyKitAuthentication 使用 D-Bus 进行身份认证
func PrintDelimiter ¶ added in v1.0.8
func PrintDelimiter(length int)
PrintDelimiter 打印分隔符
参数:
- length: 分隔符长度
func ReadFileCount ¶ added in v1.0.1
ReadFileCount 获取文件包含关键字的行的计数
参数:
- file: 文件路径
- key: 关键字
返回:
- 包含关键字的行的数量
func RunCommandGetResult ¶
RunCommandGetResult 运行命令并返回命令的输出
参数:
- command: 命令
- args: 命令参数
返回:
- 命令的输出
- 错误信息
Types ¶
Click to show internal directories.
Click to hide internal directories.