消息回复图文时候报错 MsgType is not defined,源码如下

来源:4-4 第四天 上传临时素材之图片和视频

慕粉1146045851

2016-10-19

报错如下:

  ReferenceError: ejs:6

      4|     <CreateTime><%=createTime%></CreateTime>

  

      5|     <MsgType><![CDATA[<%=msgType%>]]></MsgType>

  

   >> 6|     <%if(msgType === 'text'){%>

  

      7|     <Content><![CDATA[<%=content%>]]></Content>

  

      8|     <%

  

      9|     } else if(msgType === 'image') {

  

  

  MsgType is not defined



weixin.js代码如下:


}else if(content==='4'){//图文

reply=[{

title:'技术改变未来!',

discription:'描述',

picUrl:'http://b.hiphotos.baidu.com/album/s%3D1600%3Bq%3D90/sign=4f04be8ab8014a90853e42bb99470263/b8389b504fc2d562d426d1d5e61190ef76c66cdf.jpg?v=tbs',

url:'https://www.baidu.com/'

},{

title:'知识改变命运!',

discription:'没有穷死只有懒死的!',

picUrl:'http://pic.58pic.com/58pic/13/40/15/74W58PICfa7_1024.jpg',

url:'https://mp.weixin.qq.com/cgi-bin/frame?t=advanced/dev_tools_frame&nav=10049&token=1162030020&lang=zh_CN'

}];

}

this.body=reply;

tpl.js模板代码如下:

  /*

  <xml>

    <ToUserName><![CDATA[<%=toUserName %>]]></ToUserName>

    <FromUserName><![CDATA[<%=fromUserName %>]]></FromUserName>

    <CreateTime><%=createTime%></CreateTime>

    <MsgType><![CDATA[<%=msgType%>]]></MsgType>

    <%if(msgType === 'text'){%>

    <Content><![CDATA[<%=content%>]]></Content>

    <%

    } else if(msgType === 'image') {

    %>

    <Image>

    <MediaId><![CDATA[<%=content.media_id%>]]></MediaId>

    </Image>

    <%

    } else if(msgType === 'voice') {

    %>

    <Voice>

    <MediaId><![CDATA[<%=content.media_id %>]]></MediaId>

    </Voice>

    <%

    } else if(msgType === 'video') {

    %>

    <Video>

    <MediaId><![CDATA[<%=content.media_id%>]]></MediaId>

    <Title><![CDATA[<%=content.title %>]]></Title>

    <Description><![CDATA[<%=content.description%>]]></Description>

    </Video>

    <%

    } else if(msgType == 'music') {

    %>

    <Music>

    <Title><![CDATA[<%=content.title%>]]></Title>

    <Description><![CDATA[<%=content.description%>]]></Description>

    <MusicUrl><![CDATA[<%=content.musicUrl %>]]></MusicUrl>

    <HQMusicUrl><![CDATA[<%=content.hqMusicUrl%>]]></HQMusicUrl>

    <ThumbMediaId><![CDATA[<%=content.thumbMediaId%>]]></ThumbMediaId>

    </Music>

    <%

    } else if(MsgType === 'news') {

    %>

    <ArticleCount><%= content.length %></ArticleCount>

    <Articles>

      <% content.forEach(function(item) {

      %>

      <item>

      <Title><![CDATA[<%= item.title %>]]></Title>

      <Description><![CDATA[<%= item.description %>]]></Description>

      <PicUrl><![CDATA[<%= item.picUrl %>]]></PicUrl>

      <Url><![CDATA[<%= item.url %>]]></Url>

      </item>

      <%

      })%>

    </Articles>

    <%

    }

    %>

  </xml>

  */


写回答

1回答

Scott

2016-10-19

比对下,看看是不是模板语法哪里没写对


'use strict'
var ejs = require('ejs')
var heredoc = require('heredoc')
var tpl = heredoc(function() {/*
  <xml>
  <ToUserName><![CDATA[<%= toUserName %>]]></ToUserName>
  <FromUserName><![CDATA[<%= fromUserName %>]]></FromUserName>
  <CreateTime><%= createTime %></CreateTime>
  <MsgType><![CDATA[<%= msgType %>]]></MsgType>
  <% if (msgType === 'text') { %>
    <Content><![CDATA[<%- content %>]]></Content>
  <% } else if (msgType === 'image') { %>
    <Image>
      <MediaId><![CDATA[<%= content.mediaId %>]]></MediaId>
    </Image>
  <% } else if (msgType === 'voice') { %>
    <Voice>
      <MediaId><![CDATA[<%= content.mediaId %>]]></MediaId>
    </Voice>
  <% } else if (msgType === 'video') { %>
    <Video>
      <MediaId><![CDATA[<%= content.mediaId %>]]></MediaId>
      <Title><![CDATA[<%= content.title %>]]></Title>
      <Description><![CDATA[<%= content.description %>]]></Description>
    </Video>
  <% } else if (msgType === 'music') { %>
    <Music>
      <Title><![CDATA[<%= content.title %>]]></Title>
      <Description><![CDATA[<%= content.description %>]]></Description>
      <MusicUrl><![CDATA[<%= content.musicUrl %>]]></MusicUrl>
      <HQMusicUrl><![CDATA[<%= content.hqMusicUrl %>]]></HQMusicUrl>
      <ThumbMediaId><![CDATA[<%= content.thumbMediaId %>]]></ThumbMediaId>
    </Music>
  <% } else if (msgType === 'news') { %>
    <ArticleCount><%= content.length %></ArticleCount>
    <Articles>
    <% content.forEach(function(item) { %>
      <item>
        <Title><![CDATA[<%= item.title %>]]></Title>
        <Description><![CDATA[<%= item.description %>]]></Description>
        <PicUrl><![CDATA[<%= item.picUrl %>]]></PicUrl>
        <Url><![CDATA[<%= item.url %>]]></Url>
      </item>
    <% }) %>
    </Articles>
  <% } %>
  </xml>
*/})
var compiled = ejs.compile(tpl)
exports = module.exports = {
  compiled: compiled
}


0
0

7天搞定Node.js微信公众号

Koa框架、ES2015新特性、MongoDB,开发微信公众号

1742 学习 · 787 问题

查看课程