欢迎来到258分享网,纯净的网络源码分享基地!

258资源分享网

全部作品
全部作品
网站源码
微信源码
素材特效
源码插件
视频教程
建站学院
热门搜索: 织梦  农业种植  农业  安全设置  官方
258资源分享 > 建站学院 > 微信开发 > hss01248:吐槽小程序开发踩过的坑,以及一些解决方法

推荐下载

HTML5响应式自适应网咯设计

2020-05-12   浏览:789

HTML5自适应律师工作室类网

2020-04-04   浏览:654

高端HTML5响应式企业通用网

2020-05-06   浏览:560

html5响应式外贸网站英文版

2020-05-08   浏览:545

HTML5影视传媒文化公司类网

2020-05-12   浏览:543

hss01248:吐槽小程序开发踩过的坑,以及一些解决方法

发布时间:2020-12-12  

要真正解决,只能等官方去fix这个bug了.

发出请求需要注意的几个细节

1.header要设置正确:(为什么header还要我们自己设?很傻逼)

get请求时为

header:{ "content-type":'application/json' },

post请求时为:

header:{ "content-type":'application/x-www-form-urlencoded' },

2.header不要写成head.(我之前就是这里写错了,还一直以为是微信的bug....)
3.content-type要小写.

4.参数的拼接

>get请求时: 参数要自己变成xx=yyy&hhh=uuu的形式,并自己加问号,拼接在路径后面,然后设置给url.不能直接将参数设置给data.微信是不会自动给你装拼的.

post请求时:分两种情况,
如果服务器api需要的是xx=yyy&hhh=uuu形式(key-value)的参数,那么需要自己拼装成这样的一个字符串,然后设置给data
如果服务器需要的是一个json,那么要将携带参数的对象的value进行urlencode后,将整个json设置给data.

hss01248:吐槽小程序开发踩过的坑,以及一些解决方法

参数的拼接:

hss01248:吐槽小程序开发踩过的坑,以及一些解决方法

公测开放后,强制要求请求全部为https

配置服务器的页面,https是写死的,不可更改

如果用了这个列表以外的域名,直接就被开发工具拦截,请求无法发出去,提示请求不在域名列表中.

解决办法:服务器相关api升级ssl

可以用这个免费的:Let's Encrypt

图片 没有设置初始图的api,也没有图片缓存,于是,网络不好时,情况是这样的:

hss01248:吐槽小程序开发踩过的坑,以及一些解决方法

没有设置图片加载失败后统一的处理,必须每个image标签都写处理方式

下面两张图片加载失败,于是一片空白.充分感受到api设计人员的业余.

hss01248:吐槽小程序开发踩过的坑,以及一些解决方法

view标签不识别'/n'换行符,text组件可以.但是text组件会不响应margin和padding值. dialog(modal)的content无法解析换行符:

hss01248:吐槽小程序开发踩过的坑,以及一些解决方法

hss01248:吐槽小程序开发踩过的坑,以及一些解决方法

对话框样式太少,可修改的样式太少

看看手机端的常见对话框常用样式有哪些吧

DialogUtil

要弹出其他样式,自定义样式的,怎么办?自己写css吧.拿这个去改改:

.dialogcover { position: fixed; font-family: Arial, Helvetica, sans-serif; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); z-index: 9999; } .dialogcover:target { opacity:1; pointer-events: auto; } .dialogcontainer { width: 80%; position: fixed; margin-left: 5%; margin-right: 5%; margin-top: 40%; padding: 5px 20px 13px 20px; border-radius: 10px; background: #ffffff; z-index: 99999; opacity:1; } toast有成功和loading状态,竟然没有失败状态,are you OK?更奇葩的是,它的宽度居然是写死的,字一多就丑得要死

不管有没有,我们自己直接拿成功的toast包装好showFailToast()方法,,到处用着先.
最后如果官方真不提供,自己用css写一个!

hss01248:吐槽小程序开发踩过的坑,以及一些解决方法

点击事件被上层view消费,还会传递到下层

点击了去支付后,不仅会跳到支付页面,还会调用后面整个item的点击事件,跳到订单详情页

注: 评论区提出来了,这个是因为我用bindtap来响应事件时,事件还会一层层往下传,用catchtap就不会了.

事件分为冒泡事件和非冒泡事件:

冒泡事件:当一个组件上的事件被触发后,该事件会向父节点传递

非冒泡事件:当一个组件上的事件被触发后,该事件不会向父节点传递。

bind事件绑定不会阻止冒泡事件向上冒泡,catch事件绑定可以阻止冒泡事件向上冒泡。

hss01248:吐槽小程序开发踩过的坑,以及一些解决方法

navigateTo无法封装到另一个js方法中,只能直接写,而且失败还不走失败的回调


hss01248:吐槽小程序开发踩过的坑,以及一些解决方法

hss01248:吐槽小程序开发踩过的坑,以及一些解决方法

解决办法: 尽量用navigator标签吧.

block的item不能讲iteminfo整个obj传回来,只能传基本数据类型


拿到的是: