88 lines
2.3 KiB
Python
88 lines
2.3 KiB
Python
import os, sys
|
|
import asyncio
|
|
import argparse
|
|
from appPublic.log import MyLogger, info, debug, warning
|
|
from appPublic.folderUtils import ProgramPath
|
|
from appPublic.jsonConfig import getConfig
|
|
from appPublic.zmqapi import run_proxy
|
|
from appPublic.registerfunction import RegisterFunction
|
|
from bricks_for_python.init import load_pybricks
|
|
from ahserver.webapp import webapp
|
|
from ahserver.serverenv import ServerEnv
|
|
from ahserver.configuredServer import add_cleanupctx
|
|
from rbac.init import load_rbac
|
|
from pricing.init import load_pricing
|
|
from appbase.init import load_appbase
|
|
from llmage.init import load_llmage
|
|
from filemgr.init import load_filemgr
|
|
from uapi.init import load_uapi
|
|
from dapi.init import load_dapi
|
|
from rag.init import load_rag
|
|
from msp.init import load_msp
|
|
from checklang.init import load_checklang
|
|
from skillagent.init import load_skillagent
|
|
from dagflow.init import load_dagflow
|
|
from discount.init import load_discount
|
|
|
|
from global_func import set_globalvariable
|
|
from unipay.init import load_unipay
|
|
from platformbiz.init import load_platformbiz
|
|
from accounting.init import load_accounting
|
|
from woa.init import load_woa
|
|
from ext import *
|
|
from rf import *
|
|
__version__ = '0.0.1'
|
|
|
|
async def run_zmq_proxy(app):
|
|
task = asyncio.create_task(run_proxy())
|
|
app['zmq_proxy_task'] = task
|
|
task1 = asyncio.create_task(woa_msghande())
|
|
yield
|
|
task1.cancel()
|
|
task.cancel()
|
|
|
|
|
|
async def woa_msghande():
|
|
config = getConfig()
|
|
while True:
|
|
msgstr = await zmq_subscribe(config.woa_handler_id)
|
|
debug(f'收到sage转发微信信息:{msgstr}, {type(msgstr)}')
|
|
msgdic = json.loads(msgstr)
|
|
# 这里按照业务逻辑处理收到的msg
|
|
debug(f'received wechat msgs={msgstr}')
|
|
# 处理完成后
|
|
retmsg = {
|
|
"msgtype": "text", # 要返回的消息类型
|
|
"content": "收到" # 每个类型的消息所需要的数据
|
|
}
|
|
retstr = json.dumps(retmsg, ensure_ascii=False)
|
|
debug(f'repy msg({retstr}) to wechat')
|
|
await zmq_publish(msgdic['subscribe_id'], retstr)
|
|
|
|
def init():
|
|
rf = RegisterFunction()
|
|
set_globalvariable()
|
|
load_pybricks()
|
|
load_appbase()
|
|
load_rbac()
|
|
load_accounting()
|
|
load_unipay()
|
|
load_platformbiz()
|
|
load_llmage()
|
|
load_filemgr()
|
|
load_uapi()
|
|
load_dapi()
|
|
load_msp()
|
|
load_rag()
|
|
load_pricing()
|
|
load_checklang()
|
|
load_skillagent()
|
|
load_dagflow()
|
|
load_discount()
|
|
load_woa()
|
|
add_cleanupctx(run_zmq_proxy)
|
|
|
|
if __name__ == '__main__':
|
|
webapp(init)
|
|
|