-
Notifications
You must be signed in to change notification settings - Fork 1
API List #1
Comments
在驗證系統不明的狀態下,下面挺難處理的,先處理只讀的部分吧 |
@zjdavid2 你DC叫啥,我們討論一下 |
@r1235613 David Dai。我刚在我们Thread上发了条消息应该很容易可以找到 |
@zjdavid2 我们Thread是什麼? |
@zjdavid2 請求搜索規則,像是 |
搜索的话,要不就类似你在 #8 给的格式,给出: {
"title": "ruined",
"tags": {
"language": {
["english"]
},
"character": {
["tomoko kuroki"]
},
"femail": {
[
"beauty mark",
"bikini",
"dark skin",
"anal"
]
}
}
} 这样你那边用起来方便吗? 我之前是见过直接用 ElasticSearch 的搜索 JSON 格式的。 |
@linonetwo 這個格式不符合json規範……能修正嘛。 {
"title": "ruined",
"tags": {
"language": [
"english"
],
"character": [
"tomoko kuroki"
],
"femail": [
"beauty mark",
"bikini",
"dark skin",
"anal"
]
},
"uploader": "edam1234"
} |
应该是前端发起的搜索,或者其他第三方发起,总之是要允许前端跨域请求的。 domain 我去买一个便宜的 rehentai.xxxx 吧(xxxx是啥取决于哪个便宜 hh) 那个 JSON 我随手改的,没注意到格式……的确应该是这样: {
"title": "ruined",
"tags": {
"language": ["english"],
"character": ["tomoko kuroki"],
"femail": ["beauty mark", "bikini", "dark skin", "anal"]
},
"offset": 50,
"count": 50
} 带分页 |
前端要自行分词吗? |
嗯,我感觉大部分的人不会去像填表一样去搜索。还是比较习惯直接输入几个关键词 |
@linonetwo 这个会不会比较难做?有现成的框架可以用吗? |
這個似乎要瘋狂Ajax我們的flask,可能要考慮效能 |
所以可以在刚开始就预加载所有 tag 的 list,然后只在前端搜索。毕竟只是提示当前输入的 tag 可以怎么变成标准 tag 形式,方便分词。 分了词就能用 #1 (comment) 这个 API 来搜索了。 |
有人统计过这个List总共有多长吗? |
反正 2M 以内都能接受,这毕竟是一个图片站,图片都很大的。 还有在它没加载完成的时候,可以先用一个前端内置的常用 tag 列表来顶着。 |
我觉得这个OK |
跑了一下,80W 那个 metadata 导出的所有 tag 是 1.5M。如果是出现次数 100 次以上是 70K(gzip 之后 30K)。 |
@GooeyNyan 我沒有掌握到80W的那個set,能給我一下嗎? |
80W 就是gdata那个Collection 吧? |
如果給使用者一種制式query條件呢?
我覺得像樓上一樣一個搜尋欄, 直接用'&' 符號連接keyword (female&color&milf) 這個kayword在後端用&判斷切開後,直接搜尋符合作品名與擁有該tag的作品,返回結果 不然就是直接把tag拆開來,分keyword, male, female, artist 這樣讓使用者分開檢索 |
是的,我偏向于方便使用者。 生活都那么累了,还是在这方面无脑一点吧。 手打 |
就用 antd 那个 https://ant.design/components/select/ 了。 |
可以加个 |
@linonetwo @GooeyNyan 后端提供的 Tag 列表,如果按照在作品中出现的频率排列(而不是字母排序),对你们有帮助吗? |
我觉得没必要啦,一般就是直接搜想要的 tag 了,还有出现频率高的不一定是用户喜欢的…… |
我覺得你想要的tag列表,應該是tag推薦系統那種吧? 當然單純的出現頻率應該沒辦法cover 這麼多類型的作品 |
其实我觉得不需要复杂的推荐系统,直接把用户收藏夹里的 gallery 包含的 tag 列在顶端不就好啦? |
@linonetwo 我覺得這是個不錯的主意 |
OK C.
像这样的Dict<String, List> 格式 D. 哪个对于前端开发最方便呢? |
@zjdavid2 c 这个最好,结构化程度高。 |
现在我在做上传,需要:
这两个 API,现在有了吗? |
第二个我今天尝试下弄出来。 @r1235613 我们服务器你准备怎么部署?UWSGI + Nginx 吗? |
@zjdavid2 放Docker吧,这样比较不会跟其他专案冲到,前面在挂个Traefix当SSL代理? |
没问题。我今天研究一下这个怎么弄。 MongoDB 也放Docker 里吗? @r1235613 如果你有时间的话可以帮忙写下Dockerfile 吗? |
使用映象:https://github.com/tiangolo/uwsgi-nginx-flask-docker
|
哇 这个好棒。居然有现成的Dockerfile 可以直接用 |
@r1235613
|
@zjdavid2
|
我们应该会需要的API:
作品相关
search
Method:POST
输入:
输出:至多
limit
个查询结果,JSON格式,每个结果包含作品的基本内容(缩略图,名字,分类,评分等)getFullTagList
输出:一个包含所有Tag 的列表,JSON 格式,具体数据待定。
getDetail
输入:Hash ID
输出:作品的详细信息(包括上面提到的所有内容,以及作品资源链接 (IPFS)),JSON 格式
getComments
输入:gid
输出:对于一部作品的Comment List
// 这个可以整合进listDetail,不过我感觉分开来会清爽一些。
addRating
输入:gid, rating: Int
// 添加一个评分(需要登录)
addComment
输入:gid, comment:String
// 添加一个评论(需要登录)
addToFavorite
输入:gid
// 把一个作品加入到收藏列表中(需要登录)
上传相关
输入:一个表单,包括作品的所有内容。
账号相关
login
// 登录
logout
// 登出
register
// 注册
changePassword
// 修改密码
以上四个如果用第三方的认证服务的话可能不需要。
getFavorite
输入:limit
输出:至多 limit 个查询结果,JSON格式,每个结果包含作品的基本内容(缩略图,名字,分类,评分等)
// 获取你的收藏列表
getUploaded
输入:limit
输出:至多 limit 个查询结果,JSON格式,每个结果包含作品的基本内容(缩略图,名字,分类,评分等)
// 获取你的上传列表
目前就想到这么多,其他的想到了再加。
The text was updated successfully, but these errors were encountered: