Sfoglia il codice sorgente

!1941 为用户增加个性化首页地址,可以设置用户登录后的默认跳转页。
Merge pull request !1941 from Zhou/feat-user-homepage

zuohuaijun 4 mesi fa
parent
commit
9c4a0aea5b

+ 8 - 0
Admin.NET/Admin.NET.Core/Entity/SysUser.cs

@@ -319,6 +319,14 @@ public partial class SysUser : EntityBaseTenantOrg
     [SugarColumn(ColumnDescription = "语言代码")]
     public string LangCode { get; set; } = App.GetOptions<LocalizationSettingsOptions>().DefaultCulture;
 
+
+    /// <summary>
+    /// 个性化首页地址
+    /// </summary>
+    [SugarColumn(ColumnDescription = "个性化首页地址", Length = 512)]
+    [MaxLength(512)]
+    public string? Homepage { get; set; }
+
     /// <summary>
     /// 验证超级管理员类型,若账号类型为超级管理员则报错
     /// </summary>

+ 5 - 0
Admin.NET/Admin.NET.Core/Service/Auth/Dto/LoginOutput.cs

@@ -20,4 +20,9 @@ public class LoginOutput
     /// 刷新Token
     /// </summary>
     public string RefreshToken { get; set; }
+
+    /// <summary>
+    /// 个性化首页
+    /// </summary>
+    public string? Homepage { get; set; }
 }

+ 2 - 1
Admin.NET/Admin.NET.Core/Service/Auth/SysAuthService.cs

@@ -279,7 +279,8 @@ public class SysAuthService : IDynamicApiController, ITransient
             Output = new LoginOutput
             {
                 AccessToken = accessToken,
-                RefreshToken = refreshToken
+                RefreshToken = refreshToken,
+                Homepage = user.Homepage
             }
         };
 

+ 13 - 103
Web/src/api-services/models/add-user-input.ts

@@ -11,7 +11,6 @@
  * https://github.com/swagger-api/swagger-codegen.git
  * Do not edit the class manually.
  */
-
 import { AccountTypeEnum } from './account-type-enum';
 import { CardTypeEnum } from './card-type-enum';
 import { CultureLevelEnum } from './culture-level-enum';
@@ -19,421 +18,332 @@ import { GenderEnum } from './gender-enum';
 import { StatusEnum } from './status-enum';
 import { SysOrg } from './sys-org';
 import { SysUserExtOrg } from './sys-user-ext-org';
- /**
+/**
  * 增加用户输入参数
- *
  * @export
  * @interface AddUserInput
  */
 export interface AddUserInput {
-
     /**
      * 雪花Id
-     *
      * @type {number}
      * @memberof AddUserInput
      */
     id?: number;
-
     /**
      * 创建时间
-     *
      * @type {Date}
      * @memberof AddUserInput
      */
     createTime?: Date;
-
     /**
      * 更新时间
-     *
      * @type {Date}
      * @memberof AddUserInput
      */
     updateTime?: Date | null;
-
     /**
      * 创建者Id
-     *
      * @type {number}
      * @memberof AddUserInput
      */
     createUserId?: number | null;
-
     /**
      * 创建者姓名
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     createUserName?: string | null;
-
     /**
      * 修改者Id
-     *
      * @type {number}
      * @memberof AddUserInput
      */
     updateUserId?: number | null;
-
     /**
      * 修改者姓名
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     updateUserName?: string | null;
-
     /**
      * 机构Id
-     *
      * @type {number}
      * @memberof AddUserInput
      */
     orgId?: number;
-
     /**
      * 租户Id
-     *
      * @type {number}
      * @memberof AddUserInput
      */
     tenantId?: number | null;
-
     /**
      * 昵称
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     nickName?: string | null;
-
     /**
      * 头像
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     avatar?: string | null;
-
     /**
+     * 
      * @type {GenderEnum}
      * @memberof AddUserInput
      */
     sex?: GenderEnum;
-
     /**
      * 年龄
-     *
      * @type {number}
      * @memberof AddUserInput
      */
     age?: number;
-
     /**
      * 出生日期
-     *
      * @type {Date}
      * @memberof AddUserInput
      */
     birthday?: Date | null;
-
     /**
      * 民族
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     nation?: string | null;
-
     /**
      * 手机号码
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     phone?: string | null;
-
     /**
+     * 
      * @type {CardTypeEnum}
      * @memberof AddUserInput
      */
     cardType?: CardTypeEnum;
-
     /**
      * 身份证号
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     idCardNum?: string | null;
-
     /**
      * 邮箱
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     email?: string | null;
-
     /**
      * 地址
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     address?: string | null;
-
     /**
+     * 
      * @type {CultureLevelEnum}
      * @memberof AddUserInput
      */
     cultureLevel?: CultureLevelEnum;
-
     /**
      * 政治面貌
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     politicalOutlook?: string | null;
-
     /**
      * 毕业院校
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     college?: string | null;
-
     /**
      * 办公电话
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     officePhone?: string | null;
-
     /**
      * 紧急联系人
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     emergencyContact?: string | null;
-
     /**
      * 紧急联系人电话
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     emergencyPhone?: string | null;
-
     /**
      * 紧急联系人地址
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     emergencyAddress?: string | null;
-
     /**
      * 个人简介
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     introduction?: string | null;
-
     /**
      * 排序
-     *
      * @type {number}
      * @memberof AddUserInput
      */
     orderNo?: number;
-
     /**
+     * 
      * @type {StatusEnum}
      * @memberof AddUserInput
      */
     status?: StatusEnum;
-
     /**
      * 备注
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     remark?: string | null;
-
     /**
+     * 
      * @type {AccountTypeEnum}
      * @memberof AddUserInput
      */
     accountType?: AccountTypeEnum;
-
     /**
+     * 
      * @type {SysOrg}
      * @memberof AddUserInput
      */
     sysOrg?: SysOrg;
-
     /**
      * 直属主管Id
-     *
      * @type {number}
      * @memberof AddUserInput
      */
     managerUserId?: number | null;
-
     /**
      * 职位Id
-     *
      * @type {number}
      * @memberof AddUserInput
      */
     posId?: number;
-
     /**
      * 工号
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     jobNum?: string | null;
-
     /**
      * 职级
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     posLevel?: string | null;
-
     /**
      * 职称
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     posTitle?: string | null;
-
     /**
      * 擅长领域
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     expertise?: string | null;
-
     /**
      * 办公区域
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     officeZone?: string | null;
-
     /**
      * 办公室
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     office?: string | null;
-
     /**
      * 入职日期
-     *
      * @type {Date}
      * @memberof AddUserInput
      */
     joinDate?: Date | null;
-
     /**
      * 最新登录Ip
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     lastLoginIp?: string | null;
-
     /**
      * 最新登录地点
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     lastLoginAddress?: string | null;
-
     /**
      * 最新登录时间
-     *
      * @type {Date}
      * @memberof AddUserInput
      */
     lastLoginTime?: Date | null;
-
     /**
      * 最新登录设备
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     lastLoginDevice?: string | null;
-
     /**
      * 电子签名
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     signature?: string | null;
-
     /**
      * 语言代码(如 zh-CN)
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     langCode?: string | null;
-
+    /**
+     * 个性化首页地址
+     * @type {string}
+     * @memberof AddUserInput
+     */
+    homepage?: string | null;
     /**
      * 账号
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     account: string;
-
     /**
      * 真实姓名
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     realName: string;
-
     /**
      * 域用户
-     *
      * @type {string}
      * @memberof AddUserInput
      */
     domainAccount?: string | null;
-
     /**
      * 角色集合
-     *
      * @type {Array<number>}
      * @memberof AddUserInput
      */
     roleIdList?: Array<number> | null;
-
     /**
      * 扩展机构集合
-     *
      * @type {Array<SysUserExtOrg>}
      * @memberof AddUserInput
      */

+ 7 - 7
Web/src/api-services/models/login-output.ts

@@ -11,28 +11,28 @@
  * https://github.com/swagger-api/swagger-codegen.git
  * Do not edit the class manually.
  */
-
- /**
+/**
  * 用户登录结果
- *
  * @export
  * @interface LoginOutput
  */
 export interface LoginOutput {
-
     /**
      * 令牌Token
-     *
      * @type {string}
      * @memberof LoginOutput
      */
     accessToken?: string | null;
-
     /**
      * 刷新Token
-     *
      * @type {string}
      * @memberof LoginOutput
      */
     refreshToken?: string | null;
+    /**
+     * 个性化首页
+     * @type {string}
+     * @memberof LoginOutput
+     */
+    homepage?: string | null;
 }

+ 13 - 97
Web/src/api-services/models/sys-user.ts

@@ -11,406 +11,322 @@
  * https://github.com/swagger-api/swagger-codegen.git
  * Do not edit the class manually.
  */
-
 import { AccountTypeEnum } from './account-type-enum';
 import { CardTypeEnum } from './card-type-enum';
 import { CultureLevelEnum } from './culture-level-enum';
 import { GenderEnum } from './gender-enum';
 import { StatusEnum } from './status-enum';
 import { SysOrg } from './sys-org';
- /**
+/**
  * 系统用户表
- *
  * @export
  * @interface SysUser
  */
 export interface SysUser {
-
     /**
      * 雪花Id
-     *
      * @type {number}
      * @memberof SysUser
      */
     id?: number;
-
     /**
      * 创建时间
-     *
      * @type {Date}
      * @memberof SysUser
      */
     createTime?: Date;
-
     /**
      * 更新时间
-     *
      * @type {Date}
      * @memberof SysUser
      */
     updateTime?: Date | null;
-
     /**
      * 创建者Id
-     *
      * @type {number}
      * @memberof SysUser
      */
     createUserId?: number | null;
-
     /**
      * 创建者姓名
-     *
      * @type {string}
      * @memberof SysUser
      */
     createUserName?: string | null;
-
     /**
      * 修改者Id
-     *
      * @type {number}
      * @memberof SysUser
      */
     updateUserId?: number | null;
-
     /**
      * 修改者姓名
-     *
      * @type {string}
      * @memberof SysUser
      */
     updateUserName?: string | null;
-
     /**
      * 机构Id
-     *
      * @type {number}
      * @memberof SysUser
      */
     orgId?: number;
-
     /**
      * 租户Id
-     *
      * @type {number}
      * @memberof SysUser
      */
     tenantId?: number | null;
-
     /**
      * 账号
-     *
      * @type {string}
      * @memberof SysUser
      */
     account: string;
-
     /**
      * 真实姓名
-     *
      * @type {string}
      * @memberof SysUser
      */
     realName?: string | null;
-
     /**
      * 昵称
-     *
      * @type {string}
      * @memberof SysUser
      */
     nickName?: string | null;
-
     /**
      * 头像
-     *
      * @type {string}
      * @memberof SysUser
      */
     avatar?: string | null;
-
     /**
+     * 
      * @type {GenderEnum}
      * @memberof SysUser
      */
     sex?: GenderEnum;
-
     /**
      * 年龄
-     *
      * @type {number}
      * @memberof SysUser
      */
     age?: number;
-
     /**
      * 出生日期
-     *
      * @type {Date}
      * @memberof SysUser
      */
     birthday?: Date | null;
-
     /**
      * 民族
-     *
      * @type {string}
      * @memberof SysUser
      */
     nation?: string | null;
-
     /**
      * 手机号码
-     *
      * @type {string}
      * @memberof SysUser
      */
     phone?: string | null;
-
     /**
+     * 
      * @type {CardTypeEnum}
      * @memberof SysUser
      */
     cardType?: CardTypeEnum;
-
     /**
      * 身份证号
-     *
      * @type {string}
      * @memberof SysUser
      */
     idCardNum?: string | null;
-
     /**
      * 邮箱
-     *
      * @type {string}
      * @memberof SysUser
      */
     email?: string | null;
-
     /**
      * 地址
-     *
      * @type {string}
      * @memberof SysUser
      */
     address?: string | null;
-
     /**
+     * 
      * @type {CultureLevelEnum}
      * @memberof SysUser
      */
     cultureLevel?: CultureLevelEnum;
-
     /**
      * 政治面貌
-     *
      * @type {string}
      * @memberof SysUser
      */
     politicalOutlook?: string | null;
-
     /**
      * 毕业院校
-     *
      * @type {string}
      * @memberof SysUser
      */
     college?: string | null;
-
     /**
      * 办公电话
-     *
      * @type {string}
      * @memberof SysUser
      */
     officePhone?: string | null;
-
     /**
      * 紧急联系人
-     *
      * @type {string}
      * @memberof SysUser
      */
     emergencyContact?: string | null;
-
     /**
      * 紧急联系人电话
-     *
      * @type {string}
      * @memberof SysUser
      */
     emergencyPhone?: string | null;
-
     /**
      * 紧急联系人地址
-     *
      * @type {string}
      * @memberof SysUser
      */
     emergencyAddress?: string | null;
-
     /**
      * 个人简介
-     *
      * @type {string}
      * @memberof SysUser
      */
     introduction?: string | null;
-
     /**
      * 排序
-     *
      * @type {number}
      * @memberof SysUser
      */
     orderNo?: number;
-
     /**
+     * 
      * @type {StatusEnum}
      * @memberof SysUser
      */
     status?: StatusEnum;
-
     /**
      * 备注
-     *
      * @type {string}
      * @memberof SysUser
      */
     remark?: string | null;
-
     /**
+     * 
      * @type {AccountTypeEnum}
      * @memberof SysUser
      */
     accountType?: AccountTypeEnum;
-
     /**
+     * 
      * @type {SysOrg}
      * @memberof SysUser
      */
     sysOrg?: SysOrg;
-
     /**
      * 直属主管Id
-     *
      * @type {number}
      * @memberof SysUser
      */
     managerUserId?: number | null;
-
     /**
      * 职位Id
-     *
      * @type {number}
      * @memberof SysUser
      */
     posId?: number;
-
     /**
      * 工号
-     *
      * @type {string}
      * @memberof SysUser
      */
     jobNum?: string | null;
-
     /**
      * 职级
-     *
      * @type {string}
      * @memberof SysUser
      */
     posLevel?: string | null;
-
     /**
      * 职称
-     *
      * @type {string}
      * @memberof SysUser
      */
     posTitle?: string | null;
-
     /**
      * 擅长领域
-     *
      * @type {string}
      * @memberof SysUser
      */
     expertise?: string | null;
-
     /**
      * 办公区域
-     *
      * @type {string}
      * @memberof SysUser
      */
     officeZone?: string | null;
-
     /**
      * 办公室
-     *
      * @type {string}
      * @memberof SysUser
      */
     office?: string | null;
-
     /**
      * 入职日期
-     *
      * @type {Date}
      * @memberof SysUser
      */
     joinDate?: Date | null;
-
     /**
      * 最新登录Ip
-     *
      * @type {string}
      * @memberof SysUser
      */
     lastLoginIp?: string | null;
-
     /**
      * 最新登录地点
-     *
      * @type {string}
      * @memberof SysUser
      */
     lastLoginAddress?: string | null;
-
     /**
      * 最新登录时间
-     *
      * @type {Date}
      * @memberof SysUser
      */
     lastLoginTime?: Date | null;
-
     /**
      * 最新登录设备
-     *
      * @type {string}
      * @memberof SysUser
      */
     lastLoginDevice?: string | null;
-
     /**
      * 电子签名
-     *
      * @type {string}
      * @memberof SysUser
      */
     signature?: string | null;
-
     /**
      * 语言代码(如 zh-CN)
-     *
      * @type {string}
      * @memberof SysUser
      */
     langCode?: string | null;
+    /**
+     * 个性化首页地址
+     * @type {string}
+     * @memberof SysUser
+     */
+    homepage?: string | null;
 }

+ 13 - 103
Web/src/api-services/models/update-user-input.ts

@@ -11,7 +11,6 @@
  * https://github.com/swagger-api/swagger-codegen.git
  * Do not edit the class manually.
  */
-
 import { AccountTypeEnum } from './account-type-enum';
 import { CardTypeEnum } from './card-type-enum';
 import { CultureLevelEnum } from './culture-level-enum';
@@ -19,421 +18,332 @@ import { GenderEnum } from './gender-enum';
 import { StatusEnum } from './status-enum';
 import { SysOrg } from './sys-org';
 import { SysUserExtOrg } from './sys-user-ext-org';
- /**
+/**
  * 更新用户输入参数
- *
  * @export
  * @interface UpdateUserInput
  */
 export interface UpdateUserInput {
-
     /**
      * 雪花Id
-     *
      * @type {number}
      * @memberof UpdateUserInput
      */
     id?: number;
-
     /**
      * 创建时间
-     *
      * @type {Date}
      * @memberof UpdateUserInput
      */
     createTime?: Date;
-
     /**
      * 更新时间
-     *
      * @type {Date}
      * @memberof UpdateUserInput
      */
     updateTime?: Date | null;
-
     /**
      * 创建者Id
-     *
      * @type {number}
      * @memberof UpdateUserInput
      */
     createUserId?: number | null;
-
     /**
      * 创建者姓名
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     createUserName?: string | null;
-
     /**
      * 修改者Id
-     *
      * @type {number}
      * @memberof UpdateUserInput
      */
     updateUserId?: number | null;
-
     /**
      * 修改者姓名
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     updateUserName?: string | null;
-
     /**
      * 机构Id
-     *
      * @type {number}
      * @memberof UpdateUserInput
      */
     orgId?: number;
-
     /**
      * 租户Id
-     *
      * @type {number}
      * @memberof UpdateUserInput
      */
     tenantId?: number | null;
-
     /**
      * 昵称
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     nickName?: string | null;
-
     /**
      * 头像
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     avatar?: string | null;
-
     /**
+     * 
      * @type {GenderEnum}
      * @memberof UpdateUserInput
      */
     sex?: GenderEnum;
-
     /**
      * 年龄
-     *
      * @type {number}
      * @memberof UpdateUserInput
      */
     age?: number;
-
     /**
      * 出生日期
-     *
      * @type {Date}
      * @memberof UpdateUserInput
      */
     birthday?: Date | null;
-
     /**
      * 民族
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     nation?: string | null;
-
     /**
      * 手机号码
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     phone?: string | null;
-
     /**
+     * 
      * @type {CardTypeEnum}
      * @memberof UpdateUserInput
      */
     cardType?: CardTypeEnum;
-
     /**
      * 身份证号
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     idCardNum?: string | null;
-
     /**
      * 邮箱
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     email?: string | null;
-
     /**
      * 地址
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     address?: string | null;
-
     /**
+     * 
      * @type {CultureLevelEnum}
      * @memberof UpdateUserInput
      */
     cultureLevel?: CultureLevelEnum;
-
     /**
      * 政治面貌
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     politicalOutlook?: string | null;
-
     /**
      * 毕业院校
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     college?: string | null;
-
     /**
      * 办公电话
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     officePhone?: string | null;
-
     /**
      * 紧急联系人
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     emergencyContact?: string | null;
-
     /**
      * 紧急联系人电话
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     emergencyPhone?: string | null;
-
     /**
      * 紧急联系人地址
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     emergencyAddress?: string | null;
-
     /**
      * 个人简介
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     introduction?: string | null;
-
     /**
      * 排序
-     *
      * @type {number}
      * @memberof UpdateUserInput
      */
     orderNo?: number;
-
     /**
+     * 
      * @type {StatusEnum}
      * @memberof UpdateUserInput
      */
     status?: StatusEnum;
-
     /**
      * 备注
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     remark?: string | null;
-
     /**
+     * 
      * @type {AccountTypeEnum}
      * @memberof UpdateUserInput
      */
     accountType?: AccountTypeEnum;
-
     /**
+     * 
      * @type {SysOrg}
      * @memberof UpdateUserInput
      */
     sysOrg?: SysOrg;
-
     /**
      * 直属主管Id
-     *
      * @type {number}
      * @memberof UpdateUserInput
      */
     managerUserId?: number | null;
-
     /**
      * 职位Id
-     *
      * @type {number}
      * @memberof UpdateUserInput
      */
     posId?: number;
-
     /**
      * 工号
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     jobNum?: string | null;
-
     /**
      * 职级
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     posLevel?: string | null;
-
     /**
      * 职称
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     posTitle?: string | null;
-
     /**
      * 擅长领域
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     expertise?: string | null;
-
     /**
      * 办公区域
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     officeZone?: string | null;
-
     /**
      * 办公室
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     office?: string | null;
-
     /**
      * 入职日期
-     *
      * @type {Date}
      * @memberof UpdateUserInput
      */
     joinDate?: Date | null;
-
     /**
      * 最新登录Ip
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     lastLoginIp?: string | null;
-
     /**
      * 最新登录地点
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     lastLoginAddress?: string | null;
-
     /**
      * 最新登录时间
-     *
      * @type {Date}
      * @memberof UpdateUserInput
      */
     lastLoginTime?: Date | null;
-
     /**
      * 最新登录设备
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     lastLoginDevice?: string | null;
-
     /**
      * 电子签名
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     signature?: string | null;
-
     /**
      * 语言代码(如 zh-CN)
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     langCode?: string | null;
-
+    /**
+     * 个性化首页地址
+     * @type {string}
+     * @memberof UpdateUserInput
+     */
+    homepage?: string | null;
     /**
      * 账号
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     account: string;
-
     /**
      * 真实姓名
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     realName: string;
-
     /**
      * 域用户
-     *
      * @type {string}
      * @memberof UpdateUserInput
      */
     domainAccount?: string | null;
-
     /**
      * 角色集合
-     *
      * @type {Array<number>}
      * @memberof UpdateUserInput
      */
     roleIdList?: Array<number> | null;
-
     /**
      * 扩展机构集合
-     *
      * @type {Array<SysUserExtOrg>}
      * @memberof UpdateUserInput
      */

+ 13 - 105
Web/src/api-services/models/user-output.ts

@@ -11,436 +11,344 @@
  * https://github.com/swagger-api/swagger-codegen.git
  * Do not edit the class manually.
  */
-
 import { AccountTypeEnum } from './account-type-enum';
 import { CardTypeEnum } from './card-type-enum';
 import { CultureLevelEnum } from './culture-level-enum';
 import { GenderEnum } from './gender-enum';
 import { StatusEnum } from './status-enum';
 import { SysOrg } from './sys-org';
- /**
+/**
  * 
- *
  * @export
  * @interface UserOutput
  */
 export interface UserOutput {
-
     /**
      * 雪花Id
-     *
      * @type {number}
      * @memberof UserOutput
      */
     id?: number;
-
     /**
      * 创建时间
-     *
      * @type {Date}
      * @memberof UserOutput
      */
     createTime?: Date;
-
     /**
      * 更新时间
-     *
      * @type {Date}
      * @memberof UserOutput
      */
     updateTime?: Date | null;
-
     /**
      * 创建者Id
-     *
      * @type {number}
      * @memberof UserOutput
      */
     createUserId?: number | null;
-
     /**
      * 创建者姓名
-     *
      * @type {string}
      * @memberof UserOutput
      */
     createUserName?: string | null;
-
     /**
      * 修改者Id
-     *
      * @type {number}
      * @memberof UserOutput
      */
     updateUserId?: number | null;
-
     /**
      * 修改者姓名
-     *
      * @type {string}
      * @memberof UserOutput
      */
     updateUserName?: string | null;
-
     /**
      * 机构Id
-     *
      * @type {number}
      * @memberof UserOutput
      */
     orgId?: number;
-
     /**
      * 租户Id
-     *
      * @type {number}
      * @memberof UserOutput
      */
     tenantId?: number | null;
-
     /**
      * 账号
-     *
      * @type {string}
      * @memberof UserOutput
      */
     account: string;
-
     /**
      * 真实姓名
-     *
      * @type {string}
      * @memberof UserOutput
      */
     realName?: string | null;
-
     /**
      * 昵称
-     *
      * @type {string}
      * @memberof UserOutput
      */
     nickName?: string | null;
-
     /**
      * 头像
-     *
      * @type {string}
      * @memberof UserOutput
      */
     avatar?: string | null;
-
     /**
+     * 
      * @type {GenderEnum}
      * @memberof UserOutput
      */
     sex?: GenderEnum;
-
     /**
      * 年龄
-     *
      * @type {number}
      * @memberof UserOutput
      */
     age?: number;
-
     /**
      * 出生日期
-     *
      * @type {Date}
      * @memberof UserOutput
      */
     birthday?: Date | null;
-
     /**
      * 民族
-     *
      * @type {string}
      * @memberof UserOutput
      */
     nation?: string | null;
-
     /**
      * 手机号码
-     *
      * @type {string}
      * @memberof UserOutput
      */
     phone?: string | null;
-
     /**
+     * 
      * @type {CardTypeEnum}
      * @memberof UserOutput
      */
     cardType?: CardTypeEnum;
-
     /**
      * 身份证号
-     *
      * @type {string}
      * @memberof UserOutput
      */
     idCardNum?: string | null;
-
     /**
      * 邮箱
-     *
      * @type {string}
      * @memberof UserOutput
      */
     email?: string | null;
-
     /**
      * 地址
-     *
      * @type {string}
      * @memberof UserOutput
      */
     address?: string | null;
-
     /**
+     * 
      * @type {CultureLevelEnum}
      * @memberof UserOutput
      */
     cultureLevel?: CultureLevelEnum;
-
     /**
      * 政治面貌
-     *
      * @type {string}
      * @memberof UserOutput
      */
     politicalOutlook?: string | null;
-
     /**
      * 毕业院校
-     *
      * @type {string}
      * @memberof UserOutput
      */
     college?: string | null;
-
     /**
      * 办公电话
-     *
      * @type {string}
      * @memberof UserOutput
      */
     officePhone?: string | null;
-
     /**
      * 紧急联系人
-     *
      * @type {string}
      * @memberof UserOutput
      */
     emergencyContact?: string | null;
-
     /**
      * 紧急联系人电话
-     *
      * @type {string}
      * @memberof UserOutput
      */
     emergencyPhone?: string | null;
-
     /**
      * 紧急联系人地址
-     *
      * @type {string}
      * @memberof UserOutput
      */
     emergencyAddress?: string | null;
-
     /**
      * 个人简介
-     *
      * @type {string}
      * @memberof UserOutput
      */
     introduction?: string | null;
-
     /**
      * 排序
-     *
      * @type {number}
      * @memberof UserOutput
      */
     orderNo?: number;
-
     /**
+     * 
      * @type {StatusEnum}
      * @memberof UserOutput
      */
     status?: StatusEnum;
-
     /**
      * 备注
-     *
      * @type {string}
      * @memberof UserOutput
      */
     remark?: string | null;
-
     /**
+     * 
      * @type {AccountTypeEnum}
      * @memberof UserOutput
      */
     accountType?: AccountTypeEnum;
-
     /**
+     * 
      * @type {SysOrg}
      * @memberof UserOutput
      */
     sysOrg?: SysOrg;
-
     /**
      * 直属主管Id
-     *
      * @type {number}
      * @memberof UserOutput
      */
     managerUserId?: number | null;
-
     /**
      * 职位Id
-     *
      * @type {number}
      * @memberof UserOutput
      */
     posId?: number;
-
     /**
      * 工号
-     *
      * @type {string}
      * @memberof UserOutput
      */
     jobNum?: string | null;
-
     /**
      * 职级
-     *
      * @type {string}
      * @memberof UserOutput
      */
     posLevel?: string | null;
-
     /**
      * 职称
-     *
      * @type {string}
      * @memberof UserOutput
      */
     posTitle?: string | null;
-
     /**
      * 擅长领域
-     *
      * @type {string}
      * @memberof UserOutput
      */
     expertise?: string | null;
-
     /**
      * 办公区域
-     *
      * @type {string}
      * @memberof UserOutput
      */
     officeZone?: string | null;
-
     /**
      * 办公室
-     *
      * @type {string}
      * @memberof UserOutput
      */
     office?: string | null;
-
     /**
      * 入职日期
-     *
      * @type {Date}
      * @memberof UserOutput
      */
     joinDate?: Date | null;
-
     /**
      * 最新登录Ip
-     *
      * @type {string}
      * @memberof UserOutput
      */
     lastLoginIp?: string | null;
-
     /**
      * 最新登录地点
-     *
      * @type {string}
      * @memberof UserOutput
      */
     lastLoginAddress?: string | null;
-
     /**
      * 最新登录时间
-     *
      * @type {Date}
      * @memberof UserOutput
      */
     lastLoginTime?: Date | null;
-
     /**
      * 最新登录设备
-     *
      * @type {string}
      * @memberof UserOutput
      */
     lastLoginDevice?: string | null;
-
     /**
      * 电子签名
-     *
      * @type {string}
      * @memberof UserOutput
      */
     signature?: string | null;
-
     /**
      * 语言代码(如 zh-CN)
-     *
      * @type {string}
      * @memberof UserOutput
      */
     langCode?: string | null;
-
+    /**
+     * 个性化首页地址
+     * @type {string}
+     * @memberof UserOutput
+     */
+    homepage?: string | null;
     /**
      * 机构名称
-     *
      * @type {string}
      * @memberof UserOutput
      */
     orgName?: string | null;
-
     /**
      * 职位名称
-     *
      * @type {string}
      * @memberof UserOutput
      */
     posName?: string | null;
-
     /**
      * 角色名称
-     *
      * @type {string}
      * @memberof UserOutput
      */
     roleName?: string | null;
-
     /**
      * 域用户
-     *
      * @type {string}
      * @memberof UserOutput
      */

+ 2 - 0
Web/src/router/backEnd.ts

@@ -51,6 +51,8 @@ export async function initBackEndControlRoutes() {
 	useRequestOldRoutes().setRequestOldRoutes(res as string[]);
 	// 处理路由(component),替换 dynamicRoutes(/@/router/route)第一个顶级 children 的路由
 	dynamicRoutes[0].children = await backEndComponent(res);
+	// 检查用户自定义首页设置
+	dynamicRoutes[0].redirect = Session.get('homepage') || dynamicRoutes[0].redirect;
 	// 添加动态路由
 	await setAddRoute();
 	// 设置路由到 pinia routesList 中(已处理成多级嵌套路由)及缓存多级嵌套数组处理后的一维数组

+ 2 - 0
Web/src/views/login/component/account.vue

@@ -240,6 +240,8 @@ const onSignIn = async () => {
 				ElMessage.error('登录失败,请检查账号!');
 				return;
 			}
+			// 记录用户自定义首页设置
+			Session.set('homepage', res.data.result?.homepage);
 			await saveTokenAndInitRoutes(res.data.result?.accessToken);
 		} finally {
 			state.loading.signIn = false;

+ 5 - 0
Web/src/views/system/user/component/editUser.vue

@@ -53,6 +53,11 @@
 									</el-select>
 								</el-form-item>
 							</el-col>
+							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+								<el-form-item label="个性化首页" prop="homepage">
+									<el-input v-model="state.ruleForm.homepage" placeholder="个性化首页" clearable />
+								</el-form-item>
+							</el-col>
 							<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb5">
 								<el-form-item label="排序">
 									<el-input-number v-model="state.ruleForm.orderNo" placeholder="排序" class="w100" />

+ 5 - 0
Web/src/views/system/user/component/userCenter.vue

@@ -96,6 +96,11 @@
 											</el-select>
 										</el-form-item>
 									</el-col>
+									<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+										<el-form-item label="个性化首页" prop="homepage">
+											<el-input v-model="state.ruleFormBase.homepage" placeholder="个性化首页" clearable />
+										</el-form-item>
+									</el-col>
 									<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
 										<el-form-item label="地址">
 											<el-input v-model="state.ruleFormBase.address" placeholder="地址" clearable type="textarea" />