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
wafer2的keng的更多相关文章
- ZOJ3549 Little Keng(快速幂)
转载请注明出处: http://www.cnblogs.com/fraud/ ——by fraud Little Keng Time Limit: 2 Seconds Me ...
- 微信小程序 wafer2框架摘要
微信小程序 wafer2框架摘要 帮助文档:https://github.com/tencentyun/wafer2-startup/wiki 使用了knex.js进行数据库交互,使用了koa.js进 ...
- 各种主流数据库的比较(所以说我觉得Oracle这个keng?入的不错?)
随着计算机技术不断发展,各种数据库编程工具也随着发展,使当今的大多数程序开发人员可以摆脱枯燥无味的用计算机指令或汇编语言开发软件,而是利用一系列高效的.具有良好可视化的编程工具去开发各种数据库软件,从 ...
- ZOJ3550 Big Keng(三分)
题意:给定一个立体的图形,上面是圆柱,下面是圆台,圆柱的底面半径和圆台的上半径相等,然后体积的V时,问这个图形的表面积最小可以是多少.(不算上表面).一开始拿到题以为可以YY出一个结果,就认为它是圆锥 ...
- 一个可能让你记忆力飙升的软件 —— 这是一道填空(keng)题
本文题目的两个含义: 1.填上次挖的坑,将优化后的软件分享给需要的网友(下载链接附在文末): 还没有看过的网友可以先看看这篇文章: 一个可能让你记忆力飙升的软件 2.这个软件的本质其实就是生成各种填空 ...
- 小白的.Net Core 2.0 ConsoleApp入门(keng)指南(一)
一.准备工作 准备工作很简单,甚至可以不用Visual Studio,一只.NET CORE和Runtime即可(你有考虑过世界第一IDE的感受吗) 下载:https://www.microsoft. ...
- 小程序wafer2操作数据库
小程序操作数据库 //小程序控制台phpmyadmin里给数据库cAuth添加表 //controllers/hello.js const { mysql } = require('../qcloud ...
- Python起源发展与学(ru)习(keng)的开篇
写在前面,python天下第一!!!!!我要做python的舔狗
- wafer2的几个简单示例
如何快速新建路由 服务端 Demo 采用 Koa.js 框架编写,腾讯云基于 Koa 对上层进行一个简单的封装,方便你快速的添加新建路由 只需要在 controllers 目录下新建一个文件,例如为 ...
随机推荐
- B1013
python语言运行这道题有一个点运行超时,需要对求素数的算法进一步的优化 def isPrime(n): if n <= 1: return False i = 2 while i * i & ...
- 使用Vue封装暂无数据占位图组件
1. 前言 在日常开发中,页面上肯定有展示数据的需求,但是当某些时候该展示数据的地方此时数据为空时,就会留下一片空白,对用户体验不是很好,那么接下来我们就封装一个空数据时的占位展示图,告诉用户此时用户 ...
- liunx下安装mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz
1.解压准备一个赶紧的环境,然后安装mysql. 2.cd到/usr/local/目录下,修改文件名为mysql 修改完目录名以后我们cd到mysql下,建立一个data目录命令:cd mysql/ ...
- SQL Server 2014:为什么数据库里的表提示“单元格是只读的”,不能修改?该如何处理?
出现以上这种情况,首先看一下这个字段的属性“标识规范”是不是选了“是”,自增属性下是不能修改的,属于只读.
- Vue.js 源码分析(三十一) 高级应用 keep-alive 组件 详解
当使用is特性切换不同的组件时,每次都会重新生成组件Vue实例并生成对应的VNode进行渲染,这样是比较花费性能的,而且切换重新显示时数据又会初始化,例如: <!DOCTYPE html> ...
- Java的POJO和JavaBean的区别
POJO Plain Ordinary Java Object,即简单的java对象. 特点 需要有一些 private 的参数,以及针对参数的 setter 和 getter 方法来访问这些参数. ...
- gitLab 分支保护设置
一.需求背景 开发当前开发的分支遇到暂时无法解决的问题,现在有需要开发其他应用,所以希望运维这边将当前有问题分支冻结,让其他人无法进行修改,待后续有时间在排查代码问题 二.Gitlab配置步骤 1.搜 ...
- Spring源码系列 — Resource抽象
前言 前面两篇介绍了上下文的启动流程和Environemnt的初始化,这两部分都是属于上下文自身属性的初始化.这篇开始进入Spring如何加载实例化Bean的部分 - 资源抽象与加载. 本文主要从以下 ...
- select 获取option中其他的属性的值
<select name="tag_keys[]" id="category_type" required> <option value=&q ...
- DRF简易了解
Drf框架 一丶API接口 # 为了在团队内部形成共识.防止个人习惯差异引起的混乱,我们需要找到一种大家都觉得很好的接口实现规范,而且这种规范能够让后端写的接口,用途一目了然,减少双方之间的合作成本. ...