微信小程序~wx.getUserInfo逐渐废弃,小程序登录过程将如何优化?
很多的时候我们在做小程序应用的时候,希望用户在使用小程序前进行登录授权,之前登录后通过wx.getUserInfo直接弹出授权的登录方式官方的意思是将不再支持,而是让用户通过下面的方式授权用户信息
const ajax = require("../../common/ajax.js")
const tips = require("../../common/tips.js")
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
let that = this;
},
getUserInfoAction(res){
let that = this;
const encryptedData = res.detail.encryptedData;
const iv = res.detail.iv;
if (encryptedData && iv){
// console.log("允许")
that.login().then((login)=>{
const params = {
"code": login.code,
"encryptedData": encryptedData,
"iv": iv,
"type": "small_wechat"
}
ajax.posts(params, "api/passport/thirdSign").then((res) => {
let userinfo = {
avatar: res.data.data.avatar,
nickname: res.data.data.nickname,
token: res.data.data.token,
user_id: res.data.data.user_id
}
wx.setStorageSync("userinfo", userinfo);
// console.log(wx.getStorageSync("userinfo"));
if (wx.getStorageSync("userinfo")){
wx.redirectTo({
url: '/page/index/index'
})
}
}).catch((errMsg) => {
tips.showToast("网络连接失败", "none")
console.log(errMsg)
})
}).catch((errMsg) => {
console.log("登录:" + errMsg)
})
}else{
// console.log("拒绝")
tips.showToast("请授权公开信息,登录小程序", "none")
}
},
login(){
// 登录
let promise = new Promise((resolve, reject) => {
wx.login({
success: function (res) {
if (res.code) {
resolve(res)
} else {
tips.showToast("登录失败", "none")
}
},
fail: function (err) {
reject(err)
}
})
})
return promise;
}
})
index.js
const tips = require("../../common/tips.js")
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
let that = this;
if (!wx.getStorageSync("userinfo")) {
//是否登录
that.isloginindex()
}
},
isloginindex() {
//是否进入首页
if (wx.getStorageSync("userinfo")) {
console.log("登录")
} else {
//无信息
console.log("否登录")
wx.redirectTo({
url: '/page/login/login'
})
}
}
})
微信小程序~wx.getUserInfo逐渐废弃,小程序登录过程将如何优化?的更多相关文章
- ***小程序wx.getUserInfo不能弹出授权窗口后的解决方案
微信更新api后,wx.getUserInfo在开发和体验版本都不能弹出授权窗口.微信文档说明: 注意:此接口有调整,使用该接口将不再出现授权弹窗,请使用 <button open-type=& ...
- 小程序wx.getUserInfo获取用户信息方案介绍
问题模块 框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本 API和组件 - - - - 背景 小程序一个比较重要的能力就是获取用户信息,也就是使用 wx.g ...
- .NET 小程序 wx.getUserInfo(OBJECT) 解密 encryptedData 来获取UnionId
在小程序中通过 wx.getUserInfo 获取用户信息,而UnionId 只有关主了公众号才会返回,不关注公众号想获取UnionId则需要我们从返回的 encryptedData 中解码从而获取U ...
- 微信小程序 wx.getUserInfo 解密 C# 代码
花了6小时,弄出来的代码.网上的是PHP代码 public static string DecodeUserInfo(string raw, string signature,string encry ...
- 微信小程序 wx.getUserInfo 解密 C# 代码 - 转
public static string DecodeUserInfo(string raw, string signature,string encryptedData, string iv) { ...
- 获取 wx.getUserInfo 接口后续将不再出现授权弹窗,请注意升级(微信小程序开发)
微信小程序开发时,Console 提示:获取 wx.getUserInfo 接口后续将不再出现授权弹窗,请注意升级 错误原因: 直接调用这个方法依旧可以获取用户信息, 但是如果你之前没有点击过那个授权 ...
- [重要更新]微信小程序登录、用户信息相关接口调整:使用 wx.getUserProfile 取代 wx.getUserInfo
2021年2月24日,微信官方团队发布了一个调整通知:<小程序登录.用户信息相关接口调整说明>,公告明确从4月13日起,所有发布的小程序将无法使用 wx.getUserInfo 接口(JS ...
- 微信小程序之 wx.getUserInfo引导用户授权问题
首先,在page外定义一个函数用户判断是否为空对象 var isEmptyObject = function (e) { var temp; for (temp in e) ; } 然后,在page中 ...
- 微信小程序之用户信息授权 wx.getUserInfo
用户授权 <button open-type="getUserInfo" bindgetuserinfo='getUser'>授权用户信息</button> ...
随机推荐
- #define宏定义中## #@ # \ 符号使用
C/C++ 宏命令的神奇用法. 先看下面三条语句: #define Conn(x,y) x##y#define ToChar(x) #@x#define ToString(x) ...
- Hbase记录-Hbase shell使用命令
1.进入hbase shell 执行./bin/hbase shell 2.进入后,help 帮助信息,如可以使用help 'create' 3.创建表:create 'test','cf' 表 ...
- Junit测试private方法
package com.bill99.junit; public class ACase { private String echoRequest(String request) { return & ...
- unity引用查找插件-ReferenceFinder
简介 这是一个用来查找资源引用和依赖的插件,通过缓存来保存资源间的引用信息,通过树状结构直观的展示. 由于是通过缓存进行实现的,所以在希望的到精确的引用信息时需要刷新缓存.不过由于缓存的存在, ...
- HTML5的 input:file上传 以及 类型控制
以HTML5的文件上传API 如下demo代码在.html文件打开即可: !DOCTYPE html> <html lang="zh_cn"> <head& ...
- .NET面试题系列(十)委托与事件
委托 有了委托的存在,使得方法可以作为参数传递给另一个方法. int Max(int x,int y) { return x>y?x:y; } int Min(int x,int y) { re ...
- 简易selenium自动化测试框架(Python)
最近空闲时间在探索Selenium的自动化测试,简单的写了一个小框架来测试公司的一个web产品.该框架包括以下模块: 1. Test case编写模式(page模式,参考之前的博文http://www ...
- CSS cursor 属性改变鼠标的样式
可能的值 值 描述 url 需使用的自定义光标的 URL. 注释:请在此列表的末端始终定义一种普通的光标,以防没有由 URL 定义的可用光标. default 默认光标(通常是一个箭头) auto 默 ...
- [转]find命令之exec
find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了. exec解释: -exec 参数后面跟的是comm ...
- Ajax跨域访问解决方案
No 'Access-Control-Allow-Origin' header is present on the requested resource. 当使用ajax访问远程服务器时,请求失败,浏 ...