| | |
| | | return true, isComplete, "" |
| | | } |
| | | |
| | | //upgrade |
| | | // upgrade |
| | | func (sv SysService) Upgrade(identifier string, filename string) (bool, error) { |
| | | if !bakBeforeUpgrade() { |
| | | return false, errors.New("更新前备份失败") |
| | |
| | | return true |
| | | } |
| | | |
| | | //更新系统程序 |
| | | // 更新系统程序 |
| | | func updatePatch(identifier string, ext string) bool { |
| | | configPatchPath := "" |
| | | if config.Server.PatchPath != "" { |
| | |
| | | return cmd.Output() |
| | | } |
| | | |
| | | //上传声音文件 |
| | | // 上传声音文件 |
| | | func (sv SysService) UploadVoice(fileBytes []byte, filename string) (string, error) { |
| | | fileExt := path.Ext(filename) |
| | | fileExt = strings.ToLower(fileExt) |
| | |
| | | return weedFilePath, err |
| | | } |
| | | |
| | | //获取所有配置 |
| | | // 获取所有配置 |
| | | func (sv SysService) GetAllSetting() (settings []models.SysSetting, err error) { |
| | | settingModel := models.SysSetting{} |
| | | return settingModel.GetAllSetting() |
| | | } |
| | | |
| | | //更新配置 |
| | | // 更新配置 |
| | | func (sv SysService) SaveSetting(setting models.SysSetting) (err error) { |
| | | return setting.SaveSetting(true) |
| | | } |
| | | |
| | | //获取硬盘剩余空间 |
| | | // 获取硬盘剩余空间 |
| | | func (sv SysService) DiskInfo(dev string) (uint64, uint64) { |
| | | var stat syscall.Statfs_t |
| | | err := syscall.Statfs(dev, &stat) |
| | |
| | | return All, Free |
| | | } |
| | | |
| | | //同步更新设置 |
| | | // 同步更新设置 |
| | | func PersistentWrapper(topic string, payloads []byte) { |
| | | if versionControlS.AuthorizationUpdateTopic == topic { |
| | | if err := json.Unmarshal(payloads, &AuthInfo); nil != err { |
| | | logger.Error("handleSubMsg failed to persistent:", topic, string(payloads)) |
| | | } |
| | | } |
| | | |
| | | if "sync-proc-message-to-serf" == topic { |
| | | logger.Debug("handleSubMsg sync-proc-message-to-serf") |
| | | ClusterSyncProcMessage(payloads) |
| | | } |
| | | } |
| | | |
| | | // 获取授权方式和授权密码 |