Skip to content

Commit

Permalink
修改主页卡片标题
Browse files Browse the repository at this point in the history
  • Loading branch information
LittleFish-233 committed Jun 24, 2023
1 parent 254d1d5 commit 19a3485
Show file tree
Hide file tree
Showing 15 changed files with 128 additions and 27 deletions.
Expand Up @@ -22,9 +22,10 @@

namespace CnGalWebSite.APIServer.Controllers
{
[AllowAnonymous]

[Route("api/account/[action]")]
[ApiController]
[Authorize]
public class AccountAPIController : ControllerBase
{

Expand Down Expand Up @@ -57,6 +58,7 @@ public class AccountAPIController : ControllerBase
/// </summary>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public async Task<ActionResult<GeetestCodeModel>> GetGeetestCode()
{
var ip = Request.Headers["X-Forwarded-For"].FirstOrDefault();
Expand Down Expand Up @@ -101,6 +103,7 @@ ip_address 客户端请求sdk服务器的ip地址
/// </summary>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public async Task<ActionResult<string>> GetIp()
{
return _operationRecordService.GetIp(HttpContext, null);
Expand All @@ -116,6 +119,7 @@ public async Task<ActionResult<string>> GetIp()
/// </remarks>
/// <returns></returns>
[HttpGet]
[AllowAnonymous]
public async Task<ActionResult<Result>> MakeUserOnlineAsync()
{
//获取当前用户ID
Expand Down Expand Up @@ -156,5 +160,17 @@ public async Task<ActionResult<Result>> MakeUserOnlineAsync()
}

}

[HttpGet]
public async Task <ActionResult<UserInfoModel>> GetUserInfo()
{
var user=await _appHelper.GetAPICurrentUserAsync(HttpContext);
return new UserInfoModel
{
Email = user.Email,
Name = user.UserName,
Id = user.Id
};
}
}
}
@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CnGalWebSite.DataModel.ViewModel.Accounts
{
public class UserInfoModel
{
public string Name { get; set; }
public string Id { get; set; }
public string Email { get; set; }
}
}
Expand Up @@ -153,7 +153,8 @@ public enum IconType
Automatic,
Manual,
Store,
Hide
Hide,
Refresh
}

public static class IconTypeHelper
Expand All @@ -162,6 +163,8 @@ public static string ToIconString(this IconType type)
{
switch (type)
{
case IconType.Refresh:
return "mdi-refresh";
case IconType.Hide:
return "mdi-eye-off";
case IconType.Store:
Expand Down
2 changes: 0 additions & 2 deletions CnGalWebSite/CnGalWebSite.Server/Pages/_Layout.cshtml
Expand Up @@ -82,8 +82,6 @@
<link rel="stylesheet" href="https://app.cngal.org/_content/CnGalWebSite.Shared/css/bundle-css.min.css">
<link rel="stylesheet" href="https://app.cngal.org/_content/CnGalWebSite.Shared/css/cover-default.min.css">



<link rel="search" type="application/opensearchdescription+xml" target="_blank" class="external-link" href="https://app.cngal.org/_content/CnGalWebSite.Shared/OpenSearch.xml" title="CnGal资料站" />

<component type="typeof(HeadOutlet)" render-mode="ServerPrerendered" />
Expand Down
6 changes: 6 additions & 0 deletions CnGalWebSite/CnGalWebSite.Server/wwwroot/css/home.css
Expand Up @@ -17,6 +17,12 @@
padding: .5rem 0;
}

#home-page .card-title {
display: flex;
justify-content: space-between;
align-items: center;
}

/*字体*/
#home-page {
letter-spacing: .05rem;
Expand Down
Expand Up @@ -1594,6 +1594,12 @@ a .aspect-ratio + p > strong {
padding: .5rem 0;
}

#home-page .card-title {
display: flex;
justify-content: space-between;
align-items: center;
}

/*字体*/
#home-page {
letter-spacing: .05rem;
Expand Down

Large diffs are not rendered by default.

Expand Up @@ -5,8 +5,7 @@
@inject IPageModelCatche<List<LatestArticleItemModel>> _pageModelCatche

<section class="latest-articles-card">
<h2>最新文章</h2>
<CnGalWebSite.Shared.MasaComponent.PC.Home.Cards.Shared.SlideGroup Items="_items.Take(_dataCacheService.IsApp?9:12)" MoreLink="/articles">
<CnGalWebSite.Shared.MasaComponent.PC.Home.Cards.Shared.SlideGroup Title="最新文章" Items="_items.Take(_dataCacheService.IsApp?9:12)" MoreLink="/articles">
<a class="item" href="@context.Url">
<img class="image" src="@context.Image" alt="@context.Name" />
<div class="head">
Expand Down
Expand Up @@ -5,8 +5,7 @@
@inject IPageModelCatche<List<LatestVideoItemModel>> _pageModelCatche

<section class="latest-videoes-card">
<h2>最新视频</h2>
<CnGalWebSite.Shared.MasaComponent.PC.Home.Cards.Shared.SlideGroup Items="_items.Take(_dataCacheService.IsApp?2:4)" MoreLink="/search/?Types=Video">
<CnGalWebSite.Shared.MasaComponent.PC.Home.Cards.Shared.SlideGroup Title="最新视频" Items="_items.Take(_dataCacheService.IsApp?2:4)" MoreLink="/search/?Types=Video">
<div class="group">
@foreach (var item in context)
{
Expand Down
Expand Up @@ -5,8 +5,7 @@
@inject IPageModelCatche< List < PublishedGameItemModel> > _pageModelCatche

<section class="published-games-card">
<h2>近期新作</h2>
<CnGalWebSite.Shared.MasaComponent.PC.Home.Cards.Shared.SlideGroup Items="_items.Take(_dataCacheService.IsApp?9:16)" MoreLink="/times">
<CnGalWebSite.Shared.MasaComponent.PC.Home.Cards.Shared.SlideGroup Title="近期新作" Items="_items.Take(_dataCacheService.IsApp?9:16)" MoreLink="/times">
<a class="item" href="@context.Url">
<img src="@context.Image" alt="@context.Name" />
<div class="content">
Expand Down
Expand Up @@ -5,8 +5,7 @@
@inject IPageModelCatche<List<HotRecommendItemModel>> _pageModelCatche

<section class="published-games-card">
<h2>随机推荐</h2>
<CnGalWebSite.Shared.MasaComponent.PC.Home.Cards.Shared.SlideGroup Items="_items.Take(_dataCacheService.IsApp?9:16)">
<CnGalWebSite.Shared.MasaComponent.PC.Home.Cards.Shared.SlideGroup Title="随机推荐" MoreText="换一批" MoreIcon="IconType.Refresh" ForceShowMore OnClickMore="OnClickMore" Items="_items.Take(_dataCacheService.IsApp?9:16)">
<a class="item" href="@context.Url">
<img src="@context.Image" alt="@context.Name" />
<div class="content">
Expand Down Expand Up @@ -44,4 +43,18 @@
}
}


public async Task OnClickMore()
{
try
{
_pageModelCatche.Clean("api/home/ListHotRecommends");
_items = await _pageModelCatche.GetCache("api/home/ListHotRecommends");
StateHasChanged();
}
catch (Exception ex)
{
ErrorHandler.ProcessError(ex, "获取主页游戏精选列表失败");
}
}
}
Expand Up @@ -5,8 +5,7 @@
@inject IPageModelCatche<List<UpcomingGameItemModel>> _pageModelCatche

<section class="upcoming-games-card">
<h2>即将发布</h2>
<CnGalWebSite.Shared.MasaComponent.PC.Home.Cards.Shared.SlideGroup Items="_items.Take(_dataCacheService.IsApp?9:16)" MoreLink="/times">
<CnGalWebSite.Shared.MasaComponent.PC.Home.Cards.Shared.SlideGroup Title="即将发布" Items="_items.Take(_dataCacheService.IsApp?9:16)" MoreLink="/times">
<a class="item" href="@context.Url">
<img src="@context.Image" alt="@context.Name" />
<div class="content">
Expand Down
@@ -1,7 +1,34 @@
@typeparam TItem
@inject IDataCacheService _dataCacheService
@inject NavigationManager NavigationManager


@if (string.IsNullOrWhiteSpace(Title) == false)
{
<div class="card-title">
<h2>@Title</h2>
@if (string.IsNullOrWhiteSpace(MoreLink) == false|| ForceShowMore)
{
<div>
@if (_dataCacheService.IsApp)
{
<MButton XSmall Text Block Color="primary" OnClick="OnClick">
<MIcon Left>@MoreIcon.ToIconString()</MIcon>
@MoreText
</MButton>
}
else
{
<MButton Text Block Color="primary" OnClick="OnClick">
<MIcon Left>@MoreIcon.ToIconString()</MIcon>
@MoreText
</MButton>
}
</div>
}
</div>
}

@if (_dataCacheService.IsApp)
{
<div class="slide-group">
Expand All @@ -12,12 +39,12 @@
</div>

}
@if (string.IsNullOrWhiteSpace(MoreLink) == false)
@if (string.IsNullOrWhiteSpace(MoreLink) == false|| ForceShowMore)
{
<div class="slide-item">
<a class="item more-link" href="@MoreLink">
<MIcon Large>@IconType.SeeMore.ToIconString()</MIcon>
<div class="text">查看更多</div>
<a class="item more-link" @onclick="OnClick">
<MIcon Large>@((MoreIcon== IconType.SeeDetails? IconType.SeeMore : MoreIcon).ToIconString())</MIcon>
<div class="text">@MoreText</div>
</a>
</div>
}
Expand All @@ -34,12 +61,12 @@ else

}

@if (string.IsNullOrWhiteSpace(MoreLink) == false)
@if (string.IsNullOrWhiteSpace(MoreLink) == false|| ForceShowMore)
{
<MSlideItem>
<a class="item more-link" href="@MoreLink">
<MIcon Large>@IconType.SeeMore.ToIconString()</MIcon>
<div class="text">查看更多</div>
<a class="item more-link" @onclick="OnClick">
<MIcon Large>@((MoreIcon== IconType.SeeDetails? IconType.SeeMore : MoreIcon).ToIconString())</MIcon>
<div class="text">@MoreText</div>
</a>
</MSlideItem>
}
Expand All @@ -52,7 +79,30 @@ else
public RenderFragment<TItem> ChildContent { get; set; }
[Parameter]
public IEnumerable<TItem> Items { get; set; }
[Parameter]
public EventCallback OnClickMore { get; set; }

[Parameter]
public string MoreLink { get; set; }
[Parameter]
public IconType MoreIcon { get; set; } = IconType.SeeDetails;
[Parameter]
public bool ForceShowMore { get; set; }
[Parameter]
public string MoreText { get; set; } = "查看更多";
[Parameter]
public string Title { get; set; }


public async Task OnClick()
{
if (string.IsNullOrWhiteSpace(MoreLink))
{
await OnClickMore.InvokeAsync();
}
else
{
NavigationManager.NavigateTo(MoreLink);
}
}
}
Expand Up @@ -5,8 +5,7 @@
@inject IPageModelCatche<List<DiscountGameItemModel>> _pageModelCatche

<section class="discount-games-card">
<h2>折扣中的游戏</h2>
<CnGalWebSite.Shared.MasaComponent.PC.Home.Cards.Shared.SlideGroup Items="_items.Take(_dataCacheService.IsApp?9:16)" MoreLink="/discount">
<CnGalWebSite.Shared.MasaComponent.PC.Home.Cards.Shared.SlideGroup Title="折扣中的游戏" Items="_items.Take(_dataCacheService.IsApp?9:16)" MoreLink="/discount">
<a class="item" href="@context.Url">
<img src="@context.Image" alt="@context.Name" />
<div class="content">
Expand Down
Expand Up @@ -5,8 +5,7 @@
@inject IPageModelCatche<List<PublishedGameItemModel>> _pageModelCatche

<section class="free-games-card">
<h2>免费游玩</h2>
<CnGalWebSite.Shared.MasaComponent.PC.Home.Cards.Shared.SlideGroup Items="_items.Take(_dataCacheService.IsApp?9:16)" MoreLink="/free">
<CnGalWebSite.Shared.MasaComponent.PC.Home.Cards.Shared.SlideGroup Title="免费游玩" Items="_items.Take(_dataCacheService.IsApp?9:16)" MoreLink="/free">
<a class="item" href="@context.Url">
<img src="@context.Image" alt="@context.Name" />
<div class="content">
Expand Down

0 comments on commit 19a3485

Please sign in to comment.