EUI-NEO

网络请求

EUI-NEO 技术文档。

网络请求

当前网络层位于 core/network.h / core/network.cpp,主要服务两类能力:

平台支持

文本 API

core::network::requestText(
    "bing.meta",
    "https://www.bing.com/HPImageArchive.aspx?format=js&n=1&idx=0&mkt=zh-CN");

const core::network::TextResult result = core::network::textResult("bing.meta");
if (result.ready && result.ok) {
    ui.text("api.text")
        .size(520.0f, 72.0f)
        .text(result.body)
        .wrap(true)
        .build();
}

requestText 只会为同一个 key 启动一次后台请求。请求完成后会唤醒 GLFW 事件循环,app/dsl_app.h 检测到网络文本完成后会重新 compose 页面。

gallery 的 About 页展示了 Bing API 文本结果。

图片网络请求

ui.image("remote")
    .size(260.0f, 150.0f)
    .url("https://example.com/picture.png")
    .radius(16.0f)
    .build();

网络图片会下载到系统临时缓存目录,再按本地图片解码并上传纹理。下载完成后 Runtime 会重绘图片区域。

Bing 每日图

ui.image("bing")
    .size(260.0f, 150.0f)
    .bingDaily(0, "zh-CN")
    .radius(16.0f)
    .build();

bingDaily(idx, mkt) 会请求 Bing HPImageArchive API,解析返回 JSON 中的图片 URL,然后下载图片。

当前限制