Browse Source

修改PDA

集成Redis
郑勃旭 2 years ago
parent
commit
bbf08bfe02
  1. 2
      be/DataExchange/host/Win_in.Sfs.Wms.DataExchange.HttpApi.Host/appsettings.json
  2. 3
      be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Application/TokenService.cs
  3. 80
      be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Accounts/AccountController.cs
  4. 5
      be/Modules/Shared/src/Win_in.Sfs.Shared.Application/SfsCrudWithDetailsAppServiceBase.cs
  5. 14
      build/src/docker/publish/conf/settings/appsettings.Development.json

2
be/DataExchange/host/Win_in.Sfs.Wms.DataExchange.HttpApi.Host/appsettings.json

@ -46,6 +46,8 @@
"StringEncryption": {
"DefaultPassPhrase": "8fFOYxuru0qm2ATJ"
},
//
"Sites": "T8,T9",
"Company": "T8,T9"
}

3
be/Hosts/Auth.Host/src/Win_in.Sfs.Auth.Application/TokenService.cs

@ -15,8 +15,9 @@ namespace Win_in.Sfs.Auth.Tokens;
public class TokenService : ApplicationService
{
private readonly IHttpClientFactory _httpClientFactory;
private readonly IConfiguration _configuration;
private readonly ILogger<TokenService> _logger;
private readonly IConfiguration _configuration;
public TokenService(IHttpClientFactory httpClientFactory, IConfiguration configuration, ILogger<TokenService> logger)
{

80
be/Hosts/WmsPda.Host/Win_in.Sfs.Wms.Pda.Host/Controllers/Accounts/AccountController.cs

@ -1,8 +1,15 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Net.Http;
using System.Threading.Tasks;
using DocumentFormat.OpenXml.Drawing.Charts;
using IdentityModel.Client;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
using Volo.Abp.Account;
using Volo.Abp.AspNetCore.Mvc;
using Win_in.Sfs.Auth.Application.Contracts;
@ -26,6 +33,9 @@ public class AccountController : AbpController
private readonly ITokenService _tokenService;
private readonly IUserMenuAppService _userMenuAppService;
private readonly IUserWorkGroupAppService _userWorkGroupAppService;
private readonly IConfiguration _configuration;
private readonly IHttpClientFactory _httpClientFactory;
private readonly ILogger<TokenService> _logger;
/// <summary>
///
@ -38,12 +48,27 @@ public class AccountController : AbpController
, ITokenService tokenService
, IUserMenuAppService userMenuAppService
, IUserWorkGroupAppService userWorkGroupAppService
)
, IConfiguration configuration, IHttpClientFactory httpClientFactory, ILogger<TokenService> logger)
{
_profileAppService = profileAppService;
_tokenService = tokenService;
_userMenuAppService = userMenuAppService;
_userWorkGroupAppService = userWorkGroupAppService;
_configuration = configuration;
_httpClientFactory = httpClientFactory;
_logger = logger;
}
[Display]
public class LoginModel
{
[Display]
[Required]
public string UserName { get; set; }
[Display]
[Required]
public string Password { get; set; }
}
/// <summary>
@ -55,8 +80,51 @@ public class AccountController : AbpController
public virtual async Task<BaererToken> LoginAsync(UserLoginInput userLoginInput)
{
var token = await _tokenService.GetTokenAsync(userLoginInput.Username, userLoginInput.Password).ConfigureAwait(false);
return token;
var address = _configuration["AuthServer:Authority"];
var request = new DiscoveryDocumentRequest
{
Address = address,
Policy = new DiscoveryPolicy { RequireHttps = false }
};
var discovery = await _httpClientFactory.CreateClient().GetDiscoveryDocumentAsync(request).ConfigureAwait(false);
var clientId = _configuration["AuthServer:ClientId"];
var clientSecret = _configuration["AuthServer:ClientSecret"];
this._logger.LogInformation($"address:{address},TokenEndpoint:{discovery.TokenEndpoint},clientId:{clientId},clientSecret:{clientSecret}");
var result = await _httpClientFactory.CreateClient().RequestPasswordTokenAsync(new PasswordTokenRequest
{
Address = $"{address.TrimEnd('/')}/connect/token",
GrantType = "password",
ClientId = clientId,
ClientSecret = clientSecret,
UserName = userLoginInput.Username,
Password = userLoginInput.Password
}).ConfigureAwait(false);
Console.WriteLine($"Result:${(result.IsError ? result.ErrorDescription : result.AccessToken)}");
return new BaererToken()
{
refresh_token = result.RefreshToken,
access_token = result.AccessToken,
scope = result.Scope,
token_type = result.TokenType,
expires_in = result.ExpiresIn,
};
//return new JsonResult(new
//{
// result.TokenType,
// result.AccessToken,
// result.ExpiresIn,
// result.RefreshToken,
// result.Scope,
// result.HttpStatusCode,
// result.Error,
// result.HttpErrorReason,
// result.ErrorDescription,
// result.ErrorType,
// result.Exception?.Message,
// Exception = result.Exception?.ToString()
//});
}
/// <summary>
@ -95,10 +163,10 @@ public class AccountController : AbpController
/// 菜单
/// </summary>
/// <returns></returns>
[HttpGet("menus")]
public virtual async Task<List<PdaMenuGroupDto>> GetMenusAsync()
[HttpGet("menus/{userId}")]
public virtual async Task<List<PdaMenuGroupDto>> GetMenusAsync(Guid userId)
{
var userId = CurrentUser.Id;
//var userId = CurrentUser.Id;
var pdaMenuGroupDtos = new List<PdaMenuGroupDto>();//返回给pda的菜单 已排序
var menusOfUser = await _userMenuAppService.GetPdaMenusOfUserAsync(userId).ConfigureAwait(false);
var menuGroups = menusOfUser.GroupBy(p => p.GroupName);

5
be/Modules/Shared/src/Win_in.Sfs.Shared.Application/SfsCrudWithDetailsAppServiceBase.cs

@ -23,6 +23,7 @@ using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using Microsoft.Extensions.Logging;
using Microsoft.Net.Http.Headers;
using Omu.ValueInjecter.Utils;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
@ -753,6 +754,10 @@ public abstract class SfsCrudWithDetailsAppServiceBase<TEntity, TEntityDto, TReq
{
worker.Worker = CurrentUser.GetUserName();
}
var first=entity.GetProps().First(p => p.Name == "Worker");
first.SetValue(first, CurrentUser.GetUserName());
var hasEntity = entity != null;
if (entity == null)
{

14
build/src/docker/publish/conf/settings/appsettings.Development.json

@ -1,5 +1,5 @@
{
"AlwaysAllowAuthorization": "False",
"AlwaysAllowAuthorization": "True",
"App": {
"CorsOrigins": [
"http://localhost:59080",
@ -110,16 +110,16 @@
},
"RemoteServices": {
"Auth": {
"BaseUrl": "http://localhost:21293/"
"BaseUrl": "http://dev.ccwin-in.com:21293/"
},
"BaseData": {
"BaseUrl": "http://localhost:21294/"
"BaseUrl": "http://dev.ccwin-in.com:21294/"
},
"Default": {
"BaseUrl": "http://localhost:21293/"
"BaseUrl": "http://dev.ccwin-in.com:21293/"
},
"FileStorage": {
"BaseUrl": "http://localhost:21292/"
"BaseUrl": "http://dev.ccwin-in.com:21292/"
},
"Inventory": {
"BaseUrl": "http://localhost:59095/"
@ -128,10 +128,10 @@
"BaseUrl": "http://localhost:59095/"
},
"Label": {
"BaseUrl": "http://localhost:21292/"
"BaseUrl": "http://dev.ccwin-in.com:21292/"
},
"Message": {
"BaseUrl": "http://localhost:21292/"
"BaseUrl": "http://dev.ccwin-in.com:21292/"
},
"Store": {
"BaseUrl": "http://localhost:59095/"

Loading…
Cancel
Save