main.py 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. # fastapi
  2. from fastapi import FastAPI, Request, Response, HTTPException
  3. from fastapi import templating
  4. from fastapi.templating import Jinja2Templates
  5. from fastapi.responses import HTMLResponse, RedirectResponse, JSONResponse
  6. from fastapi.middleware.cors import CORSMiddleware
  7. # static file
  8. from fastapi.staticfiles import StaticFiles
  9. # fastapi view function parameters
  10. from typing import List, Optional
  11. # path
  12. import os
  13. # time
  14. import datetime
  15. # db
  16. import dataset
  17. from passlib import context
  18. # authorize
  19. from passlib.context import CryptContext
  20. # from jose import JWTError, jwt
  21. from fastapi_jwt_auth import AuthJWT
  22. from fastapi_jwt_auth.exceptions import AuthJWTException
  23. from fastapi.security import OAuth2AuthorizationCodeBearer, OAuth2PasswordRequestForm
  24. # app
  25. app = FastAPI()
  26. #
  27. app.mount(path='/templates', app=StaticFiles(directory='templates'), name='templates')
  28. app.mount(path='/static', app=StaticFiles(directory='static'), name='static ')
  29. #
  30. templates = Jinja2Templates(directory='templates')
  31. # view
  32. @app.get('/', response_class=HTMLResponse)
  33. async def index(request: Request):
  34. print(request)
  35. return templates.TemplateResponse(name='index.html', context={'request': request})
  36. # @app.get('/make_video', response_class=HTMLResponse)
  37. # async def index(request: Request):
  38. # print(request)
  39. # return templates.TemplateResponse(name='make_video.html', context={'request': request})
  40. @app.get('/login', response_class=HTMLResponse)
  41. async def login(request: Request):
  42. return templates.TemplateResponse(name='login.html', context={'request': request})
  43. @app.get('/home', response_class=HTMLResponse)
  44. async def login(request: Request):
  45. return templates.TemplateResponse(name='home.html', context={'request': request})
  46. @app.get('/monitor/tower', response_class=HTMLResponse)
  47. async def login(request: Request):
  48. return templates.TemplateResponse(name='home.html', context={'request': request})
  49. @app.get('/optim', response_class=HTMLResponse)
  50. async def login(request: Request):
  51. return templates.TemplateResponse(name='optim.html', context={'request': request})
  52. @app.get('/monotor/vibration', response_class=HTMLResponse)
  53. async def login(request: Request):
  54. return templates.TemplateResponse(name='vibration.html', context={'request': request})
  55. @app.get('/history', response_class=HTMLResponse)
  56. async def login(request: Request):
  57. return templates.TemplateResponse(name='history.html', context={'request': request})
  58. @app.get('/set_up/device', response_class=HTMLResponse)
  59. async def login(request: Request):
  60. return templates.TemplateResponse(name='device.html', context={'request': request})
  61. @app.get('/set_up/system', response_class=HTMLResponse)
  62. async def login(request: Request):
  63. return templates.TemplateResponse(name='system.html', context={'request': request})