用免费的Bootstrap模板和OnceOA搭建一个可在线更新编辑的个人/企业网站门户系统
OnceOA OnceDoc 二次开发 by wx_15926 on 1571801929949


OnceOA企业驱动引擎单用户完全免费,不限制商用,安装部署也十分简单。并且OnceDoc知识管模块,支持源文件的直接在线编辑。我们可以利用OnceDoc模块和OnceOA自带的博客和Wiki系统,在云服务器上搭建一个企业或个人网站门户,并兼有企业/个人私有云笔记和网盘功能。

下载门户网站模板

目前基于 Bootstrap 有非常多的免费网站模板。稍加修改就可作为网站门户来使用。Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架,一直是 GitHub 上的热门开源项目。网上有很多下载Bootstrap模板的网站,比如我们的模板就是从下面两个网站中下载。

免费 https://startbootstrap.com
收费 https://wrapbootstrap.com

 各类 Bootstrap 模板:

插入图片描述

这里先下载一个免费的网站模板,将下载的压缩包解压,如下图所示,选择用浏览器打开这些文件,如果能正常打开查看就说明这个网站模板没有问题。

插入图片描述

上传网站模板

现在我们需要将这些静态网页上传到网页服务器上,假设您已经在云服务上安装好了一套OnceOA的运行环境,不了解的用户可以参考: 在Windows上一键安装OnceOA。OnceDoc,是可以作为静态网站服务器使用的,OnceDoc 针对静态网页作了缓存优化,在低功耗 ARM 芯片上也能发挥出很好的性能。

先将 zip 格式的压缩包上传到 OnceDoc,上传时勾选自动解压。解压完成后您可以重命名文件夹,注意文件夹和文件最好不要出现中文和特殊字符、空格等。

插入图片描述

查看网站

上传完成之后,我们点开解压目录的中的网页文件,此时会自动以代码格式查看。我们需要以网页文件格式打开。选择主页( index.html )并单点右键,在打开方式中选择”文件浏览器“打开。

插入图片描述

 

此时会弹出新的网页浏览窗口, 地址类似:

http://192.168.0.103:8064/file/view/r2/robot/index.html

这样网站的静态门户就做好了。

插入图片描述

更改默认首页

OnceOA默认首页是网盘管理桌面,当我们将其作为网站服务器时,需要更改默认首页。这样当用户直接输入域名或IP时,就会自动跳转到刚才搭建的企业门户。

这里我们需要将首页从 /onceos 改成  /file/view/r2/robot/index.html,即除去域名和端口号之后的网页相对地址。

在 /onceos 管理界面,先点击左下方的启动图标,点击控制面板,最后点击服务,如1所示位置。然后在设置处的默认认首页2处,填入相对地址,然后保存,在这里您也可以将网页端口从8064改为80。这样直接输入网盘 IP 地址 http://192.168.0.103  即会跳转到门户首页,改不需要再输入8064端口号。 

  

此时,云盘的默认主页就变成了网站的主页。如果想要返回云盘管理界面,就把页面上方地址栏的后半部分手动输入  http://192.168.0.103/onceos 即可。

开放访问权限

团队目录默认是有权限控制的,非团队用户无法查看,我们还需要开放网站所在团队目录的访问权限。右键点击文件所在的团队,选择编辑团队,将团队的访问权限改为完全可见,这样,所有人能看到网站内容了。

 

在线编辑网站内容

这里企业门户是一个静态网站,传统通过FTP更新静态网站的方式比较麻烦,

OnceOA可直接在线编辑HTML文件更新静态网页内容。更改非常方便,如下图所示,云盘可以在线编辑 html,css,js 等文件。只需要略懂一些HTML标记语言即可。您也可以利用此特性来进行前端编程的学习。

插入图片描述

 

绑定域名,访问网站

如果您不想通过IP访问网站,可以绑定一个域名,用国内的云服务器只需做好备案即可。

 

附:动态网站在线编辑

之前介绍的是静态网站的在线编辑,其实OnceOA还支持对动态加载模块进行在线编辑。因为是动态内容,编辑好之后,在 OnceOS 上重启进程即可,启动一般只需几秒。几乎不会对访问用户造成影响。

在模块中添加OnceDoc的文件夹映射即可,比如 OnceOA 企业驱动引擎赠送的免费进销存管理软件模板,即支持在模块内容通过OnceDoc在线编辑。

比如在mod/aserp/serp.main.js 中添加以下映射代码:

/*
在 OnceDoc 文档管理中添加文件夹映射,让OnceDoc可以直接在线编辑, oncedir是serp进销存模板中存放数据库schema定义,报表的文件夹。
*/
OnceDoc.Folder.addMapping({
text : '进销存'
, path : path.join(__dirname, '../oncedir')
})

显示的效果如下图右铡所示:

后续还会推出更爻关于OnceOA的二次开发和模块扩展文章。