Skip to content

Commit

Permalink
🍃 去除文件缓存
Browse files Browse the repository at this point in the history
  • Loading branch information
xhofe committed Dec 31, 2020
1 parent ba7c33a commit d5e3527
Show file tree
Hide file tree
Showing 12 changed files with 84 additions and 46 deletions.
2 changes: 1 addition & 1 deletion alidrive/auth.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ func TokenLogin() (*TokenLoginResp, error) {
log.Infof("尝试使用token登录...")
url:="https://auth.aliyundrive.com/v2/oauth/token_login"
req:=TokenLoginReq{Token:conf.Conf.AliDrive.LoginToken}
log.Debugf("token_login_req:%v",req)
log.Debugf("token_login_req:%+v",req)
var tokenLogin TokenLoginResp
if body, err := DoPost(url, req,false); err != nil {
log.Errorf("tokenLogin-doPost出错:%s",err.Error())
Expand Down
2 changes: 1 addition & 1 deletion alidrive/request.go
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,7 @@ func DoPost(url string,request interface{},auth bool) (body []byte, err error) {
log.Errorf("创建requestBody出错:%s",err.Error())
}
req,err:=http.NewRequest("POST",url,requestBody)
log.Debugf("do_post_req:%v",req)
log.Debugf("do_post_req:%+v",req)
if err != nil {
log.Errorf("创建request出错:%s",err.Error())
return
Expand Down
4 changes: 2 additions & 2 deletions bootstrap/alidrive.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,13 @@ func InitAliDrive() bool {
}else {
conf.Authorization=conf.Bearer+conf.Conf.AliDrive.AccessToken
}
log.Infof("token:%s",conf.Authorization)
log.Debugf("token:%s",conf.Authorization)
user,err:=alidrive.GetUserInfo()
if err != nil {
log.Errorf("初始化用户失败:%s",err.Error())
return false
}
log.Infof("当前用户信息:%v",user)
log.Infof("当前用户信息:%+v",user)
alidrive.User=user
return true
}
1 change: 1 addition & 0 deletions bootstrap/cmd.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ func printASC() {
func start() {
InitLog()
printASC()
CheckUpdate()
if !ReadConf(conf.Con) {
log.Errorf("读取配置文件时出现错误,启动失败.")
return
Expand Down
2 changes: 1 addition & 1 deletion bootstrap/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,6 @@ func ReadConf(config string) bool {
log.Errorf("加载配置文件时发生错误:%s",err.Error())
return false
}
log.Debugf("config:%v",conf.Conf)
log.Debugf("config:%+v",conf.Conf)
return true
}
41 changes: 41 additions & 0 deletions bootstrap/update.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package bootstrap

import (
"encoding/json"
"github.com/Xhofe/alist/conf"
log "github.com/sirupsen/logrus"
"io/ioutil"
"net/http"
)

type GithubRelease struct {
TagName string `json:"tag_name"`
HtmlUrl string `json:"html_url"`
Body string `json:"body"`
}

func CheckUpdate() {
url:="https://api.github.com/repos/Xhofe/alist/releases/latest"
resp,err:=http.Get(url)
if err!=nil {
log.Warnf("检查更新失败:%s",err.Error())
return
}
body,err:=ioutil.ReadAll(resp.Body)
if err!=nil {
log.Warnf("读取更新内容失败:%s",err.Error())
return
}
var release GithubRelease
err = json.Unmarshal(body,&release)
if err!=nil {
log.Warnf("解析更新失败:%s",err.Error())
return
}
if conf.VERSION == release.TagName {
log.Infof("当前已是最新版本:%s",release.TagName)
}else {
log.Infof("发现新版本:%s",release.TagName)
log.Infof("请至'%s'获取更新.",release.HtmlUrl)
}
}
4 changes: 2 additions & 2 deletions conf.yml.example
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ server:
static: dist #前端文件目录
cache:
enable: true #是否开启缓存
expiration: 5 #缓存失效时间(单位:分钟)
cleanup_interval: 10 #清理失效缓存间隔
expiration: 60 #缓存失效时间(单位:分钟)
cleanup_interval: 120 #清理失效缓存间隔
refresh_password: password #手动清理缓存密码
ali_drive:
api_url: https://api.aliyundrive.com/v2 #阿里云盘api,无需修改
Expand Down
2 changes: 1 addition & 1 deletion conf/const.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ var(
var Conf = new(Config)

const (
VERSION="0.1.0"
VERSION="v0.1.3"

ImageThumbnailProcess="image/resize,w_50"
VideoThumbnailProcess="video/snapshot,t_0,f_jpg,w_50"
Expand Down
55 changes: 27 additions & 28 deletions server/controllers/get.go
Original file line number Diff line number Diff line change
@@ -1,32 +1,31 @@
package controllers

import (
"fmt"
"github.com/Xhofe/alist/alidrive"
"github.com/Xhofe/alist/conf"
"github.com/gin-gonic/gin"
"github.com/patrickmn/go-cache"
log "github.com/sirupsen/logrus"
"strings"
)

// 因为下载地址有时效,所以去掉了文件请求和直链的缓存

func Get(c *gin.Context) {
var get alidrive.GetReq
if err := c.ShouldBindJSON(&get); err != nil {
c.JSON(200,metaResponse(400,"Bad Request"))
return
}
log.Debugf("get:%v",get)
log.Debugf("get:%+v",get)
// cache
cacheKey:=fmt.Sprintf("%s-%s","g",get.FileId)
if conf.Conf.Cache.Enable {
file,exist:=conf.Cache.Get(cacheKey)
if exist {
log.Debugf("使用了缓存:%s",cacheKey)
c.JSON(200,dataResponse(file))
return
}
}
//cacheKey:=fmt.Sprintf("%s-%s","g",get.FileId)
//if conf.Conf.Cache.Enable {
// file,exist:=conf.Cache.Get(cacheKey)
// if exist {
// log.Debugf("使用了缓存:%s",cacheKey)
// c.JSON(200,dataResponse(file))
// return
// }
//}
file,err:=alidrive.GetFile(get.FileId)
if err !=nil {
c.JSON(200,metaResponse(500,err.Error()))
Expand All @@ -38,33 +37,33 @@ func Get(c *gin.Context) {
return
}
file.Paths=*paths
if conf.Conf.Cache.Enable {
conf.Cache.Set(cacheKey,file,cache.DefaultExpiration)
}
//if conf.Conf.Cache.Enable {
// conf.Cache.Set(cacheKey,file,cache.DefaultExpiration)
//}
c.JSON(200,dataResponse(file))
}

func Down(c *gin.Context) {
fileIdParam:=c.Param("file_id")
log.Debugf("down:%s",fileIdParam)
fileId:=strings.Split(fileIdParam,"/")[1]
cacheKey:=fmt.Sprintf("%s-%s","d",fileId)
if conf.Conf.Cache.Enable {
downloadUrl,exist:=conf.Cache.Get(cacheKey)
if exist {
log.Debugf("使用了缓存:%s",cacheKey)
c.Redirect(301,downloadUrl.(string))
return
}
}
//cacheKey:=fmt.Sprintf("%s-%s","d",fileId)
//if conf.Conf.Cache.Enable {
// downloadUrl,exist:=conf.Cache.Get(cacheKey)
// if exist {
// log.Debugf("使用了缓存:%s",cacheKey)
// c.Redirect(301,downloadUrl.(string))
// return
// }
//}
file,err:=alidrive.GetFile(fileId)
if err != nil {
c.JSON(200, metaResponse(500,err.Error()))
return
}
if conf.Conf.Cache.Enable {
conf.Cache.Set(cacheKey,file.DownloadUrl,cache.DefaultExpiration)
}
//if conf.Conf.Cache.Enable {
// conf.Cache.Set(cacheKey,file.DownloadUrl,cache.DefaultExpiration)
//}
c.Redirect(301,file.DownloadUrl)
return
}
7 changes: 6 additions & 1 deletion server/controllers/list.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,18 @@ import (
log "github.com/sirupsen/logrus"
)

type ListReq struct {
Password string `json:"password"`
alidrive.ListReq
}

func List(c *gin.Context) {
var list ListReq
if err := c.ShouldBindJSON(&list);err!=nil {
c.JSON(200, metaResponse(400,"Bad Request"))
return
}
log.Debugf("list:%v",list)
log.Debugf("list:%+v",list)
// cache
cacheKey:=fmt.Sprintf("%s-%s-%s","l",list.ParentFileId,list.Password)
if conf.Conf.Cache.Enable {
Expand Down
8 changes: 0 additions & 8 deletions server/controllers/req_bean.go

This file was deleted.

2 changes: 1 addition & 1 deletion server/controllers/search.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ func Search(c *gin.Context) {
c.JSON(200, metaResponse(400,"Bad Request"))
return
}
log.Debugf("search:%v",search)
log.Debugf("search:%+v",search)
// cache
cacheKey:=fmt.Sprintf("%s-%s","s",search.Query)
if conf.Conf.Cache.Enable {
Expand Down

0 comments on commit d5e3527

Please # to comment.