基于Node.js搭建的Api服务(万年历、Live2d、QQ音乐等),基本上是自用。
数据来源于聚合数据、Github等社区,以文件或MongoDB方式存储,不定期更新数据源。
单节点,小水管服务器,不敢保证稳定性,可下载源码自行搭建
Github:https://github.com/spacesless/api
Gitee:https://gitee.com/timelessq/api
系统设计
- 使用Node.js作为开发语言,以ThinkJS 3.0框架为基础
- 数据库使用Mongodb存储Api用到的不规则数据
- 缓存使用文件存储,暂时没有用Redis
- 非RESTful规范
- 文档使用Apifox管理
1、时间查询Api
基于lunar-javascript npm包实现阳历、农历、黄历、节日、星座以及节气等信息查询
2、动画番组信息
数据来源:https://github.com/bangumi-data/bangumi-data,提供按时间或标题查询番剧
3、Live2D
提供指定或随机查询Live2D模型,模型主要有B站2233娘、药水制作师、超次元游戏:海王星
数据来源:https://github.com/Eikanya/Live2d-model
4、碧蓝航线
查询舰娘列表以及SD小人模型
模型来源:https://github.com/Pelom777/AzurLaneSD
目录结构
api
├─ .eslintrc
├─ config // 数据库配置文件
├─ development.js // 开发环境下的入口文件
├─ mongodb // mongodb数据
│ ├─ bing.js
│ ├─ garbage.js
│ ├─ license.js
│ └─ postalcode.js
├─ nginx.conf // nginx 配置文件
├─ package.json
├─ pm2.json // pm2 配置文件
├─ production.js // 生产环境下的入口文件
├─ src
│ ├─ bootstrap // 启动自动执行目录
│ │ ├─ master.js // Master 进程下自动执行
│ │ └─ worker.js // Worker 进程下自动执行
│ ├─ config // 配置文件目录
│ │ ├─ adapter
│ │ │ ├─ cache.js // 缓存配置文件
│ │ │ ├─ logger.js // 日志配置文件
│ │ │ ├─ model.js // 数据库配置
│ │ │ ├─ session.js
│ │ │ └─ view.js // 模板引擎配置
│ │ ├─ adapter.js
│ │ ├─ config.js // 默认配置文件
│ │ ├─ config.production.js // 生产环境下的默认配置文件,和 config.js 合并
│ │ ├─ crontab.js // 定时任务
│ │ ├─ extend.js // 扩展
│ │ ├─ middleware.js // 中间件
│ │ └─ router.js // 路由
│ ├─ controller
│ │ ├─ azurlane // 碧蓝航线
│ │ │ ├─ ship.js
│ │ │ └─ spine.js
│ │ ├─ bangumi.js // 番剧
│ │ ├─ base.js
│ │ ├─ bilibili.js // 哔哩哔哩
│ │ ├─ district.js // 行政区划级联
│ │ ├─ garbage.js // 垃圾分类
│ │ ├─ index.js
│ │ ├─ license.js // 车牌信息查询
│ │ ├─ live2d // Live2d看板娘
│ │ │ ├─ base.js
│ │ │ ├─ get.js
│ │ │ ├─ lists.js
│ │ │ ├─ model.js
│ │ │ ├─ texture.js
│ │ │ └─ update.js
│ │ ├─ music // 音乐Api
│ │ │ ├─ netease.js
│ │ │ └─ tencent.js
│ │ ├─ postalcode.js // 邮政编码
│ │ ├─ time.js // 时间查询
│ │ ├─ wallpaper // 壁纸
│ │ │ ├─ bing.js
│ │ │ └─ index.js
│ │ └─ weather.js // 天气查询
│ ├─ extend
│ │ └─ context.js
│ ├─ logic // 校验层
│ │ ├─ azurlane
│ │ │ ├─ ship.js
│ │ │ └─ spine.js
│ │ ├─ district.js
│ │ ├─ image
│ │ │ └─ bing.js
│ │ ├─ license.js
│ │ ├─ live2d
│ │ │ ├─ index.js
│ │ │ ├─ model.js
│ │ │ └─ texture.js
│ │ ├─ music.js
│ │ ├─ postalcode.js
│ │ └─ weather.js
│ ├─ model // 数据模型
│ │ ├─ index.js
│ │ └─ wallpaper
│ │ ├─ bing.js
│ │ └─ chevereto.js
│ └─ utils
│ └─ crypto.js
├─ test
│ └─ index.js
├─ view
│ └─ index.html
└─ www // 静态资源
├─ azurlane-assets // 碧蓝航线SD小人
├─ bangumi // 番剧数据
│ └─ data.json
├─ cascade // 行政区划
│ ├─ areas.json
│ ├─ cities.json
│ ├─ pc-code.json
│ ├─ pca-code.json
│ ├─ pcas-code.json
│ ├─ provinces.json
│ └─ streets.json
└─ live2d-assets // live2d模型
后续功能规划
- 数据存储逐步迁移到MongoDB
- 新增成语大全信息查询接口,数据来源于聚合
- 新增星座信息查询接口
- 新增二维码生成接口
- 新增身份证号段归属查询接口
- 行政区划查询增加港澳台数据
更新日志
v1.3.1
2023-02-25
- 🔥 【新功能】 添加中文拼音转换接口
- ⚡️ 【优化】 优化万年历接口,添加儒略日、日期推移,以及月相、物候等农历信息
- ⚡️ 【优化】 更新行政区划、番剧信息、碧蓝航线接口数据
v1.3.0
2023-01-16
- 🔥 【新功能】 添加哈希散列函数接口
- 🔥 【新功能】 添加加密、解密接口
- 🔥 【新功能】 添加编码转换接口
v1.2.2
2022-12-25
- 🔥 【新功能】 添加二维码生成接口
- 🔥 【新功能】 添加成语大全接口
- 🔥 【新功能】 添加成语接龙接口
- 🐞 【修复】 修复QQ音乐搜索接口地址更换问题
2022-11-22
- 🔥 【新功能】 添加星座查询接口
- ❄️ 【废弃】 废弃天气预报、历史天气接口
- ❄️ 【废弃】 废弃网易云音乐接口
- 🐞 【修复】 修复车牌信息接口查询数据错误问题
v1.2.1
2022-10-18
- 🔥 【新功能】 开放QQ音乐接口(请勿商用)
2022-07-24
- 🔥 【新功能】 新增Bing必应每日壁纸接口
- 🔥 【新功能】 新增Chevereto图床随机壁纸接口
- ⚡️ 【优化】 使用MongoDB替换原来的文件存储
- 🐞 【修复】 解决碧蓝航线舰娘列表,不输入name参数,结果为空问题
v1.2.0
2022-06-13
- 🔥 【新功能】 新增《碧蓝航线》手游舰娘列表查询接口
- 🔥 【新功能】 新增《碧蓝航线》手游舰娘Spine小人模型查询接口
- 📃 【文档】 Api文档由Swagger迁移到Apifox
2022-03-20
- 🔥 【新功能】 新增biilibili用户信息查询接口
- 🔥 【新功能】 新增biilibili收藏夹列表查询接口
- 🔥 【新功能】 新增biilibili收藏夹内容查询接口
- 🔥 【新功能】 新增biilibili关注列表查询接口
v1.1.0
2021-10-06
- 🔥 【新功能】 新增垃圾分类查询接口
- 🔥 【新功能】 新增邮政编码查询接口
- 🔥 【新功能】 新增车牌号信息查询接口
2021-02-22
- ⚡️ 【优化】 添加logic,接口参数校验层
- 🐞 【修复】 查询十二时辰黄历信息月份天数计算错误问题
v1.0.0
2020-10-08
- 🎉 初始化项目,使用Node.js开发
- 🔥 【新功能】 新增时间、农历信息查询接口
- 🔥 【新功能】 新增番剧信息查询接口
还没有评论,快来抢第一吧