asp.net core 转发客户端 ai 调用
有时不需希望在客户端直接对 ai 接口发起请求,通过 api 中间层转发 ai 请求, 在转发时填入真实的服务器地址及 key。 如果要全部转发的话,可以做反向代理, 见 使用 Yarp.ReverseProxy 转发 ai 调用请求至硅基流动 注入服务 要注意的是如果启用了 aspire , 系统会启用一个默认的 http 处理策略,比如超时时间…
|
479
|
|
385 字
|
10 分钟
asp.net core 接入 oidc 服务端
工作流程如下,客户端通过登录服务器的 oidc 接口登录后获得 access_token, 使用该 token 访问 api 服务, api 服务到登录服务器验证 token 的合法性,并返回数据。 工作方式分以下几种 登录服务器一般返回如下内容 短时间内有效的 AccessToken,可能为 jwt 格式,也可能配置为非 jwt 的非透明 tok…
|
392
|
|
1029 字
|
12 分钟
android 上调用 xunit 测试
工具地址 https://github.com/mattleibow/DeviceRunners 工具功能 在 android 上提示一个界面,选择并执行测试函数并显示日志, 支持 ui 自动化测试 支持桌面端启动 android 自动化启动测试并接收测试结果 支持 windows / linux / macos / android / ios 没…
|
367
|
|
685 字
|
8 分钟
avalonia 应用嵌入字体文件
某些手机系统的字体非原生,使用默认字体无法显示,需要嵌入字体文件, 才能正常显示。 嵌入字体 复制字体文件到 Assets 目录或是子目录中, 本例中使用 Assets\Fonts, 该目录默认编译为 AvaloniaResource macos 下相看字体名称命令 fc-query qweather-icons.ttf | grep family…
|
417
|
|
128 字
|
2 分钟
.net 生成和风天气api密钥
和风天气api密钥生成使用 ed25519(EdDSA) 签名算法签名 jwt。但是 .net 官方没有提供 ed25519 签名算法,所以要自行拼接 jwt 结构并使用第三方库进行签名 openssl 生成密钥对 macos 上可能要安装 openssl@3, brew install openssl@3 /opt/homebrew/opt/op…
|
523
|
|
268 字
|
4 分钟
Splat 与 Microsoft.Extensions.DependencyInjection 整合
许多 avalonia 项目都使用 Splat,如果习惯使用 Microsoft.Extensions.DependencyInjection 需要进行整合,下面以 android 项目为例,介绍如何将 Splat 与 Microsoft.Extensions.DependencyInjection 整合。 原理是调用 AppLocator.Set…
|
405
|
|
240 字
|
3 分钟
Avalonia android 项目中调用 maui
如果仅需要调用 android 底层的一些功能,可以只使用 MauiEssentials 引用包 dotnet add package Microsoft.Maui.Essentials 启用 <UseMauiEssentials>true</UseMauiEssentials> 文档 https://learn.micro…
|
427
|
|
348 字
|
3 分钟
android avalonia oidc 登录
流程与桌面站类似,登录时启用浏览器(使用 Custom Tabs,在应用内部打开一个轻量级的浏览器)跳转至登录链接, 用户操作登录,后端服务器跳转到本地应用。跳转会有所区别,桌面应用是跳转回本地监听地址,android 中应用会注册一个 scheme (App Links 技术),浏览器跳转到该 scheme 时,系统会唤醒对应应用的 Activi…
|
2,263
|
|
1042 字
|
11 分钟
Rider 设置 Android 开发环境
以 Avalonia 开发为例子 新建项目 dotnet new avalonia.xplat 或是 keboo.avalonia 三方模板 在项目下运行 dotnet build -t:InstallAndroidDependencies -p:AndroidSdkDirectory=/Users/iox/Library/Android/sdk …
|
420
|
|
162 字
|
1 分钟内
Ubuntu 调整屏幕亮度
当屏幕可能老化等原因达不到原来的亮度时, 可以通过模拟的方式补偿屏幕的亮度(按比例放大 RGB 信号值),虽然无法突破硬件的亮度限制,但整体的亮度被提高了,可以有限的提高使用感受。需要注意的是,过度提升可能导致白色区域过曝(高光细节丢失),此时可配合调整 Gamma 值(如适度降低)来优化整体对比度和暗部可见性,获得更舒适的视觉效果。 # 查看连接…
|
414
|
|
226 字
|
2 分钟