微信小程序爬坑
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.在 ...
随机推荐
- BaiduSpeechDemo【百度语音SDK集成】(基于v3.0.7.3)
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 本Demo将百度语音SDK(其中一部分功能)和自定义的UI对话框封装到一个module中,便于后续的SDK版本更新以及调用. 本De ...
- 【一套代码小程序&Native&Web阶段总结篇】可以这样阅读Vue源码
前言 前面我们对微信小程序进行了研究:[微信小程序项目实践总结]30分钟从陌生到熟悉 在实际代码过程中我们发现,我们可能又要做H5站又要做小程序同时还要做个APP,这里会造成很大的资源浪费,如果设定一 ...
- 机器学习之决策树三-CART原理与代码实现
决策树系列三—CART原理与代码实现 本文系作者原创,转载请注明出处:https://www.cnblogs.com/further-further-further/p/9482885.html ID ...
- [SpringBoot guides系列翻译]调度任务
原文 调度任务 用spring实现一个任务调度. 你将做的 你将做一个应用每5秒钟打印当前时间,用@Scheduled注解. 你需要啥 15分钟 文本编辑器或者IDE JDK1.8+ Gradle4+ ...
- sql 脚本编写之路 常用语句(一) 1.用一个表中的某一列更新另外一个表的某些列:
for ACCESS 数据库: update a, b set a.name=b.name1 where a.id=b.id for SQL Server 数据库: update a set a.na ...
- 分布式缓存Hazelcast案例一
分布式缓存Hazelcast案例一 Hazelcast IMDG Architecture 今天先到这儿,希望对您技术领导力, 企业管理,物联网, 系统架构设计与评估,团队管理, 项目管理, 产品管 ...
- 分布式系统唯一ID的生成方案讨论
在分布式系统下唯一id问题,就是id咋生成?比如分表分库,因为要是一个表分成多个表之后,每个表的id都是从1开始累加自增长,那是不对的.举个例子,一个表拆分为了2张表,每个表的id都从1开始累加,这个 ...
- ajax验证用户名是否存在
jsp页面 <head> <script type="text/javascript" src="js/register.js">< ...
- select设置text的值选中(兼容ios和Android)基于jquery
前一段时间改了一个bug,是因为select引起的.当时我没有仔细看,只是把bug改完了就完事了,今天来总结一下. 首先说option中我们通常会设置value的属性的,还有就是text值的,请参见下 ...
- DataTable克隆行
DataRow Adr = ds.Tables[].NewRow(); Adr.ItemArray = (].Rows[].ItemArray.Clone(); ds.Tables[].Rows.Ad ...