# sanic-api **Repository Path**: chenbool/sanic-api ## Basic Information - **Project Name**: sanic-api - **Description**: sanic-api sanic-api sanic接口测试 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-02-13 - **Last Updated**: 2026-04-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Sanic API 基于 [Sanic](https://sanic.dev/) 框架开发的 REST API 项目。 --- ## 项目简介 一个轻量级的 Web API 服务,采用 Python async/await 异步编程,支持 MySQL/SQLite 数据库,提供社交动态相关的 RESTful 接口。 --- ## 技术栈 | 分类 | 技术 | |------|------| | Web 框架 | Sanic | | 数据库 | MySQL / SQLite | | ORM | Tortoise | | 数据库工具 | Records | | 跨域支持 | Sanic-CORS | --- ## 项目结构 ``` sanic-api/ ├── main.py # 应用入口 ├── app/ │ ├── __init__.py # 应用初始化配置 │ ├── config.py # 配置文件 │ ├── controller/ # 控制器层 │ │ ├── index.py # 首页控制器 │ │ ├── intro.py # 介绍页控制器 │ │ ├── search.py # 搜索控制器 │ │ └── tweet.py # 动态控制器 │ └── model/ # 数据模型 │ ├── __init__.py │ └── moji.py # 城市moji模型 ├── util/ # 工具函数 │ ├── __init__.py # 工具包导出 │ ├── db.py # 数据库操作类 │ └── help.py # 辅助函数 └── static/ # 静态资源目录 ``` --- ## 核心功能 ### 控制器接口 | 模块 | 路由前缀 | 功能说明 | |------|----------|----------| | **index** | `/` | 首页、编辑、城市查询 | | **intro** | `/intro` | 用户动态详情、列表 | | **search** | `/search` | 搜索最新/热门/视频/图片动态、搜索用户 | | **tweet** | `/tweet` | 最新动态、热门动态、按城市查询 | --- ## 配置说明 配置文件位于 `app/config.py`,核心配置项: | 配置项 | 说明 | 默认值 | |--------|------|--------| | `version` | API 版本 | `1.0` | | `baseUrl` | 基础 URL | `127.0.0.1` | | `multi_module` | 是否启用多模块 | `False` | | `static` | 静态资源目录 | `./static` | | `DB_TYPE` | 数据库类型 | `mysql` / `sqlite` | | `DB_HOST` | 数据库地址 | - | | `DB_PORT` | 数据库端口 | - | | `DB_USER` | 数据库用户名 | - | | `DB_PASS` | 数据库密码 | - | | `DB_NAME` | 数据库名称 | - | > 敏感配置建议通过 `.env` 文件管理 --- ## 快速开始 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 配置数据库 在 `.env` 文件中配置数据库连接信息: ```env DB_TYPE=mysql DB_HOST=localhost DB_PORT=3306 DB_USER=root DB_PASS=your_password DB_NAME=your_database ``` ### 3. 启动服务 ```bash python main.py ``` 服务默认运行在 `http://127.0.0.1:5000` --- ## API 接口示例 ### 获取首页数据 ```http GET / ``` ### 城市查询 ```http GET /city?lng=116.4&lat=39.9 ``` ### 搜索最新动态 ```http GET /search/new/1?keyword=关键字 ``` ### 获取热门动态 ```http GET /tweet/hot/1 ``` --- ## 数据库操作工具 项目封装了链式调用的数据库查询类 `util.db.db`,支持: - `field()` - 指定查询字段 - `where()` / `whereOr()` - 条件查询 - `join()` - 表连接 - `order()` - 排序 - `group()` - 分组 - `limit()` / `page()` - 限制与分页 - `find()` / `all()` - 查询单条/全部 - `query()` - 执行原生 SQL