请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

第一天的问题signature 和echostr输出是undefined

配置好第一天的内容发现刷新后输出的是wrong ,检查其他变量signature 和echostr是undefined 是什么原因呢,控制台显示是已经把echostr和signature传过来了,希望老师解答

正在回答 回答被采纳积分+3

7回答

Scott 2016-09-29 13:29:53

在 var sha = sha1(str) 后面加上:


if (sha === signature) {
    this.body = echostr + ''
}
else {
    this.body = 'wrong'
}
yield next;


然后再按照刚才的来一遍试试,因为微信服务器没有收到你的这个 echostr

0 回复 有任何疑惑可以回复我~
  • 提问者 一直都在路上 #1
    老师还是不行,会不会和网络有关系?或者是EncodingAESKey?
    回复 有任何疑惑可以回复我~ 2016-09-30 09:19:38
  • 提问者 一直都在路上 #2
    而且提交都是很多次没有原因配置失败,偶然就配置成功了,这是不是也可能是原因?
    回复 有任何疑惑可以回复我~ 2016-09-30 09:22:17
Scott 2016-09-28 12:35:25

可能是端口映射的问题,你试下 ngrok 看看,到这里看下最新的文档及官方推荐的连接方式: http://www.ngrok.cc/index.php

0 回复 有任何疑惑可以回复我~
  • 提问者 一直都在路上 #1
    我用的是外国的ngrok 。这个好像炸了目前还用不了,明天看看。谢谢老师
    回复 有任何疑惑可以回复我~ 2016-09-28 16:22:54
  • 提问者 一直都在路上 #2
    老师也不是端口映射问题,还会是神马原因诶,只有在公众号提交时候会有打印那些值,刷新页面之后,就会变成空的了。好打击最近一直在弄一直弄不好
    回复 有任何疑惑可以回复我~ 2016-09-29 09:28:58
  • Scott 回复 提问者 一直都在路上 #3
    希望不要是微信官方的服务不稳定导致的,你把之前生成的 token 文件都删掉,然后到公众号配置页面,重新配置一下试试,在 app.js 里面,打印出来 this.query 和 this.href,看看认证开发者身份的时候,微信服务器到底推送过来的 get 请求是什么样子
    回复 有任何疑惑可以回复我~ 2016-09-29 10:41:36
Scott 2016-09-27 17:51:12

'use stric'


看到这个拼错了,不知道有没有影响,应该是 'use strict'

0 回复 有任何疑惑可以回复我~
  • 提问者 一直都在路上 #1
    没有影响老师,我发现了是映射的URL还没连接上说URL超时的时候是传过来了echostr 和signature 但是连接上了url之后就会出现 echostr和 signature undefined 这是不是ngrok的原因 老师? (问一下老师有没有什么学员讨论群之类的)
    回复 有任何疑惑可以回复我~ 2016-09-27 19:54:38
  • Scott 回复 提问者 一直都在路上 #2
    应该有吧,你把你的项目完整打包发到 wolf18387@qq.com,我看看
    回复 有任何疑惑可以回复我~ 2016-09-27 20:07:01
  • 提问者 一直都在路上 回复 Scott #3
    老师项目已经发到你邮箱了,老师帮忙看看
    回复 有任何疑惑可以回复我~ 2016-09-27 20:59:03
Scott 2016-09-26 16:09:37

代码贴出来看看

0 回复 有任何疑惑可以回复我~
  • 提问者 一直都在路上 #1
    老师代码已经截图上传请老师帮忙看一下
    回复 有任何疑惑可以回复我~ 2016-09-27 15:48:04
提问者 一直都在路上 2016-09-29 12:04:50

https://img1.sycdn.imooc.com/szimg//57ec9285000137c311530793.jpg

老师你看看this .href this.query 是这样的好像没有什么问题,就是不行诶╭(╯^╰)╮

0 回复 有任何疑惑可以回复我~
提问者 一直都在路上 2016-09-27 16:52:22
'use stric'
var Koa =require('koa')
var wechat =require('./wechat/g')
var util =require('./libs/util')
var path = require('path')
var wechat_file = path.join(__dirname, "./config/wechat.text")

//入口文件 是一个对象字面量
var config = {
    wechat:{
        appID:"wx862b402e41fb8e6b",
        appSecret:'507844062b6e6a8fa652234064e9946e',
        token:'practise',
        getAccessToken:function(){
            return util.readFileAsync(wechat_file)
        },
        saveAccessToken:function(data){
            data = JSON.stringify(data)
            return util.writeFileAsync(wechat_file,data)
        }

    }
}

var app  = new Koa()

//config字面量传给了wechat
app.use(wechat(config.wechat)) //添加中间件 


app.listen(1234)
console.log('Listening:1234')


0 回复 有任何疑惑可以回复我~
提问者 一直都在路上 2016-09-27 15:47:14

https://img1.sycdn.imooc.com/szimg//57ea232c000125e011500545.jpg

代码是这样(上图),老师我还有个问题 把构造函数放在wechat.js里面按照教程运行就会报错,可能是什么原因呢?

https://img1.sycdn.imooc.com/szimg//57ea23ab000112c505580329.jpg


0 回复 有任何疑惑可以回复我~
  • Scott #1
    app.js 里面没有引入正确 wechat 吧,导致传入的 wechat(config.wechat) 调用失败
    回复 有任何疑惑可以回复我~ 2016-09-27 16:39:40
  • 提问者 一直都在路上 回复 Scott #2
    老师我把app.js贴出来了但是没发现错误,传入config时候可以接受到token 但是其他都是undefined有点奇怪欸
    回复 有任何疑惑可以回复我~ 2016-09-27 16:54:15
  • 提问者 一直都在路上 回复 Scott #3
    而且console.log(this.query)  在git会打印出{} 空的
    回复 有任何疑惑可以回复我~ 2016-09-27 16:55:29
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信