您现在的位置是:首页 > 后端 > PHP PHP
微擎人人商城小程序版登陆错误 以及 首页打开控制台持续报错解决方法
2021-09-08【PHP】2311人已围观
简介微擎人人商城小程序版登陆错误 以及 首页打开控制台持续报错解决方法
微擎人人商城小程序版登陆错误
说明
2021年4月28日24时后发布的小程序新版本,无法通过wx.getUserInfo与获取用户个人信息(头像、昵称、性别与地区),将直接获取匿名数据(包括userInfo与encryptedData中的用户个人信息),获取加密后的openID与unionID数据的能力不做调整。此前发布的小程序版本不受影响,但如果要进行版本更新则需要进行适配。
第一步:修改
pages\auth\index.wxml
立即登录按钮改为
<button bindtap="getUserProfile" class="authBtn" lang="zh_CN">
立即登录
</button>
第二步:修改
pages\auth\index.js
增加getUserProfile
方法
getUserProfile() {
wx.getUserProfile({
desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
success: (res) => {
// console.log("获取用户信息成功", res);
// return;
wx.showLoading({
title: "加载中"
}), wx.login({
success: function (t) {
// console.log(t);
// return;
n.post("wxapp/login", {
code: t.code
}, function (t) {
// console.log(t.openid);
// return;
t.error ? n.alert("获取用户登录态失败:" + t.message) : n.get("wxapp/auth", {
data: res.encryptedData,
iv: res.iv,
sessionKey: t.session_key,
openId: t.openid
}, function (n) {
1 == n.isblack && wx.showModal({
title: "无法访问",
content: "您在商城的黑名单中,无权访问!",
success: function (n) {
n.confirm && e.close(), n.cancel && e.close();
}
}), res.userInfo.openid = n.openId, res.userInfo.id = n.id, res.userInfo.uniacid = n.uniacid,
e.setCache("userinfo", res.userInfo), e.setCache("userinfo_openid", res.userInfo.openid),
e.setCache("userinfo_id", n.id), e.getSet(), wx.navigateBack({
changed: !0
});
});
});
},
fail: function () {
n.alert("获取用户信息失败!");
},
complete: function () {
wx.hideLoading();
}
});
},
fail: res => {
// console.log("获取用户信息失败", res)
n.alert("获取用户信息失败!");
}
})
},
第三部修改登录接口文件
addons\ewei_shopv2\plugin\app\core\mobile\wxapp.php
由于getUserProfile本身就是不返回openid的,需要openid用login接口
// auth() 方法下面增加
$data["openId"] = $_GPC['openId'];
注意:如果该账号在没有修改之前有登陆,需要到后台[会员管理]删除这个账号,不然用这个账号测试时,还是报错获取不到数据。
首页打开控制台持续报错解决方法
removeTabBarBadge:fail not TabBar page
解决方法
- 有人说删除
index: e
- 我是直接删除
wx.removeTabBarBadge
方法
修改对比
关注博客,更多精彩分享,敬请期待!
Tags: 微擎
很赞哦! (0)
上一篇:微擎文档以及相关应用文档
下一篇:Vue实现动态的选中状态切换效果
相关文章
随机图文
css动画
> 在CSS动画中,如果你想让元素的 border-radius 从50%逐渐变为0%,你可以使用 @keyframes 规则来定义这一变化过程。以下是一个简单的示例: ```css /* 定义一个动画 */ @keyframes borderRadiusChange { 0% { border-radius: 50%; } 100% { border-radius: 0; } } /* 将动画应用到某个元素上 */ .someElementbat锁屏和熄屏 windows
bat锁屏和熄屏 windowsPHP中判断字符串是否含有中文
## 判断全是中文 > 方法一 ``` $str = '吾爱编程'; if (preg_match_all("/^([\x81-\xfe][\x40-\xfe])+$/", $str, $match)) { echo '全部是中文'; } else { echo '不全是中文'; } ``` > 方法二 ``` $str="'吾爱it编程"; if(!eregi("[^\x80-\xff]","$str")){ echo "全是中文";PHP日历
PHP日历小案例