Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 057b49d

Browse files
committed
图片上传失败
1 parent cd113b1 commit 057b49d

File tree

5 files changed

+29
-11
lines changed

5 files changed

+29
-11
lines changed

logic/article.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -846,7 +846,7 @@ func (self ArticleLogic) MoveToTopic(ctx context.Context, id interface{}, me *mo
846846
DefaultUserRich.IncrUserRich(user, model.MissionTypePunish, award, desc)
847847

848848
// 将文章删除
849-
_, err = session.Id(article.Id).Delete(article)
849+
_, err = session.ID(article.Id).Delete(article)
850850

851851
session.Commit()
852852

logic/common.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,10 @@ func CanEdit(me *model.Me, curModel interface{}) bool {
7070
return false
7171
}
7272

73+
if me.IsRoot {
74+
return true
75+
}
76+
7377
canEditTime := time.Duration(UserSetting[model.KeyCanEditTime]) * time.Second
7478
switch entity := curModel.(type) {
7579
case *model.Topic:

logic/feed.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ func (self FeedLogic) FindTop(ctx context.Context) []*model.Feed {
8181

8282
// AutoUpdateSeq 每天自动更新一次动态的排序(校准)
8383
func (self FeedLogic) AutoUpdateSeq() {
84-
feedDay := config.ConfigFile.MustInt("global", "feed_day", 7)
84+
feedDay := config.ConfigFile.MustInt("feed", "day", 7)
8585

8686
var err error
8787
offset, limit := 0, 100
@@ -181,6 +181,10 @@ func (FeedLogic) publish(object interface{}, objectExt interface{}, me *model.Me
181181
}
182182

183183
func (self FeedLogic) updateSeq(objid, objtype, cmtnum, likenum, viewnum int) {
184+
cmtWeight := config.ConfigFile.MustInt("feed", "cmt_weight", 80)
185+
likeWeight := config.ConfigFile.MustInt("feed", "like_weight", 60)
186+
viewWeight := config.ConfigFile.MustInt("feed", "view_weight", 5)
187+
184188
go func() {
185189
feed := &model.Feed{}
186190
_, err := MasterDB.Where("objid=? AND objtype=?", objid, objtype).Get(feed)
@@ -192,7 +196,7 @@ func (self FeedLogic) updateSeq(objid, objtype, cmtnum, likenum, viewnum int) {
192196
return
193197
}
194198

195-
feedDay := config.ConfigFile.MustInt("global", "feed_day", 7)
199+
feedDay := config.ConfigFile.MustInt("feed", "day", 7)
196200
elapse := int(time.Now().Sub(time.Time(feed.CreatedAt)).Hours())
197201

198202
if feed.Uid > 0 {
@@ -210,9 +214,9 @@ func (self FeedLogic) updateSeq(objid, objtype, cmtnum, likenum, viewnum int) {
210214
}
211215
} else {
212216
if feed.Seq == 0 {
213-
seq = feedDay*24 - elapse + (feed.Cmtnum+cmtnum)*100 + likenum*100 + viewnum*5
217+
seq = feedDay*24 - elapse + (feed.Cmtnum+cmtnum)*cmtWeight + likenum*likeWeight + viewnum*viewWeight
214218
} else {
215-
seq = feed.Seq + cmtnum*100 + likenum*100 + viewnum*5
219+
seq = feed.Seq + cmtnum*cmtWeight + likenum*likeWeight + viewnum*viewWeight
216220
}
217221
}
218222

logic/uploader.go

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,11 @@ import (
2323
"sync"
2424
"time"
2525

26+
"golang.org/x/net/context"
27+
2628
. "github.com/studygolang/studygolang/db"
2729
"github.com/studygolang/studygolang/model"
2830

29-
"golang.org/x/net/context"
30-
3131
"github.com/polaris1119/config"
3232
"github.com/polaris1119/goutils"
3333
"github.com/polaris1119/logger"
@@ -197,7 +197,10 @@ func (this *UploaderLogic) TransferUrl(ctx context.Context, origUrl string, pref
197197
}
198198
defer resp.Body.Close()
199199

200-
buf, _ := ioutil.ReadAll(resp.Body)
200+
buf, err := ioutil.ReadAll(resp.Body)
201+
if err != nil {
202+
return origUrl, errors.New("获取图片内容失败")
203+
}
201204

202205
md5 := goutils.Md5Buf(buf)
203206
objImage, err := this.findImage(md5)
@@ -213,12 +216,19 @@ func (this *UploaderLogic) TransferUrl(ctx context.Context, origUrl string, pref
213216
ext := filepath.Ext(origUrl)
214217
if ext == "" {
215218
contentType := http.DetectContentType(buf)
216-
exts, _ := mime.ExtensionsByType(contentType)
217-
if len(exts) > 0 {
219+
exts, err := mime.ExtensionsByType(contentType)
220+
if err != nil {
221+
logger.Errorln("detect extension error:", err, "orig url:", origUrl)
222+
} else if len(exts) > 0 {
218223
ext = exts[0]
219224
}
220225
}
221226

227+
if ext == "" || !strings.Contains("png,jpg,jpeg,gif,bmp", strings.ToLower(ext)) {
228+
logger.Errorln("can't fetch extension, url:", origUrl)
229+
return origUrl, errors.New("can't fetch extension")
230+
}
231+
222232
prefix := times.Format("ymd")
223233
if len(prefixs) > 0 {
224234
prefix = prefixs[0]

model/feed.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,7 @@ func PublishFeed(object interface{}, objectExt interface{}, me *Me) {
150150
}
151151
}
152152

153-
feedDay := config.ConfigFile.MustInt("global", "feed_day", 7)
153+
feedDay := config.ConfigFile.MustInt("feed", "day", 7)
154154
feed.Seq = feedDay * 24
155155
if me != nil && me.IsAdmin {
156156
feed.Seq += 100000

0 commit comments

Comments
 (0)