微信模版设计说明书
1 模版的分类
微信中的模版是由几种元素构成:
1)纯文本元素
2)带有文字说明的单字段元素
3) 表格元素
4) 图片元素
因而,在设计出了一个模版之后只要对这些元素进行相应的解析,替换相应的字段就可以生成相应的内容。
2 模版元素的书写方法
1)纯文本元素。
<Text>微信模版</Text>,显示效果是:“微信模版”。(不包括双引号,下同)
2)带有文字说明的单字段元素。
<DF>医保号:<CL>user_id</CL>;</DF> 显示效果是:“医保号:1726065108;“。
3)表格元素
<Grid>
<Head>医保号,微信号</Head>
<Content>user_id,user_openid</Content>
</Grid>
显示效果是:
医保号 微信号
1726065108 oojQTuBANRPcYP-mUE_9K7OA-lAA
1726065109 oojQTuBANRPcYP-mUE_9K7OA-lBB
4)图片元素
<Img>info_head_img</Img>
显示效果是:再返回用户的图文消息中显示info_head_img对应的图片
注:1、各个模版元素之间以“$”分隔。
2、模版标识符之间的字段名即Querys表中的query_results中的字段名。
3 模版与数据表的对应
每个模版对应WeiXin数据库中Querys数据表中的一条记录。Querys表的结构如下:
1)query_commandid:查询按钮标识符。与模版文件的文件名对应。
2)query_results:查询结果字段集合,以“,”分隔。表示对应模版中所需要用到的所有字段,同时它也与query_SQL中的SQL语句的”select”和”from”之间的内容相同。
3) 模版中的各个模版元素表示符之间的字段必须与这里相同。
4)query_columns:表示查询的条件字段的集合,以“,”分隔。它与query_SQL中的SQL语句的”where”后面的内容相同。
5) query_SQL:表示模版对应的SQL语句
6) query_template_columnname:表示query_results中字段的相应的中文名称。如果字段在表格中使用,则模版的表头必须与这里的中文名称对应。
4 模版的解析过程
1) 根据query_commandid查询模版对应的SQL语句;
2)根据SQL语句和相应的查询条件值生成对应的结果集合;
3)从网站的Template目录,根据query_commandid查询对应的模版,并读取模版文件中的内容;
4)对模版内容按照模版元素的类型进行分解,之后对分解后的模版元素进行遍历,在对模版元素进行解析的过程中将字段替换为结果集合中这个字段对应的内容。
5 模版的添加
1)在Querys数据库中添加一条新的记录。
2)根据添加记录中的SQL语句中的查询结果,结合模版元素的书写方法写出模版,上传到网站Template文件夹中。
6 HIS数据库无法远程查询的解决方案:
1.将HIS数据库(A)进行备份,生成相应的的备份文件A.bak;
2.在微信公众平台运行的服务器上建立两个数据库:WeiXin数据库和与HIS中数据库相同的数据库(B)(数据库名和数据库结构完全相同)
3. 1、微信公众平台第一次运行时,将HIS数据库的备份文件(A.bak)上传到InPut目录,通过备份文件将HIS数据库中的数据恢复到B数据库中,这样就实现了数据的转移;然后,将B数据库中的数据全部导入到WeiXin数据库中。这样就等价于将HIS数据库中的所有数据全部添加到WeiXin数据库中。
2、以后定期更新数据的时候,都是先对数据库A进行备份,然后将备份的文件上传,通过备份文件对B数据库中的数据进行更新,然后删除WeiXin数据库中的之前添加进来的表,最后再将B数据库中的数据全部导入到WeiXin数据库中。
注:WeiXin数据库中的Users表储存用户的绑定信息,在每次删除数据时不能删除。由于每次用备份文件更新数据时会将数据库中的数据全部更新,因而Users数据表中的数据将不能保存,所以用B数据库作为一个中转数据库。
附:
1) http://123.196.116.76/home 微信公众平台介绍页面。
2) http://123.196.116.76/weixinhelper 提供模版文件的下载上传、数据库备份文件上传、WeiXin数据库初始化和数据更新相关的操作。
3) 数据库导出工具
4) 关注之后绑定医保号“hust”、"dd"可进行相关测试,一次只能绑定一个医保号,取消关注之后重新绑定可以绑定其它医保号。