88 lines
2.5 KiB
Python
88 lines
2.5 KiB
Python
import tasks.wechat
|
|
import time
|
|
from .base import *
|
|
from fastapi import APIRouter
|
|
import requests
|
|
|
|
router = APIRouter()
|
|
|
|
@router.post("/search")
|
|
async def wechat_search_task(item: Device):
|
|
if item.serial not in devices:
|
|
return Response(code=500, msg="设备 {} 不存在".format(item.serial))
|
|
d = devices[item.serial]
|
|
tasks.wechat.click_search_btn(d)
|
|
|
|
|
|
class WechatSearchInput(Device):
|
|
search_keyword: str
|
|
input_text: str
|
|
|
|
|
|
@router.post("/search/chat")
|
|
async def wechat_search_task(item: WechatSearchInput):
|
|
if item.serial not in devices:
|
|
return Response(code=500, msg="设备 {} 不存在".format(item.serial))
|
|
d = devices[item.serial]
|
|
d.app_start("com.tencent.mm")
|
|
|
|
tasks.wechat.click_search_btn(d)
|
|
tasks.wechat.input_search_text(d, item.search_keyword)
|
|
tasks.wechat.click_search_result(d)
|
|
print(tasks.wechat.get_last_friend_text_msg(d))
|
|
# tasks.wechat.input_chat_text(d, time.strftime("[AI] %Y-%m-%d %H:%M:%S", time.localtime()))
|
|
|
|
msg = tasks.wechat.get_last_friend_text_msg(d)
|
|
msg = msg if msg is not None else ""
|
|
|
|
|
|
# url = "https://api.siliconflow.cn/v1/chat/completions"
|
|
# payload = {
|
|
# "model": "Qwen/Qwen2.5-7B-Instruct",
|
|
# "messages": [
|
|
# {
|
|
# "role": "user",
|
|
# "content": msg
|
|
# }
|
|
# ],
|
|
# "stream": False,
|
|
# "max_tokens": 512,
|
|
# "stop": ["null"],
|
|
# "temperature": 0.7,
|
|
# "top_p": 0.7,
|
|
# "top_k": 50,
|
|
# "frequency_penalty": 0.5,
|
|
# "n": 1,
|
|
# "response_format": {"type": "text"},
|
|
# "tools": [
|
|
# {
|
|
# "type": "function",
|
|
# "function": {
|
|
# "description": "<string>",
|
|
# "name": "<string>",
|
|
# "parameters": {},
|
|
# "strict": False
|
|
# }
|
|
# }
|
|
# ]
|
|
# }
|
|
# headers = {
|
|
# "Authorization": "Bearer {}".format("token"),
|
|
# "Content-Type": "application/json"
|
|
# }
|
|
# response = requests.request("POST", url, json=payload, headers=headers)
|
|
|
|
# print(response.text)
|
|
# tasks.wechat.input_chat_text(d, response.json()["choices"][0]["message"]["content"])
|
|
tasks.wechat.input_chat_text(d, item.input_text)
|
|
|
|
|
|
@router.post("/launch")
|
|
def wechat_launch(item: Device):
|
|
if item.serial not in devices:
|
|
return Response(code=500, msg="设备 {} 不存在".format(item.serial))
|
|
d = devices[item.serial]
|
|
|
|
d.app_start("com.tencent.mm")
|
|
|