微信小程序爬坑
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.在 ...
随机推荐
- 学习ASP.NET Core Razor 编程系列十七——分组
学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...
- ASP.NET Core 2.1的配置、AOP、缓存、部署、ORM、进程守护、Nginx、Polly【源码】
ps:废话不多说.直接上代码:源码地址:https://github.com/786744873/Asp.Net-Core-2.1-All-Demos/tree/master/src Configur ...
- 补习系列(1)-springboot项目基础搭建课
目录 前言 一.基础结构 二.添加代码 三.应用配置 四.日志配置 五.打包部署 小结 前言 springboot 最近火的不行,目前几乎已经是 spring 家族最耀眼的项目了.抛开微服务.技术社区 ...
- ubuntu:xxx is not in the sudoers file. 问题解决
ubuntu 下普通用户用 sudo 执行命令时报 "xxx is not in the sudoers file.This incident will be reported" ...
- 变量类型、构造器、封装以及 LeetCode 每日一题
1.成员变量和局部变量 1.1成员变量和局部变量定义 成员变量指的是类里面定义的变量(field),局部变量指的是在方法里定义的变量. 成员变量无须显示初始化,系统会自动在准备阶段或创建该类的实例时进 ...
- 第三次上机,ADO接口的使用
<html> <head> <title>Reg</title> </head> <body><center> &l ...
- 第八课 表格 html5学习3
表格用来处理表格式数据的,不是用来布局的. 一.基本语法格式 <table> <tr> 行标签 <td></td> 单元格标签 </tr> ...
- 【esri-loader】帮助文档翻译 part2 用法
esri-loader怎么用?看完不要太清楚. [未完待续]!!! Q1: 在哪里用? 这是我最疑惑的问题之一,我知道要用esri-loader,肯定是某条js导入语句起作用的,但是你得告诉我写在哪里 ...
- Android编程示例:创建机场计划模拟器应用程序
在本文中,我们将演示如何使用Android Studio和Java编程语言创建一个示例Android应用程序,从“临时”实现高级响应用户界面的功能.本文中讨论的应用程序将实现机场航班时刻表模拟的功能. ...
- 阿里云服务器部署Java Web项目全过程
最近需要将一个Java Web项目部署到服务器上,方便多人共享访问.这也是我第一次接触服务器之类的东西,也花了一点时间,最终总算部署成功,写下一篇文章记录以便日后回顾. 购买服务器 第一步当然是需要购 ...