Browse Source

fixed product images with direct forwarding

pull/248/head
Galip Tolga Erdem 2 years ago
parent
commit
bb9d9deadb
  1. 5
      apps/public-web/src/EShopOnAbp.PublicWeb/Components/Basket/Default.cshtml
  2. 2
      apps/public-web/src/EShopOnAbp.PublicWeb/Components/Toolbar/Cart/Default.cshtml
  3. 2
      apps/public-web/src/EShopOnAbp.PublicWeb/Components/UserOrders/Default.cshtml
  4. 2
      apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj
  5. 8
      apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbpPublicWebModule.cs
  6. 6
      apps/public-web/src/EShopOnAbp.PublicWeb/Pages/Index.cshtml
  7. 5
      apps/public-web/src/EShopOnAbp.PublicWeb/Pages/ProductDetail.cshtml
  8. 7
      gateways/web-public/src/EShopOnAbp.WebPublicGateway/yarp.json

5
apps/public-web/src/EShopOnAbp.PublicWeb/Components/Basket/Default.cshtml

@ -1,11 +1,8 @@
@using EShopOnAbp.Localization
@using EShopOnAbp.PublicWeb.Components.Purchase
@using Microsoft.Extensions.Localization
@using Microsoft.Extensions.Options
@using Volo.Abp.Http.Client
@model EShopOnAbp.BasketService.Services.BasketDto
@inject IStringLocalizer<EShopOnAbpResource> L
@inject IOptions<AbpRemoteServiceOptions> options
<div>
@if (!Model.Items.Any())
@ -34,7 +31,7 @@
<div class="basket-list flex-container vertical">
@foreach (var item in Model.Items)
{
string imageName = item.ImageName.IsNullOrEmpty() ? $"{options.Value.RemoteServices.Default.BaseUrl}product-images/noimage.jpg" : $"{options.Value.RemoteServices.Default.BaseUrl}product-images/{item.ImageName}";
string imageName = item.ImageName.IsNullOrEmpty() ? $"product-images/noimage.jpg" : $"product-images/{item.ImageName}";
var price = item.TotalPrice.ToString("0.00");
<div class="card basket-list-item" data-product-id="@item.ProductId">
<div class="card-body">

2
apps/public-web/src/EShopOnAbp.PublicWeb/Components/Toolbar/Cart/Default.cshtml

@ -38,7 +38,7 @@
{
foreach (var item in Model.Items)
{
string imageName = item.ImageName.IsNullOrEmpty() ? $"{options.Value.RemoteServices.Default.BaseUrl}product-images/noimage.jpg" : $"{options.Value.RemoteServices.Default.BaseUrl}product-images/{item.ImageName}";
string imageName = item.ImageName.IsNullOrEmpty() ? $"product-images/noimage.jpg" : $"product-images/{item.ImageName}";
var price = item.TotalPrice.ToString("0.00");
<div class="dropdown-item">

2
apps/public-web/src/EShopOnAbp.PublicWeb/Components/UserOrders/Default.cshtml

@ -56,7 +56,7 @@
<abp-column size="_2">
<a href="/products/@item.ProductId.ToString()">
@{
string imageUrl = $"{options.Value.RemoteServices.Default.BaseUrl}product-images/{item.PictureUrl}";
string imageUrl = $"product-images/{item.PictureUrl}";
<img class="img-size" src="@imageUrl" />
}
</a>

2
apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbp.PublicWeb.csproj

@ -10,7 +10,7 @@
<PackageReference Include="Volo.Abp.AutoMapper" Version="8.1.3" />
<PackageReference Include="Volo.CmsKit.Public.Web" Version="8.1.3" />
<PackageReference Include="Yarp.ReverseProxy" Version="2.1.0" />
<PackageReference Include="Microsoft.Extensions.ServiceDiscovery.Yarp" />
<PackageReference Include="Microsoft.Extensions.ServiceDiscovery.Yarp" Version="8.0.1" />
</ItemGroup>
<ItemGroup>

8
apps/public-web/src/EShopOnAbp.PublicWeb/EShopOnAbpPublicWebModule.cs

@ -5,7 +5,6 @@ using EShopOnAbp.Localization;
using EShopOnAbp.OrderingService;
using EShopOnAbp.PaymentService;
using EShopOnAbp.PaymentService.PaymentMethods;
using EShopOnAbp.PublicWeb.AnonymousUser;
using EShopOnAbp.PublicWeb.Components.Toolbar.Cart;
using EShopOnAbp.PublicWeb.Menus;
using EShopOnAbp.PublicWeb.PaymentMethods;
@ -22,7 +21,6 @@ using Microsoft.IdentityModel.Protocols.OpenIdConnect;
using Polly;
using StackExchange.Redis;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http.Headers;
using System.Security.Claims;
@ -56,7 +54,6 @@ using Volo.Abp.Ui.LayoutHooks;
using Volo.Abp.UI.Navigation;
using Volo.Abp.UI.Navigation.Urls;
using Volo.Abp.VirtualFileSystem;
using Volo.CmsKit;
using Volo.CmsKit.Public.Web;
using Yarp.ReverseProxy.Transforms;
@ -314,15 +311,14 @@ public class EShopOnAbpPublicWebModule : AbpModule
app.UseCorrelationId();
app.UseStaticFiles();
app.UseRouting();
// app.UseHttpMetrics();
app.UseAuthentication();
app.UseAbpSerilogEnrichers();
app.UseAuthorization();
// app.UseAnonymousUser();
app.UseConfiguredEndpoints(endpoints =>
{
endpoints.MapReverseProxy();
// endpoints.MapMetrics();
endpoints.MapForwarder("*/product-images/{name}", "http://_http.catalogService/product-images", "/{name}");
endpoints.MapForwarder("/products/product-images/{name}", "http://_http.catalogService/product-images", "/{name}");
});
}

6
apps/public-web/src/EShopOnAbp.PublicWeb/Pages/Index.cshtml

@ -2,12 +2,8 @@
@using EShopOnAbp.Localization
@using Microsoft.Extensions.Localization
@using System.Globalization
@using Microsoft.Extensions.Options
@using Volo.Abp.Http.Client
@using Volo.CmsKit.Public.Web.Pages.CmsKit.Shared.Components.Rating
@model EShopOnAbp.PublicWeb.Pages.IndexModel
@inject IStringLocalizer<EShopOnAbpResource> L
@inject IOptions<AbpRemoteServiceOptions> options
@{
string pageHeader = L["OurProducts"];
@ -34,7 +30,7 @@
@foreach (var product in Model.Products)
{
var productPrice = product.Price.ToString("C", new CultureInfo("en-US"));
string productImage = !product.ImageName.IsNullOrEmpty() ? $"{options.Value.RemoteServices.Default.BaseUrl}product-images/{product.ImageName}" : $"{options.Value.RemoteServices.Default.BaseUrl}product-images/@product.ImageName";
string productImage = !product.ImageName.IsNullOrEmpty() ? $"product-images/{product.ImageName}" : $"product-images/@product.ImageName";
string buyText = L["Index:AddToBasket"];
<div class="product-container">
<div class="product-list-item" data-product-id="@product.Id.ToString()">

5
apps/public-web/src/EShopOnAbp.PublicWeb/Pages/ProductDetail.cshtml

@ -2,15 +2,12 @@
@using EShopOnAbp.Localization
@using Microsoft.Extensions.Localization
@using System.Globalization
@using Microsoft.Extensions.Options
@using Volo.Abp.GlobalFeatures
@using Volo.Abp.Http.Client
@using Volo.CmsKit.GlobalFeatures
@using Volo.CmsKit.Public.Web.Pages.CmsKit.Shared.Components.Commenting
@using Volo.CmsKit.Public.Web.Pages.CmsKit.Shared.Components.Rating
@inject IStringLocalizer<EShopOnAbpResource> L
@inject IOptions<AbpRemoteServiceOptions> options
@model EShopOnAbp.PublicWeb.Pages.ProductDetailModel
@ -32,7 +29,7 @@
@{
var product = Model.Product;
var productPrice = product.Price.ToString("C", new CultureInfo("en-US"));
string productImage = !product.ImageName.IsNullOrEmpty() ? $"{options.Value.RemoteServices.Default.BaseUrl}product-images/{product.ImageName}" : $"{options.Value.RemoteServices.Default.BaseUrl}product-images/@product.ImageName";
string productImage = !product.ImageName.IsNullOrEmpty() ? $"product-images/{product.ImageName}" : $"product-images/@product.ImageName";
string buyText = L["Index:AddToBasket"];
<div class="product-list-item" data-product-id="@product.Id.ToString()">
<a href="/products/@product.Id.ToString()">

7
gateways/web-public/src/EShopOnAbp.WebPublicGateway/yarp.json

@ -64,13 +64,6 @@
{ "PathRemovePrefix": "/swagger-json/Catalog" }
]
},
"ProductPictures": {
"ClusterId": "catalogCluster",
"Match": {
"Path": "/product-images/{**everything}",
"Methods": [ "GET" ]
}
},
"Basket Service": {
"ClusterId": "Basket",
"Match": {

Loading…
Cancel
Save