送给将要写小程序的你。

声明:本人也是菜鸟一只,写的不好的地方,大佬们指点指点。


Jonathon's Blog用代码一路奋战。  新搭建了个博客 啦啦啦

微信小程序商城,持续更新。

先说说写小程序的渊源吧,我之前认识的大佬写了一个比较简单的小程序,我改了改样式于是成功的有了我的第一个小程序。然后我在找工作的时候,简历上写了这么一回事,结果进来之后,leader语重心长的对我说,公司的小程序商城就教给你了,重点是公司没有一个人会微信小程序。WTF,不是招我进来写VUE的吗?

于是就开始了我从零开始写微信小程序商城之路。

微信小程序的官方文档什么的我就不说了,那是肯定要看的。说说我这几天开始写我遇到的问题。希望对将要写小程序的你能有一丝丝帮助,因为本人也很菜。

1、微信小程序之rpx

在微信官方的文档中,我们看到这样一句话:

在 iPhone 6 上,屏幕宽度为 375px,共有 750 个物理像素,则 750rpx = 375px = 750 物理像素,1rpx = 0.5px = 1 物理像素。开发微信小程序时设计师可以用 iPhone 6 作为视觉稿的标准。也就是说,设计师在设计小程序时,可以这样做:

直接以 iPhone 6 的屏幕尺寸(375×667)用作视觉稿尺寸,1 px = 0.5 rpx;

以 1 px = 1 rpx 的标准,将设计稿尺寸设定为 750×1334。

其实总的来说就是,你跟UI小姐姐说一声,然后就可以很爽的写样式了。

2、微信小程序之容器视图

view  其实就是div,嘿嘿嘿就是这么简单粗暴的解释。

scroll-view  可滚动视图区域。 这个需要注意的是,横向滚动的视图区域。重要的是这两个行内样式,其他的官方文档也说的比较清楚。


3、微信小程序之UI框架

这个,很有意思,当我写完一个我觉得很有灵性的选项卡的时候,以前哥们告我微信小程序有个框架你看看去。。。



不BB,直接上地址

https://github.com/Tencent/weui-wxss

先写到这里,周六加班的午休时间,冒着被同时打死的危险写的,如果有什么写的不好的地方,请大家多多包涵,我也还会分享我遇到的问题。

最近又看到有赞的微信小程序UI还是老规矩直接上地址:

youzan/zanui-weapp

4、微信小程序之switchTab

页面跳转大家官网上看的navigator用法你套着用就可以了,今天分享一下我在小程序中遇到的页面跳转的问题。我写的是一个电商商城小程序,跳转到详情页之后有两个点击跳转的icon如图:

聪明的你肯定猜出来这两个icon是跳转到哪的,肯定也是bindtap,然后wx.navigator就搞定了。两个简单的页面跳转嘛,然后居然就是这两个问题卡了我一个多小时,后来还是在微信群里问大佬们才解决的,因为自己看文档不仔细,跳转的这两个页面是微信官方底部tab的路径如图:

问题是出在官方的tabbar中你用了这几个路径如图:

然后解决方法为:

handleGoIndex() {

wx.switchTab({

url: '/pages/index/index'

})

},

handleGoCart() {

wx.switchTab({

url: '/pages/cart/index'

})

}

5、微信小程序之禁止页面下拉

有的时候你会遇到不让页面下拉,如果你以为我说的是下拉刷新的api的话那就图样了。就是不让你下滑的时候出来那个白条。直接上代码了:

stopDrag(){

return false;

},

但是这个慎用,我也想在这里如果有大神能指点指点就最好了,这个的效果是可视区域全部静止滑动... 拼多多的小程序首页就是不会出现那个下拉的白条,但能上滑看商品信息,求教~

6、微信小程序之页面深度

在测试自己的项目的时候,发现明明逻辑没问题,语法也没问题。突然想起来小程序的页面栈是五个,于是特别中二的数了一下自己的页面跳转哈哈... 才发现当时自己的理解是错误的,刚开始不细心看文档,我以为这五个页面是超过五个会把新的加进页面栈,第一个打开的销毁。我就无脑用wx.navigateTo,遇到这个问题后用了 wx.redirectTo就解决了。但是谁让我好学呢,于是发现一个大神写的特别完美的理解小程序页面跳转的原理。

依然是嘿嘿:小程序基础篇之页面路由-微信小程序俱乐部 www.wxappclub.com

7、微信小程序之上拉加载

我现在公司的项目做的是电商的小程序,下拉刷新,官网写的很明确不能与scroll-view同时使用。我是在脑子瓦特的情况下,onReachBottom 和 scroll-view的bindscrolltolower 都用了。经过我的实践,推荐大家用 onReachBottom。如果是一些tab里面也有下拉刷新,这个就很方便直接上代码:


这段代码主要就是判断tab的状态来延时请求接口。实现效果如下图:

这就是我用上拉加载的实践,希望有大神能提出更好的建议。

8、微信小程序之数据交互

说到这里顺便把我的一些关于数据交互的一些经验分享一下


把微信请求封装起来


还有项目里面要用到的接口如下

把接口暴露出去在其他页面调用

希望有大神能帮忙一下小程序的组件化最佳实践~

9、微信小程序之Android请求失败的坑

我当时遇到的情况是,在模拟器和IOS环境下请求数据都是没有任何问题的,在测试android环境时发现请求失败如下图

这个错还让我跟运维的大哥撕了半天哈哈, 首先出现这个错,兄弟这个锅完完全全就能甩给运维的大哥,不留任何余地。 然后可以帮大哥提供一写资料,一步步排查,先查你项目绑定域名:

1、https证书问题 :ssl证书配置需要使用pem,不使用crt, ,

2、服务器端的版本信息:TLS版本的问题,该问题在微信小程序官方文档中已经提及到,服务器TLS版本必须支持 1.2 (启用1.2,禁用1.1和1.0等低版本),

3、前两种方法是在查阅资料有人说是可解决的,但是对于我们公司最后在排查前两项之后,运维大哥用Nginx转发了之后,解决了安卓请求失败的问题。希望可以帮到大家吧~

一步步记录自己的踩坑历程~我要做到我技术不是最好的,但我给你总结的小程序的东西是最简单粗暴的哈哈哈

10、微信小程序之地址三级联动

说道这个问题,现给大家贴一个地址,非常感谢大神的开源:http://blog.csdn.net/sinat_17775997/article/details/54573560

大家可以看到代码之后,先理清你要处理的后端数据和存地址的要求等等,我遇到的问题是

后端给我的数据里面有每一个地址对应的ID,比如北京:2 北京:50 东城区:500

处理这个数据的时候,我根据原来大神的代码做了一些修改,


list里面是有 收货人,电话,等等信息  但是我只操作改变数组里面地址改变的信息,


布局方面需要做一些修改的地方就是



我贴了这么多图,是因为我真不会说了,调这个页面调了两天。只能提供个大概方向,还是得一步步处理数据,goodluck~

推广一下自己的小程序,如果你也喜欢锻炼的话在这里寻找你的小伙伴吧。还有告诉大家一个微信小程序的框架,有vue开发经验的小伙伴很容易上手:https://github.com/wepyjs/wepy

公众号入口,关注其实不太胖,点击汇锻炼即可。一只喜欢锻炼的程序猿,嘿嘿。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,466评论 25 708
  • 给提问的开发者的建议:提问之前先查询 文档、通过社区右上角搜索搜索已经存在的问题。 写一个简明扼要的标题,并且...
    极乐叔阅读 13,777评论 0 3
  • It was beautiful, historical, artistically subtle in a wa...
    孔李聃丘阅读 160评论 0 0
  • 1.无所遁形 邵甜的婚礼布置的十分奢侈。绵延百米的红毯那一端是一个巨大的拱形门,满满的花朵和气球,据说有9999朵...
    商锦维阅读 1,844评论 1 13