生活或许总有遗憾,但未来依旧美好。
欢迎访问...
Category

Category: 爱搞机

从“什么值得买”直接取京东商品ID

昨天好不容易把京东好物街的微信小程序插件搞了下来,可以在自己小程序内集成京东商城的登陆注册、商品信息、下单一整套流程。 既然要搞京东商品推广,没有淘宝那么成熟的商品库,就随便抓点数据试试水。 什么值得买是我一直喜欢逛的网站,就从这里开始。https://www.smzdm.com/mall/jd/#tabs 思路大概是这样,具体代码实现自由发挥。 步骤一:先拿到“去购买”的链接。 步骤二:查看购买链接的源代码,虽然混淆过,但ID就在里面,直接取出来即可。 虽然看完觉得很简单,但是一开始我也被这js混淆唬住,找了好久。 分享下免走太多弯路。完~
安利一个我正在使用的梯子

主要用于科学上网,像写代码经常需要Google的,百度简直有毒。 还有看下YouTube、谷歌相册同步备份,都挺快。 入门版19澳元,转换为人民币就98元一年。 梯子注册地址:https://order.shadowsocks.ch/ 虽然说仅支持 1 台设备同时连接,但是实际用起来并没有感觉到有这个限制。 我的iPhone、安卓、还有两台电脑都装上了,入门版足够使用。 流量的话,设置为仅对被墙的域名使用(PAC模式)。 线路有这些,常用的还是JP和HK的。 比自己买海外服务器+搭建更加多选择,门槛也更低。
解决Vue入口文件index.html缓存问题

之前每次更新tool.chaozhi.hk的时候,总是要刷新两次才能生效,现在总算解决这个问题了。 找过很多META标签的设置,例如下面这些,都不管用。 <meta http-equiv="Expires" content="0"> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-control" content="no-cache"> <meta http-equiv="Cache" content="no-cache"> vue-cli里的默认配置,css和js的名字都加了哈希值,所以新版本css、js和就旧版本的名字是不同的,不会有缓存问题。 但是把打包好的index.html放到服务器里去的时候,index.html在服务器端可能是有缓存的,这需要在服务器配置不让缓存index.html nginx 配置如下: location = /index.html { add_header Cache-Control "no-cache, no-store"; }
小程序论坛不需要电信经营许可证了,只需ICP备案即可

以前微信小程序对社交内容管得很严,涉及到一点点UGC(用户原创内容)都要求有ICP经营许可,《增值电信业务经营许可证》或《电信与信息服务业务经营许可证》。ICP许可和ICP备案不同,前者办理难度大很多,后者有个域名就能找服务接入商办理。下图是以前社交类的资质要求: 现在社交类,社区/论坛,只需要提供一个ICP备案的截图即可。 审核通过~~
一加云相册批量下载,没想象中那么难

前提 因为我之前用过一段时间一加3手机,现在已经送人了。 但是手机上的相册忘记备份出来,还好开启了一加云服务。 但是现在(2018年10月12日),一加云相册是不给批量下载的。 看了下相片域名,testing-oneplus-gallery.oss-cn-shanghai.aliyuncs.com 生产环境居然用testing这样的字眼,上海节点的OSS。总感觉一加云服务还有很长的一段路要走。 如果手上还有别的一加手机,就不用那么麻烦了。 网上看到有些教程是抓接口json包,我也试了,拿到的不是原图。 走了不少弯路,只有用图片id才能拿到原图。 步骤 1、先打开https://cloud.h2os.com/#/album,登录账号。 2、把相册不断拉到底部尽头,让相片全部在页面加载出来。 3、按F12打开调试面板,在Console页输入以下代码。遍历dom元素,取出相片id。 var domArr = document.querySelectorAll('.photo_item'); var idArr = []; for(let value of domArr) { idArr.push(value.getAttribute('data-id')); }; idArr;   4、注入jQuery,方便发送ajax请求。 var script=document.createElement("script"); script.type="text/javascript"; script.src="https://code.jquery.com/jquery-3.2.1.min.js"; document.getElementsByTagName('head')[0].appendChild(script); 5、然后分割idArr数组,如果你的图片特别多的话,需要分割成若干个100张一组。 idArr.slice(0, 100),idArr.slice(100, 200),idArr.slice(200, 300)如此类推。 开始请求云相册下载原图的接口,必须要云相册登录状态下进行。 $.ajax({ type: 'POST', data: { ids: JSON.stringify(idArr.slice(0, 100)) }, url: 'https://cloud.h2os.com/gallery/pc/getRealPhotoUrls', contentType: "application/x-www-form-urlencoded;charset=utf-8", success: function (data) { for(var key in data){ console.log(data[key]) } } });   这个接口是支持批量通过图片id查询出下载链接的。 6、然后批量复制打印出来的链接,粘贴到一个文本编辑器里。 再处理一下不小心复制出来的面板信息(批量替换下)。 最终达到一行一链接的效果(可以有空行),然后让迅雷下载就行了。 7、下载完你发现文件都没有后缀。没关系,用ReNamer批量处理下文件名就行了。(或者其他工具,自行百度下载) 总结 我的相片下载好了。 如果量很大的话,几千张上万张,这个方法其实也很蛋疼。 还是等官方的批量下载功能,什么时候肯开放给大家用吧。 说说图片存储方案,现在用小米云存储、百度网盘、谷歌相册一起备份。 百度网盘下载速度实在太慢了,无爱。 谷歌相册还比较满意,就是没有图片去重功能,刷机时把一百多张相片重复上传了,看着很难受。 最后提醒大家,数据无价,多做备份。
把博客从WordPress搬到了Hexo

为什么忍受不了WordPress呢? 体积庞大,后台操作十分卡顿 代码编辑困难,样式也很丑 正使用的Bootstrap风格主题实在是看腻了 虽然可以使用缓存,但加载速度始终不尽人意 当然WordPress也有很多优点,只是因为我个人需要,想更专注于写作和代码展示,所以固执地选择了Hexo。 一些碎碎念 其实用的方案也想了很久,部署方式很多。 本地打包,配合vscode插件sftp、ssh等插件同步到服务器。 本地打包,直接丢上CDN。 用hexo server的方式,服务器反向代理4000端口。 Jenkins打包部署。 GitHub或者Coding提供的pages服务。 考虑到上传速度过慢和每次更新文章的操作过于繁琐,对电脑的软件环境要求高,免费或付费,稳定和访问速度等因素。 我同事推荐用pages方便省事,但是coding如果不付费就有个中间loading页,付费199元每年有点小贵。毕竟静态资源+CDN,每年也用不了多少钱。 然后尝试过用第三种方式,把md文章丢上去时,经常出现‘No title’的情况,并且感觉很卡,所以放弃了。 最终还是决定用第四种方式,只需要把修改的文件用Git提交,触发构建器,构建完成后使用SSH方式把静态文件传送到服务器。 然后选用的主题是indigo,进行了一丢丢修改,增加置顶文章和缩略图展示。 感慨下初接触ejs模版语言,比php还难上手。 这个主题默认开启了又拍云的CDN,包括css、js、font等。 如果自己修改了什么东西,则需要关闭默认的又拍云CDN,同时我又不想放在本地。 于是我还是要把一部分资源丢上自己的CDN。 选择CDN不纠结 常用七牛和阿里云OSS,最终选择OSS。 理由是oss-browser炒鸡好用,方便管理文件。 七牛暂时没有很好用的可视化操作工具,在网页上传文件和下载文件,都只能一个个下载。 只能一个个下载 当选择多个的时候,下载按钮会隐藏。 当选择多个的时候,下载按钮会隐藏 oss-browser只需要打开那个目录,像文件夹一样把文件拖进去就行了。 更新遗留的问题 使用Hexo推荐的hexo-migrator-wordpress插件转换WordPress文章时,换行全部变成了空格。 WordPress好多文章设置,例如特色图片、自定义字段(点赞)都丢失了。 最让我心疼的是我好几千条评论又没了,浏览数也是。 国内没有特别好用的社会化评论工具,所以我暂时没使用。怀念多说。
本想删除个数据表,不小心整个库都删除了

上星期发现WordPress被注入了段恶意脚本跳转到别人网站去的。 然后本地删除代码,准备删掉线上的表,重新导入进去。 一时懵逼把这个博客的库删掉了。这个博客的ECS没有自动快照设置,最近一次手动备份是2月份。 于是把很多评论都弄丢了。o(╯□╰)o 微信小程序,一直想不到更方便的场景和更好的功能。 这周把接口放出来,有开发能力的小伙伴自己玩去。
我发现了一个微博刷阅读量的方法,不知道以后会不会被封。

2017年10月27日亲测可用,可以用来申请个人认证、对于双十一发红包也是个利器。 大部分人小号是很难有1万阅读量的,但是用这个方法可用快速达到上万的阅读量。 首先,在消息左上角有个发现群,搜索“互赞”、“互粉”、“千人”之类的千人群。每天加十来个,很快就能加二三十个群了。很多群写着要关注群主和管理员,其实并不用鸟他们。等他们点审核,大部分都能通过。 然后打开微博私信列表,按F12,在Console面板输入 var script=document.createElement("script"); script.type="text/javascript"; script.src="https://code.jquery.com/jquery-3.2.1.min.js"; document.getElementsByTagName('head')[0].appendChild(script); 注入jquery后,再输入这段批量发私信的js脚本。 脚本是遍历私信列表的群ID,然后群发你想刷的那条微博链接(点微博日期可以获得)。 var list = $(".private_list"), gid = []; for (var i = 0; i & lt; list.length; i++) { gid[i] = list.eq(i).attr("gid"); postReq(gid[i]); } console.log('群组ID:', gid); function postReq(gid) { $.ajax({ type: 'POST', data: { source: '209678993', text: 'http://weibo.com/xxxxxx/FsKTEiiOm', // 单条微博地址,点击微博日期获取,格式跟这个一样 gid: gid }, url: 'http://weibo.com/aj/message/groupchatadd?_wv=5', dataType: 'json', cache: false, timeout: 5000, success: function (data) { console.log(data.msg) }, error: function (jqXHR, textStatus, errorThrown) { console.log('error ' + textStatus + ' ' + errorThrown); } }); } 刷一次,大概能涨3~5K阅读。。隔三四个小时再刷一次,效果更好。 方法告诉你,逃)
又一个社会化评论工具关闭了

之前多说挺好用的,速度也很快。然后6月1日关闭了。 上网找了很久,纠结搜狐的畅言,但是太臃肿,太多无用的功能。舍弃。 没看错,畅言这货发了差不多50多个JS请求。。 转而使用网易云跟帖。。。网易应该没那么容易倒,而且看起来网站也很新,不像那些老牌的jiathis那样几年没更新过。 结果用了几个月也要关闭了。 今晚转下json格式,再找下家。。。
解决远程连接mysql很慢的方法(mysql_connect 打开连接慢)

一个小项目放在php5.6下,弃用了mysql_connect( ) 改用mysqli_connect( )来连接数据库。但是在腾讯云主机上响应很慢,要1~2s。最终修改配置文件,重启mysql问题解决。 具体方法:在my.ini文件的[mysqld]下面添加: skip-name-resolve 同时数据库地址不能用域名和localhost,必须要用IP地址。 感谢万能的搜索~
开发时Axios 跨域无法setcookie的解决方法

举个例子,在一个登录的场景,用axios发送post请求去登录,能成功返回数据,但是用作权限验证的cookie就是不会保存。 例如我的前端项目在http://127.0.0.1:8080/,后端接口在http://127.0.0.1/ 这样Response的setcookie就无法生效,没办法写入浏览器cookies,第二次请求也无法携带cookies。 也就是跨域cookie的问题~ 用Fiddler设置AutoResponder,自动把接口请求重定向。问题解决      
微信小程序wx.redirectTo、wx.navigateTo跳转失败

在开发小程序时,用到下面三种页面跳转方法,路径写对后跳转没有反应,也没报错。 wx.navigateTo(OBJECT) 保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面。 wx.redirectTo(OBJECT) 关闭当前页面,跳转到应用内的某个页面。 wx.navigateBack(OBJECT) 关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages()) 获取当前的页面栈,决定需要返回几层。   把结果打印一下,才知道tab页不能跳进。坑太多。。。 如果它是配置在tab栏的页面,需要用下面这种方法跳转 wx.switchTab({      url: '/pages/history/history' })
在vue中使用axios,参数没有序列化

设置了headers中Content-Type为application/x-www-form-urlencoded数据格式,post发起的请求仍为json类型,并没有序列化。 郁闷的是用JSON.stringify无效。 这个Form Data后台取不到数据,正常的Form Data数据应该是key:val 最终解决方法:使用querystring var qs = require('querystring') Vue.prototype.$http = axios.create({ baseURL: 'http://chaozhi.hk', timeout: 10000, headers: {'Content-Type': 'application/x-www-form-urlencoded'}, transformRequest: [function (data) { data = qs.stringify(data) return data }] })

工具准备:putty-0.65cn  PuTTY是一个Telnet、SSH、rlogin、纯TCP以及串行接口连接软件。解压运行putty.exe用来连接服务器。 登录mysql:mysql -u root -p  ,命令结束后会要求输入密码,这时输入password。 在服务器内部登录数据库,然后执行 grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; 然后在远程电脑mysql客户端就可以连接了。 详细说明可以看阿里云的文档:https://help.aliyun.com/knowledge_detail/6675011.html

做过微信端网页开发的都知道,微信内置的X5浏览器是qq浏览器的阉割版,只有点击进入、关闭、返回这几个动作。平时调试网页时,修改了很多css但是经常因为缓存问题在实机刷新不出新效果来。用chrome浏览器倒是不用考虑缓存问题,然而放到微信端打开就各种问题了。因此微信内置的浏览器,对于前端开发者来说相当于以前的IE6。 刷新微信缓存这个问题,在知乎也被人问过: 为什么android微信没有刷新功能?如何快速有效清理缓存. 微信浏览为网站的缓存怎么清理? 一些不太好的尝试: 为了刷新微信浏览器的缓存,有人提议用第三方工具,例如猎豹清理大师。经过我实测,有时可以有时不可以,而且比较麻烦。 还有人给网页css加版本号之类的,本地编辑时,频繁要预览,也是比较麻烦。 正文来了: 1、采用Browsersync前端开发利器,在本地编辑网页时,一点保存手机端也会自动刷新。传送门→http://www.browsersync.cn/     2、微信刷新缓存和直连的网页工具↓微信扫描二维码进入,(网址 http://debugx5.qq.com/) 3、用微信官方的调试工具,传送门→https://mp.weixin.qq.com/advanced/wiki?t=t=resource/res_main&id=mp1455784140  

首先,这个网站一开始模仿太平洋的今日聚超值,让我现在感觉很蛋疼。 界面上虽然看起来高端大气,但是幻灯片、侧栏优惠券、菜单店铺推荐什么的,我还是放着去年的广告。 因为我没有那么多的时间去维护网站,保持内容的更新。一开始以为仿站,连幻灯片都有现成的,直接拿来用就行了,后来发现我错了。 他们做的重心已经转移到海淘,而我的还是国内淘宝天猫和京东。所以80%的幻灯片,我都是没这方面内容的。拿不来,套不上。于是我也懒得去更新了。 说回网站的细节设计上,我暂时只完成了移动端的界面和栏目。 1、首页保留幻灯片和WordPress内部文章列表,手动更新一些特价促销文章。 2、顶部搜索栏和主菜单上“淘好货”、“淘宝折扣”、“白菜价”都接入了淘宝API。省了我很多更新商品的时间和精力。 说实在的,做的过程中很多想法,受限于API权限问题,阉割掉了很多。连搜索结果的URL都还要另外加淘点金组件才能获得佣金,竟然没有转换后的字段!这让我很郁闷。   3、淘宝那边提供的只有这几个接口,选品库最多200件商品,也是我需要继续头疼的东西。可能要多个选品库轮流在一个栏目使用,但是这样会出现什么问题还不知道。 4、比较偏重微信端的细节处理,例如认证个公众号来搞分享描述,用iframe在微信打开淘宝天猫等。发现微信居然不支持淘点金组件,也做了个条件判断。 因为我现在主要宣传渠道在微信朋友圈,微博的话等完善PC端再考虑。 5、在微信朋友圈发商品,工具的不断完善。网页截图+PS切图,几下子就可以把优惠信息全部分割出来,方便在朋友圈浏览。这个很酷~ 然而实际上,朋友圈还是微商9图+一大截文字的效果明显。。我这样节省功夫,并不会有什么人会去看。 6、还有基本功能完善,好久没更新的chrome插件,主要用来采集京东商品数据和从商品幻灯片中提取图片,发朋友圈用。 最后,这个网站是我自己业余时间做的一个网站,代码看起来可能会不够严谨。 有兴趣指点或者有问题想问我的,可以QQ、邮箱联系~ 等完成PC端再写一篇,继续加油~~

好像我对在别人网页上运行自己的脚本特别感兴趣,从一开始的审查元素——Console调试,到书签上保存运行JavaScript,直到后来在京东上采集信息,发现是https无法把获取到的信息传送回我的服务器。又不会用php制作爬虫什么的,就开始研究chrome。我对chrome插件开发从完全没概念,到慢慢了解。一开始完全是靠感觉,觉得插件能帮我把数据传送出去,果然如此。下图是我第一个版本的插件界面: 说到采集京东商品,我是从联盟那里采集出来的。联盟那个网站,在没关键词时会隐藏一些查询条件,例如想看全站的30天推广量最多是哪个商品,不想输入关键词什么的,还好它仅仅是用display:none来隐藏。并且联盟网站有个很讨厌的地方,就是右下角公告一直显示,关闭之后刷新还是会出来。完全没考虑过用户的体验好吧!!!于是有了第一和第二个选项!屏蔽联盟通知和显示更多筛选条件。 采集京东数据,是根据销售、佣金排行榜进行抓取,组成json格式的数据post出去。这个其实用API来查询,效果会好很多而且可以做到实时查询。但是我不会!!!感觉文档还很不完善,看个SDK还要发邮件去索要等等等等!!!还是等我以后学得差不多再考虑!或者网上付费找人帮忙写个demo。 然后打开橱窗大图,是把主橱窗幻灯片的图片显示在左边,方便复制图片路径和快速保存到本地(Alt+左键单击)。 评论图片快速保存,也是对网页元素进行操作,替换掉缩略图的src。本应是76px的尺寸,替换成760px*500px。然后直接快速保存和复制图片链接。我没有选择做成像第一第二个那样checkbox的形式,是因为评论图片是动态加载进来的,不点开“晒图”是没有的,所以只好做成button的形式去执行。   最后,发现chrome插件开发确实很好玩,但我学的还很肤浅。可能会觉得这个工具箱对你来说没什么用,嗯!我自己用的。我微信小号经常发这种朋友圈,所以要用到,大大提高效率。 最最后,经常剁手的朋友可以加下我小号!绝对没宰你!

可能看标题有点难理解,执行js干嘛?页面元素加载出来后,我们可能对它进行一些DOM操作,例如屏蔽广告、获取数据、修改元素之类的。 如果是每次都用Chrome的Console面板来执行,实在是太麻烦了,如果只是用来调试还好。 于是我一直在找,一开始想用油猴这个插件的。但是它貌似不支持jQuery,而且感觉很复杂,没有继续研究。 找到用书签的方式! 你随便添加一个书签,然后修改内容,改为: javascript:alert("Hello World!");     如果是想复杂一点的操作,建议还是引入外部js文件比较好点。 javascript: (function () { var jsCode = document.createElement('script'); jsCode.setAttribute('src', 'http://www.chaozhi.cm/page/javascript/getThumImgHover.js'); document.body.appendChild(jsCode); }()); 例如上一段,可以根据京东商品幻灯片的hover状态,获取商品大图。 就这样,把一个个脚本存储到收藏夹~方便 理论可以参考:http://www.jb51.net/article/26364.htm   ------2016年3月26日更新------ 在查看京东或者淘宝主轮播图的时候,想下载图片很不方便,于是用js全部抓取并且添加进页面里。 要保持直接右键另存为,或者Alt+鼠标点击即可快速保持。 var imgObj=$(".spec-items li img"); var insite='<ul class="insite">'; for(var i=0;imgObj.length>i;i++){ var imgSrc=imgObj.eq(i).attr("src").replace("360buyimg.com/n5/jfs/","360buyimg.com/n0/jfs/"); insite+='<li><img src="'+imgSrc+'" /></li>'; }; insite+='</ul>'; $("body").append(insite); $(".insite").css({"position": "fixed", "top": "100px", "z-index": "100", "width": "150px",}) $(".insite li").css({"width": "150px",}) $(".insite li img").css({"max-width": "100%",})

像我这样整天对着微信撸网页,这个连刷新按钮都没有的浏览器。Browsersync简直就是爽爆了~ Browsersync能让浏览器实时、快速响应您的文件更改(html、js、css、sass、less等)并自动刷新页面。 更重要的是 Browsersync可以同时在PC、平板、手机等设备下进项调试。 您可以想象一下:“假设您的桌子上有pc、ipad、iphone、android等设备,同时打开了您需要调试的页面,当您使用browsersync后,您的任何一次代码保存,以上的设备都会同时显示您的改动”。无论您是前端还是后端工程师,使用它将提高您30%的工作效率。 有了它,您不用在多个浏览器、多个设备间来回切换,频繁的刷新页面。更神奇的是您在一个浏览器中滚动页面、点击等行为也会同步到其他浏览器和设备中,这一切还可以通过可视化界面来控制。   传送门:http://www.browsersync.cn/

最近喜欢用fadeIn的动画效果,来增强加载完成的感觉。周五的时候发现用360极速浏览器自带的网页截图,页面文字会变得很模糊。 今天晚上也遇到了这个问题,猜一下果然是动画效果导致的。像fadeIn淡入后,可以及时清理~~! 做了个新网页,把京东特价商品抓取过来。挺不错的感觉。手机扫描体验↓↓↓↓↓↓

之前用小米路由,电脑装了个软件。然后在“计算机”也就是我的电脑里会出现一个小图标,类似这种。 会到家后没用小米路由了,突然发现“计算机”打不开。。因为我装了两块硬盘,第一反应是硬盘挂了。 后来拆了机械硬盘,只留ssd还是会这样。清理过磁盘、注册表什么的,最后在百度贴吧找到这个。 win7下【计算机】打开特别慢,怎么回事? 看来小米路由的受害者不少。把小米路由卸载,问题解决~ 过年了~~~