MCPcopy Index your code
hub / github.com/TruthHun/BookStack / calcReadingTime

Method calcReadingTime

models/read_record.go:348–365  ·  view source on GitHub ↗

在 5 - 600 秒之间的阅读计时,正常计时 在 600 - 1800 秒(半个小时)之间的计时,按最大计时来计算时长 超过半个小时之后才有阅读记录,则在此期间的阅读时长为0

(uid, docId int, t time.Time)

Source from the content-addressed store, hash-verified

346// 在 600 - 1800 秒(半个小时)之间的计时,按最大计时来计算时长
347// 超过半个小时之后才有阅读记录,则在此期间的阅读时长为0
348func (*ReadRecord) calcReadingTime(uid, docId int, t time.Time) (duration int, lastReadDocId int) {
349 r := NewReadRecord()
350 rr := r.LastReading(uid, "uid", "doc_id", "created_at")
351 if rr.DocId == docId {
352 return 0, docId
353 }
354
355 rule := r.GetReadingRule()
356 diff := int(t.Unix()) - rr.CreateAt
357 if diff <= 0 || diff < rule.Min || diff >= rule.Invalid {
358 return 0, rr.DocId
359 }
360
361 if diff > rule.MaxReward {
362 return rule.Max, rr.DocId
363 }
364 return diff, rr.DocId
365}

Callers 1

AddMethod · 0.95

Calls 3

LastReadingMethod · 0.95
GetReadingRuleMethod · 0.95
NewReadRecordFunction · 0.85

Tested by

no test coverage detected