diff --git a/vblog/apps/blog/impl/impl.go b/vblog/apps/blog/impl/impl.go
index 69cc8ff..aa3c634 100644
--- a/vblog/apps/blog/impl/impl.go
+++ b/vblog/apps/blog/impl/impl.go
@@ -34,7 +34,9 @@ func (b *BlogServiceImpl) CreateBlog(ctx context.Context, in *blog.CreateBlogReq
// 冲上下文中补充 创建人
tk := middleware.GetTokenFromCtx(ctx)
- ins.CreateBy = tk.RefUserName
+ if tk != nil {
+ ins.CreateBy = tk.RefUserName
+ }
err = datasource.DBFromCtx(ctx).Create(ins).Error
if err != nil {
diff --git a/vblog/apps/blog/impl_test.go b/vblog/apps/blog/impl_test.go
index 771a7e1..9c03795 100644
--- a/vblog/apps/blog/impl_test.go
+++ b/vblog/apps/blog/impl_test.go
@@ -45,5 +45,5 @@ func TestQueryBlog(t *testing.T) {
func TestNewQueryBlogRequest(t *testing.T) {
req := blog.NewQueryBlogRequest()
req.SetTag("key1=value1,key2=value2")
- t.Log(req.Tags)
+ t.Log(req)
}
diff --git a/vblog/apps/blog/model.go b/vblog/apps/blog/model.go
index e240981..31d7a20 100644
--- a/vblog/apps/blog/model.go
+++ b/vblog/apps/blog/model.go
@@ -20,6 +20,15 @@ type BlogSet struct {
Items []*Blog `json:"items"`
}
+func (b *BlogSet) String() string {
+ return pretty.ToJSON(b)
+}
+
+func (b *BlogSet) Add(item *Blog) {
+ b.Items = append(b.Items, item)
+ b.Total++
+}
+
func NewBlog(in *CreateBlogRequest) (*Blog, error) {
if err := in.Validate(); err != nil {
return nil, exception.NewBadRequest("参数异常: %s", err)
diff --git a/vblog/logs/vblog.log b/vblog/logs/vblog.log
index d35893b..03b497c 100644
--- a/vblog/logs/vblog.log
+++ b/vblog/logs/vblog.log
@@ -345,3 +345,11 @@
{"level":"info","component":"http","time":"2025-01-12T18:35:31+08:00","caller":"config/http/http.go:152","message":"start graceful shutdown"}
{"level":"error","component":"http","time":"2025-01-12T18:35:31+08:00","caller":"config/http/http.go:146","message":"http: Server closed"}
{"level":"info","component":"server","time":"2025-01-12T18:35:31+08:00","caller":"ioc/server/server.go:115","message":"http service stop complete"}
+{"level":"info","component":"gin_webframework","time":"2025-01-19T09:03:41+08:00","caller":"config/gin/framework.go:41","message":"enable gin recovery"}
+{"level":"debug","time":"2025-01-19T09:03:41+08:00","caller":"token/impl/impl.go:39","message":"DefaultExpiredTTL: 3600"}
+{"level":"info","component":"server","time":"2025-01-19T09:03:41+08:00","caller":"ioc/server/server.go:74","message":"loaded configs: [app.v1 trace.v1 log.v1 validator.v1 gin_webframework.v1 datasource.v1 grpc.v1 http.v1]"}
+{"level":"info","component":"server","time":"2025-01-19T09:03:41+08:00","caller":"ioc/server/server.go:75","message":"loaded controllers: [token.v1 user.v1 blog.v1]"}
+{"level":"info","component":"server","time":"2025-01-19T09:03:41+08:00","caller":"ioc/server/server.go:76","message":"loaded apis: [blogs.v1 tokens.v1]"}
+{"level":"info","component":"server","time":"2025-01-19T09:03:41+08:00","caller":"ioc/server/server.go:77","message":"loaded defaults: []"}
+{"level":"info","component":"http","time":"2025-01-19T09:03:41+08:00","caller":"config/http/http.go:144","message":"HTTP服务启动成功, 监听地址: 127.0.0.1:8080"}
+{"level":"debug","time":"2025-01-19T09:05:07+08:00","caller":"token/api/api.go:57","message":"cookie domain: localhost"}
diff --git a/vblog/middleware/auth.go b/vblog/middleware/auth.go
index 8cc19de..4e4eb9c 100644
--- a/vblog/middleware/auth.go
+++ b/vblog/middleware/auth.go
@@ -56,5 +56,9 @@ func Auth(c *gin.Context) {
type TokenCtxKey struct{}
func GetTokenFromCtx(ctx context.Context) *token.Token {
- return ctx.Value(TokenCtxKey{}).(*token.Token)
+ txCtx := ctx.Value(TokenCtxKey{})
+ if txCtx == nil {
+ return nil
+ }
+ return txCtx.(*token.Token)
}
diff --git a/vblog/web/src/views/backend/blog/ListPage.vue b/vblog/web/src/views/backend/blog/ListPage.vue
index 4d09bab..57836a1 100644
--- a/vblog/web/src/views/backend/blog/ListPage.vue
+++ b/vblog/web/src/views/backend/blog/ListPage.vue
@@ -55,12 +55,15 @@
发布
-
-
-
-
- 删除
-
+
+
+
+
+
+ 删除
+
+