一、之前用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

wafer2的keng的更多相关文章

  1. ZOJ3549 Little Keng(快速幂)

    转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud Little Keng Time Limit: 2 Seconds      Me ...

  2. 微信小程序 wafer2框架摘要

    微信小程序 wafer2框架摘要 帮助文档:https://github.com/tencentyun/wafer2-startup/wiki 使用了knex.js进行数据库交互,使用了koa.js进 ...

  3. 各种主流数据库的比较(所以说我觉得Oracle这个keng?入的不错?)

    随着计算机技术不断发展,各种数据库编程工具也随着发展,使当今的大多数程序开发人员可以摆脱枯燥无味的用计算机指令或汇编语言开发软件,而是利用一系列高效的.具有良好可视化的编程工具去开发各种数据库软件,从 ...

  4. ZOJ3550 Big Keng(三分)

    题意:给定一个立体的图形,上面是圆柱,下面是圆台,圆柱的底面半径和圆台的上半径相等,然后体积的V时,问这个图形的表面积最小可以是多少.(不算上表面).一开始拿到题以为可以YY出一个结果,就认为它是圆锥 ...

  5. 一个可能让你记忆力飙升的软件 —— 这是一道填空(keng)题

    本文题目的两个含义: 1.填上次挖的坑,将优化后的软件分享给需要的网友(下载链接附在文末): 还没有看过的网友可以先看看这篇文章: 一个可能让你记忆力飙升的软件 2.这个软件的本质其实就是生成各种填空 ...

  6. 小白的.Net Core 2.0 ConsoleApp入门(keng)指南(一)

    一.准备工作 准备工作很简单,甚至可以不用Visual Studio,一只.NET CORE和Runtime即可(你有考虑过世界第一IDE的感受吗) 下载:https://www.microsoft. ...

  7. 小程序wafer2操作数据库

    小程序操作数据库 //小程序控制台phpmyadmin里给数据库cAuth添加表 //controllers/hello.js const { mysql } = require('../qcloud ...

  8. Python起源发展与学(ru)习(keng)的开篇

    写在前面,python天下第一!!!!!我要做python的舔狗

  9. wafer2的几个简单示例

    如何快速新建路由 服务端 Demo 采用 Koa.js 框架编写,腾讯云基于 Koa 对上层进行一个简单的封装,方便你快速的添加新建路由 只需要在 controllers 目录下新建一个文件,例如为  ...

随机推荐

  1. Physically Based Shader Development for Unity 2017 Develop Custom Lighting Systems (Claudia Doppioslash 著)

    http://www.doppioslash.com/ https://github.com/Apress/physically-based-shader-dev-for-unity-2017 Par ...

  2. strace监视系统调用

    strace可用于监视系统调用,如果在使用的系统调用中有不合适的,可以认为其行为的不恰当 命令为strace /dev/null. strace命令相当于是从内核直接接收数据,可以使用-p 9999来 ...

  3. mysql不是内部或外部命令--windows环境下报错的解决

    安装Mysql后,当我们在cmd中敲入mysql时会出现‘Mysql’不是内部或外部命令,也不是可运行的程序或其处理文件. 处理: 我的电脑右键属性>高级系统设置>高级>环境变量&g ...

  4. HTML连载31-制作一个百度首页

    一. 我们制作一个百度首页作为练习,可直接复制该代码保存后缀名为.html来查看 <!DOCTYPE html> <html lang="en"> < ...

  5. python 中in 的 用法

    1.   作用为 成员运算符   在字符串内操作,如果字符串包含相关字符 则返回True,如果不包含则返回False   当然处理不单单是只有单个字符,多个连续的字符也是可以处理的 # 单个字符 a= ...

  6. Java代码开发之《异常日志》

    异常日志 (一) 异常处理 1. [强制]Java 类库中定义的可以通过预检查方式规避的 RuntimeException 异常不应该通 过 catch 的方式来处理,比如:NullPointerEx ...

  7. Kubernetes 有状态与无状态介绍

    Kubernetes 有状态与无状态介绍 无状态:deployment - 认为所有pod都是一样的,不具备与其他实例有不同的关系. - 没有顺序的要求. - 不用考虑再哪个Node运行. - 随意扩 ...

  8. .net core 3.0中动态卸载程序集

    动态加载程序集在一些插件式的应用中非常常见,.net core 2.0中可以通过AssemblyLoadContext中提供程序集的动态加载功能,但取不支持卸载.现在,在.net core 3.0中提 ...

  9. Python - 列表 - 第八天

    Python 列表 序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的 ...

  10. J2EE的13种规范

    1.JDBC(Java Databaes Connectivity):JDBC API为访问不同的数据库提供了一种统一的途径,就像ODBC一样,JDBC对开发者屏蔽了一些细节问题,同时,JDBC对数据 ...