- 新增 platform_tenant_wechat_apps 表(租户企微应用配置) - platform_apps 增加 require_jssdk 字段 - platform_tenant_apps 增加 wechat_app_id 关联字段 - 新增企微应用管理 API 和页面 - 应用管理页面增加 JS-SDK 开关 - 应用配置页面增加企微应用选择
This commit is contained in:
@@ -1,17 +1,19 @@
|
||||
"""数据模型"""
|
||||
from .tenant import Tenant, Subscription, Config
|
||||
from .tenant_app import TenantApp
|
||||
from .app import App
|
||||
from .stats import AICallEvent, TenantUsageDaily
|
||||
from .logs import PlatformLog
|
||||
|
||||
__all__ = [
|
||||
"Tenant",
|
||||
"Subscription",
|
||||
"Config",
|
||||
"TenantApp",
|
||||
"App",
|
||||
"AICallEvent",
|
||||
"TenantUsageDaily",
|
||||
"PlatformLog"
|
||||
]
|
||||
"""数据模型"""
|
||||
from .tenant import Tenant, Subscription, Config
|
||||
from .tenant_app import TenantApp
|
||||
from .tenant_wechat_app import TenantWechatApp
|
||||
from .app import App
|
||||
from .stats import AICallEvent, TenantUsageDaily
|
||||
from .logs import PlatformLog
|
||||
|
||||
__all__ = [
|
||||
"Tenant",
|
||||
"Subscription",
|
||||
"Config",
|
||||
"TenantApp",
|
||||
"TenantWechatApp",
|
||||
"App",
|
||||
"AICallEvent",
|
||||
"TenantUsageDaily",
|
||||
"PlatformLog"
|
||||
]
|
||||
|
||||
@@ -1,23 +1,26 @@
|
||||
"""应用定义模型"""
|
||||
from datetime import datetime
|
||||
from sqlalchemy import Column, Integer, String, Text, SmallInteger, TIMESTAMP
|
||||
from ..database import Base
|
||||
|
||||
|
||||
class App(Base):
|
||||
"""应用定义表 - 定义可供租户使用的应用"""
|
||||
__tablename__ = "platform_apps"
|
||||
|
||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||
app_code = Column(String(50), nullable=False, unique=True) # 唯一标识,如 tools
|
||||
app_name = Column(String(100), nullable=False) # 显示名称
|
||||
base_url = Column(String(500)) # 基础URL,如 https://tools.test.ai.ireborn.com.cn
|
||||
description = Column(Text) # 应用描述
|
||||
|
||||
# 应用下的工具/功能列表(JSON 数组)
|
||||
# [{"code": "brainstorm", "name": "头脑风暴", "path": "/brainstorm"}, ...]
|
||||
tools = Column(Text)
|
||||
|
||||
status = Column(SmallInteger, default=1) # 0-禁用 1-启用
|
||||
created_at = Column(TIMESTAMP, default=datetime.now)
|
||||
updated_at = Column(TIMESTAMP, default=datetime.now, onupdate=datetime.now)
|
||||
"""应用定义模型"""
|
||||
from datetime import datetime
|
||||
from sqlalchemy import Column, Integer, String, Text, SmallInteger, TIMESTAMP
|
||||
from ..database import Base
|
||||
|
||||
|
||||
class App(Base):
|
||||
"""应用定义表 - 定义可供租户使用的应用"""
|
||||
__tablename__ = "platform_apps"
|
||||
|
||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||
app_code = Column(String(50), nullable=False, unique=True) # 唯一标识,如 tools
|
||||
app_name = Column(String(100), nullable=False) # 显示名称
|
||||
base_url = Column(String(500)) # 基础URL,如 https://tools.test.ai.ireborn.com.cn
|
||||
description = Column(Text) # 应用描述
|
||||
|
||||
# 应用下的工具/功能列表(JSON 数组)
|
||||
# [{"code": "brainstorm", "name": "头脑风暴", "path": "/brainstorm"}, ...]
|
||||
tools = Column(Text)
|
||||
|
||||
# 是否需要企微JS-SDK
|
||||
require_jssdk = Column(SmallInteger, default=0) # 0-不需要 1-需要
|
||||
|
||||
status = Column(SmallInteger, default=1) # 0-禁用 1-启用
|
||||
created_at = Column(TIMESTAMP, default=datetime.now)
|
||||
updated_at = Column(TIMESTAMP, default=datetime.now, onupdate=datetime.now)
|
||||
|
||||
@@ -13,10 +13,8 @@ class TenantApp(Base):
|
||||
app_code = Column(String(50), nullable=False, default='tools')
|
||||
app_name = Column(String(100))
|
||||
|
||||
# 企业微信配置
|
||||
wechat_corp_id = Column(String(100))
|
||||
wechat_agent_id = Column(String(50))
|
||||
wechat_secret_encrypted = Column(Text)
|
||||
# 企业微信配置(关联 platform_tenant_wechat_apps)
|
||||
wechat_app_id = Column(Integer) # 关联的企微应用ID
|
||||
|
||||
# 鉴权配置
|
||||
access_token = Column(String(64)) # 访问令牌(长期有效)
|
||||
|
||||
23
backend/app/models/tenant_wechat_app.py
Normal file
23
backend/app/models/tenant_wechat_app.py
Normal file
@@ -0,0 +1,23 @@
|
||||
"""租户企业微信应用配置模型"""
|
||||
from datetime import datetime
|
||||
from sqlalchemy import Column, Integer, String, Text, SmallInteger, TIMESTAMP
|
||||
from ..database import Base
|
||||
|
||||
|
||||
class TenantWechatApp(Base):
|
||||
"""租户企业微信应用配置表
|
||||
|
||||
一个租户可以配置多个企微应用,供不同的平台应用关联使用
|
||||
"""
|
||||
__tablename__ = "platform_tenant_wechat_apps"
|
||||
|
||||
id = Column(Integer, primary_key=True, autoincrement=True)
|
||||
tenant_id = Column(String(50), nullable=False, index=True)
|
||||
name = Column(String(100), nullable=False) # 应用名称,如"工具集应用"
|
||||
corp_id = Column(String(100), nullable=False) # 企业ID
|
||||
agent_id = Column(String(50), nullable=False) # 应用AgentId
|
||||
secret_encrypted = Column(Text) # 加密的Secret
|
||||
|
||||
status = Column(SmallInteger, default=1) # 0-禁用 1-启用
|
||||
created_at = Column(TIMESTAMP, default=datetime.now)
|
||||
updated_at = Column(TIMESTAMP, default=datetime.now, onupdate=datetime.now)
|
||||
Reference in New Issue
Block a user