发布一个开源的新闻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编写

欢迎搬运,请复制上一行

相关推荐
drebander1 分钟前
PyTorch 模型 浅读
pytorch·python·大模型
securitor3 分钟前
【java】IP来源提取国家地址
java·前端·python
计算机学姐4 分钟前
基于微信小程序的民宿预订管理系统
java·vue.js·spring boot·后端·mysql·微信小程序·小程序
Code侠客行36 分钟前
Scala语言的编程范式
开发语言·后端·golang
Couvrir洪荒猛兽1 小时前
Android实训九 数据存储和访问
android
努力的小T1 小时前
基于 Bash 脚本的系统信息定时收集方案
linux·运维·服务器·网络·云计算·bash
加德霍克1 小时前
【机器学习】使用scikit-learn中的KNN包实现对鸢尾花数据集或者自定义数据集的的预测
人工智能·python·学习·机器学习·作业
matlabgoodboy1 小时前
代码编写java代做matlab程序代编Python接单c++代写web系统设计
java·python·matlab
aloneboyooo1 小时前
Android Studio安装配置
android·ide·android studio
l1x1n02 小时前
No.37 笔记 | Python面向对象编程学习笔记:探索代码世界的奇妙之旅
笔记·python·学习