|
|
@@ -10,8 +10,8 @@ import chromadb
|
|
|
from datetime import timedelta
|
|
|
from fastapi.middleware.cors import CORSMiddleware
|
|
|
from fastapi.middleware.gzip import GZipMiddleware
|
|
|
-##from sentence_transformers import SentenceTransformer
|
|
|
-model = None##SentenceTransformer("BAAI/bge-small-zh-v1.5")
|
|
|
+from sentence_transformers import SentenceTransformer
|
|
|
+model = SentenceTransformer("BAAI/bge-small-zh-v1.5")
|
|
|
import base64
|
|
|
from pydantic import BaseModel
|
|
|
from subdir import service
|
|
|
@@ -20,9 +20,14 @@ from subdir import util
|
|
|
import xml.dom.minidom as MD
|
|
|
import numpy as np
|
|
|
from fastapi.staticfiles import StaticFiles
|
|
|
+import httpx
|
|
|
+httpClient = httpx.AsyncClient()
|
|
|
from pymongo import AsyncMongoClient
|
|
|
-client = AsyncMongoClient()
|
|
|
-chroma_client = None##chromadb.HttpClient(host='localhost', port=8000)
|
|
|
+uri = "mongodb://owner:Pheecian1@47.101.198.30:27017/baojia"
|
|
|
+uri2 = "mongodb://owner:Pheecian1@47.101.198.30:27017/dinge"
|
|
|
+client = AsyncMongoClient(uri)
|
|
|
+dingeclient = AsyncMongoClient(uri2)
|
|
|
+chroma_client = chromadb.HttpClient(host='47.101.198.30', port=8000)
|
|
|
from fastapi.responses import FileResponse, RedirectResponse
|
|
|
from fastapi_cache import FastAPICache
|
|
|
from inmemory import InMemoryBackend
|
|
|
@@ -789,7 +794,7 @@ async def read_singledexilie(zhuanye: int, debh: str, mc: str):
|
|
|
position = r_debh.find("附注")
|
|
|
r_debh = r_debh[:position]
|
|
|
##print(r_debh)
|
|
|
- result1, result2, rgde, jxde, clde, bz_selected, bz_selected2, actual_zhuanye= await db.getSingleDeXilie(model, client, zhuanye, r_debh, mc)
|
|
|
+ result1, result2, rgde, jxde, clde, bz_selected, bz_selected2, actual_zhuanye= await db.getSingleDeXilie(model, dingeclient, zhuanye, r_debh, mc)
|
|
|
###print("get result ***************************************")
|
|
|
if result1:
|
|
|
result3 = json.loads(result1)
|
|
|
@@ -859,7 +864,7 @@ async def read_singledexilie(zhuanye: int, debh: str, mc: str):
|
|
|
else:
|
|
|
result3["reverse"] = 'None'
|
|
|
return json.dumps(service.chaifen(result3, actual_zhuanye), ensure_ascii=False)
|
|
|
- result1_, result2_, rgde_, jxde_, clde_, bz_selected_, bz_selected2_, actual_zhuanye_ = await db.getSingleDeXilie(model, client, zhuanye, debh, mc)
|
|
|
+ result1_, result2_, rgde_, jxde_, clde_, bz_selected_, bz_selected2_, actual_zhuanye_ = await db.getSingleDeXilie(model, dingeclient, zhuanye, debh, mc)
|
|
|
if result1_:
|
|
|
util.mergerg(rgde, rgde_, coef)
|
|
|
util.mergejx(jxde, jxde_, coef)
|
|
|
@@ -968,7 +973,7 @@ async def tiaojia(r: Tiaojia, user=Depends(manager)):
|
|
|
async def searchde(r: SearchDe):
|
|
|
##return []
|
|
|
|
|
|
- return await db.searchde(client, r.zhuanye, r.text)
|
|
|
+ return await db.searchde(dingeclient, r.zhuanye, r.text)
|
|
|
|
|
|
@app.post("/updatezjcs/")
|
|
|
async def updatezjcs(r: UpdateZjcs, user=Depends(manager)):
|
|
|
@@ -986,7 +991,7 @@ async def upload(file: Annotated[UploadFile, File()], token: Annotated[str, Form
|
|
|
string = content.decode('utf-8')
|
|
|
await resolve(string, user)
|
|
|
return [file.filename]
|
|
|
- elif file.filename.endswith("jszf"):
|
|
|
+ elif file.filename.endswith("jszf") or file.filename.endswith("JSZF"):
|
|
|
content = await file.read()
|
|
|
string = content.decode('utf-8')
|
|
|
root = ET.fromstring(string)
|
|
|
@@ -1060,10 +1065,15 @@ async def resolve(data, user):
|
|
|
## except WebSocketDisconnect:
|
|
|
## manager.disconnect(websocket)
|
|
|
## ##await manager.broadcast(f"Client left the chat")
|
|
|
-
|
|
|
+
|
|
|
+## {'access_token': '96__yNpsN6UIOtAgfNOmu34wdt4BBnN9vZLbzCq94NCQnKoDNu7H217eM7ZMS-KZDcV9CyfpLmY80829lbJ20EFasEtBbqetdazuTYHn_8IZ34', 'expires_in': 7200, 'refresh_token': '96_JMFvhYr0scOw9pWs_ygdwYZbku9FwSbO-hcI0OVchVHoqUsXeZtZpQKCJOiq4y-LwIacvlC9huClMLTqE0CUcwugvyOV_pnr2rBYw3aTRWg', 'openid': 'oEcfS62dGXuzzAADYPzjr6OXYdJk', 'scope': 'snsapi_login', 'unionid': 'o1X7S67iVGRVbqvrjr1_UzBE4xdg'}
|
|
|
|
|
|
@app.post("/token/")
|
|
|
async def token(r : Info):
|
|
|
- token = manager.create_access_token(data=dict(sub=r.name), expires=timedelta(hours=12))
|
|
|
- return {'token' : token, 'token_type' : 'bearer'}
|
|
|
-
|
|
|
+ response = await httpClient.get("https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx74b45ac9983e4b3e&secret=bf6741ce4209a0af45f267be2abf560b&code="+ r.name + "&grant_type=authorization_code")
|
|
|
+ info = (response.json())
|
|
|
+ response = await httpClient.get("https://api.weixin.qq.com/sns/userinfo?access_token=" + info['access_token'] + "&openid="+ info['openid'])
|
|
|
+ info = (response.json())
|
|
|
+ token = manager.create_access_token(data=dict(sub=info['openid']), expires=timedelta(hours=12))
|
|
|
+ return {'token' : token, 'token_type' : 'bearer', "nickname": info['nickname'], "img" : info['headimgurl'], "openid" : info["openid"]}
|
|
|
+
|