热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

小程序爬坑

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

(遇到的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差不多。虽然短期内很多人都唱衰微信小程序,但是我感觉还是很有前途的。估计用不了多久许多小体量的公司,和线下商户就活跃起来了。


推荐阅读
  • 图像因存在错误而无法显示 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • 工作经验谈之-让百度地图API调用数据库内容 及详解
    这段时间,所在项目中要用到的一个模块,就是让数据库中的内容在百度地图上展现出来,如经纬度。主要实现以下几点功能:1.读取数据库中的经纬度值在百度上标注出来。2.点击标注弹出对应信息。3 ... [详细]
  • 校园表白墙微信小程序,校园小情书、告白墙、论坛,大学表白墙搭建教程
    小程序的名字必须和你微信注册的名称一模一样在后台注册好小程序。mp.wx-union.cn后台域名https。mp.wx-union.cn ... [详细]
  • 【Python 爬虫】破解按照顺序点击验证码(非自动化浏览器)
    #请求到验证码base64编码json_img_datajson_raw.get(Vimage)#获取到验证码编码 #保存验证码图片到本地defbase64_to_img(bstr ... [详细]
  • 加密、解密、揭秘
    谈PHP中信息加密技术同样是一道面试答错的问题,面试官问我非对称加密算法中有哪些经典的算法?当时我愣了一下,因为我把非对称加密与单项散列加 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Android JSON基础,音视频开发进阶指南目录
    Array里面的对象数据是有序的,json字符串最外层是方括号的,方括号:[]解析jsonArray代码try{json字符串最外层是 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
  • React项目中运用React技巧解决实际问题的总结
    本文总结了在React项目中如何运用React技巧解决一些实际问题,包括取消请求和页面卸载的关联,利用useEffect和AbortController等技术实现请求的取消。文章中的代码是简化后的例子,但思想是相通的。 ... [详细]
  • 如何查询zone下的表的信息
    本文介绍了如何通过TcaplusDB知识库查询zone下的表的信息。包括请求地址、GET请求参数说明、返回参数说明等内容。通过curl方法发起请求,并提供了请求示例。 ... [详细]
author-avatar
mobiledu2502924121
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有