2
This commit is contained in:
		
							parent
							
								
									8ec97becbc
								
							
						
					
					
						commit
						e0d5a5c6d6
					
				
							
								
								
									
										10
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								README.md
									
									
									
									
									
								
							| @ -4,11 +4,11 @@ | |||||||
| ```plaintext | ```plaintext | ||||||
| project/                  # 项目根目录 | project/                  # 项目根目录 | ||||||
| ├── src/                  # ✅ 源代码包 | ├── src/                  # ✅ 源代码包 | ||||||
| │   └── __init__.py       # 包标识文件(可定义公共API)[9,10](@ref) | │   └── __init__.py       # 包标识文件(可定义公共API) | ||||||
| ├── tests/                # ✅ 测试目录(pytest自动发现用例) | ├── tests/                # ✅ 测试目录(pytest自动发现用例) | ||||||
| │   └── test_example.py   # 测试示例(需以`test_`前缀命名)[2,9](@ref) | │   └── test_example.py   # 测试示例(需以`test_`前缀命名) | ||||||
| ├── .python-version       # ✅ 指定Python版本(如3.11.4) | ├── .python-version       # ✅ 指定Python版本(如3.11.4) | ||||||
| ├── main.py               # ✅ 主程序入口(CLI执行入口) | ├── main.py               # ✅ 主程序入口(CLI执行入口) | ||||||
| ├── pyproject.toml        # ✅ 全局配置(依赖/元数据/构建设置)[10](@ref) | ├── pyproject.toml        # ✅ 全局配置(依赖/元数据/构建设置) | ||||||
| ├── README.md             # ✅ 项目说明(必含安装/使用/发布指南)[6,7](@ref) | ├── README.md             # ✅ 项目说明(必含安装/使用/发布指南) | ||||||
| └── uv.lock               # ✅ UV依赖快照(锁定版本号,可选但推荐)[8](@ref) | └── uv.lock               # ✅ UV依赖快照(锁定版本号,可选但推荐) | ||||||
							
								
								
									
										28
									
								
								main.py
									
									
									
									
									
								
							
							
						
						
									
										28
									
								
								main.py
									
									
									
									
									
								
							| @ -1,29 +1,11 @@ | |||||||
| from fastapi import FastAPI |  | ||||||
| import uvicorn | import uvicorn | ||||||
| from src.utils.Log import Log | from fastapi import FastAPI | ||||||
| 
 | from src.routers import routers  # 导入路由集合 | ||||||
| app = FastAPI(title="yin_home文档") |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| @app.get('/weather', tags=["获取天气数据"], summary="返回实时天气数据") |  | ||||||
| def weather(): |  | ||||||
|     return { |  | ||||||
|         "code": 200, |  | ||||||
|         "data": { |  | ||||||
|             "city": "上海", |  | ||||||
|             "weather": "多云", |  | ||||||
|             "temperature": "25", |  | ||||||
|             "wind": "南风", |  | ||||||
|             "humidity": "60", |  | ||||||
|             "pressure": "1010", |  | ||||||
|             "update_time": "2021-09-01 12:00:00" |  | ||||||
|         } |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 | 
 | ||||||
|  | app = FastAPI(title="FastAPI文档") | ||||||
| 
 | 
 | ||||||
|  | for router in routers: | ||||||
|  |     app.include_router(router)  # 自动注册所有路由 | ||||||
| 
 | 
 | ||||||
| if __name__ == '__main__': | if __name__ == '__main__': | ||||||
|     uvicorn.run(app='main:app', host='0.0.0.0', port=1314, reload=True) |     uvicorn.run(app='main:app', host='0.0.0.0', port=1314, reload=True) | ||||||
|  | |||||||
							
								
								
									
										107
									
								
								src/common/Date_Time.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										107
									
								
								src/common/Date_Time.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,107 @@ | |||||||
|  | #!/usr/bin/env python | ||||||
|  | # -*- coding: utf-8 -*- | ||||||
|  | import datetime | ||||||
|  | import time | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def get_period(time_stamp): | ||||||
|  |     time_array = time.localtime(int(time_stamp)/1000) | ||||||
|  |     return time_array.tm_hour | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def get_date_time(date_str): | ||||||
|  |     date_ = datetime.datetime.strptime(date_str, '%Y-%m-%d') | ||||||
|  |     return date_ | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def get_hour_diff(datetime1, datetime2): | ||||||
|  |     td = datetime2 - datetime1 | ||||||
|  |     return td.days * 24 + td.seconds / 3600 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def get_day_diff(datetime1, datetime2): | ||||||
|  |     td = datetime2 - datetime1 | ||||||
|  |     return td.days + td.seconds / 3600 / 24 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def get_current_day(): | ||||||
|  |     today = datetime.date.today() | ||||||
|  |     return today | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def get_now_datetime(): | ||||||
|  |     return datetime.datetime.now() | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def get_current_yesterday(): | ||||||
|  |     today = get_current_day() | ||||||
|  |     oneday = datetime.timedelta(days=1) | ||||||
|  |     yesterday = today - oneday | ||||||
|  |     return yesterday.strftime("%Y-%m-%d") | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def get_yesterday(date_str): | ||||||
|  |     date_ = get_date_time(date_str) | ||||||
|  |     yesterday = date_ + datetime.timedelta(days=-1) | ||||||
|  |     return yesterday | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def get_lastyesterday(date_str): | ||||||
|  |     date_ = get_date_time(date_str) | ||||||
|  |     lastyesterday = date_ + datetime.timedelta(days=-2) | ||||||
|  |     return lastyesterday | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def get_lastweek_date(date_str): | ||||||
|  |     date_ = get_date_time(date_str) | ||||||
|  |     lastweek_date = date_ + datetime.timedelta(days=-7) | ||||||
|  |     return lastweek_date | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def get_lastlastweek_date(date_str): | ||||||
|  |     date_ = get_date_time(date_str) | ||||||
|  |     lastlastweek_date = date_ + datetime.timedelta(days=-14) | ||||||
|  |     return lastlastweek_date | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def get_lastweek_start_end_date(date_str): | ||||||
|  |     date_ = get_date_time(date_str) | ||||||
|  |     week = date_.strftime("%w") | ||||||
|  |     week = int(week) | ||||||
|  |     start_lastweek_date = date_ + datetime.timedelta(days=-(week + 6)) | ||||||
|  |     end_lastweek_date = date_ + datetime.timedelta(days=-week) | ||||||
|  | 
 | ||||||
|  |     return start_lastweek_date, end_lastweek_date | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def add_day(d_date, n): | ||||||
|  |     return (d_date + datetime.timedelta(days=n)).strftime("%Y-%m-%d") | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def get_lastmonth_start_end_date(date_str): | ||||||
|  |     date_ = get_date_time(date_str) | ||||||
|  |     start_lastmonth_date = datetime.date(date_.year, date_.month - 1, 1) | ||||||
|  |     end_lastmonth_date = datetime.date(date_.year, date_.month, 1) - datetime.timedelta(1) | ||||||
|  |     return start_lastmonth_date, end_lastmonth_date | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | def get_date_time_by_timestamp(time_stamp): | ||||||
|  |     time_array = time.localtime(int(time_stamp)/1000) | ||||||
|  |     otherStyleTime = time.strftime("%Y-%m-%d %H:%M:%S", time_array) | ||||||
|  |     return otherStyleTime | ||||||
|  | 
 | ||||||
|  | # 获取当前时间字符%Y-%m-%d %H:%M:%S | ||||||
|  | def new_date_str(): | ||||||
|  |     return datetime.date.today().strftime("%Y-%m-%d") | ||||||
|  | 
 | ||||||
|  | # 获取指定时间-day天的日期 | ||||||
|  | def schedule_date(day): | ||||||
|  |     # 获取当前日期 | ||||||
|  |     current_date = datetime.date.today() | ||||||
|  |     # 计算前一天的日期 | ||||||
|  |     previous_date = current_date - datetime.timedelta(days=day) | ||||||
|  |     # 格式化日期输出 | ||||||
|  |     return previous_date.strftime('%Y-%m-%d') | ||||||
|  | 
 | ||||||
|  | if __name__ == "__main__": | ||||||
|  |     startDate = '2020-04-10' | ||||||
							
								
								
									
										0
									
								
								src/common/FastResponse.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								src/common/FastResponse.py
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										5
									
								
								src/common/Get_Host_Name.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								src/common/Get_Host_Name.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | |||||||
|  | import socket | ||||||
|  | 
 | ||||||
|  | hostname = socket.gethostname() | ||||||
|  | print("本机的主机名是:", hostname) | ||||||
|  | print(hostname.split('-')[0]) | ||||||
							
								
								
									
										4
									
								
								src/routers/__init__.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								src/routers/__init__.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,4 @@ | |||||||
|  | from .weather import router as weather_router | ||||||
|  | from .order import router as order_router | ||||||
|  | 
 | ||||||
|  | routers = [weather_router,order_router]  # 统一存放所有路由 | ||||||
							
								
								
									
										9
									
								
								src/routers/order.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								src/routers/order.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | |||||||
|  | from fastapi import APIRouter | ||||||
|  | from fastapi.responses import JSONResponse | ||||||
|  | 
 | ||||||
|  | router = APIRouter(tags=["订单"], prefix="/order")  # prefix为统一前缀(可选) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @router.get('/list', summary="获取订单数据") | ||||||
|  | def weather(): | ||||||
|  |     return JSONResponse(content={"code": 200, "msg": "success", "data": "hello world"}) | ||||||
							
								
								
									
										8
									
								
								src/routers/weather.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								src/routers/weather.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,8 @@ | |||||||
|  | from fastapi import APIRouter | ||||||
|  | from fastapi.responses import JSONResponse | ||||||
|  | 
 | ||||||
|  | router = APIRouter(tags=["天气"], prefix="/weather")  # prefix为统一前缀(可选) | ||||||
|  | 
 | ||||||
|  | @router.get('/details', summary="返回实时天气数据") | ||||||
|  | def weather(): | ||||||
|  |     return JSONResponse(content={"code": 200, "msg": "success", "data": "hello world"}) | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user