Skip to content

Instantly share code, notes, and snippets.

@backsapce
Last active August 29, 2015 14:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save backsapce/9c311970de53e458cfe1 to your computer and use it in GitHub Desktop.
Save backsapce/9c311970de53e458cfe1 to your computer and use it in GitHub Desktop.
funning meteor learning in afternoon!!

####1. 限制必须登录后才能上传; 两处代码更改。 第一处在客户端部分,改变resumable的fileAdded触发事件代码

#insert fallowing code under sample.coffee line 84
if !Meteor.userId()
	alert('please login first!');
	return false;

第二处在服务端部分,改变myData的allow函数

#insert fallowing code under sample.coffee line 431
if file.metadata?._auth?.owner and userId isnt file.metadata._auth.owner
               return false

####2.图片生成可在上传时指定生成大小(此部分未完成); 首先是增加一个form填写gm要处理的图片height和width,此处将两个input简化成一个了。填写的时候空格分开

<!--insert fallowing code under sample.html line 22->
<form class="resolution" >
	<input type="text" name="name" value="">
</form>

此处两个宽和长的值是需要存到数据库中的,也就是在上传文件是触发的fileAdded事件中,insert操作修改为

#begin in sample.coffee line 90
{
   _id: file.uniqueIdentifier    
   filename: file.fileName
   contentType: file.file.type
   #height and width
   height:height
   width:width
}

可惜我还没学会怎么把这个值从客户端弄过来。 这两个值需要在JobCollection处理的时候用到。 从518开始出的worker函数就是实际调用gm处理图片的过程,可以看到此处的resize值是写死的。只要把数据库中的值传给这个函数即可(此处还没学会)

####对自己改造的代码、样例代码、meteor框架进行评价

其实我不太习惯coffee,就像看惯了简体突然切换到简体一样。我认为meteor让前后端无缝耦合在一起了。这种耦合我个人觉得有好处也有坏处,好处是工程师可以打破传统的开发模式前后通吃。还是蛮爽的。坏处我感觉就是如果不是垂直开发,而是分层开发,有可能前后端不是很好统一,方法有可能在server和client端飞来飞去啊。通过一下午的学习,我认为metetor最强的点就是功能模块化很厉害,一个模块安装之后既有这个模块的前端代码,也能有后段代码,这种很好很强大,把一些常用的功能全部抽离出来用于以后复用,能够节约很多时间。不过这种强大是否会以牺牲调试作为代价我还不太清楚,在我的经历中,一般来说集大成的这种框架或者包或多或少有调试不方便的诟病。自动的watch and reload很赞,不仅能在代码改变的时候热重启,数据改变了,不同端之间也可以相互同步。 关于meteor-file-job-sample-app这个demo,看的只能说暂时一知半解,但是感觉还是写的挺好的,router,allow,resumable的时间以及JobCollection都很清晰。不算最“精妙”的代码吧,但是很“工整”,看起来不累。 我自己的代码的话,没什么好评价的,其实改的不多。

暂时就是这么多了 : )

2015-06-14-17-53 GMT+8

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment