如何在 QNAP 中正确设置 QPKG_WEBUI 变量

How to set properly QPKG_WEBUI variable in QNAP

我正在尝试为 QNAP 开发应用程序。我对QNAP实在是一窍不通,请帮帮我!

我成功创建了一个 qpkg 包并正确安装了它,并且可以正常工作。但是当我想给我的应用程序一个网络界面时,问题就出现了。

我只有一个 index.html 文件,里面只有一个 helloworld 文本。

我用 QDK 创建环境,我有 /share/XXX_DATA/.qpkg/QDK/MyApp 文件夹

现在,我创建了其他文件的一部分

/share/XXX_DATA/.qpkg/QDK/MyApp/Web

并把我的 index.html 和我的 HelloWorld 消息放在那里。

好了,我修改/share/XXX_DATA/.qpkg/QDK/MyApp/qpkg.cfg文件,设置变量

QPKG_WEBUI="/MyApp/Web"

从文档中,例如 https://edhongcy.gitbooks.io/qdk-qpkg-development-kit/content/qpkg-configuration-file.html ,我可以看到

QPKG_WEBUI Relative path to installed application's web interface (the specified path is relative the configured location of web server data; usually /share/Web or /share/Qweb.) The specified path must start with a '/'. The displayed link can only be accessed when the QPKG is enabled. A default value of '/' is set automatically at installation if QPKG_WEB_PORT has been given a value and QPKG_WEBUI is empty.

然后我还在 /share/XXX_DATA/Web 文件夹中创建一个 link 到我的 web 文件夹。 (/share/Web 只是 link 到 /share/XXX_DATA/Web) 即:

ln -s /share/XXX_DATA/.qpkg/QDK/MyApp/shared/Web /share/XXX_DATA/Web/MyApp/Web

好吧,现在发生了什么,当我在我的应用程序中单击 "open" 时,我可以在我的 QNAP 中打开一个 Window,但它是完全空白的。我尝试了很多不同的变体,但我的 window 总是空白。

我必须修改 qpkg.cfg 文件的一部分吗? 你有一些带有示例代码的文档吗?

QPKG_WEBUI 是要修改的正确变量吗?

非常感谢大家

仔细研究问题,并尝试其他有相同问题的应用程序后,我发现问题不是 QPKG_WEBUI 变量。

问题是我的 QNAP 网络界面(我不知道这是对每个 QNAP 通用的还是仅在我的情况下)具有默认端口 8080,但 WEBUI 具有默认端口 80。

那么浏览器似乎为了跟进Same Origin Policy而屏蔽了QNAP界面内iframe中的WEBUI。在新 window 中打开时,WEBUI 工作正常。

设置 QPKG_USE_PROXY=1 变量让 iframe 也能正常工作。