1

我正在尝试为 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 已安装应用程序的 Web 界面的相对路径(指定的路径是相对于 Web 服务器数据的配置位置;通常是 /share/Web 或 /share/Qweb。)指定的路径必须以“/”开头。显示的链接只有在启用 QPKG 时才能访问。如果已经给 QPKG_WEB_PORT 一个值并且 QPKG_WEBUI 为空,则在安装时会自动设置默认值“/”。

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

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

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

我必须从 qpkg.cfg 文件中修改更多内容吗?你有一些带有示例代码的文档吗?

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

非常感谢大家

4

1 回答 1

1

仔细研究了这个问题,并在尝试了其他有同样问题的应用程序后,我发现问题不是 QPKG_WEBUI 变量的结论。

问题是我的 QNAP Web 界面(我不知道这是否适用于每个 QNAP 或仅在我的情况下)具有默认端口 8080,但 WEBUI 具有默认端口 80。

然后似乎网络浏览器阻止了 QNAP 界面内 iframe 中的 WEBUI 以遵循Same Origin Policy。在新窗口中打开时,WEBUI 可以正常工作。

设置 QPKG_USE_PROXY=1 变量让 iframe 也可以工作。

于 2017-07-13T08:44:16.530 回答