# diary
**Repository Path**: bugroom/diary
## Basic Information
- **Project Name**: diary
- **Description**: 基于 Python Fastapi 的简易图文展示
- **Primary Language**: Python
- **License**: GPL-3.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 4
- **Created**: 2022-10-03
- **Last Updated**: 2023-07-16
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Diary
基于 Python Fastapi 的简易图文展示
## Introduction
- **采用 [GPLv3](https://gitee.com/link?target=https%3A%2F%2Fwww.gnu.org%2Flicenses%2Fgpl-3.0.txt) 协议,仅供个人学习和使用,否则后果自负**
- 在地址栏携带参数访问即可实现简易的图文展示
- 用于企业微信自建应用图文推送场景下的链接插入与内容展示
- **必须使用已备案域名才能在微信端访问**
- 当前只支持Get请求,只支持一张图片以及简短的文字内容
- 路径模板:https://域名/show?t=标题&c=内容&p=图片链接
例:https://域名/show?t=守住关口&c=兰贝里斯山口脚下的多尔巴达恩城堡,威尔士&p=http://www.bing.com/th?id=OHR.DolbadarnCastle_ZH-CN5397592090_1920x1080.jpg
| 参数名 | 含义 | 备注 |
| :----: | :-------------: | :-----------------------------------------------: |
| p | 图片(Picture) | 非必填
填写时携带协议头
(http/https://) |
| t | 标题(Title) | 非必填 |
| c | 内容(Content) | 非必填 |
## Show
- 电脑端

- 移动端

## Deployment
Star、Fork本项目,克隆本项目到你的服务器
```shell
git clone https://gitee.com/thund1r/diary.git
```
或
```
git clone https://github.com/Thund1R/diary.git
```
进入diary文件夹,再选择下列部署方式二选一
### 方式一、docker运行
[参考链接](https://www.cnblogs.com/leiziv5/p/15416846.html)
1. 编写一个docker镜像的制作文件Dockerfile。终端执行vim Dockerfile,粘贴以下配置
```
FROM python:3.7
RUN pip3 install fastapi uvicorn aiofiles fastapi-async-sqlalchemy python-multipart -i https://pypi.tuna.tsinghua.edu.cn/simple
EXPOSE 10086
COPY . .
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "10086"]
```
2. 打包镜像
```shell
docker build -t diary .
```
打包完成用docker images指令查看是否有diary镜像
3. 运行部署
```shell
sudo docker run -d --name diary -p 10086:10086 diary
```
### 方式二、直接运行
项目根目录下运行
```shell
pip3 install --upgrade -r requirements.txt -t .
```
根据所使用的系统/面板情况,执行以下指令,端口20020,具体请自行百度
```shell
uvicorn main:app --host '0.0.0.0' --port 10086 --reload
```
部署完成访问 域名:10086 显示Diary,访问 域名:10086/show?p=图片链接&t=标题&c=内容 显示图文信息。