From 9293263505624978ac34509da1537be70280e136 Mon Sep 17 00:00:00 2001 From: ping <1017253325@qq.com> Date: Mon, 18 May 2026 16:20:28 +0800 Subject: [PATCH] update --- b/cntoai/get_deerer_header.dspy | 38 +++++++++++++++++++++++++++++++++ b/customer/registerUser.dspy | 26 ++++++++++++++++------ kgadget/src/kgadget.py | 3 +++ 3 files changed, 60 insertions(+), 7 deletions(-) create mode 100644 b/cntoai/get_deerer_header.dspy diff --git a/b/cntoai/get_deerer_header.dspy b/b/cntoai/get_deerer_header.dspy new file mode 100644 index 0000000..7bda013 --- /dev/null +++ b/b/cntoai/get_deerer_header.dspy @@ -0,0 +1,38 @@ +async def get_deerer_header(ns={}): + from appPublic.aes import aes_decode_b64, aes_encode_b64 + if not ns.get('userid'): + userid = await get_user() + else: + userid = ns.get('userid') + if not userid: + return { + 'status': False, + 'msg': '请传递用户ID' + } + db = DBPools() + async with db.sqlorContext('kboss') as sor: + records = await sor.R('user_api_keys', {'userid': userid}) + if not records: + return { + 'status': False, + 'msg': '未找到匹配的用户' + } + apikey = records[0]['opc_apikey'] + appid = records[0]['appid'] + sk = records[0]['secretkey'] + if not apikey or not appid or not sk: + return { + 'status': False, + 'msg': '没有找到匹配的用户' + } + tim = time.time() + txt = f'{tim}:{apikey}' + cyber = aes_encode_b64(sk, txt) + return { + 'status': True, + 'data': f'Deerer {appid}-:-{cyber}' + } + + +ret = await get_deerer_header(params_kw) +return ret \ No newline at end of file diff --git a/b/customer/registerUser.dspy b/b/customer/registerUser.dspy index 4bc33f0..10efd48 100644 --- a/b/customer/registerUser.dspy +++ b/b/customer/registerUser.dspy @@ -1,5 +1,11 @@ async def sync_cn_ai_user(userid=None, orgid=None, username=None, name=None, email=None): import aiohttp + + debug(f"sync_cn_ai_user同步用户: {userid}, {orgid}, {username}, {name}, {email}") + already_sync_user_key = '2i68AZ81di_q5f8AySDrJ' + already_sync_user_dappid = 'cndemo' + + # 目标URL url = "https://ai.atvoe.com/rbac/usersync" # url = 'https://ai.atvoe.com/tmp/env.dspy' @@ -7,13 +13,13 @@ async def sync_cn_ai_user(userid=None, orgid=None, username=None, name=None, ema # 请求头 headers = { "Content-Type": "application/json", - "Authorization": "Bearer " + "2i68AZ81di_q5f8AySDrJ" + "Authorization": "Bearer %s" % already_sync_user_key } # 请求体数据 payload = { "action": "single", - "dappid": "cndemo", + "dappid": already_sync_user_dappid, "user": { "id": userid, "orgid": orgid, @@ -30,11 +36,11 @@ async def sync_cn_ai_user(userid=None, orgid=None, username=None, name=None, ema # 发送POST请求 async with session.post(url, headers=headers, data=json.dumps(payload)) as response: # 打印响应状态码 - print(f"状态码: {response.status}") + debug(f"sync_cn_ai_user状态码: {response.status}") result_sysnc = await response.json() if not result_sysnc.get('status') == 'success': - print(f"同步用户失败") + debug(f"sync_cn_ai_user同步用户失败: {result_sysnc}") return { 'status': False } @@ -44,9 +50,12 @@ async def sync_cn_ai_user(userid=None, orgid=None, username=None, name=None, ema # user_api_keys表格 userid/opc_apikey # 首先判断apikey是否存在 apikey = result_sysnc['data'][0].get('apikey') + appid = result_sysnc['data'][0].get('appid') + secretkey = result_sysnc['data'][0].get('secretkey') + records = await sor.R('user_api_keys', {'opc_apikey': apikey}) if records: - print(f"用户{payload['user']['id']}已存在") + debug(f"sync_cn_ai_user用户{payload['user']['id']}已存在") return { 'status': False, 'msg': '用户opc_apikey已存在' @@ -54,19 +63,22 @@ async def sync_cn_ai_user(userid=None, orgid=None, username=None, name=None, ema await sor.C('user_api_keys', { 'userid': userid, 'opc_apikey': apikey, + 'appid': appid, + 'secretkey': secretkey, 'expire_time': None, }) + debug(f"sync_cn_ai_user用户{payload['user']['id']}同步成功") return { 'status': True, 'msg': '用户同步成功' } except Exception as e: - print(f"同步用户失败: {e}") + debug(f"sync_cn_ai_user{userid}同步用户失败: {e}") return { 'status': False, - 'msg': f"同步用户失败: {e}" + 'msg': f"sync_cn_ai_user{userid}同步用户失败: {e}" } diff --git a/kgadget/src/kgadget.py b/kgadget/src/kgadget.py index f40200a..644314d 100644 --- a/kgadget/src/kgadget.py +++ b/kgadget/src/kgadget.py @@ -40,6 +40,7 @@ from appPublic.jsonConfig import getConfig from appPublic.i18n import getI18N from appPublic.timeUtils import strdate_add from appPublic.rc4 import unpassword, password +from appPublic.aes import aes_decode_b64, aes_encode_b64 from ahserver.filedownload import path_encode @@ -217,6 +218,8 @@ if __name__ == '__main__': g.KaiYyEnDecryptUtil = KaiYyEnDecryptUtil g.async_post = async_post g.jsonpath = jsonpath + g.aes_decode_b64 = aes_decode_b64 + g.aes_encode_b64 = aes_encode_b64 i18n = getI18N(path=workdir) info(f'gadget version={__version__}')