基于 Nextcloud 的二次开发

Nextcloud 是个不错的网盘系统,开源免费,支持 Windows Ad 域,而且开放了很多接口可以用于二次开发。

最近基于 Nextcloud 做了几个二次开发的功能,下面介绍一下过程。

第一个需求是和公司业务系统对接起来,实现建立项目时自动为项目负责人建立一个同名文件夹和子文件夹。
第二个需求是开放一个页面,可以浏览项目文件夹里的子文件夹、文件等。
第三个需求是可以在开放页面下载列出的文件。

先看第一个需求,我需要做一个接口给业务系统,入参为项目名称的人员唯一信息和项目名称。
Nextcloud 有现成的建立文件夹方法,预想会很顺利。但还是遇到了问题。
由于公司使用的 Windows Ad 域,我是获取不到项目负责人的密码的,所以不能使用项目负责人的帐号去建立文件夹。
然后灵光一闪,我可以使用一个固定的帐号(如:新建个帐户 Administrator)去建立这个文件夹,然后把这个文件夹分享给项目负责人,并分配一定的权限。
但是在找人的步骤又遇到了困难,因为没有表存域帐号。翻来翻去,在 oc_accounts 表里找到了邮箱信息,员工的邮箱基本上都是唯一的,所以可以用这个。
第一个需求方案差不多了,部份(伪)代码如下:

var sql = $"select * from oc_accounts where data like '%\"{email}\"%'"; //查找要分享的用户
oc_accounts[] rst = conn.Query<oc_accounts>(sql).ToArray();
if(l.L
  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
Nextcloud 是一个强大的开源自托管文件同步和共享解决方案,可以为用户提供类似于 Dropbox 的数据同步和共享功能。它具有丰富的应用生态系统和强大的二次开发能力,使开发者能够为其添加各种自定义功能和扩展。 Nextcloud 的二次开发可以通过多种方式进行,包括创建新的插件、修改现有插件、创建新的主题、定制用户界面等。开发者可以使用 PHP、JavaScript、HTML、CSS 等技术来进行开发,根据自己的需求选择合适的方式。 通过开发插件,可以为 Nextcloud 添加新的功能和特性。例如,可以创建一个新的日历插件,使用户能够在 Nextcloud 中管理日程安排和提醒。还可以创建一个新的文件预览插件,使用户能够在浏览器中直接预览各种类型的文件。 通过修改现有插件,可以根据自己的需要来定制和扩展现有功能。例如,可以修改文件共享插件,实现更加灵活的共享方式,或者修改用户管理插件,添加更多的用户管理选项。 通过创建新的主题,可以改变 Nextcloud 的用户界面外观和风格。开发者可以根据自己的设计需求和品牌形象,自定义界面的样式、布局和颜色等。 通过二次开发开发者可以根据自己的需求和想法,为 Nextcloud 添加各种自定义功能和扩展,从而为用户提供更好的使用体验和功能选择。同时,由于 Nextcloud 是开源软件,开发者还可以与社区共享自己的二次开发成果,为社区的发展做出贡献。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值