Files
daohangye/service/lib/cmn/base.go
T
Sun 9cf463b04c 更新v1.1.0
Squashed commit of the following:

commit 4443f7c8251b31687ed93114930ab3d769f4ed6c
Author: Sun <95302870@qq.com>
Date:   Tue Nov 28 22:10:49 2023 +0800

    美化关于页

commit 95ca46d460eba469ca8ae54f65c7773835061c0f
Author: Sun <95302870@qq.com>
Date:   Tue Nov 28 21:59:48 2023 +0800

    更新版本号,更新说明文件增加新版预览截图

commit 052e5f81fe4065e10199d52bc041329fc9c5fe86
Author: Sun <95302870@qq.com>
Date:   Tue Nov 28 21:06:52 2023 +0800

    修复后端mkdirAll权限的问题

commit ace57d5ba69c311e40997d5791cf03a8b28e0c07
Author: Sun <95302870@qq.com>
Date:   Tue Nov 28 20:59:35 2023 +0800

    修改配置文件

commit 099015f2767cedfd6eae91e60131817471eb1f24
Author: Sun <95302870@qq.com>
Date:   Tue Nov 28 14:10:39 2023 +0800

    增加docker-compose文件

commit e229003431ff2476f0ab63a8dffb88504716ba48
Author: Sun <95302870@qq.com>
Date:   Tue Nov 28 13:53:20 2023 +0800

    提交更新日志文件

commit e8736b8b62db6d590c063b42757599381429541e
Author: Sun <95302870@qq.com>
Date:   Tue Nov 28 13:49:38 2023 +0800

    增加隐藏小图标

commit 038af3aaa91a023cc10aabff5b0cfd15c64d0b46
Author: Sun <95302870@qq.com>
Date:   Tue Nov 28 13:49:04 2023 +0800

    优化 密码限制

commit 4cd15a383923bf3de56e9e4dc6df3bf97236ed18
Author: Sun <95302870@qq.com>
Date:   Tue Nov 28 12:34:59 2023 +0800

    增加反馈入口

commit daf6aea902893f816dca5c0bb09326f2f110ddcc
Merge: 3edfadd b057e25
Author: Sun <95302870@qq.com>
Date:   Mon Nov 27 22:19:59 2023 +0800

    Merge branch 'master' into dev

commit 3edfaddd173efcbbde867dc9ce9b022920b39061
Author: Sun <95302870@qq.com>
Date:   Mon Nov 27 22:17:08 2023 +0800

    修改docker的编译镜像和运行镜像为alpine,兼容极空间设备

commit 3445f97152c2f6b9f1f9f68b46e4b84f8240c9c2
Author: Sun <95302870@qq.com>
Date:   Mon Nov 27 13:58:59 2023 +0800

    修复前端编译错误

commit 3ef02013ffb595e7805692350389bb623155cfe9
Author: Sun <95302870@qq.com>
Date:   Mon Nov 27 13:56:12 2023 +0800

    更新beta版本号

commit 620f0f1e1523f34e87001e8a2bbe3d4a01cb0b9b
Author: Sun <95302870@qq.com>
Date:   Mon Nov 27 13:53:46 2023 +0800

    修复 添加图标成功后遗留旧数据的问题

commit 55d877d1ca11e83d9f7325a321aeb5b65ad4ee8b
Author: Sun <95302870@qq.com>
Date:   Mon Nov 27 13:41:55 2023 +0800

    增加置顶按钮

commit f28dd63328aeca5d8c3c036c5786304f8a33b1f9
Author: Sun <95302870@qq.com>
Date:   Mon Nov 27 12:56:14 2023 +0800

    优化roundmodal的样式和手机端设置样式

commit c19ce176878ea2ef06b0a5dc75bd6d8239892302
Author: Sun <95302870@qq.com>
Date:   Mon Nov 27 11:06:44 2023 +0800

    优化手机端logo文字显示问题

commit 018dabb2faddc0541fb33ef5a51a126575a59cf5
Author: Sun <95302870@qq.com>
Date:   Mon Nov 27 10:51:02 2023 +0800

    更新说明文件

commit 02239e3686933e4c33e430be8300ec2d0be41887
Author: Sun <95302870@qq.com>
Date:   Sun Nov 26 22:59:11 2023 +0800

    优化 登录页面

commit 6aa92e8ba6c4eeb2fa2995ee93aeeac86b54b551
Author: Sun <95302870@qq.com>
Date:   Sat Nov 25 23:59:40 2023 +0800

    增加编译脚本

commit d93df810fa95a7baa28ca5323903b93f286ba741
Author: Sun <95302870@qq.com>
Date:   Sat Nov 25 15:48:00 2023 +0800

    修改相关logo图片

commit 036a56ddc7a555d6227c92dfa2abfe84f9042662
Merge: 7018872 feacc89
Author: Sun <95302870@qq.com>
Date:   Fri Nov 24 16:00:23 2023 +0800

    Merge branch 'master' into dev

commit 7018872ce9fd0fa8f1ff4731a16b2ea90fb9153f
Author: Sun <95302870@qq.com>
Date:   Fri Nov 24 15:31:31 2023 +0800

    更新版本标签

commit 4fae97dd932ce4638d869a0c7a123c788c3e3e43
Author: Sun <95302870@qq.com>
Date:   Fri Nov 24 15:07:39 2023 +0800

    更新版本1.1.0 测试版

commit 890a3c3dbdccbe4dfd5a6915e87a2649c9141e7b
Author: Sun <95302870@qq.com>
Date:   Fri Nov 24 14:31:26 2023 +0800

    右键菜单新增打开局域网或者互联网地址,优化分组管理图标不统一的问题

commit 4f014cf4aa384a2c8a03585ffd6ce41c941b9356
Author: Sun <95302870@qq.com>
Date:   Fri Nov 24 13:33:43 2023 +0800

    增加 关联删除,优化添加密码长度限制20

commit 5658e6c379b077d359fff75c5e9b904cbce5f81e
Author: Sun <95302870@qq.com>
Date:   Fri Nov 24 12:09:41 2023 +0800

    增加更新日志

commit f142d1b378e0525db157a93cca61ee86bf1eb08d
Author: Sun <95302870@qq.com>
Date:   Fri Nov 24 12:09:30 2023 +0800

    添加应用图标验证分组信息必填

commit 2ff2b6b32a4bb70653e3a7312ccb0f4b0b945f07
Author: Sun <95302870@qq.com>
Date:   Thu Nov 23 23:45:10 2023 +0800

    优化关于页面,及更新版本序号为2

commit c9b482b24e2d23d638501dbaa44f826386c420b5
Author: Sun <95302870@qq.com>
Date:   Thu Nov 23 22:12:13 2023 +0800

    优化关于设置版本号

commit ed70059ffbce1ae8a9e2e0378803f7875ada342b
Author: Sun <95302870@qq.com>
Date:   Thu Nov 23 21:41:22 2023 +0800

    修复分组管理不能滚动的问题

commit faa4222b1494271878c2c7469c14a4efa49c6761
Author: Sun <95302870@qq.com>
Date:   Thu Nov 23 21:24:34 2023 +0800

    修复分组写死的问题

commit 4f2d0c858e55735b9ba3a8453de9407b76346805
Author: Sun <95302870@qq.com>
Date:   Thu Nov 23 20:24:39 2023 +0800

    初步尝试构建测试版本

commit 596bed19dcf3bceb77e30f9c24218888f8da7e64
Author: Sun <95302870@qq.com>
Date:   Thu Nov 23 19:24:05 2023 +0800

    修复搜索框配置bug,云端没有默认值,前端打不开搜索引擎选择栏

commit 489fbf748a7e35c6b69198b19038c01a548e20f2
Author: Sun <95302870@qq.com>
Date:   Thu Nov 23 19:22:57 2023 +0800

    增加logo和版本打印,修复模块配置的索引报错

commit 263dab607af8a830acee44e37776bda4da814b40
Author: Sun <95302870@qq.com>
Date:   Wed Nov 22 23:02:37 2023 +0800

    调整排序样式

commit c0adf335d3e48e6770d56eb506b471852fbfbc43
Author: Sun <95302870@qq.com>
Date:   Wed Nov 22 22:58:18 2023 +0800

    说明文件增加logo

commit 721d22e75b93d3646f5f206d208a9a743840a25b
Author: Sun <95302870@qq.com>
Date:   Wed Nov 22 22:40:40 2023 +0800

    更换logo

commit 4df58fec7b2054ce97cf2989045affd144aa4f8b
Author: Sun <95302870@qq.com>
Date:   Wed Nov 22 22:38:27 2023 +0800

    完善关于页面

commit 63777f0bbac85550fafe1b084bd664c7722ab934
Author: Sun <95302870@qq.com>
Date:   Wed Nov 22 21:12:14 2023 +0800

    字体为纯白色的时候,详情图标会根据背景的明暗度计算字体颜色

commit f328dc73305665a921e030dd4a06d759d0cac3bf
Author: Sun <95302870@qq.com>
Date:   Wed Nov 22 17:21:40 2023 +0800

    详情图标居中

commit 663f37bf1a26b7dff24edcfb149222ac780cb90d
Author: Sun <95302870@qq.com>
Date:   Wed Nov 22 16:45:11 2023 +0800

    将图标单独拆分为子组件应用图标

commit 30cd5ab460e032f7f6d7c23eb7a9c7af735d0f41
Author: Sun <95302870@qq.com>
Date:   Wed Nov 22 13:36:32 2023 +0800

    增加详情图标隐藏描述信息等设置

commit 945a94e76cae4251953512cc09f348ad38bb9a38
Author: Sun <95302870@qq.com>
Date:   Wed Nov 22 12:28:46 2023 +0800

    优化图标背景色:支持透明图标并更换背景颜色字段

commit 437053fc9d8d9e3c55aac4d259e4b4c4bc11de58
Author: Sun <95302870@qq.com>
Date:   Wed Nov 22 11:20:56 2023 +0800

    完善搜索框

commit a9914f8e8ced23b8c50701a85d522c8f0fcd1c2b
Author: Sun <95302870@qq.com>
Date:   Wed Nov 22 01:27:16 2023 +0800

    关闭模块配置相关接口开发模式

commit 2a9e22d4b781f43c0f9b8a867d26c295e756175b
Author: Sun <95302870@qq.com>
Date:   Wed Nov 22 01:24:09 2023 +0800

    完成搜索框的样式和模块配置的state等api对接

commit 7f771650ef7272e474f74ed689ab844bf90b946f
Author: Sun <95302870@qq.com>
Date:   Wed Nov 22 00:45:25 2023 +0800

    增加搜索引擎图标

commit a0e0039ae89eaa27e4b849baa0168716866682ea
Author: Sun <95302870@qq.com>
Date:   Tue Nov 21 19:54:36 2023 +0800

    增加 模块配置表

commit 017869794177d7a5d4c12c0eac6fb7c7fe79734e
Author: Sun <95302870@qq.com>
Date:   Tue Nov 21 13:10:39 2023 +0800

    图标标题加粗

commit 7a2d896a44262b54d6a1d2d12fe6bbbc31b1ca49
Author: Sun <95302870@qq.com>
Date:   Tue Nov 21 12:53:39 2023 +0800

    增加图标的预设颜色

commit a6c3120c186646b323e57ecce0f85ec9c79a41a5
Author: Sun <95302870@qq.com>
Date:   Tue Nov 21 12:18:46 2023 +0800

    增加遮罩

commit 84d3db81ea2aaa0f67a67690e449d15401e8e511
Author: Sun <95302870@qq.com>
Date:   Tue Nov 21 11:05:24 2023 +0800

    极简小图标增加鼠标悬浮详情

commit 666a6a117bc30c64a78ab0fe2cb7836c602b2741
Author: Sun <95302870@qq.com>
Date:   Mon Nov 20 23:33:10 2023 +0800

    修复 sort字段未修改归0的问题

commit 71afd530d7a740763326a6117f8e7c04ac1f7f69
Author: Sun <95302870@qq.com>
Date:   Mon Nov 20 23:32:48 2023 +0800

    适配纯透明图标,增强图标背景色,增加图标url连接支持

commit 619c5e28e1c51c16e14ed09601709ab751ee2454
Author: Sun <95302870@qq.com>
Date:   Mon Nov 20 22:37:43 2023 +0800

    修复 每次修改图标都重置了排序号

commit 8a17f1c0bf2f00c530dee61cd5070a74ca4a53b2
Author: Sun <95302870@qq.com>
Date:   Mon Nov 20 21:21:20 2023 +0800

    分组为空的时候显示添加图标的图标

commit 755cf3dc569e402cb3dfc9915e94de4f2595571b
Author: Sun <95302870@qq.com>
Date:   Mon Nov 20 20:52:45 2023 +0800

    首页图标排序完成

commit 5ccf23c68b3284be00dadf94073a665826737a77
Author: Sun <95302870@qq.com>
Date:   Mon Nov 20 14:30:12 2023 +0800

    添加修改图标适配分组

commit 47209d729270bf4704428ecd91606d4721bd9a13
Author: Sun <95302870@qq.com>
Date:   Mon Nov 20 11:06:32 2023 +0800

    保存分组和分组排序已经完成

commit 17403de7ed236a097d70cd5ecbbe261e620ff377
Merge: d0d88eb 980d81a
Author: Sun <95302870@qq.com>
Date:   Sun Nov 19 23:38:00 2023 +0800

    Merge branch 'master' into dev

commit d0d88eb548bbe9d7f5ad663f383db858843a8d8c
Merge: 728dbc8 47b479c
Author: Sun <95302870@qq.com>
Date:   Sun Nov 19 11:13:34 2023 +0800

    Merge branch 'docker-build' into dev

commit 47b479cf8da7214dd9e0592b461743ab7d3824ed
Author: Sun <95302870@qq.com>
Date:   Sun Nov 19 11:12:54 2023 +0800

    修改前端程序名

commit 728dbc80ff7885d0b4cf289b06763cc60ed17d7e
Author: Sun <95302870@qq.com>
Date:   Thu Nov 16 13:44:47 2023 +0800

    新增删除应用分组和修改应用分组,以及图标真正的按组读取

commit a3dbd948ca743384a2de3685083695603d674bf1
Author: Sun <95302870@qq.com>
Date:   Wed Nov 15 22:49:58 2023 +0800

    增加图标组api

commit de21f3f232c1243917b5c55ba4bedb01437f8564
Author: Sun <95302870@qq.com>
Date:   Wed Nov 15 22:49:44 2023 +0800

    重新划分应用盒子的结构

commit 7c409112ba1f8eefb7df7fffdb78b285e3f5322c
Author: Sun <95302870@qq.com>
Date:   Wed Nov 15 22:27:07 2023 +0800

    [后端] 增加应用分组

commit ebf9500529c7db30b1c6e1ed4056013d0f83827a
Merge: acedcb3 97d4f83
Author: Sun <95302870@qq.com>
Date:   Wed Nov 15 20:38:05 2023 +0800

    Merge branch 'feature/drag' into dev

commit acedcb32a03ed0ee1833143912a9215182da3fb6
Merge: f105e10 c84eae3
Author: Sun <95302870@qq.com>
Date:   Wed Nov 15 20:37:26 2023 +0800

    Merge branch 'master' into dev

commit 97d4f8368dffca2a16d729e666068a552feca87d
Author: Sun <95302870@qq.com>
Date:   Wed Nov 15 20:36:19 2023 +0800

    更新软件包

commit 5108f65275181b899b8fc100c615cb6065dcca5d
Author: Sun <95302870@qq.com>
Date:   Wed Nov 15 20:30:39 2023 +0800

    简单监听了一下拖拽

commit dae9aea41f1540ccb74abea2a31af5d2a1e4dcfd
Merge: 396db51 f672034
Author: Sun <95302870@qq.com>
Date:   Wed Nov 15 10:01:00 2023 +0800

    Merge branch 'master' into feature/drag

commit 396db51979d513559512b0a9702dd0d616c2872b
Author: Sun <95302870@qq.com>
Date:   Wed Nov 15 00:08:02 2023 +0800

    历史性时刻,拖拽图标

commit f105e10fe1ced11d0b32eba37cfbfdb94f6ad07b
Author: Sun <95302870@qq.com>
Date:   Tue Nov 14 11:35:52 2023 +0800

    尝试增加一个分组标题

commit 7e2354f4ed509c7d05667604b7eb56e91f911ed0
Author: Sun <95302870@qq.com>
Date:   Sun Nov 12 23:07:37 2023 +0800

    优化 枚举引用错误

commit 27e85b7da339706ea97604a785bf013dad5f9534
Author: Sun <95302870@qq.com>
Date:   Sun Nov 12 23:06:50 2023 +0800

    优化路由

commit fef462804c0d445f5b9bc7e38e226b55c26017ee
Author: Sun <95302870@qq.com>
Date:   Sun Nov 12 21:28:57 2023 +0800

    更换enums的位置
2023-11-29 10:23:57 +08:00

207 lines
4.5 KiB
Go

package cmn
import (
// "calendar-note-gin/assets"
"crypto/md5"
"encoding/hex"
"fmt"
"math/rand"
"os"
"path"
"strconv"
"strings"
"sun-panel/assets"
"time"
)
const (
// 时间格式
TimeFormatMode1 = "2006-01-02 15:04:05" // 标准格式
TimeFormatMode4 = "2006-01-02 15:04" // 标准格式 无秒
TimeFormatMode2 = "Mon Jan 2 15:04:05 -0700 MST 2006"
TimeFormatMode3 = "Mon, 2 Jan 2006 15:04:05 -0700 MST" // webdav格式
TimeYYYY_mm_dd = "2006-01-02"
TIME_MODE_REMINDER_TIME = "200601021504" // 提醒定时器的执行时间格式
// 随机码字典
RAND_CODE_MODE1 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" // 大写,小写,数字
RAND_CODE_MODE2 = "abcdefghijklmnopqrstuvwxyz0123456789" // 小写,数字
RAND_CODE_MODE3 = "0123456789" // 数字
)
type Version_Info struct {
Version string
Version_code int
}
func GetTime() string {
return time.Unix(time.Now().Unix(), 0).Format(TimeFormatMode1)
}
// 字符串转时间
func StrToTime(timeMode, formatTimeStr string) (t time.Time, err error) {
loc, err := time.LoadLocation("Local")
if err != nil {
return
}
t, err = time.ParseInLocation(timeMode, formatTimeStr, loc) //使用模板在对应时区转化为time.time类型
return
}
// md5获取
func Md5(str string) string {
md5Byte := md5.Sum([]byte(str))
return hex.EncodeToString(md5Byte[:])
}
func RandNum(n int) int {
rand.Seed(time.Now().Unix())
return rand.Intn(n)
}
// 随机生成编码
// 随机码字典内容 参考常量 RAND_CODE_MODE*
func BuildRandCode(count int, secret_content string) (code string) {
return BuildRandCodeBySeed(count, secret_content, time.Now().UnixNano()+int64(rand.Intn(100)))
}
// 随机生成编码 参考常量 RAND_CODE_MODE*
func BuildRandCodeBySeed(count int, secret_content string, seed int64) (code string) {
// 获取纳秒作为随机数种子
rand.Seed(seed)
if secret_content == "" {
secret_content = RAND_CODE_MODE1
}
for i := 0; i < count; i++ {
code += string(secret_content[rand.Intn(len(secret_content))])
}
return code
}
func InSlice(items []string, item string) bool {
for _, eachItem := range items {
if eachItem == item {
return true
}
}
return false
}
// 字符串转int
func StrToInt(str string) int {
intStr, _ := strconv.Atoi(str)
return intStr
}
// uint 转string
func UintToStr(c uint) string {
return strconv.FormatUint(uint64(c), 10)
}
// uint 转string
func StrToUint(s string) uint {
// i, _ := strconv.Atoi(s)
u, _ := strconv.ParseUint(s, 10, 64)
return uint(u)
}
// 获取系统信息
func GetSysVersionInfo() Version_Info {
cBytes, _ := assets.Asset("assets/version")
c := string(cBytes)
info := strings.Split(c, "|")
return Version_Info{
Version_code: StrToInt(info[0]),
Version: info[1],
}
}
// 文件是否存在
func PathExists(path string) (bool, error) {
_, err := os.Stat(path)
if err == nil {
return true, nil
}
if os.IsNotExist(err) {
return false, nil
}
return false, err
}
// 截取字符串,支持多字节字符
// start:起始下标,负数从从尾部开始,最后一个为-1
// length:截取长度,负数表示截取到末尾
func SubRuneStr(str string, start int, length int) (result string) {
s := []rune(str)
total := len(s)
if total == 0 {
return
}
// 允许从尾部开始计算
if start < 0 {
start = total + start
if start < 0 {
return
}
}
if start > total {
return
}
// 到末尾
if length < 0 {
length = total
}
end := start + length
if end > total {
result = string(s[start:])
} else {
result = string(s[start:end])
}
return
}
// 字符串长度
func RuneStrLen(str string) int {
return len([]rune(str))
}
// 是否在数组中
func InStringArray(arr []string, item string) bool {
for _, v := range arr {
if v == item {
return true
}
}
return true
}
// 从Assets文件夹中抽取文件保存到路劲
// AssetsTakeFileToPath("config.ini", targetPath string)
func AssetsTakeFileToPath(assetsPath, targetPath string) error {
bytes, _ := assets.Asset("assets/" + assetsPath)
targetPathPath := path.Dir(targetPath)
exists, err := PathExists(targetPathPath)
if err != nil {
return err
}
if !exists {
if err := os.MkdirAll(targetPathPath, 0777); err != nil {
fmt.Println(456)
return err
}
}
return os.WriteFile(targetPath, bytes, 0666)
}
// 密码加密
func PasswordEncryption(password string) string {
return Md5(Md5(Md5(password)))
}