【Dotnet 工具箱】推荐一个使用Flutter编写的博客园客户端

dotnet,工具箱,推荐,一个,使用,flutter,编写,博客园,客户端 · 浏览次数 : 145

小编点评

## Flutter 博客园客户端示例 以下是使用 Flutter 编写的博客园客户端示例,支持 Android/iOS 平台,包含博客首页、新闻列表、博问列表、闪存、我的博客、知识库等功能: **1. 项目创建** 首先,创建一个名为 `BlogClient` 的项目,并添加以下依赖项: * `dio` * `flutter_web` * `flutter_native_image` * `firebase_core` (用于 Firebase Cloud Messaging) ```bash flutter create BlogClient -p flutter/dart cd BlogClient ``` **2. 配置环境** 在根目录创建 `.env` 文件,并添加以下内容: ``` CNBLOG_CLIENT_ID=your_cnblog_client_id CNBLOG_CLIENT_SECRET=your_cnblog_client_secret ``` **3. 实现功能** 创建 `main.dart` 文件,并添加以下代码: ```dart import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; import 'package:rhea/rhea.dart'; void main() async { // Use Dio for network requests final client = Dio.remote('your_api_url'); final res = await client.get('/your_api_endpoint'); // Use Rhea for local storage final clientRhea = Rhea.client; await clientRhea.set('your_key', jsonEncode(res.data)); runApp(MaterialApp(title: 'BlogClient')); } ``` **4. 运行应用程序** 在终端中运行应用程序: ```bash flutter run ``` **5. 访问博客园** 访问 `localhost:7312` 端口,即可进入博客园首页。 **6. 可选配置参数** 您可以通过构造函数传递参数,比如传入动态的 URL: ```dart final url = 'your_dynamic_url'; final client = Dio.remote('your_api_url'); final response = await client.get(url, params: {'param1': 'value1', 'param2': 'value2'}); ``` **7. 使用 DFrame 和 Locust** 为了使用 DFrame 和 Locust 进行分布式测试,请按照官方文档进行配置和操作。 **8. 测试模式** 您可以选择不同的测试模式,以优化性能: * **Request 模式**:设置总执行次数和每个负载的并发数。 * **Repeat 模式**:类似于 Ramp-Up,并发数和请求数是逐步上升的。 * **Duration 模式**:对测试设置固定的时间。 * **Infinite 模式**:持续执行,直到点击 STOP。 **9. 更多信息** 项目代码和更多信息可以在 GitHub 项目页面找到: * **Rhea 示例**:`rhea:master/examples/flutter` * **DFrame 文档**:`dframe:latest/docs/tutorials/flutter/`

正文

推荐一个使用 Flutter 编写的博客园客户端

简单易用并且同时支持Android/Ios平台。

功能包含博客园首页、新闻列表、博问列表 、闪存、我的博客、知识库等。

截图预览

博客园首页

新闻列表

博问列表

闪存列表

我的

我的资料

我的博客

知识库

博客内容

粉丝关注

在启动项目之前,需要在根目录创建.env文件。里面包含博客园的id和secret。

clientId={{cnblog_client_id}}
clientSecret={{cnblog_secret_id}}
notRobotCookie=CfDJ8EOBBtWq0dNFoDS-ZHPSe51ATHuFFilG3imii1Hj5WZ-TAK98xT4mJquvSMlYdkzfVCmpAWdt1VyGSpqZ5Q8GulXT3q-Essgs3ttLCLRTzIqo0Klt-nZCkblG6ST2zI2Og

可以在 Github Releases 页面进行下载。

使用 C# 和 Blazor 开发的分布式压力测试框架

DFrame 是一个适用于 .NET 和 Unity 的分布式压力测试框架。

这个库允许您用纯 C# 代码编写分布式负载测试场景,不需要奇怪的 gui、dsl、xml、json、yaml。除了 HTTP/1 之外,您还可以通过用 C# 编写代码,来测试 HTTP/2、gRPC 等网络传输。

如何使用

DFrame 和 Locust 类似,由两部分组成, DFrame.Controller (由 Blazor Server 构建)作为 Web UI, DFrame.Worker 作为 C# 测试场景脚本。 DFrame 作为 Nuget 库提供,如果您熟悉 C#,就可以轻松上手。

// Install-Package DFrame
using DFrame;

// WebUI:7312, WorkerListen:7313
DFrameApp.Run(7312, 7313); 

public class SampleWorkload : Workload
{
    public override async Task ExecuteAsync(WorkloadContext context)
    {
        Console.WriteLine($"Hello {context.WorkloadId}");
    }
}

现在您可以打开浏览器,访问 localhost:7312, 简单设置并进行测试。

您还可以设置参数,比如可以传入动态的 URL,可以在构造函数中接收参数。

using DFrame;
using Microsoft.Extensions.DependencyInjection;

var builder = DFrameApp.CreateBuilder(7312, 7313);
builder.ConfigureServices(services =>
{
    services.AddSingleton<HttpClient>();
});
await builder.RunAsync();

public class HttpGetString : Workload
{
    readonly HttpClient httpClient;
    readonly string url;

    // HttpClient 从 DI 获取
    // URL 从 Web UI 传入
    public HttpGetString(HttpClient httpClient, string url)
    {
        this.httpClient = httpClient;
        this.url = url;
    }

    public override async Task ExecuteAsync(WorkloadContext context)
    {
        await httpClient.GetStringAsync(url, context.CancellationToken);
    }
}

如果您只想简单的测试 HTTP GET/POST/PUT/DELETE,可以启用 IncludeDefaultHttpWorkload ,这样就可以传入 url 和 body 参数。

using DFrame;

var builder = DFrameApp.CreateBuilder(7312, 7313);
builder.ConfigureWorker(x =>
{
    x.IncludesDefaultHttpWorkload = true;
});
builder.Run();

DFrame 还支持在分布式场景中使用,对于每个 Worker,可以使用下面的代码,连接到统一的 Controller.

using DFrame;
using Microsoft.Extensions.Hosting;

await Host.CreateDefaultBuilder(args)
    .RunDFrameWorkerAsync("http://localhost:7313");  

测试模式

DFrame 有四种测试模式,可以根据需要自由配置。

Request 模式,可以设置总的执行次数,每个负载的并发数。

Repeat 重复模式,和 Ramp-Up 类似,并发数和请求数是逐步上升的。

Duration 可以对测试设置固定的时间。

Infinite 无穷的,持续执行,直到点击 STOP。

Rhea 时间管理大师

Rhea 是一个基于 C# 和 .NET 6 开发的在线任务管理平台,类似于 禅道、Jira、Redmine, 滴答清单等。

支持多视图多维度统一管理任务。多级结构,工作区,空间,文件夹,列表,可以更灵活的进行任务管理。

应用支持多主题和主题色切换,灵活搭配,随心所欲。

Rhea 使用的技术栈为 C# 和 .NET 6, 前端使用了 Angular 和 CDK, 存储使用了 Redis 和 Sql Server,数据库访问框架使用 EntityFramework Core, 应用实时通知使用了微软的 SignalR 框架。

Rhea 适用于个人和团队使用,对于个人永久免费使用,支持无限制创建任务。

项目地址: https://rhea.cc

功能概览

列表视图

经典看板

日历视图

时间线

项目地址: https://rhea.cc

与【Dotnet 工具箱】推荐一个使用Flutter编写的博客园客户端相似的内容:

【Dotnet 工具箱】推荐一个使用Flutter编写的博客园客户端

推荐一个使用 Flutter 编写的博客园客户端 简单易用并且同时支持Android/Ios平台。 功能包含博客园首页、新闻列表、博问列表 、闪存、我的博客、知识库等。 截图预览 博客园首页 新闻列表 博问列表 闪存列表 我的 我的资料 我的博客 知识库 博客内容 粉丝关注 在启动项目之前,需要在根

[转帖].NET 7 正式发布

https://www.oschina.net/news/216967/dotnet-7-released 微软宣布正式推出 .NET 7 ,使用 .NET 7 可以轻松地将 .NET 7 项目容器化,在 GitHub 操作中设置 CI/CD 工作流,并实现云原生可观察性。 .NET 7 是标准期限

瑞亚时间管理大师,我们使用到了哪些技术栈?

这篇文章,我会介绍开发瑞亚时间管理大师的过程中,所使用到的技术栈, 对独立开发感兴趣的同学,可以进行参考。 瑞亚时间管理大师, 是一个在线的任务管理、项目管理、 团队协作平台。瑞亚 拥有现代化的页面风格,高效、简便,同时适合个人和团队使用。 功能预览 瑞亚时间管理大师是以任务管理为核心,还包括了看板

瑞亚时间管理大师,基于 .NET 6 和 Angular 构建的在线任务管理协作平台

瑞亚时间管理大师 瑞亚时间管理大师, 是一个在线的任务管理、项目管理、 团队协作平台。瑞亚 拥有现代化的页面风格,高效、简便,同时适合个人和团队使用。 瑞亚对个人免费,提供了无限制的任务,列表,和空间。 功能预览 瑞亚时间管理大师是以任务管理为核心,还包括了看板,文档,思维导图,白板,和 OKR 目

【Dotnet 工具箱】基于 .NET 6 和 Angular 构建项目任务管理平台

1.Reha 时间管理大师 Rhea 是一个基于 C# 和 .NET 6 开发的在线任务管理平台,类似于 禅道、Jira、Redmine, 滴答清单等。 支持多视图多维度统一管理任务。多级结构,工作区,空间,文件夹,列表,可以更灵活的进行任务管理。 应用支持多主题和主题色切换,灵活搭配,随心所欲。

dotnet 命令行工具解决方案 PomeloCli

目录PomeloCli 是什么为什么实现太多的工具太少的规范基于二进制拷贝分发难以为继快速开始1. 引用 PomeloCli 开发命令行应用2. 引用 PomeloCli 开发命令行插件开发命令行插件搭建私有 nuget 服务发布命令行插件3. 使用 PomeloCli 集成已发布插件安装命令行宿主

创建.NET程序Dump的几种姿势

当一个应用程序运行的有问题时,生成一个Dump文件来调试它可能会很有用。在Windows、Linux或Azure上有许多方法可以生成转储文件。 Windows平台 dotnet-dump (Windows) dotnet-dump全局工具是一种收集和分析.NET核心应用程序Dump的方法。 安装 d

.NET周刊【6月第2期 2024-06-09】

国内文章 C#开源实用的工具类库,集成超过1000多种扩展方法 https://www.cnblogs.com/Can-daydayup/p/18230586 文章介绍了一个免费的C#工具类库Z.ExtensionMethods,可以通过NuGet包管理器轻松集成。该库支持.NET Standard

.NET借助虚拟网卡实现一个简单异地组网工具

由于工作需要,经常需要远程客户的服务器,但是并不是所有服务器都能开外网端口,使用向日葵等软件终究还是不太方便,于是找了很多工具,包括zerotier 等,但是由于服务器在国外等有时候还不同, 于是开始自己想办法研究一个属于自己的组网工具,最后找到snltty大佬的 https://github.co

Visual Studio 智能代码插件:CodeGeeX

前言 在软件开发领域,高效的编程助手一直是提升开发者效率和质量的关键。随着人工智能技术的不断发展,智能编程助手逐渐成为开发者们不可或缺的工具。其中,CodeGeeX作为一款专为Visual Studio设计的免费智能编程助手,凭借其强大的功能和便捷的使用体验,赢得了广大开发者的青睐。 CodeGee