wafer2的keng
一、之前用wafer2开发的小程序,今天突然Error: 用户未登录过,请先使用 login() 登录?
答:改用qcloud.login, 替换掉qcloud.loginWithCode (小程序代码)
也有可能重新上传一次测试代码(勾上部署后自动安装依赖)就解决了。
参考链接:https://blog.csdn.net/kfgauss/article/details/91046421
二、小程序Cannot set property 'userInfo' of undefined
//this.globalData.userInfo = res.userInfo;
var app = getApp();
app.globalData.userInfo = res.userInfo;
Cannot set property 'userInfo' of undefined
不要使用this
参考链接:https://blog.51cto.com/lailai/2068184
三、wafer2二次登录时,报:用户未登录过,请先使用 login() 登录
request fail Error: 用户未登录过,请先使用 login() 登录
at n.success (login.js:141)
at Object.success (WAService.js:4)
at s. (WAService.js:12)
at s.emit (WAService.js:6)
at Function. (WAService.js:12)
at WAService.js:6
at a (appservice?t=1528991705772:1048)
at b. (appservice?t=1528991705772:1048)
at b.emit (appservice?t=1528991705772:1048)
at callback (appservice?t=1528991705772:1048)
index.js:128 request complete
Node.js SDK 更新了吗,需要配合 1.4.x 版本以上的 SDK
参考链接:
1. https://github.com/tencentyun/wafer2-quickstart-nodejs/issues/14
2. https://github.com/tencentyun/wafer2-startup/issues/143
四、Unexpected token o in JSON at position 1 报错原因
解决方案就是去掉JSON.parse()这一层转换,因为你需要转换的数据本来就是一个json对象了,不需要在转换了。
(我不知道,我重启就好了
参考链接:
1. https://blog.csdn.net/wxl1555/article/details/79184076
2. https://blog.csdn.net/qq_41999617/article/details/83511002
五、登陆失败,请允许获取您的公开信息
根据微信公告,wx.getUserInfo
接口将不再弹窗,而改用 <button>
。目前 Wafer2 的 Demo 已经切换,以下主要对 Wafer2 SDK 的实现进行说明。
Wafer2 SDK 的授权登录模式改为:前端 <button>
弹出登录框,用户点击授权之后,SDK 调用 wx.login
和 wx.getUserInfo
获取用户信息,并解密,存储数据库。
注意 2.0 版本以上的 Client SDK 需配合 1.4.x 以上版本的 Node.js SDK 或者 2.2.x 以上版本的 PHP SDK。
// wxml
<button open-type="getUserInfo" lang="zh_CN" bindgetuserinfo="doLogin">获取用户信息</button> // js
doLogin: function () {
const session = qcloud.Session.get() if (session) {
// 第二次登录
// 或者本地已经有登录态
// 可使用本函数更新登录态
qcloud.loginWithCode({
success: res => {
this.setData({ userInfo: res, logged: true })
util.showSuccess('登录成功')
},
fail: err => {
console.error(err)
util.showModel('登录错误', err.message)
}
})
} else {
// 首次登录
qcloud.login({
success: res => {
this.setData({ userInfo: res, logged: true })
util.showSuccess('登录成功')
},
fail: err => {
console.error(err)
util.showModel('登录错误', err.message)
}
})
}
}
参考链接:
1. https://github.com/tencentyun/wafer2-client-sdk#%E7%99%BB%E5%BD%95
2. https://github.com/tencentyun/wafer2-client-sdk/issues/28
3. https://github.com/tencentyun/wafer2-quickstart/issues/10
六、发起登录请求,返回Error: 响应错误,{"code":-1,"error":"ERR_REQUEST_PARAM"}
你可以通过以下两种方式修复该问题:
1. 关闭腾讯云代理登录,使用微信小程序 AppID 和 AppSecret 登录:
修改 server/config.js
中的 useQcloudLogin
为 false
,并填写上 appId
和 appSecret
字段(分别为微信小程序的 AppID 和 AppSecret),重新部署代码即可。
2. 手动填写腾讯云云 API 密钥:
登录腾讯云云 API 密钥控制台申请云 API 密钥,并在 server/config.js
的 CONF
中添加如下三个字段:
qcloudAppId: '你的腾讯云 AppID',
qcloudSecretId: '你的腾讯云 SecretId',
qcloudSecretKey: '你的腾讯云 SecretKey',
重新部署代码即可生效。
参考链接:https://github.com/tencentyun/wafer2-quickstart/issues/13
最新文章
- 基于C/S架构的3D对战网络游戏C++框架_05搭建系统开发环境与Boost智能指针、内存池初步了解
- 打包如何打包额外文件,比如Sqlite数据库的db文件
- unity调用摄像头的方法
- 第 17 章 CSS 边框与背景[下]
- HDU 4048 Zhuge Liang&#39;s Stone Sentinel Maze
- 使用supervisor提高nodejs调试效率 (已验证)
- Mac版 MicrosoftOffice2015 办公软件 破解教程
- JSF 2 multiple select listbox example
- input hidden用法
- Java基础知识强化37:StringBuffer类之StringBuffer的构造方法
- joomla安装插件报错:上传文件到服务器发生了一个错误。 过小的PHP文件上传尺寸
- L - 辗转相除法(第二季水)
- Python框架
- Xcode崩溃问题调试 signal SIGABRT&;EXC_BAD_ACCESS
- Java建造者模式
- Python Day 9
- Oracle的AES加密与解密用法
- Netty简单的HTTP服务器
- MYSQL查询优化:Limit
- es 模板
热门文章
- Manthan, Codefest 18 (rated, Div. 1 + Div. 2) E bfs + 离线处理
- 重构 改善既有代码的设计 (Martin Fowler 著)
- QQ音乐2019客户端-获取任意歌单完整歌曲列表和下载音乐文件方法
- Python 下载图片的三种方法
- 5个你可能不知道的html5语义化标签
- Django学习笔记(16)——扩展Django自带User模型,实现用户注册与登录
- Kubernetes RBAC授权普通用户对命名空间访问权限
- Spring Cloud Hystrix Dashboard熔断器-Turbine集群监控(六)
- Window权限维持(三):服务
- springboot 1.4 CXF配置