{"status":"success","totals":106,"data":[{"id":116,"author":"33","praiseNumber":"0","status":1,"readNumber":745,"pic":"/upload/blog/pic/6005_1667271555158.png","title":"polyfill搭建","subtitle":"polyfill","type":3,"info":"本文将介绍如何搭建公共的polyfill服务。","createDate":1667271549000,"lastDate":1667271682039,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":114,"author":"33","praiseNumber":"0","status":1,"readNumber":820,"pic":"/upload/blog/pic/5388_1640236288811.jpg","title":"从前端角度分析:西安一码通崩溃事件 ","subtitle":"前端性能优化","type":7,"info":"没有一个不可逾越的冬天,一切问题都会解决","createDate":1640236027000,"lastDate":1640236331481,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":113,"author":"33","praiseNumber":"0","status":1,"readNumber":414,"pic":"/upload/blog/pic/9201_1638862014928.jpg","title":"产品经理天马行空,表格组件应对自如","subtitle":"gridmanager","type":7,"info":"福兮祸兮,在折腾中磨炼了许多年后,表格组件成为我在圈内唯一敢用精通来形容的技术点。\n","createDate":1638861894000,"lastDate":1669604488876,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":112,"author":"33","praiseNumber":"0","status":1,"readNumber":687,"pic":"/upload/blog/pic/9275_1637552577695.png","title":"开源项目从js到ts,我所遇到的一些问题","subtitle":"typescript","type":3,"info":"记录一下日常开发中遇到的问题,好记性不如烂键盘。","createDate":1637552520000,"lastDate":1637552606549,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":111,"author":"33","praiseNumber":"0","status":1,"readNumber":518,"pic":"/upload/blog/pic/8095_1634087610448.png","title":"五年有余,离开前留点文字忆往昔","subtitle":"gridmanager","type":4,"info":"有过美好,也有过无奈,告别数云之前整理一下,留点文字忆往昔。","createDate":1634087464000,"lastDate":1635845009357,"commentSum":1,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":110,"author":"33","praiseNumber":"0","status":1,"readNumber":506,"pic":"/upload/blog/pic/6950_1631669738931.jpg","title":"表格分页等操作后,如何保持已选中的值?","subtitle":"分页,表格","type":3,"info":"在管理端开发中,经常会遇到一种表格交互:分页、排序、搜索等操作之后,需要保留之前已选中的数据。","createDate":1631669512000,"lastDate":1631669929700,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":109,"author":"33","praiseNumber":"0","status":1,"readNumber":934,"pic":"/upload/blog/pic/9497_1615359705182.png","title":"webpack@4.x迁移webpack@5.x记录,减少了1.2%的构建体积","subtitle":"webpack,gridmanager","type":3,"info":"GridManager升级webpack@5.0的记录,升级后节约的体积足够可观。","createDate":1615359412000,"lastDate":1615360852535,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":108,"author":"33","praiseNumber":"0","status":1,"readNumber":727,"pic":"/upload/blog/pic/2296_1612842475709.png","title":"鼠年的最后一天,盘点下表格组件在2020年的更新记录","subtitle":"angular,vue,react,原生表格","type":3,"info":"年底来总结一波","createDate":1612842356000,"lastDate":1612842503284,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":107,"author":"33","praiseNumber":"0","status":1,"readNumber":347,"pic":"/upload/blog/pic/3220_1612692299809.png","title":"GridManager表格组件实现过滤功能","subtitle":"angular,vue,react,原生表格","type":1,"info":"在表头中增加过滤项是很多产品经理特别钟意的交互,据说是可以提升打野怪的效率。","createDate":1612692132000,"lastDate":1612692310092,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":106,"author":"33","praiseNumber":"0","status":1,"readNumber":967,"pic":"/upload/blog/pic/4746_1602504257005.png","title":"表格组件实现打印功能","subtitle":"打印,表格组件打印","type":3,"info":"这是一个不是很常用的功能,但却是在不经意间提升用户体验。","createDate":1602504114000,"lastDate":1602504286042,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":105,"author":"33","praiseNumber":"0","status":1,"readNumber":1033,"pic":"/upload/blog/pic/5168_1597745000561.png","title":"表格组件GridManager的嵌套表头详解","subtitle":"gridmanager,嵌套表格","type":3,"info":"嵌套表头这个功能在经历了多次调整后,终于在V2.13.0这个版本内发布。","createDate":1597744702000,"lastDate":1597745002433,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":104,"author":"33","praiseNumber":"0","status":1,"readNumber":251,"pic":"/upload/blog/pic/9959_1597651120262.png","title":"nginx安装步骤及常用命令","subtitle":"nginx","type":7,"info":"一次安装之后的记录","createDate":1597650873000,"lastDate":1642488799975,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":103,"author":"33","praiseNumber":"0","status":1,"readNumber":397,"pic":"/upload/blog/pic/7544_sjlx.png","title":"移除react项目中prop-types代码","subtitle":"react, prop-types","type":6,"info":"在React项目中,我们为了保证项目的健壮性所以引入了prop-types。但在生产环境,我们并不需要prop-types生成的代码。","createDate":1591240691000,"lastDate":1591240781324,"commentSum":1,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":102,"author":"33","praiseNumber":"0","status":1,"readNumber":702,"pic":"/upload/blog/pic/949_1594620668048.png","title":"GridManager loading样式修改","subtitle":"gridmanager","type":3,"info":"在使用gridmanager表格组件时,如果想要改变loading样式该如何处理?","createDate":1591238998000,"lastDate":1594620669622,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":101,"author":"33","praiseNumber":"0","status":1,"readNumber":315,"pic":"/upload/blog/pic/622_logo.png","title":"GridManager Error: response.totals undefined,please check totalsKey","subtitle":"GridManager Error","type":3,"info":"GridManager Error 解决方法","createDate":1590291381000,"lastDate":1594375210507,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":100,"author":"33","praiseNumber":"0","status":1,"readNumber":329,"pic":"/upload/blog/pic/5718_logo.png","title":"GridManager Error: response.data is not Array,please check dataKey","subtitle":"GridManager Error","type":3,"info":"GridManager Error: response.data is not Array,please check dataKey 错误的解决方法","createDate":1590143273000,"lastDate":1594375303196,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":99,"author":"33","praiseNumber":"0","status":1,"readNumber":291,"pic":"/upload/blog/pic/5657_1594620627592.png","title":"通过样式调整火狐滚动轴样式","subtitle":"火狐滚动轴样式","type":1,"info":"表格组件gridmanager在发布完固定列功能后,有位使用者通过github提交了[issues](https://github.com/baukh789/GridManager/issues/158),反馈其在firefox中表格发现表头错位BUG。","createDate":1589529767000,"lastDate":1594620629443,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":98,"author":"33","praiseNumber":"0","status":1,"readNumber":349,"pic":"/upload/blog/pic/9933_1594620719884.png","title":"如何解决错综复杂的表格数据(GridManager随笔)","subtitle":"grdmanager,js,导出","type":3,"info":"自从前后端分离的模式推广以后,前后端的开发人员就开始了针对于数据格式的相爱相杀。","createDate":1588147257000,"lastDate":1594620726750,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":97,"author":"33","praiseNumber":"0","status":1,"readNumber":228,"pic":"/upload/blog/pic/4518_1594620784685.png","title":"功能强大的表格组件","subtitle":"grdmanager,js,导出","type":1,"info":"最近把列固定功能发布了,细数下这个表格组件已经有五年的历程了。","createDate":1585634581000,"lastDate":1594620787416,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":96,"author":"33","praiseNumber":"0","status":1,"readNumber":424,"pic":"/upload/blog/pic/4366_316_logo.png","title":"表格组件GridManager的固定列详解","subtitle":"angular,vue,react,原生表格","type":3,"info":"表格固定列的使用详解","createDate":1583980062000,"lastDate":1583980164961,"commentSum":2,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":95,"author":"33","praiseNumber":"0","status":1,"readNumber":255,"pic":"/upload/blog/pic/9009_framework.png","title":"跨框架的表格组件: 一套代码多框架运行","subtitle":"angular,vue,react,原生表格","type":6,"info":"一套代码,多框架可用,这是怎么实现的?","createDate":1579576300000,"lastDate":1579663641767,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":94,"author":"33","praiseNumber":"0","status":1,"readNumber":598,"pic":"/upload/blog/pic/1887_1594621045179.png","title":"表格导出功能实践","subtitle":"grdmanager,js,导出","type":3,"info":"表格导出功能实践","createDate":1579350185000,"lastDate":1694676843188,"commentSum":1,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":93,"author":"33","praiseNumber":"0","status":1,"readNumber":387,"pic":"/upload/blog/pic/1547_sjlx.png","title":"解决linux rz传输失败 ","subtitle":"linux,rz","type":7,"info":"前不久,写了个很简单的exp登录脚本。今天想通过rz上传个文件,却怎么也传不上去。","createDate":1557630856000,"lastDate":1579663263425,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":92,"author":"33","praiseNumber":"0","status":1,"readNumber":974,"pic":"/upload/blog/pic/7539_type.jpg","title":"Content-Type 对照表","subtitle":"Content-Type,Mime-Type","type":3,"info":"Content-Type(Mime-Type)对照表, 有不全的会继续更新","createDate":1533263664000,"lastDate":1558979256770,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":91,"author":"33","praiseNumber":"0","status":1,"readNumber":499,"pic":"/upload/blog/pic/1845_logo.png","title":"GridManager 开源历程","subtitle":"gridmanager","type":4,"info":"GridManager 启动于2015年02月10日, 不曾想这一坚持已经1200多天了。","createDate":1530019177000,"lastDate":1558979178227,"commentSum":2,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":90,"author":"33","praiseNumber":"0","status":1,"readNumber":952,"pic":"/upload/blog/pic/3438_vue-gridmanager.png","title":"Vue框架内使用GridManager","subtitle":"vue,vue gridmanager, gridmanager","type":3,"info":"GridManager对Vue很友好,发布了针对于Vue的npm包。","createDate":1528088965000,"lastDate":1612346892547,"commentSum":5,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":89,"author":"33","praiseNumber":"0","status":1,"readNumber":732,"pic":"/upload/blog/pic/4289_1594620821109.png","title":"GridManager 导出","subtitle":"GridManager导出功能","type":3,"info":"GridManager 具有表格数据导出功能,该功能为纯前端实现,对后端无依赖。","createDate":1526276639000,"lastDate":1621419443616,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":88,"author":"33","praiseNumber":"0","status":1,"readNumber":352,"pic":"/upload/blog/pic/329_1594620833046.png","title":"GridManager 用户偏好记忆","subtitle":"GridManager 用户记忆, GridManager 用户偏好记忆","type":3,"info":"GridManager 会将用户的部分操作进行记忆,从而达到用户行为记忆的效果。","createDate":1525929957000,"lastDate":1621419493690,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":87,"author":"33","praiseNumber":"0","status":1,"readNumber":447,"pic":"/upload/blog/pic/8909_GridManager%E9%9A%90%E8%97%8F%E5%88%97.png","title":"GridManager 隐藏列","subtitle":"gridmanager, 隐藏列","type":3,"info":"GridManager 表格管理组件, 可以便捷的对列的显示状态进行操作。","createDate":1525873470000,"lastDate":1558979068145,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":85,"author":"33","praiseNumber":"0","status":1,"readNumber":177,"pic":"/upload/blog/pic/1882_codecov2.png","title":"coverage es6覆盖率解决方法","subtitle":"coverage,codecov,webapck,es6,es2015","type":6,"info":"js 使用es6之后, coverage 统计的覆盖率错误。我在GridManager中正好解决了该问题,记录一下。","createDate":1513145192000,"lastDate":1513146099584,"commentSum":1,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":84,"author":"33","praiseNumber":"0","status":1,"readNumber":303,"pic":"/upload/blog/pic/3533_buhuo.png","title":"js捕获错误信息","subtitle":"js error,捕获错误信息","type":3,"info":"这个不是很常用的功能, 但是想收集客户端的错误信息时却很有必要了解下。 ","createDate":1512053637000,"lastDate":1512114137868,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":83,"author":"33","praiseNumber":"0","status":1,"readNumber":406,"pic":"/upload/blog/pic/9396_1594620989874.png","title":"div绑定键盘事件","subtitle":"div keydown, div keyup","type":3,"info":"在给如div等元素绑定键盘事件(如keydown)时, 会发现绑定是失效的。","createDate":1511696284000,"lastDate":1594620991837,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":82,"author":"33","praiseNumber":"0","status":1,"readNumber":405,"pic":"/upload/blog/pic/5522_1594621083765.png","title":"GridManager 调整数据格式","subtitle":"gridmanager, gridmanager数据格式,gridmanager数据","type":3,"info":"GridManager在处理数据时,需要使用规定的数据格式。而在实际场景中,或多或少存在一些格式差异。在这里将对这些差异的处理方式进行说明","createDate":1510671378000,"lastDate":1594621087383,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":81,"author":"33","praiseNumber":"0","status":1,"readNumber":382,"pic":"/upload/blog/pic/6849_1594621100048.png","title":"GridManager 实现搜索","subtitle":"GridManager搜索, 表格,gridmanager","type":3,"info":"搜索功能在GridManager中的实现方式很简单,可通过setQuery方法实现。","createDate":1510581680000,"lastDate":1594621101656,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":80,"author":"33","praiseNumber":"0","status":1,"readNumber":176,"pic":"/upload/blog/pic/5676_1594621160163.png","title":"GridManager宽度配置不生效与出现滚动条","subtitle":"GridManager,GridManager宽度配置不生效,GridManager出现滚动条,GridManager宽度","type":3,"info":"某一例配置的宽度为100px, 而生成的宽度却不是100px,并且出现了横向滚动条?","createDate":1508678057000,"lastDate":1594621161393,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":79,"author":"33","praiseNumber":"0","status":1,"readNumber":299,"pic":"/upload/blog/pic/24_1594621175986.png","title":"GridManager常见问题","subtitle":"GridManager,GridManager问题,GridManager常见问题","type":3,"info":"这里收集了一些GridManager常见问题。","createDate":1508422239000,"lastDate":1594621177621,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":78,"author":"33","praiseNumber":"0","status":1,"readNumber":333,"pic":"/upload/blog/pic/3747_1594621196206.png","title":"GridManager排序详解","subtitle":"GridManager排序,GridManager,GridManager排序详解,GridManager排序使用,GridManager组合排序","type":3,"info":"GridManager排序原理及常见问题汇总","createDate":1508332140000,"lastDate":1621160385398,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":77,"author":"33","praiseNumber":"0","status":1,"readNumber":412,"pic":"/upload/blog/pic/7841_1594621211000.png","title":"GridManager 分页详解","subtitle":"GridManager分页,GridManager分页原理,GridManager如何分页,GridManager分页原理,GridManager,GridManager数据格式","type":3,"info":"GridManager 让Table充满活力,这里将介绍GridManager分页的使用方式","createDate":1508253326000,"lastDate":1594621214666,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":76,"author":"33","praiseNumber":"0","status":1,"readNumber":173,"pic":"/upload/blog/pic/32_webpack.png","title":"webpack 使用记录","subtitle":"webpack","type":6,"info":"webpack 使用记录,用于个人备忘","createDate":1507542449000,"lastDate":1507543877965,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":75,"author":"33","praiseNumber":"0","status":1,"readNumber":265,"pic":"/upload/blog/pic/5521_logo.png","title":"mac iterm2支持rz sz","subtitle":"mac,rz,sz","type":7,"info":"在window内连接linux服务器, 通过xshell可以使用rz,sz命令进行上传下载。但是在mac内连接linux服务器使用却会报错, 本文用于总结我的处理方式。","createDate":1501321544000,"lastDate":1577348481962,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":74,"author":"33","praiseNumber":"0","status":1,"readNumber":207,"pic":"/upload/blog/pic/5789_offset.png","title":"原生js实现offset方法","subtitle":"offset,原生实现offset,offset原理","type":3,"info":"offset用于获取节点的坐标, 这里演示下如何实现offset。","createDate":1497492517000,"lastDate":1497493832226,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":73,"author":"33","praiseNumber":"0","status":1,"readNumber":249,"pic":"/upload/blog/pic/1596_trigger.png","title":"原生js实现trigger方法","subtitle":"trigger,lovejavascript","type":3,"info":"事件绑定成功之后,事件的执行函数就如同待字闺中的小姑娘。除了由坐在电脑前的大叔们用键盘、鼠标等硬件行为触发外,需要在代码中直接调用又该如何实现?","createDate":1495862117000,"lastDate":1495863451316,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":72,"author":"33","praiseNumber":"0","status":1,"readNumber":344,"pic":"/upload/blog/pic/8899_on-off-1.png","title":"原生js实现on与off 方法","subtitle":"on,off,jtool","type":3,"info":"使用过jQuery的同学,应该对事件绑定方法 .on() .off() 有一定的了解。 在个人类库 jTool 中实现了这两个方法,这里就来细说下原生实现方式。","createDate":1493805701000,"lastDate":1493806906858,"commentSum":1,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":71,"author":"33","praiseNumber":"0","status":1,"readNumber":291,"pic":"/upload/blog/pic/9961_codecov.png","title":"集成测试覆盖率工具 codecov","subtitle":"codecov,karma,coverage","type":6,"info":"某些开源项目上会有个coverage 图标,这个图标所展示的就是当前项目中测试代码的覆盖率。","createDate":1493702578000,"lastDate":1493704467248,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":70,"author":"33","praiseNumber":"0","status":1,"readNumber":212,"pic":"/upload/blog/pic/1723_css.png","title":"karma引入css的配置方法","subtitle":"karma,webpack,css","type":6,"info":"都说前端自动化测试比较难写,我比较认同,原因在于测试中那些对DOM及样式的关联性。","createDate":1492586521000,"lastDate":1492590692101,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":69,"author":"33","praiseNumber":"0","status":1,"readNumber":248,"pic":"/upload/blog/pic/3306_gulp_react_webpack.png","title":"webpack+gulp 构建react项目","subtitle":"webpack,gulp,react","type":6,"info":"GirdManager首页,使用 React 实现。 ","createDate":1491554704000,"lastDate":1491559994796,"commentSum":2,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":68,"author":"33","praiseNumber":"0","status":1,"readNumber":2385,"pic":"/upload/blog/pic/6090_n.png","title":"node升级神器-n","subtitle":"node,node n","type":2,"info":"昨天在发布GirdManager时,由于在后端使用了一部分es6。所以对服务器的node版本进行了升级操作, 其中使用到了node升级神器 - n;","createDate":1489986099000,"lastDate":1543898100980,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":67,"author":"33","praiseNumber":"0","status":1,"readNumber":280,"pic":"/upload/blog/pic/4518_console.png","title":"你不知道的console","subtitle":"console","type":3,"info":"console下所属的那些方便开发的方法","createDate":1489631651000,"lastDate":1489632398191,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":66,"author":"33","praiseNumber":"0","status":1,"readNumber":181,"pic":"/upload/blog/pic/6674_null.png","title":"空变量为什么赋值为null","subtitle":"null","type":3,"info":"日常编码中,经常需要提前声明一些空变量,对于这种空变量在声明时需要赋什么值?","createDate":1489325523000,"lastDate":1489325807964,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":65,"author":"33","praiseNumber":"0","status":1,"readNumber":152,"pic":"/upload/blog/pic/467_jasmine.jpg","title":"jasmine常用方法","subtitle":"karma,jasmine","type":7,"info":"列举了一些常用的jasmine方法","createDate":1489230947000,"lastDate":1489233304832,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":64,"author":"33","praiseNumber":"0","status":1,"readNumber":344,"pic":"/upload/blog/pic/6529_angular-gridmanager.png","title":"Angular框架内使用GridManager","subtitle":"angular,girdmanager","type":3,"info":"GridManager是原生实现,不依赖任何框架。那么在Angular框架中如何将其便捷的使用?","createDate":1489142836000,"lastDate":1489142996077,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":63,"author":"33","praiseNumber":"0","status":1,"readNumber":220,"pic":"/upload/blog/pic/1007_react-gridmanager.png","title":"React框架内使用GridManager","subtitle":"react,gridmanager","type":3,"info":"GridManager是原生实现,不依赖任何框架。那么在React框架中如何将其便捷的使用?","createDate":1488274495000,"lastDate":1488274652054,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":62,"author":"33","praiseNumber":"0","status":1,"readNumber":191,"pic":"/upload/blog/pic/5475_log.png","title":"原生js实现ajax及get post方法","subtitle":"原生ajax,jTool","type":3,"info":"原生js实现ajax及get、post方法,引用自jTool.js","createDate":1487816652000,"lastDate":1487817039181,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":61,"author":"68","praiseNumber":"0","status":1,"readNumber":264,"pic":"/upload/blog/pic/9487_1.png","title":"web前端emoji表情","subtitle":"web,前端,emoji,表情","type":7,"info":"web前端的emoji表情","createDate":1487302088000,"lastDate":1487315103843,"commentSum":0,"username":"mmmaming","photo":"/images/uPic/1.jpg"},{"id":60,"author":"33","praiseNumber":"0","status":1,"readNumber":230,"pic":"/upload/blog/pic/1901_1594621607972.png","title":"ajax的同步与异步","subtitle":"ajax,同步,异步","type":3,"info":"同步请求在请求完成前,后续的程序将处于暂停执行状态。而异步请求,除过请求事件函数中的程序在特定条件下执行外,请求外的程序会紧接着执行。","createDate":1487252269000,"lastDate":1594621610037,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":59,"author":"33","praiseNumber":"0","status":1,"readNumber":1222,"pic":"/upload/blog/pic/7202_XMLHttpRequest.png","title":"ajax中的withCredentials使用效果","subtitle":"ajax,withCredentials","type":3,"info":"跨域请求是否提供凭据信息(cookie、HTTP认证及客户端SSL证明等)","createDate":1487251567000,"lastDate":1487254797402,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":58,"author":"33","praiseNumber":"0","status":1,"readNumber":548,"pic":"/upload/blog/pic/1423_ajaxlog.png","title":"XMLHttpRequest参数详解","subtitle":"XMLHttpRequest","type":3,"info":"对XMLHttpRequest参数进行一个详细的说明","createDate":1487251057000,"lastDate":1487254139432,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":57,"author":"33","praiseNumber":"0","status":1,"readNumber":206,"pic":"/upload/blog/pic/2372_upload1.png","title":"带进度的简单上传","subtitle":"ajax上传,上传进度","type":3,"info":"这里实现一个带进度的简单上传","createDate":1487236262000,"lastDate":1487254892619,"commentSum":2,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":56,"author":"33","praiseNumber":"0","status":1,"readNumber":266,"pic":"/upload/blog/pic/7994_logo.png","title":"js event 使用讲解","subtitle":"event,事件,js","type":3,"info":"讲解事件的绑定,触发,删除及NodeList对象对addEventListener方法的扩展","createDate":1486717557000,"lastDate":1486976321921,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":55,"author":"33","praiseNumber":"0","status":1,"readNumber":233,"pic":"/upload/blog/pic/5968_logo.png","title":"GridManager立项两年总结","subtitle":"girdmanager","type":3,"info":"从两年前的春节前期开始的ListManager至今天的GridManager,回首已然两年。","createDate":1485165472000,"lastDate":1485235105288,"commentSum":4,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":54,"author":"33","praiseNumber":"0","status":1,"readNumber":153,"pic":"/upload/blog/pic/4861_logo.png","title":"js copy功能实现","subtitle":"js复制,js copy","type":3,"info":"window.clipboardData 与 document.execCommand两种方式实现copy功能","createDate":1484734395000,"lastDate":1484735091852,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":53,"author":"33","praiseNumber":"0","status":1,"readNumber":606,"pic":"/upload/blog/pic/3253_main.png","title":"跨域非简单请求配置自定义头信息","subtitle":"node,ajax,cors,options","type":3,"info":"跨域调用的接口上如何增加一个请求头token","createDate":1484559678000,"lastDate":1517475878934,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":52,"author":"33","praiseNumber":"0","status":1,"readNumber":157,"pic":"/upload/blog/pic/2200_sjlx.png","title":"js数据类型分析","subtitle":"js,数据类型","type":3,"info":"分析基本数据类型与引用类型的区别","createDate":1483698221000,"lastDate":1483698804662,"commentSum":1,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":51,"author":"58","praiseNumber":"0","status":1,"readNumber":112,"pic":"/upload/blog/pic/5729_bg2011060501.png","title":"【翻译】javascript中的prototype","subtitle":"javascript","type":3,"info":"javascript中的prototype简单介绍","createDate":1481698043000,"lastDate":1487321825813,"commentSum":0,"username":"silence","photo":"/images/uPic/19.jpg"},{"id":50,"author":"68","praiseNumber":"0","status":1,"readNumber":206,"pic":"/upload/blog/pic/4695_%E6%9C%AA%E6%A0%87%E9%A2%98-1.png","title":"angular tree简单实现","subtitle":"angular,tree,angular-tree,简单实现,mmmaming","type":3,"info":"基于angular1.5.x 的tree实现。","createDate":1481102722000,"lastDate":1487302004395,"commentSum":1,"username":"mmmaming","photo":"/images/uPic/1.jpg"},{"id":49,"author":"33","praiseNumber":"0","status":1,"readNumber":317,"pic":"/upload/blog/pic/1990_homebrew.png","title":"mac神器HomeBrew","subtitle":"mac,homeBrew,brew","type":4,"info":"mac下的软件实现都感觉像是后娘养的,不仅功能上比windows版本弱爆几条街,而且下载都是问题。\nnpm install *\n简简单单的一行代码,解放了前端的资源下载问题。 而mac下也存在类似的资源管理工具,这个工具叫做Homebrew。","createDate":1479972459000,"lastDate":1617245876299,"commentSum":1,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":48,"author":"33","praiseNumber":"0","status":1,"readNumber":820,"pic":"/upload/blog/pic/2824_each.png","title":"原生js实现each方法","subtitle":"js,each","type":3,"info":"jquery里面有个each方法,将循环操作简化、便捷。在不使用jquery的each方法时,该如何处理;或者说用原生如何来实现?我在GridManager.js中集成了该方法。","createDate":1479828281000,"lastDate":1480060658092,"commentSum":4,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":47,"author":"59","praiseNumber":"0","status":1,"readNumber":169,"pic":"/upload/blog/pic/4122_UE%604L5%7BLR3SK%5DMH8%60((%5D(Z2.jpg","title":"ES 装饰器在 AngularJS 1.x 中的使用","subtitle":"Angular ES","type":3,"info":"关于 ES 装饰器(decorator) 这个特性,就不在这里详细的介绍了: 更多内容大家可以参考javascript-decorators\n\n简单的总结一下:\nES 的装饰器可以装饰类和类的方法(也可以装饰对象的方法)","createDate":1479381555000,"lastDate":1479382921088,"commentSum":1,"username":"hjzheng","photo":"/images/uPic/17.jpg"},{"id":46,"author":"58","praiseNumber":"0","status":1,"readNumber":238,"pic":"/upload/blog/pic/6824_AngularJS-large.png","title":"一步步生成angular+gulp+es5项目","subtitle":"angular gulp es5","type":3,"info":"如何一步步生成一个angular + gulp +es5的项目","createDate":1479111294000,"lastDate":1487321803974,"commentSum":3,"username":"silence","photo":"/images/uPic/19.jpg"},{"id":45,"author":"33","praiseNumber":"0","status":1,"readNumber":199,"pic":"/upload/blog/pic/124_icon.png","title":"一次偶现的node环境下网络连接被拒绝","subtitle":"node,ERR_CONNECTION_REFUSED","type":2,"info":"之前应该是遇到过一次,不经意间就处理掉了。这回又遇到,记录一下。","createDate":1478586320000,"lastDate":1478594518689,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":44,"author":"33","praiseNumber":"0","status":1,"readNumber":262,"pic":"/upload/blog/pic/766_data.png","title":"原生JS实现data方法","subtitle":"js,data","type":3,"info":"在开发中经常会在DOM上存储一些自定义数据,我们可以通过setAttribute方法来实现。但是当数据为引用类型时,存储后的数据却无效。这里将用原生的JS对data方法进行实现。","createDate":1478497743000,"lastDate":1478510852320,"commentSum":4,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":43,"author":"33","praiseNumber":"0","status":1,"readNumber":205,"pic":"/upload/blog/pic/6645_pm2.png","title":"pm2常用命令","subtitle":"node,pm2","type":2,"info":"pm2是node进程管理器,在服务器上搭建node服务是把利器。最近整理了下常用的一些命令,会持续进行更新。","createDate":1477734579000,"lastDate":1500285105075,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":42,"author":"33","praiseNumber":"0","status":1,"readNumber":339,"pic":"/upload/blog/pic/1682_linux.png","title":"linux常用命令","subtitle":"linux","type":7,"info":"将平时开发中经常用到的一些linux命令进行了一下整理,会持续更新。","createDate":1476855071000,"lastDate":1710209467699,"commentSum":1,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":41,"author":"33","praiseNumber":"0","status":1,"readNumber":115,"pic":"/upload/blog/pic/4157_mac.png","title":"mac常用命令","subtitle":"mac","type":4,"info":"将平时开发中经常用到的一些mac命令进行了一下整理,会持续更新。","createDate":1476854238000,"lastDate":1481248482143,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":40,"author":"33","praiseNumber":"0","status":1,"readNumber":207,"pic":"/upload/blog/pic/7900_git.png","title":"git常用命令","subtitle":"git","type":4,"info":"将平时开发中经常用到的一些git命令进行了一下整理,会持续更新。","createDate":1476853706000,"lastDate":1642583874176,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":39,"author":"33","praiseNumber":"0","status":1,"readNumber":254,"pic":"/upload/blog/pic/660_node.png","title":"node与npm常用命令","subtitle":"node,nodejs,npm","type":2,"info":"将平时开发中经常用到的一些node与npm命令进行了一下整理,会持续更新。","createDate":1476851770000,"lastDate":1527143200584,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":38,"author":"33","praiseNumber":"0","status":1,"readNumber":103,"pic":"/upload/blog/pic/3223_bind.png","title":"函数的bind方法","subtitle":"bind,\b函数bind","type":3,"info":"将函数绑定至某个对象,在函数fn()上调用bind(o),会在o上绑定一个新的fn()方法,且该方法中的this指向是o;","createDate":1473305434000,"lastDate":1473305764013,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":37,"author":"33","praiseNumber":"0","status":1,"readNumber":301,"pic":"/upload/blog/pic/2293_select.png","title":"select文本居右","subtitle":"select,direction","type":1,"info":"用text-align火狐下是OK的,但是在webkit内核的谷歌却是无效的,select原生的样式可控性的确是比较差的.但是使用css的direction却可以解决一下这个问题。","createDate":1473300687000,"lastDate":1473301377750,"commentSum":1,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":36,"author":"33","praiseNumber":"0","status":1,"readNumber":136,"pic":"/upload/blog/pic/6764_gulp.png","title":"gulp基本操作","subtitle":"gulp","type":3,"info":"日常使用时的一些记录,持续更新。","createDate":1472883935000,"lastDate":1479176154987,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":35,"author":"33","praiseNumber":"0","status":1,"readNumber":1061,"pic":"/upload/blog/pic/3504_error.png","title":"node中执行sql遇到的Error: write after end错误","subtitle":"node,write after end","type":1,"info":"同时执行多个数据库操作,在只有一个返回结果时,将请求跳出就会导至这种[Error: write after end]错误","createDate":1472461873000,"lastDate":1472463006556,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":34,"author":"33","praiseNumber":"0","status":1,"readNumber":812,"pic":"/upload/blog/pic/5032_ueditor.png","title":"在node环境下配置ueditor图片上传","subtitle":"node,ueditor,nodejs","type":3,"info":"ueditor官网没有提供node版本,在node环境下使用时,虽然基础功能不会受到影响,但是在node中实现图片上传功能,需要进行一些设置才能够生效。","createDate":1472387749000,"lastDate":1472388443589,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":33,"author":"33","praiseNumber":"0","status":1,"readNumber":117,"pic":"/upload/blog/pic/7734_every.png","title":"Array.every方法介绍","subtitle":"forEach,every,each","type":3,"info":"Array.every在处理循环判断为假时跳出用起来真的是蛮方便的,这里进行一个简单的介绍。","createDate":1472313471000,"lastDate":1472314307168,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":32,"author":"33","praiseNumber":"0","status":1,"readNumber":730,"pic":"/upload/blog/pic/3932_logo.png","title":"一次偶然的ajax请求导致status为canceled的原因","subtitle":"status,canceled","type":3,"info":"为什么status = canceled,是由于form表单action触发后,将表单项以serach的形式追加至当前url上。而form action与绑定于button上的click事件同时触发,click事件所执行的\npost请求开始执行时url的变更会将post请求终止。","createDate":1471859218000,"lastDate":1472441200682,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":28,"author":"33","praiseNumber":"0","status":1,"readNumber":147,"pic":"/upload/blog/pic/6193_style.png","title":"获取CSS属性值","subtitle":"getComputedStyle,currentStyle","type":3,"info":"jquery有个css方法可以指定dom节点的样式,比如说要获取a标签的文本颜色,可以用$('a').css('color')进行获取,很方便。\n而在没有引入jquery的项目中,该如何去获取?\n","createDate":1471403383000,"lastDate":1471404425015,"commentSum":1,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":27,"author":"33","praiseNumber":"0","status":1,"readNumber":127,"pic":"/upload/blog/pic/752_date.png","title":"强化Date对象","subtitle":"js日期格式化,js获取月内天数,js获取星座","type":3,"info":"在Date对象上增加方法:日期格式化,获取月内天数,获取星座。","createDate":1470970075000,"lastDate":1470984363640,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":26,"author":"33","praiseNumber":"0","status":1,"readNumber":223,"pic":"/upload/blog/pic/3361_cd.png","title":"iframe间的参数传递","subtitle":"iframe,storage,postMessage","type":3,"info":" iframe存在的时间已经很久了,有人会觉着过于老旧,有人会觉着使用起来很方便。iframe对于存在多个模块的项目来言,在隔离样式上的冲突、脚本间的干扰效果很明显,因为它们本身就不在一个scope。那么问题来了,隔离是隔离开了,相互间的传参如何解决?","createDate":1469280798000,"lastDate":1476091723389,"commentSum":3,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":25,"author":"33","praiseNumber":"0","status":1,"readNumber":311,"pic":"/upload/blog/pic/6206_u=2783235711,1837555441&fm=21&gp=0.jpg","title":"事件穿透","subtitle":"","type":1,"info":"在一个元素进行事件触发操作,该元素会将该事件向上传递,而不是做为目标节点而接收该事件。","createDate":1467956161000,"lastDate":1467960309728,"commentSum":1,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":24,"author":"33","praiseNumber":"0","status":1,"readNumber":180,"pic":"/upload/blog/pic/4665_facebook.png","title":"关于调用外部接口的注意事项","subtitle":"","type":4,"info":"当公司业务扩大至一定规模后,会对外提部分业务接口,借用外部力量来完善自身业务,由此产生一些强依赖这些外部接口模式的公司。而这些公司的程序员将要在开发中受限于接口来源公司。","createDate":1467819727000,"lastDate":1467821848968,"commentSum":2,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":23,"author":"33","praiseNumber":"0","status":1,"readNumber":175,"pic":"/upload/blog/pic/3821_object.png","title":"函数内修改对象后为什么会影响引用对象","subtitle":"","type":3,"info":" 由浅至深讲解在函数内修改对象属性时,为什么会影响到引用对象。你可能在面试中看到过,也可能在书上看到过,更有可能是在工作中被这个特性折腾的够苦。","createDate":1466564325000,"lastDate":1466737866501,"commentSum":1,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":22,"author":"33","praiseNumber":"0","status":1,"readNumber":145,"pic":"/upload/blog/pic/3299_scope.png","title":"javascript 闭包","subtitle":"","type":3,"info":"闭包的核心是变量作用域,在调用函数时,函数中使用到的变量会优先在该函数中匹配对应的变量声明,如未找到则向上层寻找,直至全局变量。","createDate":1466135018000,"lastDate":1466407285206,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":21,"author":"33","praiseNumber":"0","status":1,"readNumber":173,"pic":"/upload/blog/pic/1931_object.png","title":"对象的原型指向","subtitle":"","type":3,"info":"javascript中除了null比较特殊外,其它的对象都是拥有原型。那么创建出来的对象,它的原型又是指向的哪个对象?","createDate":1466074458000,"lastDate":1466074810909,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":20,"author":"33","praiseNumber":"0","status":1,"readNumber":160,"pic":"/upload/blog/pic/9097_cz.png","title":"函数、方法的length属性","subtitle":"","type":3,"info":"函数、方法,做编程每天都在接触。我们知道字符串有length属性,数组也有length,那函数和方法的length是什么?","createDate":1466061321000,"lastDate":1466065354774,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":19,"author":"33","praiseNumber":"0","status":1,"readNumber":230,"pic":"/upload/blog/pic/1943_string.png","title":"toString()与toLocaleString()","subtitle":"","type":3,"info":"Object下存在两个转换字符串方法,一个是常用的toString(),另外一个是基于本地化的toLocaleString()方法。除了原始的Object,其它类型在实现这两个方法时,对这些方法进行了重构。接下来通过示例展现各种不同类型下的输出与彼此间的差异。","createDate":1465957187000,"lastDate":1465987180962,"commentSum":2,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":18,"author":"33","praiseNumber":"0","status":1,"readNumber":227,"pic":"/upload/blog/pic/1562_kunnan.png","title":"这个绝对做不出来","subtitle":"","type":4,"info":"敏捷开发中有个说法:拥抱变化。需求会通过实际情况不断的变更,难免已经开始或已经完成的需求被变化被删除。每个程序员都应该经历过那种心血被废弃的苦闷感。\n产品经理有外花名:“产品狗”。虽然有些产品经理会以产品狗自嘲,但我大胆的猜测这个应该是程序员馈赠的。另外我觉着程序员不该叫程序猿而应该叫程序猫,猫狗大战更贴切。","createDate":1464599030000,"lastDate":1464689826756,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":17,"author":"33","praiseNumber":"0","status":1,"readNumber":510,"pic":"/upload/blog/pic/9066_seo.png","title":"单页应用SEO优化","subtitle":"seo","type":1,"info":"之前做SEO优化的项目都是多页应用,从这个界面的某个链接打开一个新的页面,该页面的head或body中的友好信息即会自动被百度爬虫捕获,一切都是那么的顺。当界面转变为单页应用后。标志性的锚点做法并不被百度和谷歌收录,谷歌虽然不收录以#为特性的锚点,但是收录以#!为特性的锚点,因为这个缘固谷歌做SEO优化就简易了很多。然而百度你懂得,那么做为一个前端开发人员,我们该做些什么。","createDate":1463397697000,"lastDate":1590371865111,"commentSum":2,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":16,"author":"33","praiseNumber":"0","status":1,"readNumber":144,"pic":"/upload/blog/pic/1977_node%E4%B9%B1%E7%A0%81.png","title":"node乱码解决方法","subtitle":"","type":2,"info":"使用node.js做为后台开中,发现前端界面展示都为正常。但是从Network中查看请求信息时,发现返回数据内的中文为乱码。","createDate":1463038907000,"lastDate":1463039628684,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":15,"author":"17","praiseNumber":"0","status":1,"readNumber":211,"pic":"/upload/blog/pic/274_QQ%E6%88%AA%E5%9B%BE20160427170945.png","title":"悦跑圈——属于跑者的圈子","subtitle":"","type":5,"info":"社交的类型大抵有三种,陌生人社交,熟人社交,兴趣社交。当然兴趣社交可以在垂直划分,比如音乐圈,绘画圈,读书圈等等,每一个兴趣都可以不断的拆解,越拆解就越细致,当然所覆盖的用户群体就越少,反之,也更加精准。\n","createDate":1461748399000,"lastDate":1461748362782,"commentSum":0,"username":"扣子","photo":"/upload/user/photo/4018_QQ%E6%88%AA%E5%9B%BE20160223213807.png"},{"id":13,"author":"17","praiseNumber":"0","status":1,"readNumber":156,"pic":"/upload/blog/pic/3037_same.png","title":"same-和而不同","subtitle":"","type":5,"info":"去年的这个时候,same还很火,刷爆了整个产品圈。然后这个时候,小米应用市场里,除了很明显的水军以外,闪退,欺骗。那么,产品该怎么做。","createDate":1461575817000,"lastDate":1461654914117,"commentSum":1,"username":"扣子","photo":"/upload/user/photo/4018_QQ%E6%88%AA%E5%9B%BE20160223213807.png"},{"id":11,"author":"33","praiseNumber":"0","status":1,"readNumber":224,"pic":"/upload/blog/pic/5937_sizzle.png","title":"querySelector","subtitle":"querySelector测试效果","type":1,"info":"querySelector(),querySelectorAll()功能测试,与jquery Sizzle进行比较","createDate":1461315806000,"lastDate":1461320872458,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":10,"author":"33","praiseNumber":"0","status":1,"readNumber":553,"pic":"/upload/blog/pic/9806_111111.png","title":"面试阿里失败总结","subtitle":"","type":4,"info":"相信有人听过:做技术的,特别是web前端,有一种资历叫我过了阿里的面试。\n自从开始成为一个web前端从业人员,至今五年有余。阿里的前端环境是一直是我向往的地方,也许是围城,但我却身在城外。\n","createDate":1461030386000,"lastDate":1461033175679,"commentSum":7,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":9,"author":"33","praiseNumber":"0","status":1,"readNumber":181,"pic":"/upload/blog/pic/2936_listManager.png","title":"listManager使用详解","subtitle":"","type":3,"info":"适用于管理平台的数据展示列表,通过该插件可以更简约的实现一些前端交互及与列表相关的功能实现。","createDate":1460364938000,"lastDate":1460365932827,"commentSum":1,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":8,"author":"33","praiseNumber":"0","status":1,"readNumber":338,"pic":"/upload/blog/pic/9870_1594621862038.png","title":"margin-top 外边距合并","subtitle":"css","type":1,"info":"margin-top 外边距合并的边距合并的触发条件及解决方式","createDate":1457330074000,"lastDate":1594621873579,"commentSum":3,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":7,"author":"33","praiseNumber":"0","status":1,"readNumber":767,"pic":"/upload/blog/pic/5120_1594621430986.png","title":"JSON.stringify()执行出错","subtitle":"js","type":3,"info":"执行JSON.stringify() 抛出的错误信息:Uncaught TypeError: Converting circular structure to JSON","createDate":1456402852000,"lastDate":1594621479023,"commentSum":5,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":6,"author":"33","praiseNumber":"0","status":1,"readNumber":499,"pic":"/upload/blog/pic/3327_1594621385587.jpg","title":"前端国际化","subtitle":"国际化","type":3,"info":"从10年接触编程就开始接触国际化这个概念,这些年项目中做到国际化的项目并不是很多,零星项目中做的都是无非也都是螺丝钉的工作。15年末,部门项目需要推国际化,前端这块由我来主导。虽然难度不高,但还是拿出来分享下。","createDate":1456314006000,"lastDate":1594621388566,"commentSum":7,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":4,"author":"33","praiseNumber":"0","status":1,"readNumber":247,"pic":"/upload/blog/pic/7373_1.jpg","title":"UEdit 使用总结","subtitle":"","type":3,"info":"最近项目中频繁使用到 uedit,在使用中遇到一些磕磕绊绊的事。","createDate":1404187620000,"lastDate":1456320676925,"commentSum":0,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"},{"id":5,"author":"33","praiseNumber":"0","status":1,"readNumber":364,"pic":"/upload/blog/pic/9819_2.jpg","title":"自定义表单、流程、菜单开发总结","subtitle":"","type":3,"info":"最近在做自定义表单、自定义流程、自定义菜单,由于某些原因,现在这个项目正处于停滞状态。但核心功能已实现,做点总结拿出来分享。","createDate":1403323560000,"lastDate":1456320687638,"commentSum":5,"username":"写个程序换个饼","photo":"/upload/user/photo/8495_1.jpg"}]}