소스 검색

feat(db): add sys_user wx_openid columns for mini phone login.

Co-authored-by: Cursor <cursoragent@cursor.com>
wuzilong 1 개월 전
부모
커밋
2ce31b903f
3개의 변경된 파일과 12개의 추가작업 그리고 0개의 파일을 삭제
  1. 2 0
      backend/app/models/models.py
  2. 7 0
      docs/sql/migrations/2026-09-18-sys-user-wx-openid.sql
  3. 3 0
      docs/sql/shanxia2.0.sql

+ 2 - 0
backend/app/models/models.py

@@ -39,6 +39,8 @@ class SysUser(Base):
     phone_no = Column(String(11), nullable=False, default="", comment="手机号码")
     phone_no = Column(String(11), nullable=False, default="", comment="手机号码")
     sex = Column(CHAR(1), nullable=True, default="0", comment="用户性别")
     sex = Column(CHAR(1), nullable=True, default="0", comment="用户性别")
     avatar = Column(String(512), nullable=True, comment="头像")
     avatar = Column(String(512), nullable=True, comment="头像")
+    wx_openid = Column(String(64), nullable=True, comment="微信小程序 openid")
+    wx_unionid = Column(String(64), nullable=True, comment="微信 unionid")
     password = Column("password", String(100), nullable=False, default="", comment="密码")
     password = Column("password", String(100), nullable=False, default="", comment="密码")
     status = Column(CHAR(1), nullable=False, default="1", comment="帐号状态 1正常 0停用")
     status = Column(CHAR(1), nullable=False, default="1", comment="帐号状态 1正常 0停用")
     tenant_no = Column(String(64), nullable=False, default="shanxia2.0", comment="租户编号")
     tenant_no = Column(String(64), nullable=False, default="shanxia2.0", comment="租户编号")

+ 7 - 0
docs/sql/migrations/2026-09-18-sys-user-wx-openid.sql

@@ -0,0 +1,7 @@
+-- 山峡小程序手机号快捷登录:绑定微信 openid
+ALTER TABLE `sys_user`
+  ADD COLUMN `wx_openid` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信小程序 openid' AFTER `avatar`,
+  ADD COLUMN `wx_unionid` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信 unionid' AFTER `wx_openid`;
+
+ALTER TABLE `sys_user`
+  ADD UNIQUE KEY `uk_sys_user_wx_openid` (`wx_openid`);

+ 3 - 0
docs/sql/shanxia2.0.sql

@@ -35658,6 +35658,8 @@ CREATE TABLE `sys_user` (
   `probation_months` int(11) DEFAULT NULL COMMENT '试用期月数',
   `probation_months` int(11) DEFAULT NULL COMMENT '试用期月数',
   `sex` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '用户性别(0男 1女 2未知)',
   `sex` char(1) COLLATE utf8mb4_unicode_ci DEFAULT '0' COMMENT '用户性别(0男 1女 2未知)',
   `avatar` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '头像(minio完整地址)',
   `avatar` varchar(512) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '头像(minio完整地址)',
+  `wx_openid` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信小程序 openid',
+  `wx_unionid` varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '微信 unionid',
   `password` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '密码',
   `password` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT '密码',
   `status` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '1' COMMENT '帐号状态(1正常 0停用)',
   `status` char(1) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '1' COMMENT '帐号状态(1正常 0停用)',
   `tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'shanxia2.0' COMMENT '租户编号',
   `tenant_no` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'shanxia2.0' COMMENT '租户编号',
@@ -35670,6 +35672,7 @@ CREATE TABLE `sys_user` (
   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
   `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
   `del_flag` tinyint(4) NOT NULL DEFAULT '0' COMMENT '删除标记:0-正常 1-已删除',
   PRIMARY KEY (`id`) USING BTREE,
   PRIMARY KEY (`id`) USING BTREE,
+  UNIQUE KEY `uk_sys_user_wx_openid` (`wx_openid`),
   KEY `idx_user_dept` (`dept_id`,`del_flag`) USING BTREE
   KEY `idx_user_dept` (`dept_id`,`del_flag`) USING BTREE
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户';
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户';