创建项目
首先我们在上空云后台创建一个项目, 目前创建项目时, 需要先验证手机及邮箱.
绑定微信公众号
当创建完以后, 我们在项目列表里点击您刚创建的项目(组件).
然后我们在项目的组件里点击"微信公众号", 并把你微信公众号的 App Id
及 App 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