想没想过自己做个APP?来,机会来了

51,389

特别说明

如果有哪位朋友有经济能力,又喜欢奉献的可以联系我谈一下合作。让这个服务一直运行下去

一、前言

几年前我开发了一个应用《段子乐》,并在当时也达到了日活7000左右的高峰,不过因为资金的问题(短视频太烧钱),在当时选择了停运项目,直到后面用户都散去之后才重启项目。虽然说项目进行了几次大的改版,现在已经3.0.0了,但是日活却只剩百十来个了。

在朋友的建议下,我决定做一个更有意义的事情,将项目接口和数据进行对外开放,让爱折腾的朋友可以用这些接口做一个自己的应用,当然包括但不仅限于开发一个 Android App,iOS App,小程序,H5应用,Flutter应用等等。

我的个人主页为:www.mxnzp.com ,如果你想联系我,在这里可以找到我的联系方式。如果你希望对接此接口,那么你一定会遇到很多问题,所以你可以联系我加群,一起讨论。

二、接口开放简介

《段子乐》本身是一个类似《xx段子》的应用,主要包含以下功能: 关注里面有的

  • 纯文,图片和短视频类型的段子
  • 对段子内容的点赞,评论,收藏和分享
  • 实现类似抖音一样划一划浏览短视频内容
  • 发布纯文,图片和短视频段子
  • 用户关注,粉丝体系
  • 消息系统,对接了极光IM和推送
  • 乐豆系统,积分抽奖等等
  • ...

本次开放除了一些特殊功能包括IM消息相关,第三方QQ微信登录和一键登录之外,其他功能所对应的接口都开放,所以理论上你完全可是实现一个另一个自己的《段子乐》(注:IM和推送你可以自己对接,不让后端介入)。

先大致展示下一些主要的页面:

首页 我的页面 我的页面

具体体验一下什么是《段子乐》,请点击:www.pgyer.com/rmjK ,也可以给你一个页面跳转的参考,如果对接完所有接口,你可以大致开发出这么一个APP。

三、对接之前

对接接口之前,有些约定要提前告知。开放接口文档已托管到github,后续肯定会有很多新增和修改,将会同步在github上,而不会更新此文章,所以请提前收藏该地址,你甚至可以点个star:github.com/MZCretin/du…

3.1 请求接口的HOST地址

请求接口的HOST地址为:tools.cretinzp.com/jokes

3.2 获取开放API接口调用凭证

此项目对外开放只针对自己人,所以你需要是RollApi的用户,搜索微信小程序【电点科技】,点击我的页面,选择【做个段子应用】,可获取到一个专属的project_token(如果你之前没有绑定过手机号,需要先绑定手机号),获取到这个凭证之后,请妥善保管,并在每次调用任意开放api接口的时候,在请求头中加入一个key-value,key为project_token,value为你刚刚申请的值。

3.3 调用接口通用的请求头

在你调用的每个接口中,请包含如下请求头信息【必须,后台会强校验】:

请求头KEY请求头VALUE请求头含义
token登录成功之后接口会返回token,你需要存储在本地,每次请求带上用户凭证信息
uk设备的唯一id,请尽量保证针对设备唯一,长度32以内用户设备唯一标识
channel请直接填写cretin_open_api渠道来源
app拼接版本号版本标识和系统版本,用;分开,例如 1.0.0;1;10,代表版本号1.0.0,版本标识1,系统为Android 10,其他也类似app信息
device拼接版本设备信息,设备品牌和设备型号,用;分开,例如HUAWEI;CDY-AN00设备信息

3.4 接口返回数据的格式

接口返回的数据结构如下,后台能保证只要是请求到了后端,每个接口都会返回这种格式:

  • 其中code代表接口返回的状态码,当code=200,标识此接口请求成功,当code=202代表用户登录状态过期,也就代表你本地的token过期了,此时你需要清除本地的登录状态,让用户重新登录。
  • msg是当code不为200时候的错误信息,你可以将此信息提示给用户。
  • data是该请求的实体数据,具体返回什么格式取决于每个接口本身。
{
  "data": null,
  "msg": "数据返回成功",
  "code": 200
}

3.5 其他的一些说明

  • 1、如何查看发送成功的验证码

    接口中有发验证码的接口,当然我没有真的给你的手机号发送一条验证码,否则我短信费也顶不住。当你调用接口发送成功之后,你可以进入【电点科技】小程序,然后点击《我的》,然后点击《做个段子应用》,然后点击《查看短信验证码》,就可以查看近期发送的所有验证码信息了;另外一种方式,你可以关注《Cretin的开发之路》公众号,然后输入#13即可查看对应手机号的验证码信息了。

  • 2、项目中发布功能用的图片和视频怎么处理

    项目中所用到的图片和视频资源均上传到七牛云上面,所以你需要集成七牛云的SDK,上传文件的时候,请调用相关接口获取到七牛云上传token:

    tools.cretinzp.com/jokes/doc.h…

    然后再进行上传文件。具体操作可参考链接(这个是Andorid的使用链接,其他端请自行查询):

    developer.qiniu.com/kodo/1236/a…

  • 3、接口中返回的视频和图片链接进行了加密,如何解密

    链接使用了简单的对称加密,请联系我或者加入交流群,我会告知大家加密方式和加密秘钥,解析完即可获取真实的视频链接。

  • 4、...

四、开放接口说明

接口文档已经上传,可直接查看在线接口文档,包含65个API接口。这里对每个页面需要的接口进行一个阐述,接口地址为:tools.cretinzp.com/jokes/doc.h…

4.1、首页类接口(7个)

4.1.1 主页-推荐

tools.cretinzp.com/jokes/doc.h…

4.1.2 主页-新鲜

tools.cretinzp.com/jokes/doc.h…

4.1.3 主页-纯文

tools.cretinzp.com/jokes/doc.h…

4.1.4 主页-趣图

tools.cretinzp.com/jokes/doc.h…

4.1.5 主页-关注

tools.cretinzp.com/jokes/doc.h…

4.1.6 主页-搜索

tools.cretinzp.com/jokes/doc.h…

4.1.7 主页-关注-推荐关注

tools.cretinzp.com/jokes/doc.h…

4.2、工具类接口(8个)

4.2.1 主页-搜索-热搜关键词

tools.cretinzp.com/jokes/doc.h…

4.2.2 获取分享段子的数据

点击任意段子的更多按钮,选择分享到平台前调用接口,获取分享数据

tools.cretinzp.com/jokes/doc.h…

4.2.3 获取分享用户的内容

点击【我的】,点击分享给朋友,在分享到平台前,调用此接口获取你的信息进行分享

tools.cretinzp.com/jokes/doc.h…

4.2.4 分享段子成功计数

段子分享成功之后调用此接口进行分享次数计数

tools.cretinzp.com/jokes/doc.h…

4.2.5 获取qq群信息

点击【我的】,点击我的客服,调用此接口获取qq群信息,打开qq群聊页面。

tools.cretinzp.com/jokes/doc.h…

4.2.6 获取七牛云token

在应用内上传头像,上传图片,上传视频等需要先获取七牛云的token,再使用sdk上传内容。

tools.cretinzp.com/jokes/doc.h…

4.2.7 举报内容

点击某一个段子的更多按钮,可以举报内容,或者点击某个用户头像,右上角也有举报的入口。

tools.cretinzp.com/jokes/doc.h…

4.2.8 意见反馈

点击【我的】,点击意见反馈

tools.cretinzp.com/jokes/doc.h…

4.3 段子相关接口(21个)

4.3.1.1 发布段子

发布段子之前,如果有视频和图片,需要先上传到七牛云,具体请看4.2.6条。

tools.cretinzp.com/jokes/doc.h…

4.3.1.2 删除段子

仅自己可以删除自己的段子。

tools.cretinzp.com/jokes/doc.h…

4.3.1.3 评论段子-一级评论

tools.cretinzp.com/jokes/doc.h…

4.3.1.4 删除一级评论

tools.cretinzp.com/jokes/doc.h…

4.3.1.5 添加子评论

tools.cretinzp.com/jokes/doc.h…

4.3.1.6 删除子评论

tools.cretinzp.com/jokes/doc.h…

4.3.1.7 给主评论点赞/取消点赞

tools.cretinzp.com/jokes/doc.h…

4.3.1.8 给段子点赞/取消点赞

tools.cretinzp.com/jokes/doc.h…

4.3.1.9 收藏/取消收藏 段子

tools.cretinzp.com/jokes/doc.h…

4.3.2.0 获取段子评论列表

tools.cretinzp.com/jokes/doc.h…

4.3.2.1 获取某一个评论的子评论列表

tools.cretinzp.com/jokes/doc.h…

4.3.2.2 获取对某个段子收藏状态

tools.cretinzp.com/jokes/doc.h…

4.3.2.3 获取段子的点赞列表

tools.cretinzp.com/jokes/doc.h…

4.3.2.4 获取段子详情

tools.cretinzp.com/jokes/doc.h…

4.3.2.5 获取指定用户点赞的图文段子列表

tools.cretinzp.com/jokes/doc.h…

4.3.2.6 获取指定用户点赞的视频段子列表

tools.cretinzp.com/jokes/doc.h…

4.3.2.7 获取指定用户自己的视频段子列表

tools.cretinzp.com/jokes/doc.h…

4.3.2.8 获取指定用户自己的图文段子列表

tools.cretinzp.com/jokes/doc.h…

4.3.2.9 获取指定视频段子id列表的视频列表

tools.cretinzp.com/jokes/doc.h…

4.3.3.0 获取正在审核的段子列表

tools.cretinzp.com/jokes/doc.h…

4.3.3.1 给段子 踩/取消踩

tools.cretinzp.com/jokes/doc.h…

4.4 用户相关接口(28个)

4.4.1.1 用户关注

点击关注按钮触发的操作

tools.cretinzp.com/jokes/doc.h…

4.4.1.2 获取指定用户关注列表

点击某个用户头像,点击他的关注,进入关注列表。

tools.cretinzp.com/jokes/doc.h…

4.4.1.3 绑定邀请码

点击【我的】,点击【设置】,点击【用户信息】,最下面,绑定邀请码。

tools.cretinzp.com/jokes/doc.h…

4.4.1.4 检查视频下载权限

点击任意视频段子,点击更多,点击下载,下载前调用此接口判断能否下载视频。

tools.cretinzp.com/jokes/doc.h…

4.4.1.5注销账户

点击【我的】,点击【设置】,点击【账号与安全】,最下面,注销账户。

tools.cretinzp.com/jokes/doc.h…

4.4.1.6 获取当前登录用户收藏列表

点击【我的】,点击顶部用户昵称,切换tab到收藏。

tools.cretinzp.com/jokes/doc.h…

4.4.1.7 获取指定用户评论列表

点击【我的】,点击顶部用户昵称,切换tab到评论。

tools.cretinzp.com/jokes/doc.h…

4.4.1.8 获取指定用户粉丝列表

点击【我的】,点击顶部用户昵称,点击粉丝

tools.cretinzp.com/jokes/doc.h…

4.4.1.9 获取当前登录的用户信息

点击【我的】,会获取当前用户信息

tools.cretinzp.com/jokes/doc.h…

4.4.2.0 获取指定用户的用户信息

点击用户头像,进入个人主页,会调用此接口。

tools.cretinzp.com/jokes/doc.h…

4.4.2.1 更新当前用户的用户信息

点击【我的】,点击顶部昵称,进入我的主页,点击编辑信息。

tools.cretinzp.com/jokes/doc.h…

4.4.2.2 获取当前用户的段子列表

点击【我的】,点击顶部用户昵称,切换tab到作品。

tools.cretinzp.com/jokes/doc.h…

4.4.2.3 获取当前登录用户的积分信息

点击【我的】,点击顶部【乐豆】,顶部信息

tools.cretinzp.com/jokes/doc.h…

4.4.2.4 获取当前登录用户的积分列表信息

点击【我的】,点击顶部【乐豆】,列表数据

tools.cretinzp.com/jokes/doc.h…

4.4.2.5 当前用户抽奖

点击【我的】,点击顶部【乐豆】,点击【乐豆抽奖】

tools.cretinzp.com/jokes/doc.h…

4.4.2.6 当前用户抽奖列表

点击【我的】,点击顶部【乐豆】,点击【乐豆抽奖】,点击抽奖记录

tools.cretinzp.com/jokes/doc.h…

4.4.2.7 获取当前用户喜欢的段子列表

点击【我的】,点击顶部用户昵称,切换tab到喜欢。

tools.cretinzp.com/jokes/doc.h…

4.4.2.8 验证码登录

tools.cretinzp.com/jokes/doc.h…

4.4.2.9 获取登录验证码

tools.cretinzp.com/jokes/doc.h…

4.4.3.0 账号密码登录

tools.cretinzp.com/jokes/doc.h…

4.4.3.1 获取当前用户的消息列表

点击【消息】,点击顶部消息入口。

tools.cretinzp.com/jokes/doc.h…

4.4.3.2 获取当前登录用户系统消息列表

点击【消息】,点击列表中的系统消息item

tools.cretinzp.com/jokes/doc.h…

4.4.3.3 获取当前登录用户的未读消息数

点击【消息】,获取消息未读数,显示在顶部

tools.cretinzp.com/jokes/doc.h…

4.4.3.4 修改密码

tools.cretinzp.com/jokes/doc.h…

4.4.3.5 重置密码

tools.cretinzp.com/jokes/doc.h…

4.4.3.6 重置密码获取验证码

tools.cretinzp.com/jokes/doc.h…

4.4.3.7 搜索用户

点击【消息】,点击右上角搜索按钮。

tools.cretinzp.com/jokes/doc.h…

4.4.3.8 当前用户签到

进入首页自动调用此接口,发放积分。

tools.cretinzp.com/jokes/doc.h…

4.5 仿抖音划一划(1个)

4.5.1 获取划一划页面的推荐列表数据

点击【划一划】,列表数据获取

tools.cretinzp.com/jokes/doc.h…