diff --git a/backend/alembic/versions/060_platform_token_ddl.py b/backend/alembic/versions/060_platform_token_ddl.py new file mode 100644 index 00000000..3def2d33 --- /dev/null +++ b/backend/alembic/versions/060_platform_token_ddl.py @@ -0,0 +1,37 @@ +"""060_platform_token_ddl + +Revision ID: b40e41c67db3 +Revises: db1a95567cbb +Create Date: 2026-01-04 15:50:31.550287 + +""" +from alembic import op +import sqlalchemy as sa +import sqlmodel.sql.sqltypes +from sqlalchemy.dialects import postgresql + +# revision identifiers, used by Alembic. +revision = 'b40e41c67db3' +down_revision = 'db1a95567cbb' +branch_labels = None +depends_on = None + + +def upgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.create_table('sys_platform_token', + sa.Column('id', sa.BigInteger(), nullable=False), + sa.Column('token', sqlmodel.sql.sqltypes.AutoString(length=255), nullable=False), + sa.Column('create_time', sa.BigInteger(), nullable=False), + sa.Column('exp_time', sa.BigInteger(), nullable=False), + sa.PrimaryKeyConstraint('id') + ) + op.create_index(op.f('ix_sys_platform_token_id'), 'sys_platform_token', ['id'], unique=False) + # ### end Alembic commands ### + + +def downgrade(): + # ### commands auto generated by Alembic - please adjust! ### + op.drop_index(op.f('ix_sys_platform_token_id'), table_name='sys_platform_token') + op.drop_table('sys_platform_token') + # ### end Alembic commands ### diff --git a/backend/common/utils/whitelist.py b/backend/common/utils/whitelist.py index d9df569b..8a11d1d2 100644 --- a/backend/common/utils/whitelist.py +++ b/backend/common/utils/whitelist.py @@ -36,6 +36,8 @@ "/system/authentication/platform/status", "/system/authentication/login/*", "/system/authentication/sso/*", + "/system/platform/sso/*", + "/system/platform/client/*", "/system/parameter/login" ] diff --git a/backend/pyproject.toml b/backend/pyproject.toml index 9faeba21..256396ec 100644 --- a/backend/pyproject.toml +++ b/backend/pyproject.toml @@ -39,7 +39,7 @@ dependencies = [ "pyyaml (>=6.0.2,<7.0.0)", "fastapi-mcp (>=0.3.4,<0.4.0)", "tabulate>=0.9.0", - "sqlbot-xpack>=0.0.4.0,<0.0.5.0", + "sqlbot-xpack>=0.0.5.0,<0.0.6.0", "fastapi-cache2>=0.2.2", "sqlparse>=0.5.3", "redis>=6.2.0", diff --git a/frontend/src/assets/svg/logo_wechat-work.svg b/frontend/src/assets/svg/logo_wechat-work.svg new file mode 100644 index 00000000..99ac1d3f --- /dev/null +++ b/frontend/src/assets/svg/logo_wechat-work.svg @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/views/login/xpack/DingtalkQr.vue b/frontend/src/views/login/xpack/DingtalkQr.vue new file mode 100644 index 00000000..9b1d3b98 --- /dev/null +++ b/frontend/src/views/login/xpack/DingtalkQr.vue @@ -0,0 +1,79 @@ + + + + diff --git a/frontend/src/views/login/xpack/Handler.vue b/frontend/src/views/login/xpack/Handler.vue index d5fb2a1a..8f7ab3d6 100644 --- a/frontend/src/views/login/xpack/Handler.vue +++ b/frontend/src/views/login/xpack/Handler.vue @@ -1,5 +1,5 @@