微信小程序爬坑
1、app.json配置信息是怎样的?
{
"pages":[
"pages/页面1/页面1",
"pages/页面2/页面2",
],
"window":{
"backgroundTextStyle":"light",//文本背景样式
"navigationBarBackgroundColor": "White",//导航背景颜色
"navigationBarTitleText": "WeChat",//导航背景标题
"navigationBarTextStyle":"black",//导航背景文本样式
"enablePullDownRefresh": true//是否开启下拉刷新
},
"tabBar": {//底部菜单栏最多5个
"color": "#000",
"selectedColor": "#000000",
"backgroundColor": "#efefef",
"borderStyle": "White",
"list": [{
"pagePath": "pages/shopping/shopping",
"iconPath": "images/scshop_i.png",
"selectedIconPath": "images/scshop.png",
"text": "商城"
},{
"pagePath": "pages/shopcar/shopcar",
"iconPath": "images/shopca.png",
"selectedIconPath": "images/shopcar.png",
"text": "购物车"
},{
"pagePath": "pages/index/index",
"iconPath": "images/latest.png",
"selectedIconPath": "images/latest_on.png",
"text": "我的"
}]
},
"networkTimeout": {//网络请求时间
"request": 20000,
"connectSocket": 20000,
"uploadFile": 20000,
"downloadFile": 20000
},
"debug":true
}
2、如何获取用户的身份信息?
var appUserinfo;
var openid = '';
var sessionkey = '';
var encryptedData = '';
var iv = '';
App({
//用户登录
getUserInfo: function (callback) {
//调用登录接口
var retuser = {};
var that = this;
wx.showLoading({ title: "加载中..." });
wx.login({
success: function (res) {
var code = res.code;
if (code) {
//读取会员信息
wx.request({
url: "https"+aspx,// 通过获取code来换取session_key
data: {
code: code,
},
success: function (res) {//res返回值获得session_key&openid
console.log(res)
var retdata = res.data.data;
openid = retdata.openid,
sessionkey = retdata.session_key;
//设置微信用户信息
wx.getUserInfo({
success: function (res) {
encryptedData = res.encryptedData;
iv = res.iv;
appUserinfo = res.userInfo
wx.request({
url: "https"+aspx,//通过session_key来换取公众号信息
data: {
openid:openid,
unionid:encryptedData,//解析unionid(md5加密&解密获得)
sessionkey:sessionkey,
iv:iv,
appid: 'wx758e9825590dc405'
},
dataType: "json",
success: function (ret) {
wx.hideLoading();
var retdata = ret.data;
for (var key in retdata) {
retuser[key] = retdata[key];
}
retuser.littleid = retuser.uid;//换取公众平台用户的id信息
retuser.openid=openid;
callback && callback(retuser);
}
});
},
fail: function (res) {
var that = this
console.log(res)
/*
wx.redirectTo({
url: '/pages/error/error?error=请同意获得微信用户信息'
})
*/if(res){//res返回值来检查用户授权信息&重新授权
wx.showModal({
title: '警告',
content: '若不授权微信登陆,您将无法使用商城部分功能,点击重新获取授权',
success: function () {
wx.openSetting({
success: function (res) {
if (!res.authSetting["scope.userInfo"] || !res.authSetting["scope.userLocation"]) {
wx.getUserInfo({})
}
}
})
}
})
}
}
})
}
});
}
}
})
}
})
以上就是我在初学小程序时所走的坑吧,分享给各位,希望对大家有所帮助
微信小程序爬坑的更多相关文章
- 微信小程序爬坑日记
新公司上手小程序.30天,从入门到现在,还没放弃... 虽然小程序发布出来快一年了,爬坑的兄弟们大多把坑都踩平了.而我一直停留在"Hello World"的学习阶段.一来没项目,只 ...
- 微信小程序爬坑记
1.this.setData修改数组里的值1).data: { hide:[true,true] },this.setData({ 'hide[0]': false});2).var str = &q ...
- 微信小程序踩坑集合
1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=1476434678461 2:简易教程:https://mp.weixin.qq.com/debu ...
- 两百条微信小程序跳坑指南(不定时更新)
微信小程序联盟出品 跳坑textarea<二百二十三>不显示文本及textarea相关问题集合跳坑<二百一十三> background-image无法获取本地资源图片....跳 ...
- 微信小程序入坑之自定义组件
前言 最近接触微信小程序,再次之前公司用的前端框架是vue ,然后对比发现,开发小程序是各种限制,对于开发者非常不友好.各种槽点太多,完全吐槽不过来,所以在此不多说,打算下次专门写一篇文章吐槽一下.本 ...
- 使用wepy框架搭建微信小程序采坑记(一)
1.什么是wepy 这个框架是腾讯内部出的一个类MVVM的小程序开发框架.大体上来说语法是类VUE的,所以如果有VUE开发经验的话迁移成本会低一些.至于具体的怎么使用我就不赘言了,有问题查文档(官方文 ...
- 微信小程序遇坑笔记
最近做了一个简单的微信小程序,遇到了一些坑: 1.appid固定,但是appsecret是可以变的,而且没有地方查看,后台以查看就是变更了,所以这个地方在开发的时候需要保存好: 2.打开网页,这个网页 ...
- 微信小程序的坑(持续更新中)
参与微信小程序开发有一段时间了,先后完成信息查询类和交易类的两个不同性质的小程序产品的开发:期间遇到各种各样的小程序开发的坑,有的是小程序基础功能不断改进完善而需要业务持续的适配,有的是小程序使用上的 ...
- 微信小程序踩坑之前端问题处理篇
近期完成了一个小程序,自己做的前后端开发.真是惨哭我了o(╥﹏╥)o,下面几点希望大家可以避雷. 首先,想先介绍一下我遇到问题的解决思路: 1.先在postman调试接口,看数据获取是否正常, 2.在 ...
随机推荐
- 分析 js构造函数:对象方法 、类方法 、原型方法
构造函数方法有对象方法.类方法.原型方法,这些方法在什么时候可以调用,什么时候不能调用,为什么? function Func(name){ this.name=name; this.ff=functi ...
- SmartCode 正式开源,不只是代码生成器!
SmartCode(https://github.com/Ahoo-Wang/SmartCode) SmartCode = IDataSource -> IBuildTask -> IOu ...
- 我的python渗透测试工具箱之自制netcat
此工具的目的是实现在目标主机上的文件传输,控制命令行的功能,主要逻辑依靠python的subprocess模块.`sys`模块和`getopt`模块. 知识准备 studin和studut studi ...
- C#中public、private、protected等关键字说明
public 公有访问.不受任何限制.private 私有访问.只限于本类成员访问,子类,实例都不能访问.protected 保护访问.只限于本类和子类访问,实例不能访问.internal 内部访问. ...
- SpringBoot 2.0 mybatis mapper通用类
<!---mybatis通用类包含mybatis和连接池 mybatis和连接池就不需要引入--> <dependency> <groupId>tk.mybatis ...
- MySQL中SELECT语句简单使用
最近开始复习mysql,查漏补缺吧. 关于mysql 1.MySQL不区分大小写,但是在MySQL 4.1及之前的版本中,数据库名.表名.列名这些标识符默认是区分大小写的:在之后的版本中默认不区分大小 ...
- 阿里云服务器,Sql Server 本地连接服务器端问题记录
1.如果你是阿里云服务器,配置参数都整好了并且排除了防火墙问题(关闭了防火墙),依然没有连接上,那就先考虑这个问题 问题:阿里云服务器的SQLServer不允许远程连接 原因:因为除了服务器上的防火墙 ...
- ASP.NET没有魔法——目录(完结)
ASP.NET没有魔法——开篇-用VS创建一个ASP.NET Web程序 ASP.NET没有魔法——为什么使用ASP.NET ASP.NET没有魔法——第一个ASP.NET应用<MyBlog&g ...
- C语言面试程序阅读整理
一.数组和指针 1.数组和指针的存储 写出下面的输出结果: char str1[] = "abc"; char str2[] = "abc"; const ch ...
- iOS 多线程 NSOperation、NSOperationQueue
1. NSOperation.NSOperationQueue 简介 NSOperation.NSOperationQueue 是苹果提供给我们的一套多线程解决方案.实际上 NSOperation.N ...