📝 应用描述
只支持纯文本的浏览器,但将文本换成了输入框以便复制
📋 详细信息
| 应用ID |
textbrowser_copy |
| 名称 |
文本浏览器(文本复制) |
| 版本 |
v1 |
| 文件大小 |
1.6 KB |
| 上传时间 |
2026-07-30 13:37:17 |
| 状态 |
✅ 已启用 |
| 权限 |
network, network_external |
| 允许主机 |
* |
💡 界面预览 (main.lua)
📄 Lua 源码
return ui.page({
children = {
ui.input({
id = "urlinput",
hint = "请输入网址",
text = "http://", -- 默认填一个可用的外部 API 做演示;不用了就http://就行
single_line = true
}),
ui.button({
id = "startbutton",
text = "访问",
on_click = function()
-- 1. 获取用户输入的 URL
local url = app.get_text("urlinput")
-- 2. 简单校验:如果没填或者只填了 http://,提示并阻止;就不用校验了,用户应该不全是啥子
--if not url or url == "" or url == "http://" or url == "https://" then
--app.toast("请输入有效的完整网址")
--return
--end
-- 3. 界面反馈:置灰按钮,显示加载中;这一步也不用了,只显示一个加载中就可以了
--app.set_enabled("startbutton", false)
app.set_text("loadingtext", "加载中")
--app.set_text("errtext", "")
--app.toast("加载中")
-- 4. 发起异步网络请求(关键:所有后续逻辑必须塞在回调里)
app.http_get(url, function(body, err)
-- 无论成败,先恢复按钮状态;刚刚置灰按钮那一步不用了这一步也不需要了
--app.set_enabled("startbutton", true)
-- 5. 判断成功还是失败(必须写 else 分支!)
if body then
-- 成功:截取前 500 字符防止 UI 卡顿,并显示在 bodytext;不截取了,显示完整内容
--local display_body = string.sub(body, 1, 500)
--if #body > 500 then
--display_body = display_body .. "\n... (内容过长已截断)"
--end
app.set_text("bodytext", body)
app.set_text("errtext", err)
app.set_text("loadingtext", "加载完毕")
else
-- 失败:显示错误信息
app.set_text("bodytext", body)
app.set_text("errtext", err)
app.set_text("loadingtext", "加载失败")
end
end)
end
}),
ui.text({
id = "loadingtext",
}),
ui.input({
id = "bodytext",
hint="网页内容",
--text = "等待请求...",
--size = 14,
--margin = 8
}),
ui.input({
id = "errtext",
hint="报错信息",
--text = "状态: 就绪",
--size = 12,
--color = "#888888",
--margin = 8
})
}
})