1. 微信开发-自动回复

原创
2015/05/14 22:20
阅读数 588

创建项目

首先我们在上空云后台创建一个项目, 目前创建项目时, 需要先验证手机及邮箱.

绑定微信公众号

当创建完以后, 我们在项目列表里点击您刚创建的项目(组件). 项目列表

然后我们在项目的组件里点击"微信公众号", 并把你微信公众号的 App IdApp Secret填写到对应栏. 再写一个随机 Token以及 回掉URL标识后保存. 当你填写了回掉URL标识后, 系统会给出一个回掉URL. 如下图: 绑定微信 再我们启用后, 可把系统给出的回掉URL以及Token填写到微信公众号后台对应的栏位后, 点击提交后, 微信服务及上空云服务器已经建立连接. 此时我们可以做各种操作了:)

创建一个自动回复

我们在项目左侧的导航栏点击云代码, 并在子菜单下选择微信后, 右侧列出所有相关事件(微信服务器推送过来的). 我们点击文本消息接收后将会跳转到云代码编辑框. 云代码列表

并在编辑框里写如下代码后保存发布.

r, _ := mp.GetText(req.ExtraData)        
res := mp.NewResText(r.FromUserName, r.ToUserName, time.Now().Unix(), "您发来了文本信息:\n--------------\n"+r.Content)         
h.Render(res)       

此时我们的微信公众号已经有自动回复功能了:) 自动回复

动态自动回复

很多时候我们做自动回复时, 需要做关键字判断等操作. 下面我们就结合上空云里的动态表(resource)功能去作一个自动回复功能.

首先我们需要创建一个表 messages. 并增加两个字段. 一个是 text, 另一个为 message. 其中text存放关键字. message为返回给用户的内容. 新增表

当创建好后, 在数据中增加下图所示三条记录. 内容

此时我们再修改下上面的自动回复的云代码.

// 自动回复
r, _ := mp.GetText(req.ExtraData)


// 查询 messages 表有无设置好的自动回复信息
messages, _, err := app.NewQuery("messages").Equal("text", r.Content).Take(1).Find()
if err != nil || len(messages) == 0 {
	// 记录log到管理台, 一般用于调试, 默认只保存3天内的log
	if err != nil {
		h.Log(err.String())
	}

	res := mp.NewResText(r.FromUserName, r.ToUserName, time.Now().Unix(), "你说了什么?????????")
	h.Render(res)

	// 中途返回时一定记得return语句哦
	return
}

content := messages[0].GetString("message")

res := mp.NewResText(r.FromUserName, r.ToUserName, time.Now().Unix(), content)

h.Render(res)

此时我们再发送信息到公众号时, 将会按着我们设置的来回复. 自动回复

相关资料

QQ群: 434581608

展开阅读全文
打赏
0
15 收藏
分享
加载中
www.eyekey.com,免费的人脸识别API和SDK,可以去看看哦~~指纹识别、虹膜识别的免费接口也即将公布
2015/05/21 11:01
回复
举报
更多评论
打赏
1 评论
15 收藏
0
分享
返回顶部
顶部