Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Alderaan
pan-light
提交
a5c63129
P
pan-light
项目概览
Alderaan
/
pan-light
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
pan-light
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
a5c63129
编写于
6月 23, 2019
作者:
P
peterq
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
optimize something
上级
14f7452f
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
29 addition
and
9 deletion
+29
-9
server/artisan/web.go
server/artisan/web.go
+7
-0
server/dao/file-share.go
server/dao/file-share.go
+7
-3
server/pan-light-server.go
server/pan-light-server.go
+1
-1
server/pan-viper/vip.go
server/pan-viper/vip.go
+8
-2
server/pc-api/handlers.go
server/pc-api/handlers.go
+6
-3
未找到文件。
server/artisan/web.go
浏览文件 @
a5c63129
...
...
@@ -213,3 +213,10 @@ func (v JsonValue) Array() []JsonValue {
}
panic
(
NewError
(
fmt
.
Sprintf
(
"%s needs to be array, %T given"
,
v
.
name
,
v
.
data
),
-
1
,
nil
))
}
var
App
*
iris
.
Application
func
NewApp
()
*
iris
.
Application
{
App
=
iris
.
New
()
return
App
}
server/dao/file-share.go
浏览文件 @
a5c63129
...
...
@@ -4,6 +4,7 @@ import (
"github.com/peterq/pan-light/server/artisan/cache"
"github.com/peterq/pan-light/server/conf"
"gopkg.in/mgo.v2"
"math"
"time"
)
...
...
@@ -46,17 +47,20 @@ func (d *fileShareDao) List(count, offset int, order string) (data []gson, err e
"expire_at"
:
gson
{
"$gt"
:
time
.
Now
()
.
Unix
(),
},
"share_at"
:
gson
{
"$gt"
:
offset
,
},
}
if
order
==
"official"
{
condition
[
"official"
]
=
true
}
if
offset
==
0
{
offset
=
math
.
MaxInt32
}
collection
:=
d
.
collection
(
s
)
err
=
collection
.
Pipe
([]
gson
{
{
"$match"
:
condition
},
{
"$sort"
:
sort
},
{
"$match"
:
gson
{
"share_at"
:
gson
{
"$lt"
:
offset
,
}}},
{
"$limit"
:
count
},
{
"$lookup"
:
gson
{
...
...
server/pan-light-server.go
浏览文件 @
a5c63129
...
...
@@ -10,7 +10,7 @@ import (
func
main
()
{
log
.
SetFlags
(
log
.
LstdFlags
|
log
.
Lshortfile
)
app
:=
iris
.
New
()
app
:=
artisan
.
NewApp
()
app
.
Get
(
"/"
,
func
(
ctx
context
.
Context
)
{
ctx
.
Write
([]
byte
(
"Hello pan-light"
))
})
...
...
server/pan-viper/vip.go
浏览文件 @
a5c63129
...
...
@@ -4,7 +4,7 @@ import (
"encoding/base64"
"encoding/json"
"fmt"
"github.com/
kataras/iris
"
"github.com/
peterq/pan-light/server/artisan
"
"github.com/peterq/pan-light/server/dao"
"github.com/pkg/errors"
"io/ioutil"
...
...
@@ -42,6 +42,7 @@ type loginSession struct {
Timestamp
string
Bdstoken
string
Bduss
string
createAt
time
.
Time
}
type
Vip
struct
{
...
...
@@ -71,10 +72,14 @@ func (v *Vip) Username() string {
func
(
v
*
Vip
)
CreateSession
()
(
err
error
)
{
defer
func
()
{
if
err
!=
nil
{
(
&
iris
.
Application
{})
.
Logger
()
.
Error
(
v
.
username
,
"vip创建session错误"
,
err
)
artisan
.
App
.
Logger
()
.
Error
(
v
.
username
,
"vip创建session错误"
,
err
)
go
v
.
CreateSession
()
}
}()
old
:=
v
.
loginSession
()
if
old
!=
nil
&&
time
.
Now
()
.
Sub
(
old
.
createAt
)
<
time
.
Second
{
return
}
v
.
loginSessionLock
.
Lock
()
defer
v
.
loginSessionLock
.
Unlock
()
// 高并发下防止重复更新session
...
...
@@ -116,6 +121,7 @@ func (v *Vip) CreateSession() (err error) {
s
.
Timestamp
=
fmt
.
Sprint
(
int
(
raw
[
"timestamp"
]
.
(
float64
)))
s
.
Bdstoken
=
raw
[
"bdstoken"
]
.
(
string
)
s
.
Bduss
=
v
.
bduss
s
.
createAt
=
time
.
Now
()
v
.
_loginSession
=
&
s
log
.
Println
(
v
.
username
,
"完成loginSession"
)
return
...
...
server/pc-api/handlers.go
浏览文件 @
a5c63129
...
...
@@ -165,13 +165,13 @@ func handleShareToSquare(ctx context.Context, param artisan.JsonMap) (result int
}
func
handleShareList
(
ctx
context
.
Context
,
param
artisan
.
JsonMap
)
(
result
interface
{},
err
error
)
{
offset
:=
param
.
Get
(
"offset"
)
.
Int
()
offset
:=
param
.
Get
(
"offset"
)
.
Int
64
()
pageSize
:=
param
.
Get
(
"pageSize"
)
.
Int
()
listType
:=
param
.
Get
(
"type"
)
.
String
()
if
pageSize
<
1
||
pageSize
>
20
||
offset
<
0
{
return
nil
,
errors
.
New
(
"param invalid"
)
}
if
offset
>
300
{
if
offset
!=
0
&&
offset
<
time
.
Now
()
.
Add
(
-
time
.
Hour
*
24
*
365
)
.
Unix
()
{
return
[]
gson
{},
nil
}
if
_
,
ok
:=
map
[
string
]
bool
{
...
...
@@ -181,6 +181,9 @@ func handleShareList(ctx context.Context, param artisan.JsonMap) (result interfa
}[
listType
];
!
ok
{
return
nil
,
errors
.
New
(
"type invalid"
)
}
result
,
err
=
dao
.
FileShareDao
.
List
(
pageSize
,
offset
,
listType
)
result
,
err
=
dao
.
FileShareDao
.
List
(
pageSize
,
int
(
offset
),
listType
)
if
result
.
([]
gson
)
==
nil
{
result
=
[]
gson
{}
}
return
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录