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({})
}
}
})
}
})
}
}
})
}
});
}
}
})
}
})

以上就是我在初学小程序时所走的坑吧,分享给各位,希望对大家有所帮助

微信小程序爬坑的更多相关文章

  1. 微信小程序爬坑日记

    新公司上手小程序.30天,从入门到现在,还没放弃... 虽然小程序发布出来快一年了,爬坑的兄弟们大多把坑都踩平了.而我一直停留在"Hello World"的学习阶段.一来没项目,只 ...

  2. 微信小程序爬坑记

    1.this.setData修改数组里的值1).data: { hide:[true,true] },this.setData({ 'hide[0]': false});2).var str = &q ...

  3. 微信小程序踩坑集合

    1:官方工具:https://mp.weixin.qq.com/debug/w ... tml?t=1476434678461 2:简易教程:https://mp.weixin.qq.com/debu ...

  4. 两百条微信小程序跳坑指南(不定时更新)

    微信小程序联盟出品 跳坑textarea<二百二十三>不显示文本及textarea相关问题集合跳坑<二百一十三> background-image无法获取本地资源图片....跳 ...

  5. 微信小程序入坑之自定义组件

    前言 最近接触微信小程序,再次之前公司用的前端框架是vue ,然后对比发现,开发小程序是各种限制,对于开发者非常不友好.各种槽点太多,完全吐槽不过来,所以在此不多说,打算下次专门写一篇文章吐槽一下.本 ...

  6. 使用wepy框架搭建微信小程序采坑记(一)

    1.什么是wepy 这个框架是腾讯内部出的一个类MVVM的小程序开发框架.大体上来说语法是类VUE的,所以如果有VUE开发经验的话迁移成本会低一些.至于具体的怎么使用我就不赘言了,有问题查文档(官方文 ...

  7. 微信小程序遇坑笔记

    最近做了一个简单的微信小程序,遇到了一些坑: 1.appid固定,但是appsecret是可以变的,而且没有地方查看,后台以查看就是变更了,所以这个地方在开发的时候需要保存好: 2.打开网页,这个网页 ...

  8. 微信小程序的坑(持续更新中)

    参与微信小程序开发有一段时间了,先后完成信息查询类和交易类的两个不同性质的小程序产品的开发:期间遇到各种各样的小程序开发的坑,有的是小程序基础功能不断改进完善而需要业务持续的适配,有的是小程序使用上的 ...

  9. 微信小程序踩坑之前端问题处理篇

    近期完成了一个小程序,自己做的前后端开发.真是惨哭我了o(╥﹏╥)o,下面几点希望大家可以避雷. 首先,想先介绍一下我遇到问题的解决思路: 1.先在postman调试接口,看数据获取是否正常, 2.在 ...

随机推荐

  1. SublimeText 修改文件扩展名的默认语法高亮

    平时经常使用sublime text3编辑matlab程序,但是sublime text使用的默认语法高亮是Object C,用起来很不方便,每次都需要在Sublime Text右下角手动点一下语法高 ...

  2. 利用Bootstrap Paginator插件和KnockoutJS完成分页功能

    在最近一个项目中,需要结合一堆条件查询并对查询的结果数据完成一个简单分页功能,可是做着做着,自己的思路越来越模糊,做到心态崩溃!!! 哈哈,特此花点时间重新总结,并从最简单的分页,然后向多条件查询分页 ...

  3. Spring Cloud番外篇-001

    熔断监控:Hystrix Dashboard Hystrix Dashboard是一款针对Hystrix进行实时监控的工具,通过Hystrix Dashboard可以直观地看到个Hystrix Com ...

  4. Asp.Net Core 轻松学-HttpClient的演进和避坑

    前言     在 Asp.Net Core 1.0 时代,由于设计上的问题, HttpClient 给开发者带来了无尽的困扰,用 Asp.Net Core 开发团队的话来说就是:我们注意到,HttpC ...

  5. SLAM+语音机器人DIY系列:(二)ROS入门——4.如何编写ROS的第一个程序hello_world

    摘要 ROS机器人操作系统在机器人应用领域很流行,依托代码开源和模块间协作等特性,给机器人开发者带来了很大的方便.我们的机器人“miiboo”中的大部分程序也采用ROS进行开发,所以本文就重点对ROS ...

  6. SLAM+语音机器人DIY系列:(八)高阶拓展——1.miiboo机器人安卓手机APP开发

    android要与ROS通讯,一种是基于rosbridge,另一种是基于rosjava库. 相关参考例子工程 rosbridge例子: https://github.com/hibernate2011 ...

  7. C#列表页面

    前台页面: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Index.aspx ...

  8. Java异常实战——OutOfMemoryError

    在Java虚拟机规范描述中,除了程序计数器外,虚拟机内存的其他几个运行区域都有发生 OOM 异常的可能.在这里,用代码验证各个运行时区域存储的内容并讨论该如何进行处理 Java堆溢出 Java 堆用于 ...

  9. 【译】.NET 跨平台界面框架和为什么你首先要考虑再三

    现在用 C# 来开发跨平台应用已经有很成熟的方案,即共用非界面代码,而每个操作系统搭配特定的用户界面代码.这个方案的好处是可以直接使用操作系统原生的控件和第三方控件,还能够和操作系统深度集成. 这里的 ...

  10. 学习笔记—JVM

    JVM结构 JVM总体结构图 类加载子系统与方法区: 类加载子系统负责从文件系统和网络中加载Class信息,加载的类信息存放于一块称为方法区的内存空间. 除了类信息外,方法区中还可能会存放运行时常量池 ...