GithubHelp home page GithubHelp logo

django-china-api's People

Contributors

ehco1996 avatar r26zhao avatar rinka0414 avatar superb-x avatar tinyx avatar yitaox avatar yuyuyuhaoshi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

django-china-api's Issues

首页帖子列表

API:/posts/

返回数据格式:

返回的数据为首页帖子列表所必须包含的数据,具体请参考原型图的首页。
如果因为 Serializer 的定义而返回了一些少量的额外字段没有关系。
但注意不要返回无用的且需要额外计算的字段。例如首页并不需要返回帖子的全部回复列表。Author 字段也只需要 mugshot、nickname 等就够了,而不需要整个 author 的全部字段,比如这个 author 一共发了多少帖子,有多少条回复等都是不需要的。

此外返回的帖子为全部未隐藏的,置顶帖子排最前,最后一次回复时间(如果没有则为发表时间)倒序排列

{
    "count": 20,
    "next": null,
    "previous": null,
    "posts": [
        {
            "id": 1,
            "url": "http://127.0.0.1:8888/posts/1/",
            "title": "测试帖子",
            "views": 0,
            "created_time": "2018-03-25T19:24:14.283286+08:00",
            "modified_time": "2018-03-25T19:24:14.283286+08:00",
            "pinned": false,
            "highlighted": false,
            "reply_count": 7,
            "tags": [
                {
                    "id": 1,
                    "name": "test"
                }
            ],
            "author":{
                 'id':1,
                 'url': "http://127.0.0.1:8888/users/1/",
                 'mugshot': "mugshot url"
                 'nickname': "admin"
             },
            ]
        }
    ]
}

用户基本信息

API:/users/1/

返回用户的用户名,头像,昵称,回帖数,帖子数,个人财富等信息。所需数据请见原型图。

删除单条通知

API:/notifications/1/delete/
HTTP method:delete

将认证用户的某条通知 deleted 字段置为 true。

回复点赞

API:/replies/like/

需求:

  1. 不能对自己的回复点赞
  2. 可以取消点赞

用户每日签到奖励

API:/balance/check-in/

需求:

  1. 用户点击每日签到按钮将从一个均值为 X,方差为 Y 的正太分布中随机取得一个数值(上取整,最小为1 ),作为用户的奖励数额,发放到用户账户(目前只能获得铜币)。

  2. 每天 0:00 - 23:59 只能签到一次。

  3. 只有登录用户才能签到,只能为登录的账户签到。

用户的全部回复列表

API:/users/1/replies/

返回指定 id 用户的全部回复,按发表时间逆序排序。此 API 对所有用户公开。

用户被隐藏帖子列表

API:/users/1/hidden-posts/

返回当前认证用户的全部被隐藏的帖子,认证用户只能查看自己发布的被隐藏的帖子。

点赞接口报错

/replies/id/like/
此接口返回,您没有执行该操作的权限

编辑帖子

编辑帖子与发布帖子类似,但要考虑好帖子标签等的变化,以及权限问题。(待完善表述)

热门标签

API:/tags/popular/

返回帖子数最多的前 10 个标签,按帖子数目降序排列。

热门帖子列表

API:/posts/popular/

数据格式:

热门帖子列表仅需要作者的头像和帖子标题数据。返回最近 24 小时内回复最多的 10 条数据,按照回复数量倒序排列。

[
        {
            "id": 1,
            "url": "http://127.0.0.1:8888/posts/1/",
            "title": "测试帖子",
            "author":{
                 'id':1,
                 'mugshot': "mugshot url"
             },
            {
            "id": 2,
            "url": "http://127.0.0.1:8888/posts/1/",
            "title": "测试帖子",
            "author":{
                 'id':1,
                 'mugshot': "mugshot url"
             },
   ]

帖子详情

API:/posts//

返回数据格式:

与首页帖子列表的一个帖子返回的数据类似(参照原型图所需要的数据自行增减),但应该添加回复数量、回复参与人数、树状的回复列表等必须的字段。

发布帖子

API: /posts/

http method: post

需要提交的数据:

  • 标题
  • 正文(可以留空)
  • 标签列表

帖子的发布需求比较复杂,为了用户在发帖选择标签时有一个良好的用户体验,首先在标签输入框下应该有几个系统推荐的标签供选择(推荐算法待定),然后用户在输入框输入标签名时,输入框下拉列表实时匹配相似的标签以供用户选择。

可以实际体验一下 segmentfault 的标签系统: https://segmentfault.com/ask。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.