59 changed files with 4134 additions and 25 deletions
@ -0,0 +1,11 @@ |
|||
<Router AppAssembly="@typeof(Program).Assembly"> |
|||
<Found Context="routeData"> |
|||
<RouteView RouteData="@routeData" DefaultLayout="@typeof(BasicLayout)" /> |
|||
</Found> |
|||
<NotFound> |
|||
<LayoutView Layout="@typeof(BasicLayout)"> |
|||
<p>Sorry, there's nothing at this address.</p> |
|||
</LayoutView> |
|||
</NotFound> |
|||
</Router> |
|||
<AntContainer /> |
|||
@ -1,8 +0,0 @@ |
|||
using System; |
|||
|
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme |
|||
{ |
|||
public class Class1 |
|||
{ |
|||
} |
|||
} |
|||
@ -1,7 +1,30 @@ |
|||
<Project Sdk="Microsoft.NET.Sdk"> |
|||
<Project Sdk="Microsoft.NET.Sdk.Razor"> |
|||
|
|||
<PropertyGroup> |
|||
<TargetFramework>net5.0</TargetFramework> |
|||
</PropertyGroup> |
|||
<PropertyGroup> |
|||
<TargetFramework>net5.0</TargetFramework> |
|||
</PropertyGroup> |
|||
|
|||
<ItemGroup> |
|||
<None Include="wwwroot\assets\403.svg" /> |
|||
<None Include="wwwroot\assets\logo.svg" /> |
|||
</ItemGroup> |
|||
|
|||
|
|||
<ItemGroup> |
|||
<SupportedPlatform Include="browser" /> |
|||
</ItemGroup> |
|||
|
|||
<ItemGroup> |
|||
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="5.0.12" /> |
|||
</ItemGroup> |
|||
|
|||
<ItemGroup> |
|||
<PackageReference Include="AntDesign.Charts" Version="0.2.1" /> |
|||
<PackageReference Include="AntDesign.ProLayout" Version="0.1.0" /> |
|||
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="5.0.0" /> |
|||
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="5.0.0" PrivateAssets="all" /> |
|||
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="5.0.0" /> |
|||
<PackageReference Include="System.Net.Http.Json" Version="5.0.0" /> |
|||
</ItemGroup> |
|||
|
|||
</Project> |
|||
|
|||
@ -0,0 +1,3 @@ |
|||
<div class="my-component"> |
|||
This Blazor component is defined in the <strong>CompanyName.ProjectName.Blazor.Layout.AntDesignTheme</strong> package. |
|||
</div> |
|||
@ -0,0 +1,6 @@ |
|||
.my-component { |
|||
border: 2px dashed red; |
|||
padding: 1em; |
|||
margin: 1em 0; |
|||
background-image: url('background.png'); |
|||
} |
|||
@ -0,0 +1,52 @@ |
|||
@namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Components.GlobalHeader |
|||
@inherits AntDomComponentBase |
|||
|
|||
<Space Class="@ClassMapper.Class" Size="@("24")"> |
|||
<SpaceItem> |
|||
<HeaderSearch Class="action search" |
|||
Placeholder="Site Search" |
|||
DefaultValue="umi ui" |
|||
Options="DefaultOptions" /> |
|||
</SpaceItem> |
|||
<SpaceItem> |
|||
<AntDesign.Tooltip Title="@("Help")" Placement="@PlacementType.Bottom"> |
|||
<Unbound> |
|||
<span @ref="@context.Current" class="action"> |
|||
<Icon Type="question-circle" Theme="outline" /> |
|||
</span> |
|||
</Unbound> |
|||
</AntDesign.Tooltip> |
|||
</SpaceItem> |
|||
<SpaceItem> |
|||
<NoticeIcon ClearText="Empty" |
|||
ViewMoreText="see more" |
|||
Count="_count" |
|||
OnClear="HandleClear" |
|||
OnViewMore="HandleViewMore"> |
|||
<NoticeList TabKey="notification" |
|||
Title="Notifications" |
|||
EmptyText="You have viewed all notifications" |
|||
ShowViewMore |
|||
Data="_notifications" /> |
|||
<NoticeList TabKey="message" |
|||
Title="Messages" |
|||
EmptyText="You have read all messages" |
|||
ShowViewMore |
|||
Data="_messages" /> |
|||
<NoticeList TabKey="event" |
|||
Title="Upcoming" |
|||
EmptyText="You have completed all to do" |
|||
ShowViewMore |
|||
Data="_events" /> |
|||
</NoticeIcon> |
|||
</SpaceItem> |
|||
<SpaceItem> |
|||
<AvatarDropdown Name="@_currentUser.Name" |
|||
Avatar="@_currentUser.Avatar" |
|||
MenuItems="@AvatarMenuItems" |
|||
OnItemSelected="HandleSelectUser" /> |
|||
</SpaceItem> |
|||
<SpaceItem> |
|||
<SelectLang OnItemSelected="HandleSelectLang" /> |
|||
</SpaceItem> |
|||
</Space> |
|||
@ -0,0 +1,116 @@ |
|||
using AntDesign; |
|||
using AntDesign.ProLayout; |
|||
using CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Models; |
|||
using CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Services; |
|||
using Microsoft.AspNetCore.Components; |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Components.GlobalHeader |
|||
{ |
|||
public partial class RightContent |
|||
{ |
|||
private CurrentUser _currentUser = new CurrentUser(); |
|||
private NoticeIconData[] _notifications = { }; |
|||
private NoticeIconData[] _messages = { }; |
|||
private NoticeIconData[] _events = { }; |
|||
private int _count = 0; |
|||
|
|||
private List<AutoCompleteDataItem<string>> DefaultOptions { get; set; } = new List<AutoCompleteDataItem<string>> |
|||
{ |
|||
new AutoCompleteDataItem<string> |
|||
{ |
|||
Label = "umi ui", |
|||
Value = "umi ui" |
|||
}, |
|||
new AutoCompleteDataItem<string> |
|||
{ |
|||
Label = "Pro Table", |
|||
Value = "Pro Table" |
|||
}, |
|||
new AutoCompleteDataItem<string> |
|||
{ |
|||
Label = "Pro Layout", |
|||
Value = "Pro Layout" |
|||
} |
|||
}; |
|||
|
|||
public AvatarMenuItem[] AvatarMenuItems { get; set; } = new AvatarMenuItem[] |
|||
{ |
|||
new() { Key = "center", IconType = "user", Option = "个人中心"}, |
|||
new() { Key = "setting", IconType = "setting", Option = "个人设置"}, |
|||
new() { IsDivider = true }, |
|||
new() { Key = "logout", IconType = "logout", Option = "退出登录"} |
|||
}; |
|||
|
|||
[Inject] protected NavigationManager NavigationManager { get; set; } |
|||
|
|||
[Inject] protected IUserService UserService { get; set; } |
|||
[Inject] protected IProjectService ProjectService { get; set; } |
|||
[Inject] protected MessageService MessageService { get; set; } |
|||
|
|||
protected override async Task OnInitializedAsync() |
|||
{ |
|||
await base.OnInitializedAsync(); |
|||
SetClassMap(); |
|||
_currentUser = await UserService.GetCurrentUserAsync(); |
|||
var notices = await ProjectService.GetNoticesAsync(); |
|||
_notifications = notices.Where(x => x.Type == "notification").Cast<NoticeIconData>().ToArray(); |
|||
_messages = notices.Where(x => x.Type == "message").Cast<NoticeIconData>().ToArray(); |
|||
_events = notices.Where(x => x.Type == "event").Cast<NoticeIconData>().ToArray(); |
|||
_count = notices.Length; |
|||
} |
|||
|
|||
protected void SetClassMap() |
|||
{ |
|||
ClassMapper |
|||
.Clear() |
|||
.Add("right"); |
|||
} |
|||
|
|||
public void HandleSelectUser(MenuItem item) |
|||
{ |
|||
switch (item.Key) |
|||
{ |
|||
case "center": |
|||
NavigationManager.NavigateTo("/account/center"); |
|||
break; |
|||
case "setting": |
|||
NavigationManager.NavigateTo("/account/settings"); |
|||
break; |
|||
case "logout": |
|||
NavigationManager.NavigateTo("/user/login"); |
|||
break; |
|||
} |
|||
} |
|||
|
|||
public void HandleSelectLang(MenuItem item) |
|||
{ |
|||
} |
|||
|
|||
public async Task HandleClear(string key) |
|||
{ |
|||
switch (key) |
|||
{ |
|||
case "notification": |
|||
_notifications = new NoticeIconData[] { }; |
|||
break; |
|||
case "message": |
|||
_messages = new NoticeIconData[] { }; |
|||
break; |
|||
case "event": |
|||
_events = new NoticeIconData[] { }; |
|||
break; |
|||
} |
|||
await MessageService.Success($"清空了{key}"); |
|||
} |
|||
|
|||
public async Task HandleViewMore(string key) |
|||
{ |
|||
await MessageService.Info("Click on view more"); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,39 @@ |
|||
using Microsoft.JSInterop; |
|||
using System; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme |
|||
{ |
|||
// This class provides an example of how JavaScript functionality can be wrapped
|
|||
// in a .NET class for easy consumption. The associated JavaScript module is
|
|||
// loaded on demand when first needed.
|
|||
//
|
|||
// This class can be registered as scoped DI service and then injected into Blazor
|
|||
// components for use.
|
|||
|
|||
public class ExampleJsInterop : IAsyncDisposable |
|||
{ |
|||
private readonly Lazy<Task<IJSObjectReference>> moduleTask; |
|||
|
|||
public ExampleJsInterop(IJSRuntime jsRuntime) |
|||
{ |
|||
moduleTask = new(() => jsRuntime.InvokeAsync<IJSObjectReference>( |
|||
"import", "./_content/CompanyName.ProjectName.Blazor.Layout.AntDesignTheme/exampleJsInterop.js").AsTask()); |
|||
} |
|||
|
|||
public async ValueTask<string> Prompt(string message) |
|||
{ |
|||
var module = await moduleTask.Value; |
|||
return await module.InvokeAsync<string>("showPrompt", message); |
|||
} |
|||
|
|||
public async ValueTask DisposeAsync() |
|||
{ |
|||
if (moduleTask.IsValueCreated) |
|||
{ |
|||
var module = await moduleTask.Value; |
|||
await module.DisposeAsync(); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,53 @@ |
|||
@namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme |
|||
@inherits LayoutComponentBase |
|||
|
|||
<AntDesign.ProLayout.BasicLayout Logo="@("https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg")" |
|||
MenuData="_menuData"> |
|||
<RightContentRender> |
|||
<ant_design_samples.Components.RightContent /> |
|||
</RightContentRender> |
|||
<ChildContent> |
|||
@Body |
|||
</ChildContent> |
|||
<FooterRender> |
|||
<FooterView Copyright="2021 Ant Design Blazor" Links="Links"></FooterView> |
|||
</FooterRender> |
|||
</AntDesign.ProLayout.BasicLayout> |
|||
<SettingDrawer /> |
|||
|
|||
@code |
|||
{private MenuDataItem[] _menuData = { }; |
|||
|
|||
[Inject] public HttpClient HttpClient { get; set; } |
|||
|
|||
protected override async Task OnInitializedAsync() |
|||
{ |
|||
await base.OnInitializedAsync(); |
|||
_menuData = await HttpClient.GetFromJsonAsync<MenuDataItem[]>("data/menu.json"); |
|||
} |
|||
|
|||
public LinkItem[] Links { get; set; } = |
|||
{ |
|||
new LinkItem |
|||
{ |
|||
Key = "Ant Design Blazor", |
|||
Title = "Ant Design Blazor", |
|||
Href = "https://antblazor.com", |
|||
BlankTarget = true, |
|||
}, |
|||
new LinkItem |
|||
{ |
|||
Key = "github", |
|||
Title = (RenderFragment)(@<Icon Type="github" />), |
|||
Href = "https://github.com/ant-design-blazor/ant-design-pro-blazor", |
|||
BlankTarget = true, |
|||
}, |
|||
new LinkItem |
|||
{ |
|||
Key = "Blazor", |
|||
Title = "Blazor", |
|||
Href = "https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor?WT.mc_id=DT-MVP-5003987", |
|||
BlankTarget = true, |
|||
} |
|||
}; |
|||
} |
|||
@ -0,0 +1,49 @@ |
|||
@namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme |
|||
@using OneOf |
|||
@inherits LayoutComponentBase |
|||
|
|||
<div class="container__b__0"> |
|||
<div class="lang"> |
|||
<!--todo: selectLang--> |
|||
</div> |
|||
<div class="content"> |
|||
<div class="top"> |
|||
<div class="header"> |
|||
<a> |
|||
<img alt="logo" class="logo" src="assets/logo.svg" /> |
|||
<span class="title">Ant Design</span> |
|||
</a> |
|||
</div> |
|||
<div class="desc">Ant Design Blazor</div> |
|||
</div> |
|||
@Body |
|||
</div> |
|||
<FooterView Copyright="2021 Ant Design Blazor" Links="Links"></FooterView> |
|||
</div> |
|||
|
|||
@code |
|||
{public LinkItem[] Links { get; set; } = |
|||
{ |
|||
new LinkItem |
|||
{ |
|||
Key = "Ant Design Blazor", |
|||
Title = "Ant Design Blazor", |
|||
Href = "https://antblazor.com", |
|||
BlankTarget = true, |
|||
}, |
|||
new LinkItem |
|||
{ |
|||
Key = "github", |
|||
Title = (RenderFragment)(@<Icon Type="github" />), |
|||
Href = "https://github.com/ant-design-blazor/ant-design-pro-blazor", |
|||
BlankTarget = true, |
|||
}, |
|||
new LinkItem |
|||
{ |
|||
Key = "Blazor", |
|||
Title = "Blazor", |
|||
Href = "https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor?WT.mc_id=DT-MVP-5003987", |
|||
BlankTarget = true, |
|||
} |
|||
}; |
|||
} |
|||
@ -0,0 +1,71 @@ |
|||
@import '~antd/es/style/themes/default.less'; |
|||
|
|||
.container__b__0 { |
|||
display: flex; |
|||
flex-direction: column; |
|||
height: 100vh; |
|||
overflow: auto; |
|||
background: @layout-body-background; |
|||
|
|||
.lang { |
|||
width: 100%; |
|||
height: 40px; |
|||
line-height: 44px; |
|||
text-align: right; |
|||
:global(.ant-dropdown-trigger) { |
|||
margin-right: 24px; |
|||
} |
|||
} |
|||
|
|||
.content { |
|||
flex: 1; |
|||
padding: 32px 0; |
|||
} |
|||
|
|||
.top { |
|||
text-align: center; |
|||
} |
|||
|
|||
.header { |
|||
height: 44px; |
|||
line-height: 44px; |
|||
a { |
|||
text-decoration: none; |
|||
} |
|||
} |
|||
|
|||
.logo { |
|||
height: 44px; |
|||
margin-right: 16px; |
|||
vertical-align: top; |
|||
} |
|||
|
|||
.title { |
|||
position: relative; |
|||
top: 2px; |
|||
color: @heading-color; |
|||
font-weight: 600; |
|||
font-size: 33px; |
|||
font-family: Avenir, 'Helvetica Neue', Arial, Helvetica, sans-serif; |
|||
} |
|||
|
|||
.desc { |
|||
margin-top: 12px; |
|||
margin-bottom: 40px; |
|||
color: @text-color-secondary; |
|||
font-size: @font-size-base; |
|||
} |
|||
} |
|||
|
|||
@media (min-width: @screen-md-min) { |
|||
.container__b__0 { |
|||
background-image: url('https://gw.alipayobjects.com/zos/rmsportal/TVYTbAXWheQpRcWDaDMu.svg'); |
|||
background-repeat: no-repeat; |
|||
background-position: center 110px; |
|||
background-size: 100%; |
|||
|
|||
.content { |
|||
padding: 32px 0 24px; |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,18 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Models |
|||
{ |
|||
public class ActivitiesType |
|||
{ |
|||
public string Id { get; set; } |
|||
public DateTime UpdatedAt { get; set; } |
|||
public ActivityUser User { get; set; } |
|||
public ActivityGroup Group { get; set; } |
|||
public ActivityProject Project { get; set; } |
|||
public string Template { get; set; } |
|||
} |
|||
} |
|||
@ -0,0 +1,14 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Models |
|||
{ |
|||
public class ActivityGroup |
|||
{ |
|||
public string Name { get; set; } |
|||
public string Link { get; set; } |
|||
} |
|||
} |
|||
@ -0,0 +1,14 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Models |
|||
{ |
|||
public class ActivityProject |
|||
{ |
|||
public string Name { get; set; } |
|||
public string Link { get; set; } |
|||
} |
|||
} |
|||
@ -0,0 +1,14 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Models |
|||
{ |
|||
public class ActivityUser |
|||
{ |
|||
public string Name { get; set; } |
|||
public string Avatar { get; set; } |
|||
} |
|||
} |
|||
@ -0,0 +1,22 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Models |
|||
{ |
|||
public class ChartData |
|||
{ |
|||
public ChartDataItem[] VisitData { get; set; } |
|||
public ChartDataItem[] VisitData2 { get; set; } |
|||
public ChartDataItem[] SalesData { get; set; } |
|||
public SearchDataItem[] SearchData { get; set; } |
|||
public OfflineDataItem[] OfflineData { get; set; } |
|||
public OfflineChartDataItem[] OfflineChartData { get; set; } |
|||
public ChartDataItem[] SalesTypeData { get; set; } |
|||
public ChartDataItem[] SalesTypeDataOnline { get; set; } |
|||
public ChartDataItem[] SalesTypeDataOffline { get; set; } |
|||
public RadarDataItem[] RadarData { get; set; } |
|||
} |
|||
} |
|||
@ -0,0 +1,14 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Models |
|||
{ |
|||
public class ChartDataItem |
|||
{ |
|||
public string X { get; set; } |
|||
public int Y { get; set; } |
|||
} |
|||
} |
|||
@ -0,0 +1,40 @@ |
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Models |
|||
{ |
|||
public class TagType |
|||
{ |
|||
public string Key { get; set; } |
|||
public string Label { get; set; } |
|||
} |
|||
|
|||
public class GeographicType |
|||
{ |
|||
public TagType Province { get; set; } |
|||
public TagType City { get; set; } |
|||
} |
|||
|
|||
public class CurrentUser |
|||
{ |
|||
public string Name { get; set; } |
|||
public string Avatar { get; set; } |
|||
public string Userid { get; set; } |
|||
public NoticeType[] Notice { get; set; } = { }; |
|||
public string Email { get; set; } |
|||
public string Signature { get; set; } |
|||
public string Title { get; set; } |
|||
public string Group { get; set; } |
|||
public TagType[] Tags { get; set; } = { }; |
|||
public int NotifyCount { get; set; } |
|||
public int UnreadCount { get; set; } |
|||
public string Country { get; set; } |
|||
public GeographicType Geographic { get; set; } |
|||
public string Address { get; set; } |
|||
public string Phone { get; set; } |
|||
} |
|||
|
|||
public class UserLiteItem |
|||
{ |
|||
public string Avater { get; set; } |
|||
public string Title { get; set; } |
|||
public string Description { get; set; } |
|||
} |
|||
} |
|||
@ -0,0 +1,46 @@ |
|||
using CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Utils; |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Text.Json.Serialization; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Models |
|||
{ |
|||
public class Member |
|||
{ |
|||
public string Avatar { get; set; } |
|||
public string Name { get; set; } |
|||
public string Id { get; set; } |
|||
} |
|||
|
|||
public class ListItemDataType |
|||
{ |
|||
public string Id { get; set; } |
|||
public string Owner { get; set; } |
|||
public string Title { get; set; } |
|||
public string Avatar { get; set; } |
|||
public string Cover { get; set; } |
|||
public string Status { get; set; } |
|||
public int Percent { get; set; } |
|||
public string Logo { get; set; } |
|||
public string Href { get; set; } |
|||
public string Body { get; set; } |
|||
public string SubDescription { get; set; } |
|||
public string Description { get; set; } |
|||
public int ActiveUser { get; set; } |
|||
public int NewUser { get; set; } |
|||
public int Star { get; set; } |
|||
public int Like { get; set; } |
|||
public int Message { get; set; } |
|||
public string Content { get; set; } |
|||
public Member[] Members { get; set; } |
|||
|
|||
[JsonConverter(typeof(LongToDateTimeConverter))] |
|||
public DateTime UpdatedAt { get; set; } |
|||
|
|||
[JsonConverter(typeof(LongToDateTimeConverter))] |
|||
public DateTime CreatedAt { get; set; } |
|||
} |
|||
} |
|||
@ -0,0 +1,19 @@ |
|||
using System.ComponentModel.DataAnnotations; |
|||
|
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Models |
|||
{ |
|||
public class LoginParamsType |
|||
{ |
|||
[Required] public string UserName { get; set; } |
|||
|
|||
[Required] public string Password { get; set; } |
|||
|
|||
public string Mobile { get; set; } |
|||
|
|||
public string Captcha { get; set; } |
|||
|
|||
public string LoginType { get; set; } |
|||
|
|||
public bool AutoLogin { get; set; } |
|||
} |
|||
} |
|||
@ -0,0 +1,16 @@ |
|||
using AntDesign.ProLayout; |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Models |
|||
{ |
|||
public class NoticeItem : NoticeIconData |
|||
{ |
|||
public string Id { get; set; } |
|||
public string Type { get; set; } |
|||
public string Status { get; set; } |
|||
} |
|||
} |
|||
@ -0,0 +1,20 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Models |
|||
{ |
|||
public class NoticeType |
|||
{ |
|||
public string Id { get; set; } |
|||
public string Title { get; set; } |
|||
public string Logo { get; set; } |
|||
public string Description { get; set; } |
|||
public string UpdatedAt { get; set; } |
|||
public string Member { get; set; } |
|||
public string Href { get; set; } |
|||
public string MemberLink { get; set; } |
|||
} |
|||
} |
|||
@ -0,0 +1,15 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Models |
|||
{ |
|||
public class OfflineChartDataItem |
|||
{ |
|||
public long X { get; set; } |
|||
public int Y1 { get; set; } |
|||
public int Y2 { get; set; } |
|||
} |
|||
} |
|||
@ -0,0 +1,14 @@ |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Models |
|||
{ |
|||
public class OfflineDataItem |
|||
{ |
|||
public string Name { get; set; } |
|||
public float Cvr { get; set; } |
|||
} |
|||
} |
|||
@ -0,0 +1,9 @@ |
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Models |
|||
{ |
|||
public class RadarDataItem |
|||
{ |
|||
public string Name { get; set; } |
|||
public string Label { get; set; } |
|||
public int Value { get; set; } |
|||
} |
|||
} |
|||
@ -0,0 +1,11 @@ |
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Models |
|||
{ |
|||
public class SearchDataItem |
|||
{ |
|||
public int Index { get; set; } |
|||
public string Keywod { get; set; } |
|||
public int Count { get; set; } |
|||
public int Range { get; set; } |
|||
public int Status { get; set; } |
|||
} |
|||
} |
|||
@ -0,0 +1,59 @@ |
|||
@namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Pages.Users.Login |
|||
@layout UserLayout |
|||
@page "/user/login" |
|||
|
|||
<div class="main__b__0"> |
|||
<div class="login"> |
|||
<Form Model="@_model" OnFinish="HandleSubmit"> |
|||
<Tabs ActiveKey="@context.LoginType"> |
|||
<TabPane Key="1" Tab="Account Login"> |
|||
<FormItem> |
|||
<AntDesign.Input Placeholder="Username: admin or user" Size="large" @bind-Value="@context.UserName"> |
|||
<Prefix><Icon Type="user" /></Prefix> |
|||
</AntDesign.Input> |
|||
</FormItem> |
|||
<FormItem> |
|||
<AntDesign.Input Placeholder="Password: ant.design" Size="large" @bind-Value="@context.Password" Type="password"> |
|||
<Prefix><Icon Type="lock" /></Prefix> |
|||
</AntDesign.Input> |
|||
</FormItem> |
|||
</TabPane> |
|||
<TabPane Key="2" Tab="Mobile Login"> |
|||
<FormItem> |
|||
<AntDesign.Input Placeholder="Phone Number" Size="large" @bind-Value="@context.Mobile"> |
|||
<Prefix><Icon Type="mobile" /></Prefix> |
|||
</AntDesign.Input> |
|||
</FormItem> |
|||
<FormItem> |
|||
<Row Gutter="8"> |
|||
<AntDesign.Col Span="16"> |
|||
<AntDesign.Input Placeholder="Verification code" Size="large" @bind-Value="@context.Captcha"> |
|||
<Prefix><Icon Type="mail" /></Prefix> |
|||
</AntDesign.Input> |
|||
</AntDesign.Col> |
|||
<AntDesign.Col Span="8"> |
|||
<Button Size="large" Block OnClick="GetCaptcha">Verify</Button> |
|||
</AntDesign.Col> |
|||
</Row> |
|||
</FormItem> |
|||
</TabPane> |
|||
</Tabs> |
|||
<div> |
|||
<Checkbox Checked="@context.AutoLogin"> |
|||
Auto Login |
|||
</Checkbox> |
|||
<a style="float: right;"> |
|||
Forgot Password |
|||
</a> |
|||
</div> |
|||
<Button Type="primary" HtmlType="submit" Class="submit" Size="large" Block>Log in </Button> |
|||
<div class="other"> |
|||
Other Login Methods |
|||
<Icon Type="alipay-circle" /> |
|||
<Icon Type="taobao-circle" /> |
|||
<Icon Type="weibo-circle" /> |
|||
<a class="register" href="/user/register">Register Account</a> |
|||
</div> |
|||
</Form> |
|||
</div> |
|||
</div> |
|||
@ -0,0 +1,36 @@ |
|||
using AntDesign; |
|||
using CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Models; |
|||
using CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Services; |
|||
using Microsoft.AspNetCore.Components; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Pages.Users.Login |
|||
{ |
|||
public partial class Login |
|||
{ |
|||
private readonly LoginParamsType _model = new LoginParamsType(); |
|||
|
|||
[Inject] public NavigationManager NavigationManager { get; set; } |
|||
|
|||
[Inject] public IAccountService AccountService { get; set; } |
|||
|
|||
[Inject] public MessageService Message { get; set; } |
|||
|
|||
public void HandleSubmit() |
|||
{ |
|||
if (_model.UserName == "admin" && _model.Password == "ant.design") |
|||
{ |
|||
NavigationManager.NavigateTo("/"); |
|||
return; |
|||
} |
|||
|
|||
if (_model.UserName == "user" && _model.Password == "ant.design") NavigationManager.NavigateTo("/"); |
|||
} |
|||
|
|||
public async Task GetCaptcha() |
|||
{ |
|||
var captcha = await AccountService.GetCaptchaAsync(_model.Mobile); |
|||
await Message.Success($"Verification code validated successfully! The verification code is: {captcha}"); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,62 @@ |
|||
@import '~antd/es/style/themes/default.less'; |
|||
|
|||
/*此处为了解决样式冲突, 在pro样式的基础上包了一层main, 原始样式从.login开始*/ |
|||
.main__b__0 { |
|||
width: 368px; |
|||
margin: 0 auto; |
|||
@media screen and (max-width: @screen-sm) { |
|||
width: 95%; |
|||
} |
|||
|
|||
.login { |
|||
:global { |
|||
.ant-tabs .ant-tabs-bar { |
|||
margin-bottom: 24px; |
|||
text-align: center; |
|||
border-bottom: 0; |
|||
} |
|||
} |
|||
|
|||
.getCaptcha { |
|||
display: block; |
|||
width: 100%; |
|||
} |
|||
|
|||
.icon { |
|||
color: @primary-color; |
|||
} |
|||
|
|||
.other { |
|||
margin-top: 24px; |
|||
line-height: 22px; |
|||
text-align: left; |
|||
|
|||
.icon { |
|||
margin-left: 16px; |
|||
color: @text-color-secondary; |
|||
font-size: 24px; |
|||
vertical-align: middle; |
|||
cursor: pointer; |
|||
transition: color 0.3s; |
|||
|
|||
&:hover { |
|||
color: @primary-color; |
|||
} |
|||
} |
|||
|
|||
.register { |
|||
float: right; |
|||
} |
|||
} |
|||
|
|||
.prefixIcon { |
|||
color: @disabled-color; |
|||
font-size: @font-size-base; |
|||
} |
|||
|
|||
.submit { |
|||
width: 100%; |
|||
margin-top: 24px; |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,9 @@ |
|||
@page "/dashboard" |
|||
|
|||
|
|||
<PageContainer Title="Welcome"> |
|||
<Card> |
|||
TODO |
|||
</Card> |
|||
|
|||
</PageContainer> |
|||
@ -0,0 +1,33 @@ |
|||
using AntDesign.ProLayout; |
|||
using CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Services; |
|||
using Microsoft.AspNetCore.Components.WebAssembly.Hosting; |
|||
using Microsoft.Extensions.DependencyInjection; |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Net.Http; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme |
|||
{ |
|||
public class Program |
|||
{ |
|||
public static async Task Main(string[] args) |
|||
{ |
|||
var builder = WebAssemblyHostBuilder.CreateDefault(args); |
|||
builder.RootComponents.Add<App>("#app"); |
|||
|
|||
builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) }); |
|||
builder.Services.AddAntDesign(); |
|||
builder.Services.Configure<ProSettings>(builder.Configuration.GetSection("ProSettings")); |
|||
builder.Services.AddScoped<IChartService, ChartService>(); |
|||
builder.Services.AddScoped<IProjectService, ProjectService>(); |
|||
builder.Services.AddScoped<IUserService, UserService>(); |
|||
builder.Services.AddScoped<IAccountService, AccountService>(); |
|||
//builder.Services.AddScoped<IProfileService, ProfileService>();
|
|||
|
|||
await builder.Build().RunAsync(); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,24 @@ |
|||
using CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Models; |
|||
using System; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Services |
|||
{ |
|||
|
|||
public class AccountService : IAccountService |
|||
{ |
|||
private readonly Random _random = new Random(); |
|||
|
|||
public Task LoginAsync(LoginParamsType model) |
|||
{ |
|||
// todo: login logic
|
|||
return Task.CompletedTask; |
|||
} |
|||
|
|||
public Task<string> GetCaptchaAsync(string modile) |
|||
{ |
|||
var captcha = _random.Next(0, 9999).ToString().PadLeft(4, '0'); |
|||
return Task.FromResult(captcha); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,46 @@ |
|||
using CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Models; |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Net.Http; |
|||
using System.Net.Http.Json; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Services |
|||
{ |
|||
public class ChartService : IChartService |
|||
{ |
|||
private readonly HttpClient _httpClient; |
|||
|
|||
public ChartService(HttpClient httpClient) |
|||
{ |
|||
_httpClient = httpClient; |
|||
} |
|||
|
|||
public async Task<ChartDataItem[]> GetVisitDataAsync() |
|||
{ |
|||
return (await GetChartDataAsync()).VisitData; |
|||
} |
|||
|
|||
public async Task<ChartDataItem[]> GetVisitData2Async() |
|||
{ |
|||
return (await GetChartDataAsync()).VisitData2; |
|||
} |
|||
|
|||
public async Task<ChartDataItem[]> GetSalesDataAsync() |
|||
{ |
|||
return (await GetChartDataAsync()).SalesData; |
|||
} |
|||
|
|||
public async Task<RadarDataItem[]> GetRadarDataAsync() |
|||
{ |
|||
return (await GetChartDataAsync()).RadarData; |
|||
} |
|||
|
|||
private async Task<ChartData> GetChartDataAsync() |
|||
{ |
|||
return await _httpClient.GetFromJsonAsync<ChartData>("data/fake_chart_data.json"); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,11 @@ |
|||
using CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Models; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Services |
|||
{ |
|||
public interface IAccountService |
|||
{ |
|||
Task LoginAsync(LoginParamsType model); |
|||
Task<string> GetCaptchaAsync(string modile); |
|||
} |
|||
} |
|||
@ -0,0 +1,13 @@ |
|||
using CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Models; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Services |
|||
{ |
|||
public interface IChartService |
|||
{ |
|||
Task<ChartDataItem[]> GetVisitDataAsync(); |
|||
Task<ChartDataItem[]> GetVisitData2Async(); |
|||
Task<ChartDataItem[]> GetSalesDataAsync(); |
|||
Task<RadarDataItem[]> GetRadarDataAsync(); |
|||
} |
|||
} |
|||
@ -0,0 +1,17 @@ |
|||
using CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Models; |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Services |
|||
{ |
|||
public interface IProjectService |
|||
{ |
|||
Task<NoticeType[]> GetProjectNoticeAsync(); |
|||
Task<ActivitiesType[]> GetActivitiesAsync(); |
|||
Task<ListItemDataType[]> GetFakeListAsync(int count = 0); |
|||
Task<NoticeItem[]> GetNoticesAsync(); |
|||
} |
|||
} |
|||
@ -0,0 +1,14 @@ |
|||
using CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Models; |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Services |
|||
{ |
|||
public interface IUserService |
|||
{ |
|||
Task<CurrentUser> GetCurrentUserAsync(); |
|||
} |
|||
} |
|||
@ -0,0 +1,42 @@ |
|||
using CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Models; |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Net.Http; |
|||
using System.Net.Http.Json; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Services |
|||
{ |
|||
public class ProjectService : IProjectService |
|||
{ |
|||
private readonly HttpClient _httpClient; |
|||
|
|||
public ProjectService(HttpClient httpClient) |
|||
{ |
|||
_httpClient = httpClient; |
|||
} |
|||
|
|||
public async Task<NoticeType[]> GetProjectNoticeAsync() |
|||
{ |
|||
return await _httpClient.GetFromJsonAsync<NoticeType[]>("data/notice.json"); |
|||
} |
|||
|
|||
public async Task<NoticeItem[]> GetNoticesAsync() |
|||
{ |
|||
return await _httpClient.GetFromJsonAsync<NoticeItem[]>("data/notices.json"); |
|||
} |
|||
|
|||
public async Task<ActivitiesType[]> GetActivitiesAsync() |
|||
{ |
|||
return await _httpClient.GetFromJsonAsync<ActivitiesType[]>("data/activities.json"); |
|||
} |
|||
|
|||
public async Task<ListItemDataType[]> GetFakeListAsync(int count = 0) |
|||
{ |
|||
var data = await _httpClient.GetFromJsonAsync<ListItemDataType[]>("data/fake_list.json"); |
|||
return count > 0 ? data.Take(count).ToArray() : data; |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,26 @@ |
|||
using CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Models; |
|||
using System; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Net.Http; |
|||
using System.Net.Http.Json; |
|||
using System.Text; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Services |
|||
{ |
|||
public class UserService : IUserService |
|||
{ |
|||
private readonly HttpClient _httpClient; |
|||
|
|||
public UserService(HttpClient httpClient) |
|||
{ |
|||
_httpClient = httpClient; |
|||
} |
|||
|
|||
public async Task<CurrentUser> GetCurrentUserAsync() |
|||
{ |
|||
return await _httpClient.GetFromJsonAsync<CurrentUser>("data/current_user.json"); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,58 @@ |
|||
@import '~antd/es/style/themes/default.less'; |
|||
|
|||
html, |
|||
body, |
|||
#root, |
|||
#app, |
|||
app { |
|||
height: 100%; |
|||
} |
|||
|
|||
.colorWeak { |
|||
filter: invert(80%); |
|||
} |
|||
|
|||
.ant-layout { |
|||
min-height: 100vh; |
|||
} |
|||
|
|||
canvas { |
|||
display: block; |
|||
} |
|||
|
|||
body { |
|||
text-rendering: optimizeLegibility; |
|||
-webkit-font-smoothing: antialiased; |
|||
-moz-osx-font-smoothing: grayscale; |
|||
} |
|||
|
|||
ul, |
|||
ol { |
|||
list-style: none; |
|||
} |
|||
|
|||
@media (max-width: @screen-xs) { |
|||
.ant-table { |
|||
width: 100%; |
|||
overflow-x: auto; |
|||
|
|||
&-thead > tr, |
|||
&-tbody > tr { |
|||
> th, |
|||
> td { |
|||
white-space: pre; |
|||
|
|||
> span { |
|||
display: block; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
// 兼容IE11 |
|||
@media screen and(-ms-high-contrast: active), (-ms-high-contrast: none) { |
|||
body .ant-design-pro > .ant-layout { |
|||
min-height: 100vh; |
|||
} |
|||
} |
|||
@ -0,0 +1,28 @@ |
|||
using System; |
|||
using System.Buffers.Text; |
|||
using System.Collections.Generic; |
|||
using System.Linq; |
|||
using System.Text; |
|||
using System.Text.Json; |
|||
using System.Text.Json.Serialization; |
|||
using System.Threading.Tasks; |
|||
|
|||
namespace CompanyName.ProjectName.Blazor.Layout.AntDesignTheme.Utils |
|||
{ |
|||
public class LongToDateTimeConverter : JsonConverter<DateTime> |
|||
{ |
|||
public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options) |
|||
{ |
|||
if (Utf8Parser.TryParse(reader.ValueSpan, out long value, out _)) |
|||
return DateTime.UnixEpoch.AddMilliseconds(value); |
|||
|
|||
throw new FormatException(); |
|||
} |
|||
|
|||
public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options) |
|||
{ |
|||
writer.WriteStringValue( |
|||
JsonEncodedText.Encode(((long)(value - DateTime.UnixEpoch).TotalMilliseconds).ToString())); |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,10 @@ |
|||
@using AntDesign |
|||
@using AntDesign.Charts |
|||
@using AntDesign.ProLayout |
|||
@using System.Net.Http |
|||
@using System.Net.Http.Json |
|||
@using Microsoft.AspNetCore.Components.Forms |
|||
@using Microsoft.AspNetCore.Components.Routing |
|||
@using Microsoft.AspNetCore.Components.Web |
|||
@using Microsoft.AspNetCore.Components.WebAssembly.Http |
|||
@using Microsoft.JSInterop |
|||
@ -0,0 +1,18 @@ |
|||
{ |
|||
"ProSettings": { |
|||
"NavTheme": "dark", |
|||
"Layout": "side", |
|||
"ContentWidth": "Fluid", |
|||
"FixedHeader": false, |
|||
"FixSiderbar": true, |
|||
"Title": "Ant Design Pro", |
|||
"PrimaryColor": "daybreak", |
|||
"ColorWeak": false, |
|||
"SplitMenus": false, |
|||
"HeaderRender": true, |
|||
"FooterRender": true, |
|||
"MenuRender": true, |
|||
"MenuHeaderRender": true, |
|||
"HeaderHeight": 48 |
|||
} |
|||
} |
|||
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
File diff suppressed because one or more lines are too long
@ -0,0 +1,100 @@ |
|||
[ |
|||
{ |
|||
"id": "trend-1", |
|||
"updatedAt": "2020-08-26T10:21:19.719Z", |
|||
"user": { |
|||
"name": "Qu Lili", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png" |
|||
}, |
|||
"group": { |
|||
"name": "Highly Compelling Design Team", |
|||
"link": "http://github.com/" |
|||
}, |
|||
"project": { |
|||
"name": "June Version", |
|||
"link": "http://github.com/" |
|||
}, |
|||
"template": "created a new project in @{group} @{project}" |
|||
}, |
|||
{ |
|||
"id": "trend-2", |
|||
"updatedAt": "2020-08-26T10:21:19.719Z", |
|||
"user": { |
|||
"name": "Fu Xiaoxiao", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/cnrhVkzwxjPwAaCfPbdc.png" |
|||
}, |
|||
"group": { |
|||
"name": "Highly Compelling Design Team", |
|||
"link": "http://github.com/" |
|||
}, |
|||
"project": { |
|||
"name": "June Version", |
|||
"link": "http://github.com/" |
|||
}, |
|||
"template": "created a new project in @{group} @{project}" |
|||
}, |
|||
{ |
|||
"id": "trend-3", |
|||
"updatedAt": "2020-08-26T10:21:19.719Z", |
|||
"user": { |
|||
"name": "Lin Dongdong", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/gaOngJwsRYRaVAuXXcmB.png" |
|||
}, |
|||
"group": { |
|||
"name": "Second Girls Group", |
|||
"link": "http://github.com/" |
|||
}, |
|||
"project": { |
|||
"name": "June Version", |
|||
"link": "http://github.com/" |
|||
}, |
|||
"template": "created a new project in @{group} @{project}" |
|||
}, |
|||
{ |
|||
"id": "trend-4", |
|||
"updatedAt": "2020-08-26T10:21:19.719Z", |
|||
"user": { |
|||
"name": "Zhou Xingxing", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/WhxKECPNujWoWEFNdnJE.png" |
|||
}, |
|||
"project": { |
|||
"name": "Daily iteration in May", |
|||
"link": "http://github.com/" |
|||
}, |
|||
"template": "updated @{project} to the published state" |
|||
}, |
|||
{ |
|||
"id": "trend-5", |
|||
"updatedAt": "2020-08-26T10:21:19.719Z", |
|||
"user": { |
|||
"name": "Zhu", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ubnKSIfAJTxIgXOKlciN.png" |
|||
}, |
|||
"project": { |
|||
"name": "Engineering Efficiency", |
|||
"link": "http://github.com/" |
|||
}, |
|||
"comment": { |
|||
"name": "Leave a message", |
|||
"link": "http://github.com/" |
|||
}, |
|||
"template": "posted a @{comment} on @{project}" |
|||
}, |
|||
{ |
|||
"id": "trend-6", |
|||
"updatedAt": "2020-08-26T10:21:19.719Z", |
|||
"user": { |
|||
"name": "Le Brother", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/jZUIxmJycoymBprLOUbT.png" |
|||
}, |
|||
"group": { |
|||
"name": "Programmers Daily", |
|||
"link": "http://github.com/" |
|||
}, |
|||
"project": { |
|||
"name": "Brand Iteration", |
|||
"link": "http://github.com/" |
|||
}, |
|||
"template": "created a new project in @{group} @{project}" |
|||
} |
|||
] |
|||
@ -0,0 +1,64 @@ |
|||
{ |
|||
"advancedOperation1": [ |
|||
{ |
|||
"key": "op1", |
|||
"type": "Ordering relationship takes effect", |
|||
"name": "Qu Lili", |
|||
"status": "agree", |
|||
"updatedAt": "2017-10-03 19:23:12", |
|||
"memo": "-" |
|||
}, |
|||
{ |
|||
"key": "op2", |
|||
"type": "Financial Review", |
|||
"name": "Fu Xiaoxiao", |
|||
"status": "reject", |
|||
"updatedAt": "2017-10-03 19:23:12", |
|||
"memo": "Not passing the reason" |
|||
}, |
|||
{ |
|||
"key": "op3", |
|||
"type": "Departmental preliminary review", |
|||
"name": "Zhou Maomao", |
|||
"status": "agree", |
|||
"updatedAt": "2017-10-03 19:23:12", |
|||
"memo": "-" |
|||
}, |
|||
{ |
|||
"key": "op4", |
|||
"type": "Submit Order", |
|||
"name": "Lin Dongdong", |
|||
"status": "agree", |
|||
"updatedAt": "2017-10-03 19:23:12", |
|||
"memo": "很棒" |
|||
}, |
|||
{ |
|||
"key": "op5", |
|||
"type": "Create Order", |
|||
"name": "Sweaty", |
|||
"status": "agree", |
|||
"updatedAt": "2017-10-03 19:23:12", |
|||
"memo": "-" |
|||
} |
|||
], |
|||
"advancedOperation2": [ |
|||
{ |
|||
"key": "op1", |
|||
"type": "Order relationship takes effect", |
|||
"name": "Qu Lili", |
|||
"status": "agree", |
|||
"updatedAt": "2017-10-03 19:23:12", |
|||
"memo": "-" |
|||
} |
|||
], |
|||
"advancedOperation3": [ |
|||
{ |
|||
"key": "op1", |
|||
"type": "Create Order", |
|||
"name": "Sweat tooth", |
|||
"status": "agree", |
|||
"updatedAt": "2017-10-03 19:23:12", |
|||
"memo": "-" |
|||
} |
|||
] |
|||
} |
|||
@ -0,0 +1,78 @@ |
|||
{ |
|||
"basicGoods": [ |
|||
{ |
|||
"id": "1234561", |
|||
"name": "Mineral Water 550ml", |
|||
"barcode": "12421432143214321", |
|||
"price": "2.00", |
|||
"num": "1", |
|||
"amount": "2.00" |
|||
}, |
|||
{ |
|||
"id": "1234562", |
|||
"name": "Herbal tea 300ml", |
|||
"barcode": "12421432143214322", |
|||
"price": "3.00", |
|||
"num": "2", |
|||
"amount": "6.00" |
|||
}, |
|||
{ |
|||
"id": "1234563", |
|||
"name": "Delicious potato chips", |
|||
"barcode": "12421432143214323", |
|||
"price": "7.00", |
|||
"num": "4", |
|||
"amount": "28.00" |
|||
}, |
|||
{ |
|||
"id": "1234564", |
|||
"name": "Specially delicious egg rolls", |
|||
"barcode": "12421432143214324", |
|||
"price": "8.50", |
|||
"num": "3", |
|||
"amount": "25.50" |
|||
} |
|||
], |
|||
"basicProgress": [ |
|||
{ |
|||
"key": "1", |
|||
"time": "2017-10-01 14:10", |
|||
"rate": "Contact Clients", |
|||
"status": "Processing", |
|||
"operator": "Pickup Assistant ID1234", |
|||
"cost": "5mins" |
|||
}, |
|||
{ |
|||
"key": "2", |
|||
"time": "2017-10-01 14:05", |
|||
"rate": "Pickup Guy Departs", |
|||
"status": "Success", |
|||
"operator": "Pickup Assistant ID1234", |
|||
"cost": "1h" |
|||
}, |
|||
{ |
|||
"key": "3", |
|||
"time": "2017-10-01 13:05", |
|||
"rate": "Pick-up person takes orders", |
|||
"status": "Success", |
|||
"operator": "Pickup Assistant ID1234", |
|||
"cost": "5mins" |
|||
}, |
|||
{ |
|||
"key": "4", |
|||
"time": "2017-10-01 13:00", |
|||
"rate": "Apply For Approval", |
|||
"status": "Success", |
|||
"operator": "system", |
|||
"cost": "1h" |
|||
}, |
|||
{ |
|||
"key": "5", |
|||
"time": "2017-10-01 12:00", |
|||
"rate": "Initiated a Return Request", |
|||
"status": "Success", |
|||
"operator": "user", |
|||
"cost": "5mins" |
|||
} |
|||
] |
|||
} |
|||
@ -0,0 +1,50 @@ |
|||
{ |
|||
"name": "Serati Ma", |
|||
"avatar": "https://gw.alipayobjects.com/zos/antfincdn/XAosXuNZyF/BiazfanxmamNRoxxVxka.png", |
|||
"userid": "00000001", |
|||
"email": "antdesign@alipay.com", |
|||
"signature": "Be tolerant to diversity, tolerance is a virtue", |
|||
"title": "Interaction Expert", |
|||
"group": "Ant Financial Services-XX Business Group-XX Platform Department-XX Technology Department-UED", |
|||
"tags": [ |
|||
{ |
|||
"key": "0", |
|||
"label": "Very thoughtful" |
|||
}, |
|||
{ |
|||
"key": "1", |
|||
"label": "Focus on Design" |
|||
}, |
|||
{ |
|||
"key": "2", |
|||
"label": "Spicy ~" |
|||
}, |
|||
{ |
|||
"key": "3", |
|||
"label": "Long legs" |
|||
}, |
|||
{ |
|||
"key": "4", |
|||
"label": "Chuan Meizi" |
|||
}, |
|||
{ |
|||
"key": "5", |
|||
"label": "Have inclusive of all rivers" |
|||
} |
|||
], |
|||
"notifyCount": 12, |
|||
"unreadCount": 11, |
|||
"country": "China", |
|||
"geographic": { |
|||
"province": { |
|||
"label": "Zhejiang Province", |
|||
"key": "330000" |
|||
}, |
|||
"city": { |
|||
"label": "Hangzhou City", |
|||
"key": "330100" |
|||
} |
|||
}, |
|||
"address": "77 Gongzhuan Road, Xihu District", |
|||
"phone": "0752-268888888" |
|||
} |
|||
@ -0,0 +1,799 @@ |
|||
{ |
|||
"visitData": [ |
|||
{ |
|||
"x": "2020-08-25", |
|||
"y": 7 |
|||
}, |
|||
{ |
|||
"x": "2020-08-26", |
|||
"y": 5 |
|||
}, |
|||
{ |
|||
"x": "2020-08-27", |
|||
"y": 4 |
|||
}, |
|||
{ |
|||
"x": "2020-08-28", |
|||
"y": 2 |
|||
}, |
|||
{ |
|||
"x": "2020-08-29", |
|||
"y": 4 |
|||
}, |
|||
{ |
|||
"x": "2020-08-30", |
|||
"y": 7 |
|||
}, |
|||
{ |
|||
"x": "2020-08-31", |
|||
"y": 5 |
|||
}, |
|||
{ |
|||
"x": "2020-09-01", |
|||
"y": 6 |
|||
}, |
|||
{ |
|||
"x": "2020-09-02", |
|||
"y": 5 |
|||
}, |
|||
{ |
|||
"x": "2020-09-03", |
|||
"y": 9 |
|||
}, |
|||
{ |
|||
"x": "2020-09-04", |
|||
"y": 6 |
|||
}, |
|||
{ |
|||
"x": "2020-09-05", |
|||
"y": 3 |
|||
}, |
|||
{ |
|||
"x": "2020-09-06", |
|||
"y": 1 |
|||
}, |
|||
{ |
|||
"x": "2020-09-07", |
|||
"y": 5 |
|||
}, |
|||
{ |
|||
"x": "2020-09-08", |
|||
"y": 3 |
|||
}, |
|||
{ |
|||
"x": "2020-09-09", |
|||
"y": 6 |
|||
}, |
|||
{ |
|||
"x": "2020-09-10", |
|||
"y": 5 |
|||
} |
|||
], |
|||
"visitData2": [ |
|||
{ |
|||
"x": "2020-08-25", |
|||
"y": 1 |
|||
}, |
|||
{ |
|||
"x": "2020-08-26", |
|||
"y": 6 |
|||
}, |
|||
{ |
|||
"x": "2020-08-27", |
|||
"y": 4 |
|||
}, |
|||
{ |
|||
"x": "2020-08-28", |
|||
"y": 8 |
|||
}, |
|||
{ |
|||
"x": "2020-08-29", |
|||
"y": 3 |
|||
}, |
|||
{ |
|||
"x": "2020-08-30", |
|||
"y": 7 |
|||
}, |
|||
{ |
|||
"x": "2020-08-31", |
|||
"y": 2 |
|||
} |
|||
], |
|||
"salesData": [ |
|||
{ |
|||
"x": "January", |
|||
"y": 1003 |
|||
}, |
|||
{ |
|||
"x": "February", |
|||
"y": 878 |
|||
}, |
|||
{ |
|||
"x": "March", |
|||
"y": 408 |
|||
}, |
|||
{ |
|||
"x": "April", |
|||
"y": 426 |
|||
}, |
|||
{ |
|||
"x": "May", |
|||
"y": 357 |
|||
}, |
|||
{ |
|||
"x": "June", |
|||
"y": 1056 |
|||
}, |
|||
{ |
|||
"x": "July", |
|||
"y": 369 |
|||
}, |
|||
{ |
|||
"x": "August", |
|||
"y": 284 |
|||
}, |
|||
{ |
|||
"x": "September", |
|||
"y": 1173 |
|||
}, |
|||
{ |
|||
"x": "October", |
|||
"y": 639 |
|||
}, |
|||
{ |
|||
"x": "November", |
|||
"y": 1117 |
|||
}, |
|||
{ |
|||
"x": "December", |
|||
"y": 512 |
|||
} |
|||
], |
|||
"searchData": [ |
|||
{ |
|||
"index": 1, |
|||
"keyword": "Search Keyword-0", |
|||
"count": 190, |
|||
"range": 64, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 2, |
|||
"keyword": "Search Keyword-1", |
|||
"count": 347, |
|||
"range": 19, |
|||
"status": 0 |
|||
}, |
|||
{ |
|||
"index": 3, |
|||
"keyword": "Search Keyword-2", |
|||
"count": 314, |
|||
"range": 35, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 4, |
|||
"keyword": "Search Keyword-3", |
|||
"count": 81, |
|||
"range": 59, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 5, |
|||
"keyword": "Search Keyword-4", |
|||
"count": 235, |
|||
"range": 16, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 6, |
|||
"keyword": "Search Keyword-5", |
|||
"count": 834, |
|||
"range": 46, |
|||
"status": 0 |
|||
}, |
|||
{ |
|||
"index": 7, |
|||
"keyword": "Search Keyword-6", |
|||
"count": 806, |
|||
"range": 45, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 8, |
|||
"keyword": "Search Keywords-7", |
|||
"count": 116, |
|||
"range": 96, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 9, |
|||
"keyword": "Search Keyword-8", |
|||
"count": 355, |
|||
"range": 44, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 10, |
|||
"keyword": "Search keyword-9", |
|||
"count": 903, |
|||
"range": 91, |
|||
"status": 0 |
|||
}, |
|||
{ |
|||
"index": 11, |
|||
"keyword": "Search Keyword-10", |
|||
"count": 411, |
|||
"range": 64, |
|||
"status": 0 |
|||
}, |
|||
{ |
|||
"index": 12, |
|||
"keyword": "Search Keyword-11", |
|||
"count": 266, |
|||
"range": 15, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 13, |
|||
"keyword": "Search Keywords-12", |
|||
"count": 163, |
|||
"range": 59, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 14, |
|||
"keyword": "Search Keyword-13", |
|||
"count": 815, |
|||
"range": 30, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 15, |
|||
"keyword": "Search keyword-14", |
|||
"count": 130, |
|||
"range": 35, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 16, |
|||
"keyword": "Search Keyword-15", |
|||
"count": 342, |
|||
"range": 8, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 17, |
|||
"keyword": "Search Keyword-16", |
|||
"count": 970, |
|||
"range": 90, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 18, |
|||
"keyword": "Search Keyword-17", |
|||
"count": 613, |
|||
"range": 24, |
|||
"status": 0 |
|||
}, |
|||
{ |
|||
"index": 19, |
|||
"keyword": "Search Keyword-18", |
|||
"count": 807, |
|||
"range": 23, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 20, |
|||
"keyword": "Search Keyword-19", |
|||
"count": 480, |
|||
"range": 21, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 21, |
|||
"keyword": "Search Keyword-20", |
|||
"count": 57, |
|||
"range": 82, |
|||
"status": 0 |
|||
}, |
|||
{ |
|||
"index": 22, |
|||
"keyword": "Search Keyword-21", |
|||
"count": 513, |
|||
"range": 89, |
|||
"status": 0 |
|||
}, |
|||
{ |
|||
"index": 23, |
|||
"keyword": "Search Keyword-22", |
|||
"count": 733, |
|||
"range": 62, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 24, |
|||
"keyword": "Search Keyword-23", |
|||
"count": 887, |
|||
"range": 82, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 25, |
|||
"keyword": "Search Keyword-24", |
|||
"count": 668, |
|||
"range": 9, |
|||
"status": 0 |
|||
}, |
|||
{ |
|||
"index": 26, |
|||
"keyword": "Search Keyword-25", |
|||
"count": 398, |
|||
"range": 99, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 27, |
|||
"keyword": "Search Keyword-26", |
|||
"count": 73, |
|||
"range": 48, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 28, |
|||
"keyword": "Search Keyword-27", |
|||
"count": 63, |
|||
"range": 53, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 29, |
|||
"keyword": "Search Keywords-28", |
|||
"count": 23, |
|||
"range": 32, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 30, |
|||
"keyword": "Search Keywords-29", |
|||
"count": 650, |
|||
"range": 48, |
|||
"status": 0 |
|||
}, |
|||
{ |
|||
"index": 31, |
|||
"keyword": "Search Keyword-30", |
|||
"count": 752, |
|||
"range": 13, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 32, |
|||
"keyword": "Search Keyword-31", |
|||
"count": 571, |
|||
"range": 0, |
|||
"status": 0 |
|||
}, |
|||
{ |
|||
"index": 33, |
|||
"keyword": "Search Keyword-32", |
|||
"count": 778, |
|||
"range": 33, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 34, |
|||
"keyword": "Search Keyword-33", |
|||
"count": 537, |
|||
"range": 1, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 35, |
|||
"keyword": "Search keyword -34", |
|||
"count": 467, |
|||
"range": 17, |
|||
"status": 0 |
|||
}, |
|||
{ |
|||
"index": 36, |
|||
"keyword": "Search keyword -35", |
|||
"count": 106, |
|||
"range": 72, |
|||
"status": 0 |
|||
}, |
|||
{ |
|||
"index": 37, |
|||
"keyword": "Search keyword -36", |
|||
"count": 984, |
|||
"range": 67, |
|||
"status": 0 |
|||
}, |
|||
{ |
|||
"index": 38, |
|||
"keyword": "Search key word -37", |
|||
"count": 850, |
|||
"range": 7, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 39, |
|||
"keyword": "Search Keyword-38", |
|||
"count": 475, |
|||
"range": 46, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 40, |
|||
"keyword": "Search Keyword-39", |
|||
"count": 943, |
|||
"range": 38, |
|||
"status": 0 |
|||
}, |
|||
{ |
|||
"index": 41, |
|||
"keyword": "Search Keyword-40", |
|||
"count": 915, |
|||
"range": 37, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 42, |
|||
"keyword": "Search Keyword-41", |
|||
"count": 852, |
|||
"range": 67, |
|||
"status": 0 |
|||
}, |
|||
{ |
|||
"index": 43, |
|||
"keyword": "Search Keyword-42", |
|||
"count": 21, |
|||
"range": 29, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 44, |
|||
"keyword": "Search Keyword-43", |
|||
"count": 224, |
|||
"range": 25, |
|||
"status": 0 |
|||
}, |
|||
{ |
|||
"index": 45, |
|||
"keyword": "Search Keyword-44", |
|||
"count": 904, |
|||
"range": 23, |
|||
"status": 0 |
|||
}, |
|||
{ |
|||
"index": 46, |
|||
"keyword": "Search Keyword-45", |
|||
"count": 240, |
|||
"range": 39, |
|||
"status": 0 |
|||
}, |
|||
{ |
|||
"index": 47, |
|||
"keyword": "Search Keyword-46", |
|||
"count": 735, |
|||
"range": 33, |
|||
"status": 0 |
|||
}, |
|||
{ |
|||
"index": 48, |
|||
"keyword": "Search Keyword-47", |
|||
"count": 612, |
|||
"range": 15, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 49, |
|||
"keyword": "Search Keyword-48", |
|||
"count": 877, |
|||
"range": 62, |
|||
"status": 1 |
|||
}, |
|||
{ |
|||
"index": 50, |
|||
"keyword": "Search Keyword-49", |
|||
"count": 146, |
|||
"range": 48, |
|||
"status": 1 |
|||
} |
|||
], |
|||
"offlineData": [ |
|||
{ |
|||
"name": "Stores 0", |
|||
"cvr": 0.8 |
|||
}, |
|||
{ |
|||
"name": "Stores 1", |
|||
"cvr": 0.7 |
|||
}, |
|||
{ |
|||
"name": "Stores 2", |
|||
"cvr": 0.4 |
|||
}, |
|||
{ |
|||
"name": "Stores 3", |
|||
"cvr": 0.3 |
|||
}, |
|||
{ |
|||
"name": "Stores 4", |
|||
"cvr": 0.1 |
|||
}, |
|||
{ |
|||
"name": "Stores 5", |
|||
"cvr": 0.1 |
|||
}, |
|||
{ |
|||
"name": "Stores 6", |
|||
"cvr": 0.6 |
|||
}, |
|||
{ |
|||
"name": "Stores 7", |
|||
"cvr": 0.9 |
|||
}, |
|||
{ |
|||
"name": "Stores 8", |
|||
"cvr": 0.3 |
|||
}, |
|||
{ |
|||
"name": "Stores 9", |
|||
"cvr": 0.9 |
|||
} |
|||
], |
|||
"offlineChartData": [ |
|||
{ |
|||
"x": 1598358002462, |
|||
"y1": 63, |
|||
"y2": 21 |
|||
}, |
|||
{ |
|||
"x": 1598359802462, |
|||
"y1": 50, |
|||
"y2": 73 |
|||
}, |
|||
{ |
|||
"x": 1598361602462, |
|||
"y1": 35, |
|||
"y2": 99 |
|||
}, |
|||
{ |
|||
"x": 1598363402462, |
|||
"y1": 105, |
|||
"y2": 105 |
|||
}, |
|||
{ |
|||
"x": 1598365202462, |
|||
"y1": 86, |
|||
"y2": 22 |
|||
}, |
|||
{ |
|||
"x": 1598367002462, |
|||
"y1": 90, |
|||
"y2": 47 |
|||
}, |
|||
{ |
|||
"x": 1598368802462, |
|||
"y1": 41, |
|||
"y2": 44 |
|||
}, |
|||
{ |
|||
"x": 1598370602462, |
|||
"y1": 71, |
|||
"y2": 16 |
|||
}, |
|||
{ |
|||
"x": 1598372402462, |
|||
"y1": 63, |
|||
"y2": 72 |
|||
}, |
|||
{ |
|||
"x": 1598374202462, |
|||
"y1": 95, |
|||
"y2": 35 |
|||
}, |
|||
{ |
|||
"x": 1598376002462, |
|||
"y1": 14, |
|||
"y2": 54 |
|||
}, |
|||
{ |
|||
"x": 1598377802462, |
|||
"y1": 48, |
|||
"y2": 65 |
|||
}, |
|||
{ |
|||
"x": 1598379602462, |
|||
"y1": 84, |
|||
"y2": 28 |
|||
}, |
|||
{ |
|||
"x": 1598381402462, |
|||
"y1": 41, |
|||
"y2": 74 |
|||
}, |
|||
{ |
|||
"x": 1598383202462, |
|||
"y1": 37, |
|||
"y2": 38 |
|||
}, |
|||
{ |
|||
"x": 1598385002462, |
|||
"y1": 106, |
|||
"y2": 94 |
|||
}, |
|||
{ |
|||
"x": 1598386802462, |
|||
"y1": 70, |
|||
"y2": 53 |
|||
}, |
|||
{ |
|||
"x": 1598388602462, |
|||
"y1": 48, |
|||
"y2": 89 |
|||
}, |
|||
{ |
|||
"x": 1598390402462, |
|||
"y1": 60, |
|||
"y2": 12 |
|||
}, |
|||
{ |
|||
"x": 1598392202462, |
|||
"y1": 48, |
|||
"y2": 52 |
|||
} |
|||
], |
|||
"salesTypeData": [ |
|||
{ |
|||
"x": "Household Appliance", |
|||
"y": 4544 |
|||
}, |
|||
{ |
|||
"x": "Food and Drink", |
|||
"y": 3321 |
|||
}, |
|||
{ |
|||
"x": "Personal Health", |
|||
"y": 3113 |
|||
}, |
|||
{ |
|||
"x": "Clothing bags", |
|||
"y": 2341 |
|||
}, |
|||
{ |
|||
"x": "Maternal and Child Products", |
|||
"y": 1231 |
|||
}, |
|||
{ |
|||
"x": "other", |
|||
"y": 1231 |
|||
} |
|||
], |
|||
"salesTypeDataOnline": [ |
|||
{ |
|||
"x": "Household Appliances", |
|||
"y": 244 |
|||
}, |
|||
{ |
|||
"x": "Eating wine", |
|||
"y": 321 |
|||
}, |
|||
{ |
|||
"x": "Note Health", |
|||
"y": 311 |
|||
}, |
|||
{ |
|||
"x": "Clothing Bags", |
|||
"y": 41 |
|||
}, |
|||
{ |
|||
"x": "Mother and Baby Products", |
|||
"y": 121 |
|||
}, |
|||
{ |
|||
"x": "other", |
|||
"y": 111 |
|||
} |
|||
], |
|||
"salesTypeDataOffline": [ |
|||
{ |
|||
"x": "Household Appliances", |
|||
"y": 99 |
|||
}, |
|||
{ |
|||
"x": "Food and Drink", |
|||
"y": 188 |
|||
}, |
|||
{ |
|||
"x": "Personal Health", |
|||
"y": 344 |
|||
}, |
|||
{ |
|||
"x": "Clothing Bags", |
|||
"y": 255 |
|||
}, |
|||
{ |
|||
"x": "other", |
|||
"y": 65 |
|||
} |
|||
], |
|||
"radarData": [ |
|||
{ |
|||
"name": "personal", |
|||
"label": "Quote", |
|||
"value": 10 |
|||
}, |
|||
{ |
|||
"name": "personal", |
|||
"label": "Word of mouth", |
|||
"value": 8 |
|||
}, |
|||
{ |
|||
"name": "personal", |
|||
"label": "Yield", |
|||
"value": 4 |
|||
}, |
|||
{ |
|||
"name": "personal", |
|||
"label": "contribution", |
|||
"value": 5 |
|||
}, |
|||
{ |
|||
"name": "personal", |
|||
"label": "heat", |
|||
"value": 7 |
|||
}, |
|||
{ |
|||
"name": "team", |
|||
"label": "Quote", |
|||
"value": 3 |
|||
}, |
|||
{ |
|||
"name": "team", |
|||
"label": "Word of mouth", |
|||
"value": 9 |
|||
}, |
|||
{ |
|||
"name": "team", |
|||
"label": "Yield", |
|||
"value": 6 |
|||
}, |
|||
{ |
|||
"name": "team", |
|||
"label": "contribution", |
|||
"value": 3 |
|||
}, |
|||
{ |
|||
"name": "team", |
|||
"label": "heat", |
|||
"value": 1 |
|||
}, |
|||
{ |
|||
"name": "department", |
|||
"label": "Quote", |
|||
"value": 4 |
|||
}, |
|||
{ |
|||
"name": "department", |
|||
"label": "Word of mouth", |
|||
"value": 1 |
|||
}, |
|||
{ |
|||
"name": "department", |
|||
"label": "Yield", |
|||
"value": 6 |
|||
}, |
|||
{ |
|||
"name": "department", |
|||
"label": "contribution", |
|||
"value": 5 |
|||
}, |
|||
{ |
|||
"name": "department", |
|||
"label": "heat", |
|||
"value": 7 |
|||
} |
|||
] |
|||
} |
|||
@ -0,0 +1,762 @@ |
|||
[ |
|||
{ |
|||
"id": "fake-list-0", |
|||
"owner": "Fu Xiaoxiao", |
|||
"title": "Alipay", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/WdGqmHpayyMjiEhcKoVE.png", |
|||
"cover": "https://gw.alipayobjects.com/zos/rmsportal/uMfMFlvUuceEyPpotzlq.png", |
|||
"status": "active", |
|||
"percent": 61, |
|||
"logo": "https://gw.alipayobjects.com/zos/rmsportal/WdGqmHpayyMjiEhcKoVE.png", |
|||
"href": "https://ant.design", |
|||
"updatedAt": 1599562134333, |
|||
"createdAt": 1599562134333, |
|||
"subDescription": "It's an inner thing, which they can't reach and can't reach", |
|||
"description": "In the development process of Zhongtai products, different design specifications and implementation methods will appear, but there are often many similar pages and components, and these similar components will be separated into a set of standard specifications.", |
|||
"activeUser": 194692, |
|||
"newUser": 1107, |
|||
"star": 168, |
|||
"like": 166, |
|||
"message": 20, |
|||
"content": "Paragraph: Ant.design, the design platform of Ant Financial, seamlessly connects to the ecosystem of Ant Financial with minimal workload, and provides experience solutions that span design and development. Ant.design, the design platform of Ant Financial, uses the smallestWorkload, seamless access to Ant Financial's ecology, providing experience solutions that span design and development.", |
|||
"members": [ |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ZiESqWwCXBRQoaPONSJe.png", |
|||
"name": "Qu Lili", |
|||
"id": "member1" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/tBOxZPlITHqwlGjsJWaF.png", |
|||
"name": "Wang Zhaojun", |
|||
"id": "member2" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/sBxjgqiuHMGRkIjqlQCd.png", |
|||
"name": "Dong Nana", |
|||
"id": "member3" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"id": "fake-list-1", |
|||
"owner": "Qu Lili", |
|||
"title": "Angular", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png", |
|||
"cover": "https://gw.alipayobjects.com/zos/rmsportal/iZBVOIhGJiAnhplqjvZW.png", |
|||
"status": "exception", |
|||
"percent": 67, |
|||
"logo": "https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png", |
|||
"href": "https://ant.design", |
|||
"updatedAt": 1599554934333, |
|||
"createdAt": 1599554934333, |
|||
"subDescription": "Hope is a good thing, maybe the best, good things will not die out", |
|||
"description": "In the development process of Zhongtai products, different design specifications and implementation methods will appear, but there are often many similar pages and components, and these similar components will be separated into a set of standard specifications.", |
|||
"activeUser": 187530, |
|||
"newUser": 1662, |
|||
"star": 184, |
|||
"like": 134, |
|||
"message": 20, |
|||
"content": "Paragraph: Ant.design, the design platform of Ant Financial, seamlessly connects to the ecosystem of Ant Financial with minimal workload, and provides experience solutions that span design and development. Ant.design, the design platform of Ant Financial, uses the smallestWorkload, seamless access to Ant Financial's ecology, providing experience solutions that span design and development.", |
|||
"members": [ |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ZiESqWwCXBRQoaPONSJe.png", |
|||
"name": "Qu Lili", |
|||
"id": "member1" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/tBOxZPlITHqwlGjsJWaF.png", |
|||
"name": "Wang Zhaojun", |
|||
"id": "member2" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/sBxjgqiuHMGRkIjqlQCd.png", |
|||
"name": "Dong Nana", |
|||
"id": "member3" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"id": "fake-list-2", |
|||
"owner": "Lin Dongdong", |
|||
"title": "Ant Design", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/dURIMkkrRFpPgTuzkwnB.png", |
|||
"cover": "https://gw.alipayobjects.com/zos/rmsportal/iXjVmWVHbCJAyqvDxdtx.png", |
|||
"status": "normal", |
|||
"percent": 88, |
|||
"logo": "https://gw.alipayobjects.com/zos/rmsportal/dURIMkkrRFpPgTuzkwnB.png", |
|||
"href": "https://ant.design", |
|||
"updatedAt": 1599547734333, |
|||
"createdAt": 1599547734333, |
|||
"subDescription": "Life is like a box of chocolates, the results are often unexpected", |
|||
"description": "In the development process of Zhongtai products, different design specifications and implementation methods will appear, but there are often many similar pages and components, and these similar components will be separated into a set of standard specifications.", |
|||
"activeUser": 150552, |
|||
"newUser": 1281, |
|||
"star": 114, |
|||
"like": 124, |
|||
"message": 20, |
|||
"content": "Paragraph: Ant.design, the design platform of Ant Financial, seamlessly connects to the ecosystem of Ant Financial with minimal workload, and provides experience solutions that span design and development. Ant.design, the design platform of Ant Financial, uses the smallestWorkload, seamless access to Ant Financial's ecology, providing experience solutions that span design and development.", |
|||
"members": [ |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ZiESqWwCXBRQoaPONSJe.png", |
|||
"name": "Qu Lili", |
|||
"id": "member1" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/tBOxZPlITHqwlGjsJWaF.png", |
|||
"name": "Wang Zhaojun", |
|||
"id": "member2" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/sBxjgqiuHMGRkIjqlQCd.png", |
|||
"name": "Dong Nana", |
|||
"id": "member3" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"id": "fake-list-3", |
|||
"owner": "Zhou Xingxing", |
|||
"title": "Ant Design Pro", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png", |
|||
"cover": "https://gw.alipayobjects.com/zos/rmsportal/gLaIAoVWTtLbBWZNYEMg.png", |
|||
"status": "active", |
|||
"percent": 59, |
|||
"logo": "https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png", |
|||
"href": "https://ant.design", |
|||
"updatedAt": 1599540534333, |
|||
"createdAt": 1599540534333, |
|||
"subDescription": "There are so many pubs in the town, but she just walked into my pub", |
|||
"description": "In the development process of middle and Taiwan products, different design specifications and implementation methods will appear, but there are often many similar pages and components, and these similar components will be separated into a set of standard specifications.", |
|||
"activeUser": 180730, |
|||
"newUser": 1941, |
|||
"star": 109, |
|||
"like": 120, |
|||
"message": 13, |
|||
"content": "Paragraph: Ant.design, the design platform of Ant Financial, seamlessly connects to the ecosystem of Ant Financial with minimal workload, and provides experience solutions that span design and development. Ant.design, the design platform of Ant Financial, uses the smallestWorkload, seamless access to Ant Financial's ecology, providing experience solutions that span design and development.", |
|||
"members": [ |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ZiESqWwCXBRQoaPONSJe.png", |
|||
"name": "Qu Lili", |
|||
"id": "member1" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/tBOxZPlITHqwlGjsJWaF.png", |
|||
"name": "Wang Zhaojun", |
|||
"id": "member2" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/sBxjgqiuHMGRkIjqlQCd.png", |
|||
"name": "Dong Nana", |
|||
"id": "member3" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"id": "fake-list-4", |
|||
"owner": "Wu Jiahao", |
|||
"title": "Bootstrap", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/siCrBXXhmvTQGWPNLBow.png", |
|||
"cover": "https://gw.alipayobjects.com/zos/rmsportal/gLaIAoVWTtLbBWZNYEMg.png", |
|||
"status": "exception", |
|||
"percent": 83, |
|||
"logo": "https://gw.alipayobjects.com/zos/rmsportal/siCrBXXhmvTQGWPNLBow.png", |
|||
"href": "https://ant.design", |
|||
"updatedAt": 1599533334333, |
|||
"createdAt": 1599533334333, |
|||
"subDescription": "At that time I only thought about what I wanted, never wanted what I had", |
|||
"description": "In the development process of Zhongtai products, different design specifications and implementation methods will appear, but there are often many similar pages and components, and these similar components will be separated into a set of standard specifications.", |
|||
"activeUser": 159357, |
|||
"newUser": 1067, |
|||
"star": 139, |
|||
"like": 179, |
|||
"message": 14, |
|||
"content": "Paragraph: Ant.design, the design platform of Ant Financial, seamlessly connects to the ecosystem of Ant Financial with minimal workload, and provides experience solutions that span design and development. Ant.design, the design platform of Ant Financial, uses the smallestWorkload, seamless access to Ant Financial's ecology, providing experience solutions that span design and development.", |
|||
"members": [ |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ZiESqWwCXBRQoaPONSJe.png", |
|||
"name": "Qu Lili", |
|||
"id": "member1" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/tBOxZPlITHqwlGjsJWaF.png", |
|||
"name": "Wang Zhaojun", |
|||
"id": "member2" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/sBxjgqiuHMGRkIjqlQCd.png", |
|||
"name": "Dong Nana", |
|||
"id": "member3" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"id": "fake-list-5", |
|||
"owner": "Zhu Fang You", |
|||
"title": "React", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png", |
|||
"cover": "https://gw.alipayobjects.com/zos/rmsportal/iXjVmWVHbCJAyqvDxdtx.png", |
|||
"status": "normal", |
|||
"percent": 92, |
|||
"logo": "https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png", |
|||
"href": "https://ant.design", |
|||
"updatedAt": 1599526134333, |
|||
"createdAt": 1599526134333, |
|||
"subDescription": "It's an inner thing, which they can't reach and can't reach", |
|||
"description": "In the development process of Zhongtai products, different design specifications and implementation methods will appear, but there are often many similar pages and components, and these similar components will be separated into a set of standard specifications.", |
|||
"activeUser": 126480, |
|||
"newUser": 1467, |
|||
"star": 151, |
|||
"like": 171, |
|||
"message": 11, |
|||
"content": "Paragraph: Ant.design, the design platform of Ant Financial, seamlessly connects to the ecosystem of Ant Financial with minimal workload, and provides experience solutions that span design and development. Ant.design, the design platform of Ant Financial, uses the smallestWorkload, seamless access to Ant Financial's ecology, providing experience solutions that span design and development.", |
|||
"members": [ |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ZiESqWwCXBRQoaPONSJe.png", |
|||
"name": "Qu Lili", |
|||
"id": "member1" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/tBOxZPlITHqwlGjsJWaF.png", |
|||
"name": "Wang Zhaojun", |
|||
"id": "member2" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/sBxjgqiuHMGRkIjqlQCd.png", |
|||
"name": "Dong Nana", |
|||
"id": "member3" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"id": "fake-list-6", |
|||
"owner": "Fish Sauce", |
|||
"title": "Vue", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ComBAopevLwENQdKWiIn.png", |
|||
"cover": "https://gw.alipayobjects.com/zos/rmsportal/iZBVOIhGJiAnhplqjvZW.png", |
|||
"status": "active", |
|||
"percent": 62, |
|||
"logo": "https://gw.alipayobjects.com/zos/rmsportal/ComBAopevLwENQdKWiIn.png", |
|||
"href": "https://ant.design", |
|||
"updatedAt": 1599518934333, |
|||
"createdAt": 1599518934333, |
|||
"subDescription": "Hope is a good thing, maybe the best, good things will not die out", |
|||
"description": "In the development process of Zhongtai products, different design specifications and implementation methods will appear, but there are often many similar pages and components, and these similar components will be separated into a set of standard specifications.", |
|||
"activeUser": 132662, |
|||
"newUser": 1788, |
|||
"star": 114, |
|||
"like": 115, |
|||
"message": 14, |
|||
"content": "Paragraph: Ant.design, the design platform of Ant Financial, seamlessly connects to the ecosystem of Ant Financial with minimal workload, and provides experience solutions that span design and development. Ant.design, the design platform of Ant Financial, uses the smallestWorkload, seamless access to Ant Financial's ecology, providing experience solutions that span design and development.", |
|||
"members": [ |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ZiESqWwCXBRQoaPONSJe.png", |
|||
"name": "Qu Lili", |
|||
"id": "member1" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/tBOxZPlITHqwlGjsJWaF.png", |
|||
"name": "Wang Zhaojun", |
|||
"id": "member2" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/sBxjgqiuHMGRkIjqlQCd.png", |
|||
"name": "Dong Nana", |
|||
"id": "member3" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"id": "fake-list-7", |
|||
"owner": "Le Brother", |
|||
"title": "Webpack", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/nxkuOJlFJuAUhzlMTCEe.png", |
|||
"cover": "https://gw.alipayobjects.com/zos/rmsportal/uMfMFlvUuceEyPpotzlq.png", |
|||
"status": "exception", |
|||
"percent": 98, |
|||
"logo": "https://gw.alipayobjects.com/zos/rmsportal/nxkuOJlFJuAUhzlMTCEe.png", |
|||
"href": "https://ant.design", |
|||
"updatedAt": 1599511734333, |
|||
"createdAt": 1599511734333, |
|||
"subDescription": "Life is like a box of chocolates, the results are often unexpected", |
|||
"description": "In the development process of Zhongtai products, different design specifications and implementation methods will appear, but there are often many similar pages and components, and these similar components will be separated into a set of standard specifications.", |
|||
"activeUser": 190515, |
|||
"newUser": 1329, |
|||
"star": 105, |
|||
"like": 192, |
|||
"message": 11, |
|||
"content": "Paragraph: Ant.design, the design platform of Ant Financial, seamlessly connects to the ecosystem of Ant Financial with minimal workload, and provides experience solutions that span design and development. Ant.design, the design platform of Ant Financial, uses the smallestWorkload, seamless access to Ant Financial's ecology, providing experience solutions that span design and development.", |
|||
"members": [ |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ZiESqWwCXBRQoaPONSJe.png", |
|||
"name": "Qu Lili", |
|||
"id": "member1" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/tBOxZPlITHqwlGjsJWaF.png", |
|||
"name": "Wang Zhaojun", |
|||
"id": "member2" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/sBxjgqiuHMGRkIjqlQCd.png", |
|||
"name": "Dong Nana", |
|||
"id": "member3" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"id": "fake-list-8", |
|||
"owner": "Tan Xiaoyi", |
|||
"title": "Alipay", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/WdGqmHpayyMjiEhcKoVE.png", |
|||
"cover": "https://gw.alipayobjects.com/zos/rmsportal/uMfMFlvUuceEyPpotzlq.png", |
|||
"status": "normal", |
|||
"percent": 73, |
|||
"logo": "https://gw.alipayobjects.com/zos/rmsportal/WdGqmHpayyMjiEhcKoVE.png", |
|||
"href": "https://ant.design", |
|||
"updatedAt": 1599504534333, |
|||
"createdAt": 1599504534333, |
|||
"subDescription": "There are so many pubs in the town, but she just walked into my pub", |
|||
"description": "In the development process of Zhongtai products, different design specifications and implementation methods will appear, but there are often many similar pages and components, and these similar components will be separated into a set of standard specifications.", |
|||
"activeUser": 146120, |
|||
"newUser": 1375, |
|||
"star": 144, |
|||
"like": 114, |
|||
"message": 14, |
|||
"content": "Paragraph: Ant.design, the design platform of Ant Financial, seamlessly connects to the ecosystem of Ant Financial with minimal workload, and provides experience solutions that span design and development. Ant.design, the design platform of Ant Financial, uses the smallestWorkload, seamless access to Ant Financial's ecology, providing experience solutions that span design and development.", |
|||
"members": [ |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ZiESqWwCXBRQoaPONSJe.png", |
|||
"name": "Qu Lili", |
|||
"id": "member1" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/tBOxZPlITHqwlGjsJWaF.png", |
|||
"name": "Wang Zhaojun", |
|||
"id": "member2" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/sBxjgqiuHMGRkIjqlQCd.png", |
|||
"name": "Dong Nana", |
|||
"id": "member3" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"id": "fake-list-9", |
|||
"owner": "Zhong Ni", |
|||
"title": "Angular", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png", |
|||
"cover": "https://gw.alipayobjects.com/zos/rmsportal/iZBVOIhGJiAnhplqjvZW.png", |
|||
"status": "active", |
|||
"percent": 86, |
|||
"logo": "https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png", |
|||
"href": "https://ant.design", |
|||
"updatedAt": 1599497334333, |
|||
"createdAt": 1599497334333, |
|||
"subDescription": "At that time I only thought about what I wanted, never wanted what I had", |
|||
"description": "In the development process of Zhongtai products, different design specifications and implementation methods will appear, but there are often many similar pages and components, and these similar components will be separated into a set of standard specifications.", |
|||
"activeUser": 150379, |
|||
"newUser": 1405, |
|||
"star": 174, |
|||
"like": 123, |
|||
"message": 20, |
|||
"content": "Paragraph: Ant.design, the design platform of Ant Financial, seamlessly connects to the ecosystem of Ant Financial with minimal workload, and provides experience solutions that span design and development. Ant.design, the design platform of Ant Financial, uses the smallestWorkload, seamless access to Ant Financial's ecology, providing experience solutions that span design and development.", |
|||
"members": [ |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ZiESqWwCXBRQoaPONSJe.png", |
|||
"name": "Qu Lili", |
|||
"id": "member1" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/tBOxZPlITHqwlGjsJWaF.png", |
|||
"name": "Wang Zhaojun", |
|||
"id": "member2" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/sBxjgqiuHMGRkIjqlQCd.png", |
|||
"name": "Dong Nana", |
|||
"id": "member3" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"id": "fake-list-10", |
|||
"owner": "Fu Xiaoxiao", |
|||
"title": "Ant Design", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/dURIMkkrRFpPgTuzkwnB.png", |
|||
"cover": "https://gw.alipayobjects.com/zos/rmsportal/iXjVmWVHbCJAyqvDxdtx.png", |
|||
"status": "exception", |
|||
"percent": 99, |
|||
"logo": "https://gw.alipayobjects.com/zos/rmsportal/dURIMkkrRFpPgTuzkwnB.png", |
|||
"href": "https://ant.design", |
|||
"updatedAt": 1599490134333, |
|||
"createdAt": 1599490134333, |
|||
"subDescription": "It's an inner thing, which they can't reach and can't reach", |
|||
"description": "In the development process of Zhongtai products, different design specifications and implementation methods will appear, but there are often many similar pages and components, and these similar components will be separated into a set of standard specifications.", |
|||
"activeUser": 192197, |
|||
"newUser": 1748, |
|||
"star": 200, |
|||
"like": 141, |
|||
"message": 20, |
|||
"content": "Paragraph: Ant.design, the design platform of Ant Financial, seamlessly connects to the ecosystem of Ant Financial with minimal workload, and provides experience solutions that span design and development. Ant.design, the design platform of Ant Financial, uses the smallestWorkload, seamless access to Ant Financial's ecology, providing experience solutions that span design and development.", |
|||
"members": [ |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ZiESqWwCXBRQoaPONSJe.png", |
|||
"name": "Qu Lili", |
|||
"id": "member1" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/tBOxZPlITHqwlGjsJWaF.png", |
|||
"name": "Wang Zhaojun", |
|||
"id": "member2" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/sBxjgqiuHMGRkIjqlQCd.png", |
|||
"name": "Dong Nana", |
|||
"id": "member3" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"id": "fake-list-11", |
|||
"owner": "Qu Lili", |
|||
"title": "Ant Design Pro", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png", |
|||
"cover": "https://gw.alipayobjects.com/zos/rmsportal/gLaIAoVWTtLbBWZNYEMg.png", |
|||
"status": "normal", |
|||
"percent": 55, |
|||
"logo": "https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png", |
|||
"href": "https://ant.design", |
|||
"updatedAt": 1599482934333, |
|||
"createdAt": 1599482934333, |
|||
"subDescription": "Hope is a good thing, maybe the best, good things will not die out", |
|||
"description": "In the development process of Zhongtai products, different design specifications and implementation methods will appear, but there are often many similar pages and components, and these similar components will be separated into a set of standard specifications.", |
|||
"activeUser": 125408, |
|||
"newUser": 1937, |
|||
"star": 158, |
|||
"like": 183, |
|||
"message": 17, |
|||
"content": "Paragraph: Ant.design, the design platform of Ant Financial, seamlessly connects to the ecosystem of Ant Financial with minimal workload, and provides experience solutions that span design and development. Ant.design, the design platform of Ant Financial, uses the smallestWorkload, seamless access to Ant Financial's ecology, providing experience solutions that span design and development.", |
|||
"members": [ |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ZiESqWwCXBRQoaPONSJe.png", |
|||
"name": "Qu Lili", |
|||
"id": "member1" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/tBOxZPlITHqwlGjsJWaF.png", |
|||
"name": "Wang Zhaojun", |
|||
"id": "member2" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/sBxjgqiuHMGRkIjqlQCd.png", |
|||
"name": "Dong Nana", |
|||
"id": "member3" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"id": "fake-list-12", |
|||
"owner": "Lin Dongdong", |
|||
"title": "Bootstrap", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/siCrBXXhmvTQGWPNLBow.png", |
|||
"cover": "https://gw.alipayobjects.com/zos/rmsportal/gLaIAoVWTtLbBWZNYEMg.png", |
|||
"status": "active", |
|||
"percent": 62, |
|||
"logo": "https://gw.alipayobjects.com/zos/rmsportal/siCrBXXhmvTQGWPNLBow.png", |
|||
"href": "https://ant.design", |
|||
"updatedAt": 1599475734333, |
|||
"createdAt": 1599475734333, |
|||
"subDescription": "Life is like a box of chocolates, the results are often unexpected", |
|||
"description": "In the development process of Zhongtai products, different design specifications and implementation methods will appear, but there are often many similar pages and components, and these similar components will be separated into a set of standard specifications.", |
|||
"activeUser": 150702, |
|||
"newUser": 1303, |
|||
"star": 143, |
|||
"like": 101, |
|||
"message": 20, |
|||
"content": "Paragraph: Ant.design, the design platform of Ant Financial, seamlessly connects to the ecosystem of Ant Financial with minimal workload, and provides experience solutions that span design and development. Ant.design, the design platform of Ant Financial, uses the smallestWorkload, seamless access to Ant Financial's ecology, providing experience solutions that span design and development.", |
|||
"members": [ |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ZiESqWwCXBRQoaPONSJe.png", |
|||
"name": "Qu Lili", |
|||
"id": "member1" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/tBOxZPlITHqwlGjsJWaF.png", |
|||
"name": "Wang Zhaojun", |
|||
"id": "member2" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/sBxjgqiuHMGRkIjqlQCd.png", |
|||
"name": "Dong Nana", |
|||
"id": "member3" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"id": "fake-list-13", |
|||
"owner": "Zhou Xingxing", |
|||
"title": "React", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png", |
|||
"cover": "https://gw.alipayobjects.com/zos/rmsportal/iXjVmWVHbCJAyqvDxdtx.png", |
|||
"status": "exception", |
|||
"percent": 87, |
|||
"logo": "https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png", |
|||
"href": "https://ant.design", |
|||
"updatedAt": 1599468534333, |
|||
"createdAt": 1599468534333, |
|||
"subDescription": "There are so many pubs in the town, but she just walked into my pub", |
|||
"description": "In the development process of middle and Taiwan products, different design specifications and implementation methods will appear, but there are often many similar pages and components, and these similar components will be separated into a set of standard specifications.", |
|||
"activeUser": 106681, |
|||
"newUser": 1051, |
|||
"star": 124, |
|||
"like": 194, |
|||
"message": 17, |
|||
"content": "Paragraph: Ant.design, the design platform of Ant Financial, seamlessly connects to the ecosystem of Ant Financial with minimal workload, and provides experience solutions that span design and development. Ant.design, the design platform of Ant Financial, uses the smallestWorkload, seamless access to Ant Financial's ecology, providing experience solutions that span design and development.", |
|||
"members": [ |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ZiESqWwCXBRQoaPONSJe.png", |
|||
"name": "Qu Lili", |
|||
"id": "member1" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/tBOxZPlITHqwlGjsJWaF.png", |
|||
"name": "Wang Zhaojun", |
|||
"id": "member2" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/sBxjgqiuHMGRkIjqlQCd.png", |
|||
"name": "Dong Nana", |
|||
"id": "member3" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"id": "fake-list-14", |
|||
"owner": "Wu Jiahao", |
|||
"title": "Vue", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ComBAopevLwENQdKWiIn.png", |
|||
"cover": "https://gw.alipayobjects.com/zos/rmsportal/iZBVOIhGJiAnhplqjvZW.png", |
|||
"status": "normal", |
|||
"percent": 74, |
|||
"logo": "https://gw.alipayobjects.com/zos/rmsportal/ComBAopevLwENQdKWiIn.png", |
|||
"href": "https://ant.design", |
|||
"updatedAt": 1599461334333, |
|||
"createdAt": 1599461334333, |
|||
"subDescription": "At that time I only thought about what I wanted, never wanted what I had", |
|||
"description": "In the development process of Zhongtai products, different design specifications and implementation methods will appear, but there are often many similar pages and components, and these similar components will be separated into a set of standard specifications.", |
|||
"activeUser": 192810, |
|||
"newUser": 1574, |
|||
"star": 188, |
|||
"like": 124, |
|||
"message": 16, |
|||
"content": "Paragraph: Ant.design, the design platform of Ant Financial, seamlessly connects to the ecosystem of Ant Financial with minimal workload, and provides experience solutions that span design and development. Ant.design, the design platform of Ant Financial, uses the smallestWorkload, seamless access to Ant Financial's ecology, providing experience solutions that span design and development.", |
|||
"members": [ |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ZiESqWwCXBRQoaPONSJe.png", |
|||
"name": "Qu Lili", |
|||
"id": "member1" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/tBOxZPlITHqwlGjsJWaF.png", |
|||
"name": "Wang Zhaojun", |
|||
"id": "member2" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/sBxjgqiuHMGRkIjqlQCd.png", |
|||
"name": "Dong Nana", |
|||
"id": "member3" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"id": "fake-list-15", |
|||
"owner": "Zhu Fang You", |
|||
"title": "Webpack", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/nxkuOJlFJuAUhzlMTCEe.png", |
|||
"cover": "https://gw.alipayobjects.com/zos/rmsportal/uMfMFlvUuceEyPpotzlq.png", |
|||
"status": "active", |
|||
"percent": 58, |
|||
"logo": "https://gw.alipayobjects.com/zos/rmsportal/nxkuOJlFJuAUhzlMTCEe.png", |
|||
"href": "https://ant.design", |
|||
"updatedAt": 1599454134333, |
|||
"createdAt": 1599454134333, |
|||
"subDescription": "It's an inner thing, which they can't reach and can't reach", |
|||
"description": "In the development process of Zhongtai products, different design specifications and implementation methods will appear, but there are often many similar pages and components, and these similar components will be separated into a set of standard specifications.", |
|||
"activeUser": 129396, |
|||
"newUser": 1837, |
|||
"star": 106, |
|||
"like": 160, |
|||
"message": 13, |
|||
"content": "Paragraph: Ant.design, the design platform of Ant Financial, seamlessly connects to the ecosystem of Ant Financial with minimal workload, and provides experience solutions that span design and development. Ant.design, the design platform of Ant Financial, uses the smallestWorkload, seamless access to Ant Financial's ecology, providing experience solutions that span design and development.", |
|||
"members": [ |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ZiESqWwCXBRQoaPONSJe.png", |
|||
"name": "Qu Lili", |
|||
"id": "member1" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/tBOxZPlITHqwlGjsJWaF.png", |
|||
"name": "Wang Zhaojun", |
|||
"id": "member2" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/sBxjgqiuHMGRkIjqlQCd.png", |
|||
"name": "Dong Nana", |
|||
"id": "member3" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"id": "fake-list-16", |
|||
"owner": "Fish sauce", |
|||
"title": "Alipay", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/WdGqmHpayyMjiEhcKoVE.png", |
|||
"cover": "https://gw.alipayobjects.com/zos/rmsportal/uMfMFlvUuceEyPpotzlq.png", |
|||
"status": "exception", |
|||
"percent": 77, |
|||
"logo": "https://gw.alipayobjects.com/zos/rmsportal/WdGqmHpayyMjiEhcKoVE.png", |
|||
"href": "https://ant.design", |
|||
"updatedAt": 1599446934333, |
|||
"createdAt": 1599446934333, |
|||
"subDescription": "Hope is a good thing, maybe the best, good things will not die out", |
|||
"description": "In the development process of Zhongtai products, different design specifications and implementation methods will appear, but there are often many similar pages and components, and these similar components will be separated into a set of standard specifications.", |
|||
"activeUser": 101826, |
|||
"newUser": 1050, |
|||
"star": 124, |
|||
"like": 111, |
|||
"message": 12, |
|||
"content": "Paragraph: Ant.design, the design platform of Ant Financial, seamlessly connects to the ecosystem of Ant Financial with minimal workload, and provides experience solutions that span design and development. Ant.design, the design platform of Ant Financial, uses the smallestWorkload, seamless access to Ant Financial's ecology, providing experience solutions that span design and development.", |
|||
"members": [ |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ZiESqWwCXBRQoaPONSJe.png", |
|||
"name": "Qu Lili", |
|||
"id": "member1" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/tBOxZPlITHqwlGjsJWaF.png", |
|||
"name": "Wang Zhaojun", |
|||
"id": "member2" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/sBxjgqiuHMGRkIjqlQCd.png", |
|||
"name": "Dong Nana", |
|||
"id": "member3" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"id": "fake-list-17", |
|||
"owner": "Le brother", |
|||
"title": "Angular", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png", |
|||
"cover": "https://gw.alipayobjects.com/zos/rmsportal/iZBVOIhGJiAnhplqjvZW.png", |
|||
"status": "normal", |
|||
"percent": 79, |
|||
"logo": "https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png", |
|||
"href": "https://ant.design", |
|||
"updatedAt": 1599439734333, |
|||
"createdAt": 1599439734333, |
|||
"subDescription": "Life is like a box of chocolates, the results are often unexpected", |
|||
"description": "In the development process of Zhongtai products, different design specifications and implementation methods will appear, but there are often many similar pages and components, and these similar components will be separated into a set of standard specifications.", |
|||
"activeUser": 156853, |
|||
"newUser": 1826, |
|||
"star": 118, |
|||
"like": 136, |
|||
"message": 19, |
|||
"content": "Paragraph: Ant.design, the design platform of Ant Financial, seamlessly connects to the ecosystem of Ant Financial with minimal workload, and provides experience solutions that span design and development. Ant.design, the design platform of Ant Financial, uses the smallestWorkload, seamless access to Ant Financial's ecology, providing experience solutions that span design and development.", |
|||
"members": [ |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ZiESqWwCXBRQoaPONSJe.png", |
|||
"name": "Qu Lili", |
|||
"id": "member1" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/tBOxZPlITHqwlGjsJWaF.png", |
|||
"name": "Wang Zhaojun", |
|||
"id": "member2" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/sBxjgqiuHMGRkIjqlQCd.png", |
|||
"name": "Dong Na", |
|||
"id": "member3" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"id": "fake-list-18", |
|||
"owner": "Tan Xiaoyi", |
|||
"title": "Ant Design", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/dURIMkkrRFpPgTuzkwnB.png", |
|||
"cover": "https://gw.alipayobjects.com/zos/rmsportal/iXjVmWVHbCJAyqvDxdtx.png", |
|||
"status": "active", |
|||
"percent": 77, |
|||
"logo": "https://gw.alipayobjects.com/zos/rmsportal/dURIMkkrRFpPgTuzkwnB.png", |
|||
"href": "https://ant.design", |
|||
"updatedAt": 1599432534333, |
|||
"createdAt": 1599432534333, |
|||
"subDescription": "There are so many pubs in the town, but she just walked into my pub", |
|||
"description": "In the development process of Zhongtai products, different design specifications and implementation methods will appear, but there are often many similar pages and components, and these similar components will be separated into a set of standard specifications.", |
|||
"activeUser": 101902, |
|||
"newUser": 1352, |
|||
"star": 131, |
|||
"like": 118, |
|||
"message": 12, |
|||
"content": "Paragraph: Ant.design, the design platform of Ant Financial, seamlessly connects to the ecosystem of Ant Financial with minimal workload, and provides experience solutions that span design and development. Ant.design, the design platform of Ant Financial, uses the smallestWorkload, seamless access to Ant Financial's ecology, providing experience solutions that span design and development.", |
|||
"members": [ |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ZiESqWwCXBRQoaPONSJe.png", |
|||
"name": "Qu Lili", |
|||
"id": "member1" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/tBOxZPlITHqwlGjsJWaF.png", |
|||
"name": "Wang Zhaojun", |
|||
"id": "member2" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/sBxjgqiuHMGRkIjqlQCd.png", |
|||
"name": "Dong Nana", |
|||
"id": "member3" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"id": "fake-list-19", |
|||
"owner": "Zoni", |
|||
"title": "Ant Design Pro", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png", |
|||
"cover": "https://gw.alipayobjects.com/zos/rmsportal/gLaIAoVWTtLbBWZNYEMg.png", |
|||
"status": "exception", |
|||
"percent": 75, |
|||
"logo": "https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png", |
|||
"href": "https://ant.design", |
|||
"updatedAt": 1599425334333, |
|||
"createdAt": 1599425334333, |
|||
"subDescription": "At that time I only thought about what I wanted, never wanted what I had", |
|||
"description": "Different design specifications and implementations in the research and development of the MTD product, but there are often many similar pages and components, which will be detached into a standard specification.", |
|||
"activeUser": 125791, |
|||
"newUser": 1504, |
|||
"star": 174, |
|||
"like": 195, |
|||
"message": 17, |
|||
"content": "Paragraph: Ant.design, the design platform of Ant Financial, seamlessly connects to the ecosystem of Ant Financial with minimal workload, and provides experience solutions that span design and development. Ant.design, the design platform of Ant Financial, uses the smallestWorkload, seamless access to Ant Financial's ecology, providing experience solutions that span design and development.", |
|||
"members": [ |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ZiESqWwCXBRQoaPONSJe.png", |
|||
"name": "Qu Lili", |
|||
"id": "member1" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/tBOxZPlITHqwlGjsJWaF.png", |
|||
"name": "Wang Zhaojun", |
|||
"id": "member2" |
|||
}, |
|||
{ |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/sBxjgqiuHMGRkIjqlQCd.png", |
|||
"name": "Dong Nana", |
|||
"id": "member3" |
|||
} |
|||
] |
|||
} |
|||
] |
|||
@ -0,0 +1,170 @@ |
|||
[ |
|||
{ |
|||
"path": "/dashboard", |
|||
"name": "Dashboard", |
|||
"key": "dashboard", |
|||
"icon": "dashboard", |
|||
"children": [ |
|||
{ |
|||
"path": "/", |
|||
"name": "Analysis Page", |
|||
"key": "dashboard.analysis" |
|||
}, |
|||
{ |
|||
"path": "/dashboard/monitor", |
|||
"name": "Monitoring Page", |
|||
"key": "dashboard.monitor" |
|||
}, |
|||
{ |
|||
"path": "/dashboard/workplace", |
|||
"name": "Workbench", |
|||
"key": "dashboard.workplace" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"path": "/form", |
|||
"name": "Form page", |
|||
"key": "form", |
|||
"icon": "form", |
|||
"children": [ |
|||
{ |
|||
"path": "/form/basic-form", |
|||
"name": "Basic Form", |
|||
"key": "form.basic-form" |
|||
}, |
|||
{ |
|||
"path": "/form/step-form", |
|||
"name": "Step Form", |
|||
"key": "form.step-form" |
|||
}, |
|||
{ |
|||
"path": "/form/advanced-form", |
|||
"name": "Advanced Form", |
|||
"key": "form.advanced-form" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"path": "/list", |
|||
"name": "List", |
|||
"key": "list", |
|||
"icon": "table", |
|||
"children": [ |
|||
{ |
|||
"path": "/list/search", |
|||
"name": "Search List", |
|||
"key": "list.search", |
|||
"children": [ |
|||
{ |
|||
"path": "/list/search/articles", |
|||
"name": "Search List (Article)", |
|||
"key": "list.search.articles" |
|||
}, |
|||
{ |
|||
"path": "/list/search/projects", |
|||
"name": "Search List (Items)", |
|||
"key": "list.search.projects" |
|||
}, |
|||
{ |
|||
"path": "/list/search/applications", |
|||
"name": "Search List (Application)", |
|||
"key": "list.search.applications" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"path": "/list/table-list", |
|||
"name": "Inquiry Form", |
|||
"key": "list.table-list" |
|||
}, |
|||
{ |
|||
"path": "/list/basic-list", |
|||
"name": "Basic List", |
|||
"key": "list.basic-list" |
|||
}, |
|||
{ |
|||
"path": "/list/card-list", |
|||
"name": "Card List", |
|||
"key": "list.card-list" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"path": "/profile", |
|||
"name": "Profile", |
|||
"key": "profile", |
|||
"icon": "profile", |
|||
"children": [ |
|||
{ |
|||
"path": "/profile/basic", |
|||
"name": "Basic Profile", |
|||
"key": "profile.basic" |
|||
}, |
|||
{ |
|||
"path": "/profile/advanced", |
|||
"name": "Advanced Profile", |
|||
"key": "profile.advanced" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"path": "/result", |
|||
"name": "Result Pages", |
|||
"key": "result", |
|||
"icon": "check-circle", |
|||
"children": [ |
|||
{ |
|||
"path": "/result/success", |
|||
"name": "Success Page", |
|||
"key": "result.success" |
|||
}, |
|||
{ |
|||
"path": "/result/fail", |
|||
"name": "Failed page", |
|||
"key": "result.fail" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"path": "/exception", |
|||
"name": "Error Pages", |
|||
"key": "exception", |
|||
"icon": "exception", |
|||
"children": [ |
|||
{ |
|||
"path": "/exception/403", |
|||
"name": "403", |
|||
"key": "exception.403" |
|||
}, |
|||
{ |
|||
"path": "/exception/404", |
|||
"name": "404", |
|||
"key": "exception.404" |
|||
}, |
|||
{ |
|||
"path": "/exception/500", |
|||
"name": "500", |
|||
"key": "exception.500" |
|||
} |
|||
] |
|||
}, |
|||
{ |
|||
"path": "/account", |
|||
"name": "Account", |
|||
"key": "account", |
|||
"icon": "user", |
|||
"children": [ |
|||
{ |
|||
"path": "/account/center", |
|||
"name": "Account Center", |
|||
"key": "account.center" |
|||
}, |
|||
{ |
|||
"path": "/account/settings", |
|||
"name": "Personal settings", |
|||
"key": "account.settings" |
|||
} |
|||
] |
|||
} |
|||
] |
|||
@ -0,0 +1,62 @@ |
|||
[ |
|||
{ |
|||
"id": "xxx1", |
|||
"title": "Alipay", |
|||
"logo": "https://gw.alipayobjects.com/zos/rmsportal/WdGqmHpayyMjiEhcKoVE.png", |
|||
"description": "It's an inner thing, which they can't reach and can't reach", |
|||
"updatedAt": "2020-08-26T10:21:19.719Z", |
|||
"member": "Scientific Moving Brick Group", |
|||
"href": "", |
|||
"memberLink": "" |
|||
}, |
|||
{ |
|||
"id": "xxx2", |
|||
"title": "Angular", |
|||
"logo": "https://gw.alipayobjects.com/zos/rmsportal/zOsKZmFRdUtvpqCImOVY.png", |
|||
"description": "Hope is a good thing, maybe the best, good things will not die out", |
|||
"updatedAt": "2017-07-24T00:00:00.000Z", |
|||
"member": "The whole group is Wu Yanzu", |
|||
"href": "", |
|||
"memberLink": "" |
|||
}, |
|||
{ |
|||
"id": "xxx3", |
|||
"title": "Ant Design", |
|||
"logo": "https://gw.alipayobjects.com/zos/rmsportal/dURIMkkrRFpPgTuzkwnB.png", |
|||
"description": "There are so many pubs in the town, but she just walked into my pub", |
|||
"updatedAt": "2020-08-26T10:21:19.719Z", |
|||
"member": "Second Girl Group", |
|||
"href": "", |
|||
"memberLink": "" |
|||
}, |
|||
{ |
|||
"id": "xxx4", |
|||
"title": "Ant Design Pro", |
|||
"logo": "https://gw.alipayobjects.com/zos/rmsportal/sfjbOqnsXXJgNCjCzDBL.png", |
|||
"description": "At that time I only thought about what I wanted, never wanted what I had", |
|||
"updatedAt": "2017-07-23T00:00:00.000Z", |
|||
"member": "Programmer's Daily", |
|||
"href": "", |
|||
"memberLink": "" |
|||
}, |
|||
{ |
|||
"id": "xxx5", |
|||
"title": "Bootstrap", |
|||
"logo": "https://gw.alipayobjects.com/zos/rmsportal/siCrBXXhmvTQGWPNLBow.png", |
|||
"description": "Shiver", |
|||
"updatedAt": "2017-07-23T00:00:00.000Z", |
|||
"member": "Highly Compelling Design Sky Mission", |
|||
"href": "", |
|||
"memberLink": "" |
|||
}, |
|||
{ |
|||
"id": "xxx6", |
|||
"title": "React", |
|||
"logo": "https://gw.alipayobjects.com/zos/rmsportal/kZzEzemZyKLKFsojXItE.png", |
|||
"description": "Life is like a box of chocolates, the results are often unexpected", |
|||
"updatedAt": "2017-07-23T00:00:00.000Z", |
|||
"member": "Lie to you to learn computer", |
|||
"href": "", |
|||
"memberLink": "" |
|||
} |
|||
] |
|||
@ -0,0 +1,97 @@ |
|||
[ |
|||
{ |
|||
"id": "000000001", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png", |
|||
"title": "You have received 14 new weekly reports", |
|||
"datetime": "2017-08-09", |
|||
"type": "notification" |
|||
}, |
|||
{ |
|||
"id": "000000002", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/OKJXDXrmkNshAMvwtvhu.png", |
|||
"title":"The Qu Nini you recommended has passed the third round of interview", |
|||
"datetime": "2017-08-08", |
|||
"type": "notification" |
|||
}, |
|||
{ |
|||
"id": "000000003", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/kISTdvpyTAhtGxpovNWd.png", |
|||
"title": "This template can distinguish multiple notification types", |
|||
"datetime": "2017-08-07", |
|||
"read": true, |
|||
"type": "notification" |
|||
}, |
|||
{ |
|||
"id": "000000004", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/GvqBnKhFgObvnSGkDsje.png", |
|||
"title": "The icon on the left is used to distinguish different types", |
|||
"datetime": "2017-08-07", |
|||
"type": "notification" |
|||
}, |
|||
{ |
|||
"id": "000000005", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/ThXAXghbEsBCCSDihZxY.png", |
|||
"title": "The content should not exceed two lines, and it will be automatically truncated when exceeded", |
|||
"datetime": "2017-08-07", |
|||
"type": "notification" |
|||
}, |
|||
{ |
|||
"id": "000000006", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg", |
|||
"title": "Qu Lili commented on you", |
|||
"description": "Description information description information description information", |
|||
"datetime": "2017-08-07", |
|||
"type": "message", |
|||
"clickClose": true |
|||
}, |
|||
{ |
|||
"id": "000000007", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg", |
|||
"title": "Zhu Fangyou replied to you", |
|||
"description": "This template is used to remind who has interacted with you, put the avatar of 'who' on the left", |
|||
"datetime": "2017-08-07", |
|||
"type": "message", |
|||
"clickClose": true |
|||
}, |
|||
{ |
|||
"id": "000000008", |
|||
"avatar": "https://gw.alipayobjects.com/zos/rmsportal/fcHMVNCjPOsbUGdEduuv.jpeg", |
|||
"title": "Title", |
|||
"description": "This template is used to remind who has interacted with you, put the avatar of 'who' on the left", |
|||
"datetime": "2017-08-07", |
|||
"type": "message", |
|||
"clickClose": true |
|||
}, |
|||
{ |
|||
"id": "000000009", |
|||
"title": "Task Name", |
|||
"description": "The task needs to be started before 20:00 on 2017-01-12", |
|||
"extra": "has not started", |
|||
"status": "todo", |
|||
"type": "event" |
|||
}, |
|||
{ |
|||
"id": "000000010", |
|||
"title": "Emergency third-party code changes", |
|||
"description": "Guan Lin is submitted to 2017-01-06, you need to complete the code change task before 2017-01-07", |
|||
"extra": "Expiring soon", |
|||
"status": "urgent", |
|||
"type": "event" |
|||
}, |
|||
{ |
|||
"id": "000000011", |
|||
"title": "Information Security Exam", |
|||
"description": "Assign Zhuer to complete the update and release before 2017-01-09", |
|||
"extra": "It took 8 days", |
|||
"status": "doing", |
|||
"type": "event" |
|||
}, |
|||
{ |
|||
"id": "000000012", |
|||
"title": "ABCD Version release", |
|||
"description": "Guanlin submitted on 2017-01-06, the code change task must be completed before 2017-01-07", |
|||
"extra": "processing", |
|||
"status": "processing", |
|||
"type": "event" |
|||
} |
|||
] |
|||
@ -0,0 +1,209 @@ |
|||
<!DOCTYPE html> |
|||
<html lang="en"> |
|||
|
|||
<head> |
|||
<meta charset="UTF-8" /> |
|||
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> |
|||
<meta name="keywords" content="antd,umi,umijs,ant design,脚手架,布局, Ant Design,项目,Pro,admin,控制台,主页,开箱即用,中后台,解决方案,组件库" /> |
|||
<meta name="description" content="An out-of-box UI solution for enterprise applications as a React boilerplate." /> |
|||
<meta name="description" content="开箱即用的中台前端/设计解决方案。" /> |
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" /> |
|||
<title>Ant Design Pro Blazor</title> |
|||
<link rel="icon" href="favicon.ico" type="image/x-icon" /> |
|||
<base href="/" /> |
|||
<link href="_content/AntDesign/css/ant-design-blazor.css" rel="stylesheet" /> |
|||
<link href="_content/AntDesign.ProLayout/css/ant-design-pro-layout-blazor.css" rel="stylesheet" /> |
|||
<link href="./css/site.css" rel="stylesheet" /> |
|||
</head> |
|||
|
|||
<body> |
|||
<noscript>Out-of-the-box mid-stage front/design solution!</noscript> |
|||
<div id="app"> |
|||
<style> |
|||
html, |
|||
body, |
|||
#app { |
|||
height: 100%; |
|||
margin: 0; |
|||
padding: 0; |
|||
} |
|||
|
|||
#app { |
|||
background-repeat: no-repeat; |
|||
background-size: 100% auto; |
|||
} |
|||
|
|||
.page-loading-warp { |
|||
padding: 98px; |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
} |
|||
|
|||
.ant-spin { |
|||
-webkit-box-sizing: border-box; |
|||
box-sizing: border-box; |
|||
margin: 0; |
|||
padding: 0; |
|||
color: rgba(0, 0, 0, 0.65); |
|||
font-size: 14px; |
|||
font-variant: tabular-nums; |
|||
line-height: 1.5; |
|||
list-style: none; |
|||
-webkit-font-feature-settings: 'tnum'; |
|||
font-feature-settings: 'tnum'; |
|||
position: absolute; |
|||
display: none; |
|||
color: #1890ff; |
|||
text-align: center; |
|||
vertical-align: middle; |
|||
opacity: 0; |
|||
-webkit-transition: -webkit-transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86); |
|||
transition: -webkit-transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86); |
|||
transition: transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86); |
|||
transition: transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86), |
|||
-webkit-transform 0.3s cubic-bezier(0.78, 0.14, 0.15, 0.86); |
|||
} |
|||
|
|||
.ant-spin-spinning { |
|||
position: static; |
|||
display: inline-block; |
|||
opacity: 1; |
|||
} |
|||
|
|||
.ant-spin-dot { |
|||
position: relative; |
|||
display: inline-block; |
|||
font-size: 20px; |
|||
width: 20px; |
|||
height: 20px; |
|||
} |
|||
|
|||
.ant-spin-dot-item { |
|||
position: absolute; |
|||
display: block; |
|||
width: 9px; |
|||
height: 9px; |
|||
background-color: #1890ff; |
|||
border-radius: 100%; |
|||
-webkit-transform: scale(0.75); |
|||
-ms-transform: scale(0.75); |
|||
transform: scale(0.75); |
|||
-webkit-transform-origin: 50% 50%; |
|||
-ms-transform-origin: 50% 50%; |
|||
transform-origin: 50% 50%; |
|||
opacity: 0.3; |
|||
-webkit-animation: antSpinMove 1s infinite linear alternate; |
|||
animation: antSpinMove 1s infinite linear alternate; |
|||
} |
|||
|
|||
.ant-spin-dot-item:nth-child(1) { |
|||
top: 0; |
|||
left: 0; |
|||
} |
|||
|
|||
.ant-spin-dot-item:nth-child(2) { |
|||
top: 0; |
|||
right: 0; |
|||
-webkit-animation-delay: 0.4s; |
|||
animation-delay: 0.4s; |
|||
} |
|||
|
|||
.ant-spin-dot-item:nth-child(3) { |
|||
right: 0; |
|||
bottom: 0; |
|||
-webkit-animation-delay: 0.8s; |
|||
animation-delay: 0.8s; |
|||
} |
|||
|
|||
.ant-spin-dot-item:nth-child(4) { |
|||
bottom: 0; |
|||
left: 0; |
|||
-webkit-animation-delay: 1.2s; |
|||
animation-delay: 1.2s; |
|||
} |
|||
|
|||
.ant-spin-dot-spin { |
|||
-webkit-transform: rotate(45deg); |
|||
-ms-transform: rotate(45deg); |
|||
transform: rotate(45deg); |
|||
-webkit-animation: antRotate 1.2s infinite linear; |
|||
animation: antRotate 1.2s infinite linear; |
|||
} |
|||
|
|||
.ant-spin-lg .ant-spin-dot { |
|||
font-size: 32px; |
|||
width: 32px; |
|||
height: 32px; |
|||
} |
|||
|
|||
.ant-spin-lg .ant-spin-dot i { |
|||
width: 14px; |
|||
height: 14px; |
|||
} |
|||
|
|||
@media all and (-ms-high-contrast: none), |
|||
(-ms-high-contrast: active) { |
|||
.ant-spin-blur { |
|||
background: #fff; |
|||
opacity: 0.5; |
|||
} |
|||
} |
|||
|
|||
@-webkit-keyframes antSpinMove { |
|||
to { |
|||
opacity: 1; |
|||
} |
|||
} |
|||
|
|||
@keyframes antSpinMove { |
|||
to { |
|||
opacity: 1; |
|||
} |
|||
} |
|||
|
|||
@-webkit-keyframes antRotate { |
|||
to { |
|||
-webkit-transform: rotate(405deg); |
|||
transform: rotate(405deg); |
|||
} |
|||
} |
|||
|
|||
@keyframes antRotate { |
|||
to { |
|||
-webkit-transform: rotate(405deg); |
|||
transform: rotate(405deg); |
|||
} |
|||
} |
|||
</style> |
|||
<div style=" |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
flex-direction: column; |
|||
min-height: 420px; |
|||
height: 100%; |
|||
"> |
|||
<img src="./pro_icon.svg" alt="logo" width="256" /> |
|||
<div class="page-loading-warp"> |
|||
<div class="ant-spin ant-spin-lg ant-spin-spinning"> |
|||
<span class="ant-spin-dot ant-spin-dot-spin"><i class="ant-spin-dot-item"></i><i |
|||
class="ant-spin-dot-item"></i><i class="ant-spin-dot-item"></i><i |
|||
class="ant-spin-dot-item"></i></span> |
|||
</div> |
|||
</div> |
|||
<div style="display: flex; justify-content: center; align-items: center;"> |
|||
<img src="https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg" width="32" |
|||
style="margin-right: 8px;" /> |
|||
Ant Design Blazor |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
<script src="_content/AntDesign.Charts/g2plot.js"></script> |
|||
<script src="_content/AntDesign/js/ant-design-blazor.js"></script> |
|||
<script src="_content/AntDesign.Charts/ant-design-charts-blazor.js"></script> |
|||
<script src="_framework/blazor.webassembly.js"></script> |
|||
</body> |
|||
|
|||
</html> |
|||
|
After Width: | Height: | Size: 677 B |
Loading…
Reference in new issue