一、之前用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. 关于 Noip的考纲

    关于 \(\text{Noip}\) 的考纲 先放一张图 : 此图包含了 \(\text{Noip}\) 自开始到结束 的所有真题的考察知识点 算法分类标准主要来自于 \(\text{Luogu}\) ...

  2. 探索ASP.Net Core 3.0系列四:在ASP.NET Core 3.0的应用中启动时运行异步任务

    前言:在本文中,我将介绍ASP.NET Core 3.0 WebHost的微小更改如何使使用IHostedService在应用程序启动时更轻松地运行异步任务. 翻译 :Andrew Lock   ht ...

  3. Vue.js 源码分析(十八) 指令篇 v-for 指令详解

    我们可以用 v-for 指令基于一个数组or对象来渲染一个列表,有五种使用方法,如下: <!DOCTYPE html> <html lang="en"> & ...

  4. C# 中如何深度复制某一个类型(备注:可能有 N 个类型需要复制)的对象?

    如题,针对某一个特定的类型,深度复制,没有那么难,最起码可以手动赋值,但如果要针对 N 多类型深度复制,最简单的方法,是把这个对象序列化成 XML.JSON 或其它可以序列化的载体,然后再将这个载体反 ...

  5. Django学习笔记(17)——BBS+Blog项目开发(1)验证码功能的实现

    本文主要学习验证码功能的实现,为了项目BBS+Blog项目打下基础. 为了防止机器人频繁登陆网站或者破坏分子恶意登陆,很多用户登录和注册系统都提供了图形验证码功能. 验证码(CAPTCHA)是“Com ...

  6. MySQL性能诊断与调优

    LAMP 系统性能调优,第 3 部分: MySQL 服务器调优http://www.ibm.com/developerworks/cn/linux/l-tune-lamp-3.html LoadRun ...

  7. python安装扩展”unable to find vcvarsall.bat“的解决办法

    产生原因: python3.4用的是msvs2010编译的,所以python3.4默认只能认出msvs2010以上版本 python2.7用的是msvs2008编译的,所以python2.7默认只能认 ...

  8. 在秉火STM32F429挑战者开发板上移植Huawei LiteOS指南

    昨天在B站上突然看到了一个短视频,是在正点原子的战舰V3开发板上移植华为的Huawei LiteOS操作系统,就是这个视频:看完鸿蒙OS发布会,试用华为的物联网操作系统Lite OS(B站),于是呢, ...

  9. Java面向对象——相关基本定义

    Java面向对象——相关基本定义 摘要:本文简单介绍了面向对象的编程方式,以及与之有关的一些基本定义. 面向对象 什么是面向对象 面向对象编程是一种对现实世界建立计算机模型的一种编程方法.简称OOP( ...

  10. C#关键字 const与readonly

    ====const==== const关键字来声明某个常量字段或常量局部变量.常量字段和常量局部变量不是变量而且不能修改.常量可以为数字.布尔值.字符串或null引用. 常数声明的类型指定声明引入的成 ...