Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Develop #19

Merged
merged 3 commits into from
Jan 27, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ Starfish是一个轻量但功能强大的分布式 .NET 应用程序配置中心
- [ ] ⌛ PostgreSQL
- [ ] 🕝 MongoDB
- [x] 💚 Sqlite
- [ ] ⌛ Support multiple platforms/支持多种平台
- [x] 💚 Support multiple platforms/支持多种平台
- [x] 💚 Web API/Web Application/gRPC Service in .NET6/7/8
- [x] 💚 .NET MAUI
- [ ] ⌛ WPF application
- [x] 💚 WPF application
- [ ] 🕝 Support multiple node deployment/支持多节点部署
- [x] 💚 Support multiple environments/支持多环境
- [ ] ⌛ Deploy with docker/支持Docker部署
Expand All @@ -33,10 +33,10 @@ Starfish是一个轻量但功能强大的分布式 .NET 应用程序配置中心
- [x] 💚 WebSocket
- [ ] 🕝 Rollback to history version/回滚到历史版本
- [ ] 🕝 Role-based access control/基于角色的访问控制
- [ ] ⌛ Support multiple languages admin panel/支持多语言管理面板
- [x] 💚 Support multiple languages admin panel/支持多语言管理面板
- [x] 💚 en/英语
- [x] 💚 zh-Hans/简体中文
- [ ] ⌛ zh-Hant/繁体中文
- [x] 💚 zh-Hant/繁体中文

## 💰 Donate/捐助
<img alt="" title="donate" width="512" src="https://qiniu-cdn.zhaorong.pro/images/donate.png" />
Expand Down
4 changes: 1 addition & 3 deletions Source/Starfish.Webapp/Pages/Apps/Detail.razor
Original file line number Diff line number Diff line change
Expand Up @@ -59,10 +59,8 @@
{
Loading = true;

await AppsApi.GetAsync(Content).ContinueWith(task =>
await AppsApi.GetAsync(Content).EnsureSuccess(result =>
{
task.WaitAndUnwrapException();
var result = task.Result.EnsureSuccess();
Data.Name = result.Name;
Data.Code = result.Code;
Data.Description = result.Description;
Expand Down
20 changes: 4 additions & 16 deletions Source/Starfish.Webapp/Pages/Apps/Edit.razor
Original file line number Diff line number Diff line change
Expand Up @@ -114,11 +114,7 @@
Description = Description
};
await AppsApi.UpdateAsync(Content, request)
.ContinueWith(task =>
{
task.WaitAndUnwrapException();
task.Result.EnsureSuccess();
});
.EnsureSuccess();
}
else
{
Expand All @@ -131,11 +127,7 @@
Description = Description
};
await AppsApi.CreateAsync(request)
.ContinueWith(task =>
{
task.WaitAndUnwrapException();
task.Result.EnsureSuccess();
});
.EnsureSuccess();
}

await Dialog.CloseAsync(Content);
Expand All @@ -158,10 +150,8 @@
private async Task LoadTeamsAsync()
{
await TeamApi.QueryAsync(new TeamCriteria(), 1, 100)
.ContinueWith(task =>
.EnsureSuccess(result =>
{
task.WaitAndUnwrapException();
var result = task.Result.EnsureSuccess();
if (result == null)
{
return;
Expand All @@ -185,10 +175,8 @@
}

await AppsApi.GetAsync(id)
.ContinueWith(task =>
.EnsureSuccess(result =>
{
task.WaitAndUnwrapException();
var result = task.Result.EnsureSuccess();
if (result == null)
{
return;
Expand Down
6 changes: 1 addition & 5 deletions Source/Starfish.Webapp/Pages/Apps/ResetSecret.razor
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,7 @@
};

await AppsApi.SetSecretAsync(Content, data)
.ContinueWith(task =>
{
task.WaitAndUnwrapException();
task.Result.EnsureSuccess();
});
.EnsureSuccess();

await Dialog.CloseAsync(Content);
}
Expand Down
34 changes: 13 additions & 21 deletions Source/Starfish.Webapp/Pages/Logging/Index.razor
Original file line number Diff line number Diff line change
Expand Up @@ -14,32 +14,32 @@
<FluentGrid>
<FluentGridItem lg="12" sm="12" md="12">
<div class="search-bar">
<FluentSearch Placeholder="@(Resources.IDS_COMMON_PLACEHOLDER_KEYWORD)" @bind-Value="Criteria.UserName"/>
<FluentDatePicker @bind-Value="@Criteria.MinTime"/>
<FluentDatePicker @bind-Value="@Criteria.MaxTime"/>
<FluentSearch Placeholder="@(Resources.IDS_COMMON_PLACEHOLDER_KEYWORD)" @bind-Value="Criteria.UserName" />
<FluentDatePicker @bind-Value="@Criteria.MinTime" />
<FluentDatePicker @bind-Value="@Criteria.MaxTime" />
<FluentButton IconStart="@(new Icons.Regular.Size16.Search())" OnClick="@OnSearchClicked">@(Resources.IDS_COMMON_SEARCH)</FluentButton>
</div>
</FluentGridItem>
<FluentGridItem lg="12" sm="12" md="12">
<FluentDataGrid ItemsProvider="_provider"
Pagination="Pagination"
ItemSize="46"
GenerateHeader="GenerateHeaderOption.Sticky"
<FluentDataGrid ItemsProvider="_provider"
Pagination="Pagination"
ItemSize="46"
GenerateHeader="GenerateHeaderOption.Sticky"
TGridItem="OperateLogDto"
GridTemplateColumns="0.2fr 1fr 0.8fr 0.2fr 0.4fr 0.2fr">
<PropertyColumn Class="data-grid-column" Title="@(Resources.IDS_LOGS_INDEX_COLUMN_TYPE)" Property="@(c => c.Type)"/>
<PropertyColumn Class="data-grid-column" Title="@(Resources.IDS_LOGS_INDEX_COLUMN_DESCRIPTION)" Property="@(c => c.Description)" Tooltip="true"/>
<PropertyColumn Class="data-grid-column" Title="@(Resources.IDS_LOGS_INDEX_COLUMN_TYPE)" Property="@(c => c.Type)" />
<PropertyColumn Class="data-grid-column" Title="@(Resources.IDS_LOGS_INDEX_COLUMN_DESCRIPTION)" Property="@(c => c.Description)" Tooltip="true" />
<PropertyColumn Class="data-grid-column" Title="@(Resources.IDS_LOGS_INDEX_COLUMN_ERROR)" Property="@(c => c.Error)" Tooltip="true" />
<PropertyColumn Class="data-grid-column" Title="@(Resources.IDS_LOGS_INDEX_COLUMN_USER_NAME)" Property="@(c => c.UserName)" />
<PropertyColumn Class="data-grid-column" Title="@(Resources.IDS_LOGS_INDEX_COLUMN_OPERATE_TIME)" Property="@(c => c.OperateTime)" Format="yyyy-MM-dd HH:mm:ss"/>
<PropertyColumn Class="data-grid-column" Title="@(Resources.IDS_LOGS_INDEX_COLUMN_OPERATE_TIME)" Property="@(c => c.OperateTime)" Format="yyyy-MM-dd HH:mm:ss" />
<TemplateColumn Title="@(Resources.IDS_COMMON_COLUMN_ACTIONS)" Align="@Align.Center">
<FluentButton Appearance="Appearance.Lightweight" OnClick="@(() => OnGotoDetailClicked(context))">@(Resources.IDS_LOGS_INDEX_BUTTON_GOTO_DETAIL)</FluentButton>
</TemplateColumn>
</FluentDataGrid>
</FluentGridItem>

<FluentGridItem lg="12" sm="12" md="12">
<FluentDataGridPaginator State="@Pagination"/>
<FluentDataGridPaginator State="@Pagination" />
</FluentGridItem>
</FluentGrid>
</FluentCard>
Expand All @@ -61,22 +61,14 @@
var tasks = new List<Task>
{
LogsApi.QueryAsync(Criteria, request.StartIndex, Pagination.ItemsPerPage, request.CancellationToken)
.ContinueWith(task =>
{
task.WaitAndUnwrapException(request.CancellationToken);
items = task.Result.EnsureSuccess();
}, request.CancellationToken)
.EnsureSuccess(result => items = result, request.CancellationToken)
};

if (request.StartIndex == 0)
{
tasks.Add(
LogsApi.CountAsync(Criteria, request.CancellationToken)
.ContinueWith(task =>
{
task.WaitAndUnwrapException(request.CancellationToken);
Total = task.Result.EnsureSuccess();
}, request.CancellationToken)
.EnsureSuccess(result => Total = result, request.CancellationToken)
);
}

Expand Down
20 changes: 4 additions & 16 deletions Source/Starfish.Webapp/Pages/Setting/Edit.razor
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
@implements IDialogContentComponent<EditDialogArgs>

@inject ISettingApi SettingApi
@inject IToastService ToastService

<FluentDialogHeader ShowDismiss="true">
<FluentStack VerticalAlignment="VerticalAlignment.Center">
Expand Down Expand Up @@ -90,18 +89,8 @@
};
var task = Mode switch
{
"create" => SettingApi.CreateAsync(Content.AppId, Content.Environment, Format, request)
.ContinueWith(task =>
{
task.WaitAndUnwrapException();
task.Result.EnsureSuccess();
}),
"update" => SettingApi.UpdateAsync(Content.AppId, Content.Environment, Format, request)
.ContinueWith(task =>
{
task.WaitAndUnwrapException();
task.Result.EnsureSuccess();
}),
"create" => SettingApi.CreateAsync(Content.AppId, Content.Environment, Format, request).EnsureSuccess(),
"update" => SettingApi.UpdateAsync(Content.AppId, Content.Environment, Format, request).EnsureSuccess(),
_ => Task.CompletedTask
};
await task;
Expand All @@ -125,10 +114,9 @@
private Task LoadValueAsync()
{
return SettingApi.GetItemsAsync(Content.AppId, Content.Environment, Format)
.ContinueWith(task =>
.EnsureSuccess(result=>
{
task.WaitAndUnwrapException();
var value = Cryptography.Base64.Decrypt(task.Result.EnsureSuccess());
var value = Cryptography.Base64.Decrypt(result);
_editor.SetValue(value);
})
.Guard();
Expand Down
7 changes: 1 addition & 6 deletions Source/Starfish.Webapp/Pages/Setting/EditValue.razor
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
@implements IDialogContentComponent<EditDialogArgs>

@inject ISettingApi SettingApi
@inject IToastService ToastService

<FluentDialogHeader ShowDismiss="true">
<FluentStack VerticalAlignment="VerticalAlignment.Center">
Expand Down Expand Up @@ -55,11 +54,7 @@
{
Loading = true;
await SettingApi.UpdateItemValueAsync(Content.AppId, Content.Environment, Key, Request)
.ContinueWith(task =>
{
task.WaitAndUnwrapException();
task.Result.EnsureSuccess();
});
.EnsureSuccess();
await Dialog.CloseAsync(Content);
}
catch (Exception exception)
Expand Down
30 changes: 5 additions & 25 deletions Source/Starfish.Webapp/Pages/Setting/Index.razor
Original file line number Diff line number Diff line change
Expand Up @@ -124,22 +124,14 @@
var tasks = new List<Task>
{
SettingApi.GetItemListAsync(Id, Environment, request.StartIndex, Pagination.ItemsPerPage, request.CancellationToken)
.ContinueWith(task =>
{
task.WaitAndUnwrapException(request.CancellationToken);
items = task.Result.EnsureSuccess();
}, request.CancellationToken)
.EnsureSuccess(result => items = result, request.CancellationToken)
};

if (request.StartIndex == 0)
{
tasks.Add(
SettingApi.GetItemCountAsync(Id, Environment, request.CancellationToken)
.ContinueWith(task =>
{
task.WaitAndUnwrapException(request.CancellationToken);
Total = task.Result.EnsureSuccess();
}, request.CancellationToken)
.EnsureSuccess(result => Total = result, request.CancellationToken)
);
}

Expand All @@ -163,22 +155,14 @@
private Task LoadSettingDetailAsync(CancellationToken cancellationToken = default)
{
return SettingApi.GetAsync(Id, Environment, cancellationToken)
.ContinueWith(task =>
{
task.WaitAndUnwrapException(cancellationToken);
SettingDetail = task.Result.EnsureSuccess();
}, cancellationToken)
.EnsureSuccess(result => SettingDetail = result, cancellationToken)
.Guard();
}

private Task LoadAppDetailAsync()
{
return AppsApi.GetAsync(Id)
.ContinueWith(task =>
{
task.WaitAndUnwrapException();
AppDetail = task.Result.EnsureSuccess();
})
.EnsureSuccess(result => AppDetail = result)
.Guard();
}

Expand Down Expand Up @@ -268,11 +252,7 @@
try
{
await SettingApi.DeleteAsync(Id, Environment)
.ContinueWith(task =>
{
task.WaitAndUnwrapException();
task.Result.EnsureSuccess();
});
.EnsureSuccess();
await Pagination.SetCurrentPageIndexAsync(0);
StateHasChanged();
}
Expand Down
10 changes: 2 additions & 8 deletions Source/Starfish.Webapp/Pages/Setting/Publish.razor
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
@implements IDialogContentComponent<EditDialogArgs>

@inject ISettingApi SettingApi
@inject IToastService ToastService

<FluentDialogHeader ShowDismiss="true">
<FluentStack VerticalAlignment="VerticalAlignment.Center">
Expand Down Expand Up @@ -48,18 +47,13 @@
Loading = true;

await SettingApi.PublishAsync(Content.AppId, Content.Environment, Request)
.ContinueWith(task =>
{
task.WaitAndUnwrapException();
task.Result.EnsureSuccess();
});
.EnsureSuccess();

await Dialog.CloseAsync(Content);
}
catch (Exception exception)
{
var message = exception.GetPromptMessage();
ToastService.ShowError(message);
exception.Send();
}
finally
{
Expand Down
6 changes: 1 addition & 5 deletions Source/Starfish.Webapp/Pages/Setting/SyncRedis.razor
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,7 @@
Loading = true;

var raw = await SettingApi.GetArchivedAsync(Content.AppId, Content.Environment)
.ContinueWith(task =>
{
task.WaitAndUnwrapException();
return task.Result.EnsureSuccess();
});
.EnsureSuccess();

var buffer = Convert.FromBase64String(raw);
var items = Decompress(buffer, buffer.Length);
Expand Down
Loading
Loading