From 94ee0fb0582a148e309b81f15fd5d42e39c394c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=A9=99=E5=AD=90?= <454313500@qq.com> Date: Wed, 2 Oct 2024 23:25:29 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=94=AF=E6=8C=81=E6=B3=A8=E5=86=8C?= =?UTF-8?q?=E5=B8=A6=E5=85=A5=E6=98=B5=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Dtos/Account/RegisterDto.cs | 10 ++++-- .../Services/AccountService.cs | 2 +- .../Entities/UserAggregateRoot.cs | 4 +-- .../Managers/AccountManager.cs | 4 +-- .../Managers/IAccountManager.cs | 2 +- Yi.Bbs.Vue3/src/assets/styles/login.css | 4 +-- Yi.Bbs.Vue3/src/assets/wechat/share.png | Bin 0 -> 40121 bytes Yi.Bbs.Vue3/src/layout/AppHeader.vue | 7 ++++- Yi.Bbs.Vue3/src/views/Auth/index.vue | 5 ++- Yi.Bbs.Vue3/src/views/EditArticle.vue | 1 + Yi.Bbs.Vue3/src/views/NotFound.vue | 1 - Yi.Bbs.Vue3/src/views/home/Index.vue | 29 ++++++++++++++++-- Yi.Bbs.Vue3/src/views/login/index.vue | 29 +++++++++++++----- 13 files changed, 75 insertions(+), 23 deletions(-) create mode 100644 Yi.Bbs.Vue3/src/assets/wechat/share.png diff --git a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Account/RegisterDto.cs b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Account/RegisterDto.cs index 40fa0561..484f4ec7 100644 --- a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Account/RegisterDto.cs +++ b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application.Contracts/Dtos/Account/RegisterDto.cs @@ -8,12 +8,12 @@ /// /// 账号 /// - public string UserName { get; set; } = string.Empty; + public string UserName { get; set; } /// /// 密码 /// - public string Password { get; set; } = string.Empty; + public string Password { get; set; } /// /// 唯一标识码 @@ -29,5 +29,11 @@ /// 验证码 /// public string? Code { get; set; } + + /// + /// 昵称 + /// + public string? Nick{ get; set; } + } } diff --git a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/AccountService.cs b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/AccountService.cs index 0882a965..07600dab 100644 --- a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/AccountService.cs +++ b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Application/Services/AccountService.cs @@ -245,7 +245,7 @@ namespace Yi.Framework.Rbac.Application.Services } //注册领域逻辑 - await _accountManager.RegisterAsync(input.UserName, input.Password, input.Phone); + await _accountManager.RegisterAsync(input.UserName, input.Password, input.Phone,input.Nick); } diff --git a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Entities/UserAggregateRoot.cs b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Entities/UserAggregateRoot.cs index 3f992a59..67713772 100644 --- a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Entities/UserAggregateRoot.cs +++ b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Entities/UserAggregateRoot.cs @@ -19,12 +19,12 @@ namespace Yi.Framework.Rbac.Domain.Entities { } - public UserAggregateRoot(string userName, string password, long phone, string nick = "萌新") + public UserAggregateRoot(string userName, string password, long phone, string? nick = null) { UserName = userName; EncryPassword.Password = password; Phone = phone; - Nick = nick+"-"+userName; + Nick =string.IsNullOrWhiteSpace(nick)?"萌新-"+userName:nick.Trim(); BuildPassword(); } diff --git a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers/AccountManager.cs b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers/AccountManager.cs index 233518dd..7aa1068c 100644 --- a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers/AccountManager.cs +++ b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers/AccountManager.cs @@ -271,9 +271,9 @@ namespace Yi.Framework.Rbac.Domain.Managers /// /// /// - public async Task RegisterAsync(string userName, string password, long phone) + public async Task RegisterAsync(string userName, string password, long phone,string? nick) { - var user = new UserAggregateRoot(userName, password, phone); + var user = new UserAggregateRoot(userName, password, phone,nick); await _userManager.CreateAsync(user); await _userManager.SetDefautRoleAsync(user.Id); diff --git a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers/IAccountManager.cs b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers/IAccountManager.cs index cbbf5eb9..d0493759 100644 --- a/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers/IAccountManager.cs +++ b/Yi.Abp.Net8/module/rbac/Yi.Framework.Rbac.Domain/Managers/IAccountManager.cs @@ -14,7 +14,7 @@ namespace Yi.Framework.Rbac.Domain.Managers string CreateRefreshToken(Guid userId); Task GetTokenByUserIdAsync(Guid userId,Action? getUserInfo=null); Task LoginValidationAsync(string userName, string password, Action? userAction = null); - Task RegisterAsync(string userName, string password, long phone); + Task RegisterAsync(string userName, string password, long phone,string? nick); Task RestPasswordAsync(Guid userId, string password); Task UpdatePasswordAsync(Guid userId, string newPassword, string oldPassword); } diff --git a/Yi.Bbs.Vue3/src/assets/styles/login.css b/Yi.Bbs.Vue3/src/assets/styles/login.css index 7753253e..6bdfa288 100644 --- a/Yi.Bbs.Vue3/src/assets/styles/login.css +++ b/Yi.Bbs.Vue3/src/assets/styles/login.css @@ -142,8 +142,8 @@ align-items: flex-end; { margin-left: 20px; border: 0.8px solid #000; - width: 100px; - height: 30px; + width: 150px; + height: 40px; text-align: center; } .div-bottom diff --git a/Yi.Bbs.Vue3/src/assets/wechat/share.png b/Yi.Bbs.Vue3/src/assets/wechat/share.png new file mode 100644 index 0000000000000000000000000000000000000000..2b23e44e5fcfa1f138b8762c38db4a67582fd41b GIT binary patch literal 40121 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 { }) //加载初始化离线消息 onMounted(async () => { - await fetchNoticeData(); + //登录了才去判断消息通知 + if (isLogin.value) + { + await fetchNoticeData(); + } + }) const fetchNoticeData = async () => { const { data } = await getNoticeList({ maxResultCount: 20 }); diff --git a/Yi.Bbs.Vue3/src/views/Auth/index.vue b/Yi.Bbs.Vue3/src/views/Auth/index.vue index 808ea014..dde0ffc7 100644 --- a/Yi.Bbs.Vue3/src/views/Auth/index.vue +++ b/Yi.Bbs.Vue3/src/views/Auth/index.vue @@ -37,10 +37,13 @@ watch( break; } try { + //state 0 代表使用第三方登录 if (type.value === "0") { const { data } = await authOtherLogin({ code: val }, scheme.value); authData.value = data; - } else if (type.value === "1") { + } + //state 0 代表进行第三方绑定 + else if (type.value === "1") { const { data } = await authOtherBind({ code: val }, scheme.value); authData.value = data; } diff --git a/Yi.Bbs.Vue3/src/views/EditArticle.vue b/Yi.Bbs.Vue3/src/views/EditArticle.vue index af153c7a..ffe60fb8 100644 --- a/Yi.Bbs.Vue3/src/views/EditArticle.vue +++ b/Yi.Bbs.Vue3/src/views/EditArticle.vue @@ -62,6 +62,7 @@ 404 - \ No newline at end of file diff --git a/Yi.Bbs.Vue3/src/views/home/Index.vue b/Yi.Bbs.Vue3/src/views/home/Index.vue index 92bf7039..04fec20b 100644 --- a/Yi.Bbs.Vue3/src/views/home/Index.vue +++ b/Yi.Bbs.Vue3/src/views/home/Index.vue @@ -3,8 +3,8 @@
-

点击前往-最新上线《聊天室》 ,现已支持Ai助手,希望能帮助大家 -

+ +

点击关注-最新上线《意.Net官方微信公众号》 ,分享有深度的.Net知识,希望能帮助大家

@@ -188,6 +188,25 @@ + + + +
+ +
+ + +
@@ -402,6 +421,7 @@ const onClickAccessLog = async () => { } +const wechatDialogVisible=ref(false) //切换统计开关 const onClickWeekSwitch = async () => { if (weekQuery.accessLogType === "HomeClick") { @@ -413,6 +433,11 @@ const onClickWeekSwitch = async () => { const {data: weekData} = await getWeek(weekQuery); weekList.value = weekData; } + +//打开微信公众号弹窗 +const onClickToWeChat=()=>{ + wechatDialogVisible.value=true; +};