发布一个开源的新闻api(整理后就开源)

目录

说明:

基础说明

其他说明:

通用接口:

登录:

注册:

更改密码(需要token)

更换头像(需要token)

获取用户列表(需要token):

上传文件(5000端口):

获取文件(5000端口)源码文件,db文件均不能获取:

验证token(需要token):

获取系统时间:

文件接口(需要用前面获取文件的接口访问):

公告:

App介绍:

视频类新闻和文章类新闻的个数(扇形图表分析):

视频类前十文章的总得分、阅读量、点赞量、评论量数据(柱状图表分析):

一周内文章总数趋势数据(折线图表分析):

新版apk地址:

新闻类接口:

新闻列表:

点赞新闻(需要token):

取消点赞新闻(需要token):

发布新闻(需要token):

获取新闻分类下所有新闻:

关键字搜索新闻:

获取热门新闻:

获取轮播图:

获取用户发布的列表(需要token):

获取随机视频:

获取用户点赞的列表(需要token):

API运行和postman测试图:

​编辑

关于开源:将在源码全部整理结束后开源,大家可以前往222.187.232.63:39999体验demo版本

点名表扬


说明:

首先先放出基于api写的app

基础说明

*部分接口需要token,即头里加入Authorization字段,token通过登录json获取

Demo api地址: 222.187.232.63:39999

Demo 文件管理地址: 222.187.232.63:5000

例如获取新闻轮播图:http://222.187.232.63:39999/news/banner

其他说明:

代码量前后端合计约6k行,较轻量

Token加入:Head里加入Authorization参数

响应参数likearray返回的是一个类似数组的字符串。需要获取后手动用split()函数去切割

由于部分数据来自网络,部分数据来自本地,本地路径考虑可移植性,没有写入完整路径,需要手动判定图片是否带有http://或https://

开发者说明:

此app前后端完全开源,前端采用java android编写,后端使用python,代码量约5k,较轻量

默认api地址为:127.0.0.1+端口号39999,文件访问地址:127.0.0.1+端口号5000

可以通过/libs/Service_Utils.py进行修改ip地址和api端口号

后端通过python编写,使用httpserver + Flask框架(主要处理文件)处理http请求

使用jwt进行动态授权token,需要获取用户,例如点赞、评论均需要传token获取用户

大部分数据存入sqlite数据库,部分数据例如公告以文件方式存储,便于修改

python打包数据可能是数据传输问题,有时候会少掉一个},可以通过此段代码解决这个问题

public static String verjson(String jsontext) {

try {

JSONObject jsonObject=new JSONObject(jsontext);

return jsontext;

} catch (JSONException e) {

return jsontext +"}";

}

}

后端逻辑我懒得改了修改密码,只要传入token就可以修改,需要前端写验证(其实也不用,因为一般只有登录才能拿到token)



接下来是api文档:

通用接口:

登录:

接口名:/login

请求方式:post

参数:

username:用户名

password:密码


注册:

接口名:/Reg

请求方式:post

参数:

username:用户名

password:密码

avater:头像


更改密码(需要token)

接口名:/update_password

请求方式:post

参数:

password:密码


更换头像(需要token)

接口名:/update_avatar

请求方式:post

参数:

avater:头像


获取用户列表(需要token):

接口名:/personlist

请求方式:post


上传文件(5000端口):

接口名:/upload

请求方式:post

参数:

file:文件


获取文件(5000端口)源码文件,db文件均不能获取:

接口名:/路径名

请求方式:get


验证token(需要token):

接口名:/vertoken

请求方式:get


获取系统时间:

接口名:/gettime

请求方式:get


文件接口(需要用前面获取文件的接口访问):

公告:

接口名:/profile/notfication

请求方式:get


App介绍:

接口名:/profile/instructio

请求方式:get


视频类新闻和文章类新闻的个数(扇形图表分析):

接口名:/profile/percent

请求方式:get


视频类前十文章的总得分、阅读量、点赞量、评论量数据(柱状图表分析):

接口名:/profile/percent

请求方式:get


一周内文章总数趋势数据(折线图表分析):

接口名:/profile/trend

请求方式:get


新版apk地址:

接口名:/docs/newsapp.apk

请求方式:get


新闻类接口:

新闻列表:

接口名:/news/list

请求方式:get

参数(默认20一页):

pagenum:从哪页开始

pagenum:显示大小


点赞新闻(需要token):

接口名:/news/like

请求方式:get

参数(默认20一页):

Id:新闻的id


取消点赞新闻(需要token):

接口名:/news/unlike

请求方式:get

参数(默认20一页):

Id:新闻的id


发布新闻(需要token):

接口名:/news/create

请求方式:post

参数(如果要传视频type写视频,content写地址):

title:标题

content:正文

type:类型

cover:图像


获取新闻分类下所有新闻:

接口名:news/type=值

请求方式:get


关键字搜索新闻:

接口名:news/search=值

请求方式:get


获取热门新闻:

接口名:news/hot

请求方式:get


获取轮播图:

接口名:news/banner

请求方式:get


获取用户发布的列表(需要token):

接口名:news/pushlist

请求方式:get


获取随机视频:

接口名:/randomvideo

请求方式:get


获取用户点赞的列表(需要token):

接口名:news/likelist

请求方式:get


获取评论:

接口名:news/likelist

请求方式:get

参数:

Id:视频/新闻的id号


API运行和postman测试图:

关于开源:将在源码全部整理结束后开源,大家可以前往222.187.232.63:39999体验demo版本


点名表扬

感谢以下搬运工帮我宣传文章

http://element-ui.cn/article/show-1494297.aspx

https://www.ngui.cc/article/show-1153128.html

https://www.lmlphp.com/user/629051

https://www.ppmy.cn/news/628760.html

https://www.lmlphp.com/user/629939/article

防盗:

本文由福州职业技术学校 软件技术 温辉 qq:2151335401,3135144152编写

欢迎搬运,请复制上一行

相关推荐
奈斯。zs3 分钟前
yjs08——矩阵、数组的运算
人工智能·python·线性代数·矩阵·numpy
Melody20503 分钟前
tensorflow-dataset 内网下载 指定目录
人工智能·python·tensorflow
学步_技术4 分钟前
Python编码系列—Python抽象工厂模式:构建复杂对象家族的蓝图
开发语言·python·抽象工厂模式
danplus13 分钟前
node发送邮件:如何实现Node.js发信功能?
服务器·node.js·外贸开发信·邮件群发·蜂邮edm邮件营销·邮件接口·营销邮件
BeyondESH27 分钟前
Linux线程同步—竞态条件和互斥锁(C语言)
linux·服务器·c++
wn53128 分钟前
【Go - 类型断言】
服务器·开发语言·后端·golang
hanniuniu1329 分钟前
详细解读,F5服务器负载均衡的技术优势
运维·服务器·负载均衡
试行33 分钟前
Android实现自定义下拉列表绑定数据
android·java
Narutolxy38 分钟前
Python 单元测试:深入理解与实战应用20240919
python·单元测试·log4j
希冀1231 小时前
【操作系统】1.2操作系统的发展与分类
后端