本篇文章我就不罗嗦了,主要讲的是共享文件列表,主要功能就是查看别人共享的文件。javascript
打开该界面,用户能够在左侧看到共享文件的人员的信息,点击该人能够查看该人共享了哪些文件。在Grid里面有查看文件修改记录,编辑,标记为星标文件等功能。OK,咱们先看一下UI代码。java
1node 2sql 3json 4微信 5session 6nosql 7函数 8post 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
|
看到吧,UI其实很简单,最上面引用了一个公共search页面,而后下面又看到了for循环,不错,又使用了jade的视图特性。在这里实际上是循环构造咱们的kendoPanelBar中的内容,注意这里的onclick,调用showFileList拿到该用户所共享的文件。接下来注意这里的img用户图像,在MongoDB中咱们存储的是一个Base64位的字符串,因此咱们展现图片的时候要写成下面这样。
1 |
|
咱们看一下这个photo字段到底存储的是什么。
真的是Base64的字符串。在C#中,咱们很容易将一张图片转化成base64,可是在Node.js中咱们办呢。
1 2 3 4 |
|
这段代码的意思是咱们实用request模块,下载图片,而后将图片转化成base64,注意这里的toString是node.js平台提供的,咱们不须要引用任何外部模块,在该系列博客中,咱们引用了好多模块
就连cassandra这么高大上的东西都有,简直了,不说了。这一系列的其实都是些皮毛,等这一系列讲完,咱们还有更高层次的实战,这些篇其实都是给初学者看的,是鸡肋。OK,咱们看一下后台代码。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
|
这个语句初学者看起来感受灰常郁闷,没关系,这段其实就是使用了聚合函数而已。首先$match是匹配条件,$sort是排序,根据userid和主键排序。$group其实就是分组了,分组的条件就是用户所在的部门,总数累加1。最后将分组的对象放到users中,并指定每一个对象所包含的属性。最后将页面输出到客户端,客户端页面直接循环docs进行左边panelBar的渲染。
OK,左边就说完了,右边的话其实就是个kendoGrid,以前也说了好屡次,在这里就再也不赘述。点击Grid中的星标按钮的代码以下。
1 2 3 4 5 6 7 8 9 |
|
后台代码以下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
|
星标邮件,咱们能够在专门的页面查看。
在该页面能够查看标记的星标文件,而且能够取消标记,看一下这个页面的代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
|
注意最后的一个页面就是咱们的最近使用页面,咱们不只返回星标文件,并且返回最近使用文件。在获取最近使用文件的时候,排除星标文件。
1 |
|
注意这里的$nin,就是not in的意思。其实fileMark collection中存储了文件和用户的关系。
在这里我把nosql用的像sql同样。
OK,这篇文章就讲到这里,进来看了但愿你可以评论一下,也许我会送源码给你。学习请加群:548635112(Node.js实战)
结束语
免费学习更多精品课程,登陆乐搏学院官网http://h.learnbo.cn/
或关注咱们的官方微博微信,还有更多惊喜哦~
本文出自 “技术创造价值” 博客,请务必保留此出处http://leelei.blog.51cto.com/856755/1813970