tangxu
2023-01-18 e741513f2ce67ba642cb0d978e00240cfb5789f5
Application/IStation.Application.User/user_login/UserLogin_Controller.cs
@@ -106,7 +106,7 @@
                    _httpContextAccessor.HttpContext.SigninToSwagger(accessToken);
                    vm.Token = accessToken;
                }
            }
            return vm;
@@ -117,25 +117,29 @@
        /// </summary>
        [Route("FromCorpWechatApplet@V1.0")]
        [HttpPost]
        public UserLoginOutput FromCorpWechatApplet(UserLoginCorpWechatAppletInput input)
        public ApplicationViewModel.UserLogin FromCorpWechatApplet(UserLoginCorpWechatAppletInput input)
        {
            var message = input.Adapt<UserLoginCorpWechatAppletInput, Model.WechatAppletMessage>();
            var loginIp = HttpContextHelper.GetRemoteIpAddress(_httpContextAccessor.HttpContext.Request);
            var user = _service.LoginCorp
                (input.CorpID, input.SoftType, input.SoftTag, input.LoginName, input.LoginPwd, loginIp, message.ToJson(), out Model.eLoginStatus loginStatus);
            var vm = new UserLoginOutput()
            var vm = new ApplicationViewModel.UserLogin()
            {
                Status = loginStatus,
                User = user?.Adapt<Model.User, UserDto>()
                User = user?.Adapt<Model.User, ApplicationViewModel.UserDto4Wechat>()
            };
            if (loginStatus == Model.eLoginStatus.Success)
            {
                if (user != null)
                {
                    vm.User.EmployeeID = user.ID;
                }
                if (Settings.WebApi.EnableJwt)
                {
                    // token
                    var accessToken = JWTEncryption.Encrypt(new Dictionary<string, object>()
                    {
                    {
                         { ClaimConst.UserID, user.ID },  // 用户标识
                         { ClaimConst.LoginName,user.LoginName }, // 登录名称
                         { ClaimConst.LoginPwd,user.LoginPwd }, // 登录密码
@@ -150,7 +154,103 @@
            return vm;
        }
    }
}
    namespace IStation.ApplicationViewModel
    {
        /// <summary>
        /// 用户登录输出
        /// </summary>
        public class UserLogin
        {
            /// <summary>
            /// 状态
            /// </summary>
            public Model.eLoginStatus Status { get; set; }
            /// <summary>
            /// 用户
            /// </summary>
            public UserDto4Wechat User { get; set; }
            /// <summary>
            /// 令牌
            /// </summary>
            public string Token { get; set; }
        }
    /// <summary>
    ///
    /// </summary>
    public class UserDto4Wechat
        {
        /// <summary>
        ///
        /// </summary>
        public string LastLoginWxUserCode { get; set; }
        /// <summary>
        /// 标识
        /// </summary>
        public long EmployeeID { get; set; }
            /// <summary>
            /// 标识
            /// </summary>
            public long ID { get; set; }
            /// <summary>
            /// 客户标识
            /// </summary>
            public long CorpID { get; set; }
            /// <summary>
            /// 关联类型
            /// </summary>
            public string RelatedType { get; set; }
            /// <summary>
            /// 关联标识
            /// </summary>
            public long RelatedID { get; set; }
            /// <summary>
            /// 是否为管理员
            /// </summary>
            public bool IsAdmin { get; set; }
            /// <summary>
            /// 登录名称
            /// </summary>
            public string LoginName { get; set; }
            /// <summary>
            /// 登录图片
            /// </summary>
            public string LoginImg { get; set; }
            /// <summary>
            /// 真实名称
            /// </summary>
            public string RealName { get; set; }
            /// <summary>
            /// 手机号码
            /// </summary>
            public string Telphone { get; set; }
            /// <summary>
            /// 使用状态
            /// </summary>
            public Model.eUseStatus UseStatus { get; set; }
        }
    }