微信小程序爬坑
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.在 ...
随机推荐
- 一篇不一样的docker原理解析
转自:https://zhuanlan.zhihu.com/p/22382728 https://zhuanlan.zhihu.com/p/22403015 在学习docker的过程中,我发现目前do ...
- SQLServer事务在C#当中的应用
1:事务是什么 事务指的是一系列SQL操作的逻辑工作单元,,要么完全地执行,要么完全地不执行. 一个逻辑工作单元必须有4个属性,原子性(Atomic).一致性(Consistent).隔离型(Isol ...
- 包、继承以及 LeetCode 27、28题
1 package.import 和 import static 1.1 Package Java 引入了包(Package)机制,提供了类的多层命名空间,用于解决类的命名冲突.类文件管理问题.Jav ...
- Web 性能优化:Preload与Prefetch的使用及在 Chrome 中的优先级
摘要: 理解Preload与Prefetch. 原文:Web 性能优化:Preload,Prefetch的使用及在 Chrome 中的优先级 作者:前端小智 Fundebug经授权转载,版权归原作者所 ...
- java工作流引擎Jflow父子流程demo
关键字 驰骋工作流引擎 流程快速开发平台 workflow ccflow jflow .net开源工作流 定义 一个流程A的一个节点,因工作的需要调起另外的流程B,A就叫父流程,B就叫子流程.如果流 ...
- Unity 协同程序
定义协同程序: IEnumerator test() { Debug.log("test 1"); yeild return WaitForSecond(3.0f); Debug. ...
- 使用pyton在本地指定目录模拟服务器
1.cd 到指定目录 2.运行命令 python 3之前 python -m SimpleHTTPServer & python 3+ python -m http.server & ...
- 分布式系统CAP理论
在单机的数据库系统之中,我们很容易实现一套满足ACID 特性的 事务处理系统, 事务的一致性不存在问题. 但是在分布式系统之中,由于数据分布在不同的主机结点上,如何对着些数据进行分布式的事务处理就具有 ...
- js坚持不懈之16:使用js向HTML元素分配事件
向 button 元素分配 onclick 事件: <!DOCTYPE html> <html> <body> <p>点击按钮就可以执行 <em& ...
- Django入门之路
Web框架开发-Django基础之web应用,Http协议 web框架开发-web框架简介,wsgiref模块,DIY一个web框架 web框架开发-Django简介 web框架开发-静态文件配置 w ...