文档
文档
idepy 34 1045字 约2分钟

应用程序架构

使用 IDEPY Next 构建应用程序有多种方式:

工程化模式(推荐)

使用cli工具,创建相关的模板,并使用URL的模式引入窗口。

如主窗口引入,只需要设置URL为/windows/main/index.html即可。

该模式下,可以最大程度发挥IDEPY Next框架功能。

纯浏览器模式

  • 最简单的方式是将其指向一个 URL。这需要运行一个远程或本地的 web 服务器。
webview.create_window('Simple browser', 'https://idepy.com')
webview.start()

如果你指向本地 web 服务器,你可以手动启动一个背景线程并提供 WSGIRef 服务器实例给 URL 参数。

server = Flask(__name__, static_folder='.', template_folder='.')
webview.create_window('My first idepy-next application', server)
webview.start()

查看基于 Flask 的应用程序完整示例 Flask-based application

在使用本地 web 服务器时,应保护 API 调用免受 CSRF 攻击。参阅 安全 详细了解。

尽管 file:// 协议是可能的,但其使用不鼓励,因为有多种继承限制且不支持良好。

JS API 加内部 HTTP 服务器

另一种方式是使用 JS API 桥,并通过内置 HTTP 服务器提供静止内容。JS API 桥允许在 Python 和 JavaScript 域之间无需 web 服务器进行通信。 bridge 可以通过 create_window(..., js_api=Api()) 或或 window.expose 函数创建。为了提供静态内容,将入口点 URL 设置为一个本地相对路径。这会自动启动内置的 HTTP 服务器。有关在 Python 和 JavaScript 之间通信的更多细节,请参阅 域间通信。请查看 无服务器应用 以获取完整实现示例。

无需服务器

  • 最终,您可以完全不使用 web 服务器通过加载 HTML 使用 webview.create_window(...html='') 或或 window.load_html。此方法有其局限性,因为加载的页面没有文件系统上下文。只能在内联加载图像和其他资产(仅限于 Base64)。
目录
注册
{{page_data?.register_msg}}
申请账号
发送重置邮件
搜索
{{downloadForm?.title}}
描述:{{downloadForm?.description || '暂无描述信息'}}
备注:
打开下载地址
如未自动打开请手动点击
({{userInfoData?.nickname || '昵称'}}){{userInfoData?.username || '用户名'}}
ID:{{userInfoData?.id || 0}}
{{userInfoData?.money || '0'}}余额 {{userInfoData?.coin || '0'}}积分
VIP
{{item?.label}}
保存信息
修改密码
粉丝权益暂未激活
粉丝权益已激活
{{item?.name}}
qrcode