Forráskód Böngészése

chore: console 包

runningwater 8 hónapja
szülő
commit
1247cc0ccd
4 módosított fájl, 86 hozzáadás és 3 törlés
  1. 30 0
      README.md
  2. 3 1
      go.mod
  3. 6 2
      go.sum
  4. 47 0
      pkg/console/console.go

+ 30 - 0
README.md

@@ -9,3 +9,33 @@ Web 服务功能会封装到子命令 serve 中,命令行功能会封装到子
 3. seed 数据填充
 4. migrate 数据库迁移
 5. cache 缓存处理
+
+## commit 提交规范
+
+### 提交格式
+
+```bash
+<type>: <subject>
+```
+
+### 提交类型
+
+- feat:新功能(feature)
+- fix:修补bug
+- docs:文档(documentation)
+- style: 格式(不影响代码运行的变动)
+- refactor:重构(即不是新增功能,也不是修改bug的代码变动)
+- test:增加测试
+- chore:构建过程或辅助工具的变动
+
+### 提交示例
+
+```bash
+feat: 添加用户注册功能
+fix: 修复用户登录 bug
+docs: 更新 README 文件
+style: 调整代码缩进
+refactor: 重构用户模块
+test: 添加用户模块测试
+chore: 更新依赖
+```

+ 3 - 1
go.mod

@@ -12,6 +12,7 @@ require (
 	github.com/go-redis/redis v6.15.9+incompatible
 	github.com/golang-jwt/jwt/v5 v5.2.2
 	github.com/jordan-wright/email v4.0.1-0.20210109023952-943e75fe5223+incompatible
+	github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d
 	github.com/mojocn/base64Captcha v1.3.8
 	github.com/spf13/cast v1.7.1
 	github.com/spf13/viper v1.20.1
@@ -49,6 +50,7 @@ require (
 	github.com/json-iterator/go v1.1.12 // indirect
 	github.com/klauspost/cpuid/v2 v2.2.7 // indirect
 	github.com/leodido/go-urn v1.4.0 // indirect
+	github.com/mattn/go-colorable v0.1.14 // indirect
 	github.com/mattn/go-isatty v0.0.20 // indirect
 	github.com/mattn/go-sqlite3 v1.14.22 // indirect
 	github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
@@ -68,7 +70,7 @@ require (
 	golang.org/x/arch v0.8.0 // indirect
 	golang.org/x/image v0.23.0 // indirect
 	golang.org/x/net v0.39.0 // indirect
-	golang.org/x/sys v0.32.0 // indirect
+	golang.org/x/sys v0.33.0 // indirect
 	golang.org/x/text v0.24.0 // indirect
 	google.golang.org/protobuf v1.36.1 // indirect
 	gopkg.in/ini.v1 v1.67.0 // indirect

+ 6 - 2
go.sum

@@ -153,10 +153,14 @@ github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
 github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
 github.com/leodido/go-urn v1.4.0 h1:WT9HwE9SGECu3lg4d/dIA+jxlljEa1/ffXKmRjqdmIQ=
 github.com/leodido/go-urn v1.4.0/go.mod h1:bvxc+MVxLKB4z00jd1z+Dvzr47oO32F/QSNjSBOlFxI=
+github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE=
+github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8=
 github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
 github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
 github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU=
 github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y=
+github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d h1:5PJl274Y63IEHC+7izoQE9x6ikvDFZS2mDVS3drnohI=
+github.com/mgutz/ansi v0.0.0-20200706080929-d51e80ef957d/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE=
 github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
 github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
 github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
@@ -337,8 +341,8 @@ golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
 golang.org/x/sys v0.21.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
-golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
-golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
+golang.org/x/sys v0.33.0 h1:q3i8TbbEz+JRD9ywIRlyRAQbM0qF7hu24q3teo2hbuw=
+golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
 golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE=
 golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
 golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=

+ 47 - 0
pkg/console/console.go

@@ -0,0 +1,47 @@
+// Package console 命令行辅助方法
+package console
+
+import (
+	"fmt"
+	"os"
+
+	"github.com/mgutz/ansi"
+)
+
+// Success 输出成功信息, 绿色
+func Success(msg string) {
+	colorOut(msg, "green")
+}
+
+// Error 输出错误信息, 红色
+func Error(msg string) {
+	colorOut(msg, "red")
+}
+
+// Warning 输出警告信息, 黄色
+func Warning(msg string) {
+	colorOut(msg, "yellow")
+}
+
+// Info 输出普通信息, 蓝色
+func Info(msg string) {
+	colorOut(msg, "blue")
+}
+
+// Exit 输出错误信息, 红色, 并退出程序
+func Exit(msg string) {
+	Error(msg)
+	os.Exit(1)
+}
+
+// ExitIf 输出错误信息, 红色, 并退出程序
+// 如果 err 不为 nil, 则输出错误信息, 并退出程序
+func ExitIf(err error) {
+	if err != nil {
+		Exit(err.Error())
+	}
+}
+
+func colorOut(msg, color string) {
+	fmt.Fprintln(os.Stdout, ansi.Color(msg, color))
+}