diff --git a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/FuwuhaoService.cs b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/FuwuhaoService.cs index ae55ec78..f47eb872 100644 --- a/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/FuwuhaoService.cs +++ b/Yi.Abp.Net8/module/ai-hub/Yi.Framework.AiHub.Application/Services/FuwuhaoService.cs @@ -179,6 +179,7 @@ public class FuwuhaoService : ApplicationService { throw new ApplicationException("获取用户id异常,请重试"); } + var loginInfo = await _accountService.PostLoginAsync(cache.UserId!.Value); output.Token = loginInfo.Token; output.RefreshToken = loginInfo.RefreshToken; @@ -194,19 +195,35 @@ public class FuwuhaoService : ApplicationService /// /// [HttpGet("fuwuhao/register")] - public async Task RegisterByCodeAsync([FromQuery] string code) + public async Task RegisterByCodeAsync([FromQuery] string code) + { + var message = await RegisterByCodeForMessageAsync(code); + //var message = "恭喜注册"; + var filePath = Path.Combine("wwwroot", "aihub", "auth.html"); + var html = await File.ReadAllTextAsync(filePath); + var result = new ContentResult + { + Content = html.Replace("{{message}}", message), + ContentType = "text/html", + StatusCode = 200 + }; + return result; + } + + + private async Task RegisterByCodeForMessageAsync(string code) { //根据code获取到openid、微信用户昵称、头像 var userInfo = await _fuwuhaoManager.GetUserInfoByCodeAsync(code); if (userInfo is null) { - return "当前注册已经失效,请重新扫码注册"; + return "当前注册已经失效,请重新扫码注册!"; } var scene = await _openIdToSceneCache.GetAsync($"{FuwuhaoConst.OpenIdToSceneCacheKey}{userInfo.OpenId}"); if (scene is null) { - return "当前注册已经过期,请重新扫码注册"; + return "当前注册已经过期,请重新扫码注册!"; } var files = new FormFileCollection(); @@ -230,23 +247,32 @@ public class FuwuhaoService : ApplicationService var result = await _fileService.Post(files); //由于存在查询/编辑在同一个事务操作,上锁防止并发 - await using (await DistributedLock.AcquireLockAsync($"fuwuhao:RegisterLock:{userInfo.OpenId}", TimeSpan.FromMinutes(1))) + await using (await DistributedLock.AcquireLockAsync($"fuwuhao:RegisterLock:{userInfo.OpenId}", + TimeSpan.FromMinutes(1))) { if (await _userRepository.IsAnyAsync(x => x.FuwuhaoOpenId == userInfo.OpenId)) { - throw new UserFriendlyException("你已注册过意社区账号"); + return "你已注册过意社区账号!"; } - - var userId = await _accountService.PostSystemRegisterAsync(new RegisterDto + Guid userId; + try { - UserName = $"wx{Random.Shared.Next(100000, 999999)}", - Password = Guid.NewGuid().ToString("N"), - Phone = null, - Email = null, - Nick = userInfo.Nickname, - Icon = result.FirstOrDefault()?.Id.ToString() - }); + userId = await _accountService.PostSystemRegisterAsync(new RegisterDto + { + UserName = $"wx{Random.Shared.Next(100000, 999999)}", + Password = Guid.NewGuid().ToString("N"), + Phone = null, + Email = null, + Nick = userInfo.Nickname, + Icon = result.FirstOrDefault()?.Id.ToString() + }); + } + catch (UserFriendlyException e) + { + return e.Message; + } + await _userRepository.InsertAsync(new AiUserExtraInfoEntity(userId, userInfo.OpenId)); await _sceneCache.SetAsync($"{FuwuhaoConst.SceneCacheKey}{scene}", new SceneCacheDto @@ -257,7 +283,7 @@ public class FuwuhaoService : ApplicationService new DistributedCacheEntryOptions() { AbsoluteExpirationRelativeToNow = TimeSpan.FromSeconds(120) }); } - return "恭喜你已注册成功意社区账号!"; + return "恭喜你成功注册意社区账号!"; } } 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 dad88ed4..2185bcc9 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 @@ -313,7 +313,7 @@ namespace Yi.Framework.Rbac.Domain.Managers { if (handle is null) { - throw new UserFriendlyException($"{userName}用户正在注册中,请稍等"); + throw new UserFriendlyException($"{userName}用户正在注册中,请稍等。。。"); } var userUpName = userName.ToUpper(); diff --git a/Yi.Abp.Net8/src/Yi.Abp.Web/Yi.Abp.Web.csproj b/Yi.Abp.Net8/src/Yi.Abp.Web/Yi.Abp.Web.csproj index 5d8907c6..ba73effe 100644 --- a/Yi.Abp.Net8/src/Yi.Abp.Web/Yi.Abp.Web.csproj +++ b/Yi.Abp.Net8/src/Yi.Abp.Web/Yi.Abp.Web.csproj @@ -57,6 +57,9 @@ Always + + Always + diff --git a/Yi.Abp.Net8/src/Yi.Abp.Web/wwwroot/aihub/auth.html b/Yi.Abp.Net8/src/Yi.Abp.Web/wwwroot/aihub/auth.html new file mode 100644 index 00000000..f952da2a --- /dev/null +++ b/Yi.Abp.Net8/src/Yi.Abp.Web/wwwroot/aihub/auth.html @@ -0,0 +1,282 @@ + + + + + + 意社区授权页 + + + + + + SharpDance-意社区 + + + + + + 授权页 + + + ✓ + {{message}} + + 您已经完成我们的授权全部流程现在可返回扫码页面继续操作 + + + + 进入意社区 + 了解SharpDance + + + + 如有任何问题,请联系 wx:chengzilaoge520 + + + + + + 您的账号已受意社区账号体系全面保护。现在您可以享受SharpDance产品矩阵提供的所有功能和服务。 + + + + + + + + + + \ No newline at end of file
+ 您已经完成我们的授权全部流程现在可返回扫码页面继续操作 +
如有任何问题,请联系 wx:chengzilaoge520
+ 您的账号已受意社区账号体系全面保护。现在您可以享受SharpDance产品矩阵提供的所有功能和服务。 +