微信小程序爬坑
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.在 ...
随机推荐
- Pycharm2018永久破解的办法
Pycharm2018永久破解的具体步骤: 一.下载pycharm2018专业版 JetBrains官网:https://www.jetbrains.com/pycharm/download/#sec ...
- 使用 ASP.NET Core MVC 创建 Web API(四)
使用 ASP.NET Core MVC 创建 Web API 使用 ASP.NET Core MVC 创建 Web API(一) 使用 ASP.NET Core MVC 创建 Web API(二) 使 ...
- leetcode math类型题目解题总结
2. Add Two Numbers https://leetcode.com/problems/add-two-numbers/description/ class Solution { publi ...
- 一次快速改寫 SQL Server 高效查詢的範例
最近線上系統突然出現匯出資料超過 10 筆時,查詢逾時的狀況,在仔細查找之後. 發現了問題原因,透過應用端與數據端兩邊同時調整,將查詢的效率提昇了約數百倍以上 首先,原本應用端的商務邏輯為每一分頁筆數 ...
- 02 入门 - ASP.NET MVC 5 概述
目录索引:<ASP.NET MVC 5 高级编程>学习笔记 本篇内容: 一.One ASP.NET 二.新的Web项目体验 三.ASP.NET Identity 四.Bootstrap 模 ...
- 微信小程序 canvas 绘制圆形状
page({ // 绘制canvas drawCanvas:function(){ const ctx = wx.createCanvasContext('poster') // 画圆形二维码 thi ...
- Python 强制停止多线程运行
强制停止多线程运行 by:授客 QQ:1033553122 #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = 'shouke' ...
- Android为TV端助力 listview与recyclerview上下联动
首先是主布局fragment里面的xml文件 <?xml version="1.0" encoding="utf-8"?><RelativeL ...
- Spark MLlib FPGrowth关联规则算法
一.简介 FPGrowth算法是关联分析算法,它采取如下分治策略:将提供频繁项集的数据库压缩到一棵频繁模式树(FP-tree),但仍保留项集关联信息.在算法中使用了一种称为频繁模式树(Frequent ...
- rabbitmq之简述HAProxy配置集群过程
简介 HAProxy是一款提供高可用性.负载均衡以及基于TCP和HTTP应用的代理软件,HAProxy是完全免费的.借助HAProxy可以快速并且可靠的提供基于TCP和HTTP应用的代理解决方案.HA ...