欢迎使用CSDN-markdown编辑器

小程序爬坑

(遇到的9个耗费时间比较长的坑及解决方案,记录一下,很多内容都是在这个论坛上找到的答案 http://www.wxapp-union.com

1.background-image:可以使用网络图片和base64图片但是不可以是本地图片

2、微信小程序无法识别json格式,一眼看上去json数据没问题还没有问题 (各种转格式,就是不行)
后来参考了这篇文章解决:http://qidai.blog.51cto.com/6435621/1887272

居然是下载的文件所致,很神奇的原因

3.小程序微信登录无法返回数据中无unionid(文档中明明就说有啊,我擦,怀疑人生了。。。)

文档截图
原因是必须去微信开放平台绑定小程序(没有单独的入口,在微信公众平台处输入)后就会有了。
这里写图片描述

4.页面传值 (数组和对象都要转一下格式才能传递)

(1)传递基本数据类型

Page({
data: {
testStr: ‘xiaochengxu’
},
next: function(e){
wx.navigateTo({
url: ‘/test/test?str=’+this.data.testStr
})
}
})

Page({
onLoad:function(options){
console.log(“接收到的参数是str=”+options.str);
}
})
打印内容:接收到的参数是str=xiaochengxu

(2)传递对象

Page({
data: {
testData:{name:’username’, password:’password’}
},
next: function(e){
wx.navigateTo({
url: ‘/test/test?testData=’+JSON.stringify(this.data.testData)
})
}
})
Page({
data:{
testData:null
},
onLoad:function(options){
console.log(“接收到的参数是testData=”+options.testData);
this.data.testData = JSON.parse(options.testData);
}})
打印内容:

接收到的参数是testData={“name”:”username”,”password”:”password”}

(3)传递数组集合

Page({
data: {
list:[‘item-A’,’item-B’]
},
next: function(e){
wx.navigateTo({
url: ‘/test/test?list=’+JSON.stringify(this.data.list),
})
}
})
Page({
data:{
list:[]
},
onLoad:function(options){
console.log(“接收到的参数是list=”+options.list);
this.data.list = JSON.parse(options.list);
}})
打印内容:接收到的参数是list=[“item-A”,”item-B”]

统一处理:

var dealParam = function(data) {

for(var i in data) {

    if (typeof data[i] == ‘string’){

        console.log(“key=”+i+“; value=”+data[i]);

    } else if (typeof data[i] == ‘object’) {

        dealParam(data[i]);

    }

}

}

5.宽高百分比无效 建议使用vm 和vh做

6.POST请求 这是个大坑(文档看起来超简单,我各种找后端同学调试都不行,后端同学都恼了。。然后去百度了一下,才知道这个坑啊。。。。。抱头痛哭)

这里写图片描述
post强求必须遵循下面的规则
(1) ‘Content-Type’: ‘application/json’用在get请求中没问题.
POST请求就不好使了.需要改成: “Content-Type”: “application/x-www-form-urlencoded”
(2) 加上method: “POST”;
(3)data: { cityname: “上海”, key: “14e11ba70” }写成json格式这样也是请求不到数据的.需要转格式.方法入下
function json2Form(json) {
var str = [];
for(var p in json){
str.push(encodeURIComponent(p) + “=” + encodeURIComponent(json[p]));
}
return str.join(“&”);
}

7.必须用Https的接口 还要去微信后台配置一下合法域名

(1)域名必须后台设置

这里写图片描述

(2)必须使用HTTPS
(3)配置域名可以同时配置多个域名,使用+号即可
(4)最多配置十五个
(5)一个月最多修改五次,请谨慎修改

8.多个input 设置auto_focus会导致安卓设备崩溃,只设置一个或者不设置解决问题

9.登录授权如果用户拒绝了,我们就无法再掉用微信登陆了,只能原生登陆和微信登录两手抓吧,或者在小程序wx.getuserInfo之前弹框提示用户一定要允许获取权限。再请求wx. wx.getuserInfo

作为一个IOS开发工程师小程序从开发到上线我只用了2个周。开发简单,体验跟app差不多。虽然短期内很多人都唱衰微信小程序,但是我感觉还是很有前途的。估计用不了多久许多小体量的公司,和线下商户就活跃起来了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值