我总是喜欢在写东西之前唠唠嗑,按照惯例会在博文的开篇写这么一段“写在前面的话”,这次却为了这个唠嗑单独开了一篇文,大概预想着要胡说八道的话有点多。

前段时间突然对小程序来了兴趣,说句实话,我都忘记了准确的导火线,大概是一直想做点什么个人的小作品,结果又因为贫穷限制了我买服务器。索性这个世界上有种东西叫“第三方API”,我买不起,我用别人的还不行吗?这个问题解决了,还有个问题没解决,那就是我这个人既不会iOS也不会Android,总不能用第三方API写Web吧,那不是也得要个人服务器,又回到最初的起点。

于是用三方API结合微信小程序就很有意思了,适配移动端也容易,体积小,开发起来成本也远远更低,加上现在微信大大提高了小程序在其生态的入口和地位,说不定掌握它的开发也是未来升职加薪的助力。说干就干,索性就去慕课网买了开发教学视频《微信小程序入门与实战》,149,也还好,不算太贵。累计花了约30h,课程也大概上了近80%,顺便花了6h用gank.io的公开API撸了一个简单的刷刷妹纸图片的小程序(目前并没有上线,因为功能太简单了不想提交上线,后续再完善一部分再提交吧= =),接近过年,无心再码点什么了,索性准备来写写小程序开发的一些东西。


所以接下来的章节,会唠唠微信小程序的一些基本开发,有兴趣的客官可以继续该系列往下读,应该也不会写得太细枝末节,主要还是给自己的知识留下记录。如果想做小程序开发,希望学习效果更直接一些,建议就直接花钱买那个课程,链接在上面已经给出了,我也不是什么托儿,只是亲测教程质量OK,这个钱花得妥。

 


另外必须要吐槽的是,在学得七七八八准备自己写点东西练手的时候,找API来玩儿那可太纠结了,一开始想借用微博的API,在微信里刷微博,大概和在微信里用支付宝差不多奇怪的需求了,结果发现完全没办法,两个原因:
  • OAuth2的授权需要到授权页面,而微信小程序里是不支持直接的网页url跳转的
  • 微博的应用审核严格,同时开发API没办法获取到你和你关注者时间线上最新的微博内容

第一个问题勉强用极其曲折和麻烦的方式解决了,想着让用户关注我的公众号,然后发送一个关键字后我推送授权的链接,用户在微信里是可以用网页的,在公众号跳转的网页授权完成后,再复制回调页面的地址中的code授权码,输入小程序里使用。哇,这个体验,作为开发者我自己都觉得恶心,想着只是做着玩儿甚至可能只是我自己用的一个小程序,也就无所谓了,但是第二个确实就没办法了。

微博的三方授权都是要先建立应用的,应用的分类里你是实在找不出小程序应该归为哪类,移动端?网页开发?尝试着随便选一个,结果应用要审核公用的话,前者需要提交移动端应用的下载地址,这个肯定不行了;后者要填写网页使用的地址,小程序不支持网页啊,这我可咋弄,这就差不多可以gg了。之所以我说差不多,是因为想着实在不行我就自己用行了吧,因为开发者在应用审核前只能使用个人的授权,然后接下来上面提到的第二个原因直接拍死了后面的开发考虑。

看下微博给的API,好像完全没什么问题:
 
看下实际上的详细说明,以statuses/home_timeline这个最最核心重要的接口为例:
 
什么意思呢,意思是,你如果授权使用这个第三方开发应用,那么接口返回的微博只能返回你本人的,其他人的不会返回,感情是我调用这个接口只能返回我自己发出的微博,我关注者的微博统统不给我,我摔,我要这接口有何用???而且其他相关的接口说明全是这样,我要这接口有!何!用!那为什么微博还是尚存有第三方客户端?看到最后那行了吗,使用官方移动SDK,返回30%非授权用户的微博,也就是说,你如果用的微博客户端是第三方开发人员的,你实际上看到的微博大概只有真实微博数量的30%,这时候不禁要给出一个透露着MMP的微笑。所以想做微博第三方开发的小伙伴,你做移动端iOS或者Android还勉强能读到部分数据,其他的基本还是忘了它吧。可以说是对开发者很不友好了,没办法,依托别人的API就是这样,寄人篱下说不给你了就不给你了,惨。

于是我又想着折腾instgram的API,然而审核更严格,好像只提供了移动端应用的开发模式,要求审核提交应用app,我小程序我提交啥app,微信么,而且FQ也麻烦,直接gg。最后在知乎《想写个 App 练手,有什么有趣的 API 接口推荐吗?》找到了gank.io干货集中营的公开免费API,就练手做了个看妹纸图片的简单小程序。后来又细细看了下知乎答案,发现和风天气的API也是免费的,准备年后尝试撸一个天气相关的小程序;博客园的API也提交了申请,审核通过的话应该会再认真写一个博客园的小程序,番茄土豆的API也不错,好像只需要密钥就可以使用API。

想玩儿的东西还真不少:
  • 和风天气API
  • 博客园API
  • 番茄土豆API

上面大概就是这段时间来我的一些经历以及我很想吐槽的一些东西了,实际上在这个学习阶段还接触了一些不太熟悉的概念,接下来应该还会探究一下在写一些基本的知识概念的博文,比如:
  • Oauth2
  • token
  • curl
  • 接口设计
  • ...

年后还打算把家里空闲的电脑装成Linux开始学习,另外索性可以用花生壳做内网映射做成个人的服务器,然后就可以自己写后端的东西了,目前想结合爬虫做点什么,比如可以先尝试根据知乎上某个问题(主要是url分析和如何防止反爬)去爬知乎上各问题下的大美女图片( +v+ )然后还想尝试爬租房信息再结合小程序做一个方便搜索租房房源的东西,哇,想做的事情可太多了,年后还要开始从头学框架等等等等,哎,有趣有趣,然而时不待我,时不待我啊!!!

列个清单:
  • Linux
  • Java爬虫(Python虽好从头学那又得多少时间啊)
  • 爬美女图
  • 爬房源信息另做小程序

嗯,虽然不一定都会实际去完成上面的东西... hhhhh

嗯,感觉和2018年的年目标完全偏离了,emmm...

不小心bb了这么多... 诶,打住打住...

微信小程序开发 [00] 写在前面的话,疯狂唠唠的更多相关文章

  1. 微信小程序开发 [07] 写在后面的话

    写在后面的话基本算是吐槽了,在学完小程序的课程之后,我用博客园的api,写了个闪存的小程序,本来兴致勃勃甚至这篇是准备写"我的第一个小程序发布啦",然而并没有. 不是说我偷懒了没写 ...

  2. 微信小程序开发初体验--教你开发小程序

    微信小程序 微信小程序面世以来受到的关注颇多,直到最近我才动手尝试进行了小程序的开发,总体上感觉还是不错的,有一点不适应的就是要摆脱Web APP开发对DOM的操作.在这里我就把我是如何利用API开发 ...

  3. 微信小程序开发-蓝牙功能开发

    0. 前言 这两天刚好了解了一下微信小程序的蓝牙功能.主要用于配网功能.发现微信的小程序蓝牙API已经封装的很好了.编程起来很方便.什么蓝牙知识都不懂的情况下,不到两天就晚上数据的收发了,剩下的就是数 ...

  4. 微信小程序开发心得

    微信小程序也已出来有一段时间了,最近写了几款微信小程序项目,今天来说说感受. 首先开发一款微信小程序,最主要的就是针对于公司来运营的,因为,在申请appid(微信小程序ID号)时候,需要填写相关的公司 ...

  5. 【微信小程序开发•系列文章六】生命周期和路由

    这篇文章理论的知识比较多一些,都是个人观点,描述有失妥当的地方希望读者指出. [微信小程序开发•系列文章一]入门 [微信小程序开发•系列文章二]视图层 [微信小程序开发•系列文章三]数据层 [微信小程 ...

  6. 微信小程序开发日记——高仿知乎日报(下)

    本人对知乎日报是情有独钟,看我的博客和github就知道了,写了几个不同技术类型的知乎日报APP 要做微信小程序首先要对html,css,js有一定的基础,还有对微信小程序的API也要非常熟悉 我将该 ...

  7. 微信小程序开发日记——高仿知乎日报(中)

    本人对知乎日报是情有独钟,看我的博客和github就知道了,写了几个不同技术类型的知乎日报APP要做微信小程序首先要对html,css,js有一定的基础,还有对微信小程序的API也要非常熟悉 我将该教 ...

  8. 微信小程序开发日记——高仿知乎日报(上)

    本人对知乎日报是情有独钟,看我的博客和github就知道了,写了几个不同技术类型的知乎日报APP 要做微信小程序首先要对html,css,js有一定的基础,还有对微信小程序的API也要非常熟悉 我将该 ...

  9. 微信小程序开发工具测评

    1月9日微信小程序正式上线.很多企业都希望能在这个.但是在技术开发的问题上,却不知道该如何下手.经过一些程序员不辞辛苦连夜测试,终于从十余款工具呕心沥血筛选出四款比较靠谱实用的微信小程序开发工具.接下 ...

随机推荐

  1. format格式化字符串

    假如想要表达这样一条语句:李明今年十二岁 输出这样一条语句 name = 'LiMing' age = 12 print( name + 'is' + age + 'years old') #输出 L ...

  2. 手动创建script解决跨域问题(jsonp从入门到放弃)

    vue项目一般用axios代替jQuery发送ajax请求,但是不支持jsonp格式,需要安装jsonp的依赖包,这就很不爽了,能自己轻易实现的,为什么要引乱七八糟的插件.jsonp其实就是利用< ...

  3. JS 解决 IOS 中拍照图片预览旋转 90度 BUG

    上篇博文[ Js利用Canvas实现图片压缩 ]中做了图片压缩上传,但是在IOS真机测试的时候,发现图片预览的时候自动逆时针旋转了90度.对于这个bug,我完全不知道问题出在哪里,接下来就是面向百度编 ...

  4. 商业智能BI和报表的区别?

    报表是数据展示工具,商业智能BI是数据分析工具. 报表工具是一类报表制作工具和数据展示工具,用于制作各类数据报表.图形报表.或者制作特定格式的电子发票联.流程单.收据等等. 商业智能的重点在于商业数据 ...

  5. localStorage/cookie 用法分析与简单封装

    本地存储是HTML5中提出来的概念,分localStorage和sessionStorage.通过本地存储,web应用程序能够在用户浏览器中对数据进行本地的存储.与 cookie 不同,存储限制要大得 ...

  6. xp_readerrorlog与sp_readerrorlog

    SQL SERVER 可以使用xp_readerrorlog 或者sp_readerrorlog来查看错误日志. xp_readerrorlog 一共有七个参数: 1. 存档编号 2. 日志类型(1为 ...

  7. 乘风破浪:LeetCode真题_038_Count and Say

    乘风破浪:LeetCode真题_038_Count and Say 一.前言     这一道题目,很类似于小学的问题,但是如果硬是要将输入和结果产生数值上的联系就会产生混乱了,因此我们要打破思维定势. ...

  8. UltraEdit 换行替换

    需求:想在每行结尾添加   '), 方案:在查找栏填写(^r^n)  替换栏('),^r^n) 效果:

  9. 【Alpha 冲刺】 12/12

    今日任务总结 人员 今日原定任务 完成情况 遇到问题 贡献值 胡武成 完成app端api编写 已完成 JAVA后端跨域访问没有处理(目前已解决),导致前端localhost请求失败而误以为自己操作失误 ...

  10. 根据进程ID查找运行程序目录

    查看进程ID [root@hadoop03 openresty]# netstat -nltp 进入/proc目录查找相应进程ID目录并进入此目录 [root@hadoop03 usr]# cd /p ...