实现动态预设消息的方法及装置 【技术领域】
本发明涉及预设消息的方法及装置,特别涉及一种在手机或其它数字终端设备上使用模板实现动态预设消息的方法及装置。
背景技术
目前大多数移动终端中的消息模块都提供了预设消息来满足用户快速便捷使用预设消息发送给目标对象的需求,像短消息SMS中的预设短信,电子邮件EMAIL中的预设短语等等,为了统一名称,本文简称为预设消息。
此类预设消息内容都比较简单而生硬,如“生日快乐”,“国庆快乐”,“老地方见”等等,特别是当带有姓名的消息发送给不同的目标对象时还不得不每次修改消息导致不能使用群发功能,操作相当的繁琐,这种简单呆板的预设消息方式就比较过时了。
因此现有技术存在预设消息内容简单、操作繁琐、不便于群发的缺陷。
【发明内容】
本发明的目的是提供一种实现动态预设消息的方法,以解决上述现有技术缺陷。本发明的动态预设消息即称为模板消息。 本发明另一目的是提供一种实现动态预设消息的装置,以生成内容丰富、操作简单和便于群发的预设消息。
根据本发明第一方面,实现动态预设消息的方法包括:
启动模板消息编辑界面,将文本和模板参数编辑成模板消息;
对所述模板消息进行解析,用对应于每个模板参数的参数值替换模板参数。
其中所述模板参数包括:与系统有关的系统参数$S{参数名};与被叫用户有关的用户参数$P{参数名};与用户输入有关的用户自定义参数$U{参数名};以及计算参数$C{参数名}。
其中,将文本和模板参数编辑成模板消息进一步包括:用户启动系统预设消息列表;将模板消息编辑界面需要动态替换的位置用模板参数标识;并对模板消息进行校验。
其中,所述校验进一步包括:对模板消息的语法格式进行校验,若正确则对模板消息解析,否则,重新进入模板消息编辑界面重新编辑。
其中,所述用对应于每个模板参数的参数值替换模板参数进一步包括:确定所述参数为用户自定义参数,调用自定义参数输入界面,由用户输入与用户参数对应的参数值,以替代用户参数;确定所述参数为系统参数,则调用操作系统获取系统参数值,以替代系统参数;确定所述参数为用户参数,则调用名片夹接口获取相应的用户参数值,以替代用户参数;确定所述参数为计算参数,则根据计算参数的运算代码获得其参数值。
根据本发明第二方面,实现动态预设消息的装置包括:
模板消息编辑模块,用于启动模板消息编辑界面,将文本和模板参数编辑成模板消息;以及
模板消息解析模块,用于对所述模板消息进行解析,用对应于每个模板参数的参数值替换模板参数。
其中所述模板参数包括:与系统有关的系统参数$S{参数名};与被叫用户有关的用户参数$P{参数名};与用户输入有关的用户自定义参数$U{参数名};以及计算参数$C{参数名}。
其中所述模板消息编辑模块按以下方式把文本和模板参数编辑成模板消息:用户启动系统预设消息列表;将模板消息编辑界面需要动态替换的位置用模板参数标识,形成模板消息。
本发明的装置还包括模板消息校验模块,用于对模板消息的语法格式进行校验,若正确则对模板消息解析,否则,重新进入模板消息编辑界面重新编辑。
其中所述模板消息解析模块按照以下方式用相应的参数值替换模板参数:
确定所述参数为用户自定义参数,调用自定义参数输入界面,由用户输入与用户参数对应的参数值,以替代用户参数;
确定所述参数为系统参数,则调用操作系统获取系统参数值,以替代系统参数;
确定所述参数为用户参数,则调用名片夹接口获取相应的用户参数值,以替代用户参数。
本发明通过设置包括不变部分和可变部分的模板消息,使得可变部分在消息发送时被动态替换,从而有效地提高了用户体验。一方面丰富了预设消息的内容,另一方面也简化用户操作,诸如用户只需要撰写一次就可以群发的需求,不同时间发送内容动态更新的需求等等都可以实现,在手机上实现此模板消息功能也不难。
下面结合附图对本发明进行详细说明。
【附图说明】
图1是本发明的实现动态预设消息的装置的原理图;
图2是显示本发明的实现动态预设消息的装置的示意图;
图3是本发明的实现动态预设消息的装置的实施例框架层次图;
图4a是本发明的模板消息编辑界面;
图4b是本发明的自定义参数属性界面;
图4c是本发明的计算参数编辑界面;
图4d是本发明的自定义参数输入界面;
图5是本发明的模板消息编辑实例的流程图;
图6是本发明的模板消息使用实例的流程图。
【具体实施方式】
图1显示了本发明的实现动态预设消息地装置的基本结构,包括:
模板消息编辑模块,用于启动模板消息编辑界面,将文本和模板参数编辑成模板消息;以及
模板消息解析模块,用于对所述模板消息进行解析,用对应于每个模板参数的参数值替换模板参数。
本发明的模板参数包括:
与系统有关的系统参数$S{参数名},例如,“$S{date}”代表取系统日期,“$S{time}”代表系统时间,“$S{datetime}”代表系统日期时间,“$S{week}”代表系统星期;
与被叫有关的手机参数$P{参数名},即与手机号码相关的参数,这些参数都是从名片夹信息中匹配手机号码获取,如根据手机号码获取相应信息,如“$P{name}”代表获取人名,“$P{email}”代表获取email地址;
与用户自定义语句有关的用户参数$U{参数名},即用户自定义参数,比如代表用户想说的话的参数$U{mywantsay}或者代表用户希望说的话的参数$U{hopewords};以及
与语境有关的计算参数$C{参数名},此参数与上述的S、P、U参数值有关,即与模板消息的语境有关,它对应特定用户,并根据模板编译器的语法格式安排在模板消息的相应位置,它通常对应一段运算代码,例如有个祝福的参数$C{bless}用户可以根据不同的人名赋予不同的值,一段伪代码如下
If($P{name}==“张三”)
$C{bless}=“希望你工作中发挥更大的作用”
Else If($P{name}==“李四”)
$C{bless}=“希望你工作中更积极主动一些”
Endif。
其中模板消息编辑模块按以下方式把文本和模板参数编辑成模板消息:
用户启动系统预设消息列表;
将模板消息编辑界面需要动态替换的位置用模板参数标识,以形成模板消息。
本发明的实现动态预设消息的装置还包括模板消息校验模块,用于对模板消息的语法格式进行校验,若正确则对模板消息解析,否则,重新进入模板消息编辑界面重新编辑。
模板消息解析模块按照以下方式用相应的参数值替换模板参数:
确定所述参数为用户自定义参数,调用自定义参数输入界面,由用户输入与用户参数对应的参数值,以替代用户参数;
确定所述参数为系统参数,则调用操作系统获取系统参数值,以替代系统参数;
确定所述参数为用户参数,则调用名片夹接口获取相应的用户参数值,以替代用户参数。
图2显示了本发明的实现动态预设消息的方法,包括以下步骤:
启动模板消息编辑界面,将文本和模板参数编辑成模板消息;
对所述模板消息进行解析,用对应于每个模板参数的参数值替换模板参数。
其中,将文本和模板参数编辑成模板消息进一步包括:
用户启动系统预设消息列表;
将模板消息编辑界面需要动态替换的位置用模板参数标识;并对模板消息进行校验。
其中,模板消息进行校验包括:对模板消息的语法格式进行校验,若正确则对模板消息解析,否则,重新进入模板消息编辑界面重新编辑。
用对应于每个模板参数的参数值替换模板参数进一步包括:确定所述参数为用户自定义参数,调用自定义参数输入界面,由用户输入与用户参数对应的参数值,以替代用户参数;确定所述参数为系统参数,则调用操作系统获取系统参数值,以替代系统参数;确定所述参数为用户参数,则调用名片夹接口获取相应的用户参数值,以替代用户参数;确定所述参数为计算参数,则根据计算参数的运算代码获得其参数值。
图3显示了本发明的实现动态预设消息的装置的实施例。
如图3所示,模板编辑器提供模板消息编辑界面,对系统参数和手机参数只能选择插入到模板中,模板保存时可能会用到模板校验模块以及“自定义参数属性”界面(参见图4b)和“计算参数编辑”界面(参见图4c)。
如图3所示,模板校验模块对模板参数的语法格式进行校验。
如图3所示,模板消息解析模块是最重要的核心模块,包含一个模板编译器处理计算参数的运算,这样就完成参数的解析替换,以及计算参数的运算替换功能(请参见图6,它详细说明了“参数的解析替换,以及计算参数的运算替换”过程和原理)。
如图3所示,模板管理器是对应用的唯一接口,实现整个模板的逻辑控制。
此外,图3中的预设消息列表保存用于模板消息编辑的预设消息。图3中的消息新建/编辑界面是使用已编辑的模板消息的界面。
下面结合图3和图4,对实现动态预设消息的具体方法实施例作出说明。该方法可以包括以下步骤:
A)模板编辑器将模板消息编辑界面上的文本和模板参数编辑成模板消息,使得模板消息中包括对应于文本的不变部分和对应于模板参数的可变部分;以及
B)在使用模板消息时,例如在发送短信或者邮件时,模板消息解析模块对其模板参数进行解析,然后用对应于每模板参数的参数值替换模板参数。
这样在例如发送短信时,就可以仅仅通过用模板参数值(即对应于模板参数的字符)替换模板参数,形成与特定用户和语境相适应的短信,从而实现无差错的群发。
参见图3,本发明的步骤A)包括:
用户启动预设消息列表,该预设消息列表中通常含有以前编辑过的文本和模板参数;
模板管理器调用模板消息编辑界面(参见图4a)对所述预设消息列表显示的预设消息进行编辑,包括:在模板消息编辑界面的需要动态替代的位置用模板参数标识,例如把手机参数$P{name}置于第一行最左位置,把系统参数$S{date}置于第二行的开始位置;模板管理器调用模板校验模块对模板消息的语法格式进行校验处理。
需要说明的是,如果预设消息列表中没有需要的模板参数,则在相应位置添加该模板参数,如果预设消息中有需要的模板参数,则将该参数放置到相应位置。
进行标识的模板参数至少包括手机参数,或者至少包括手机参数和系统参数。
本发明的校验处理包括:当发现所述模板参数中含有用户参数时,模板管理器调用自定义参数属性界面(参见图4b),由用户输入参数值;以及当发现所述模板参数中含有计算参数时,模板管理器调用计算参数编辑界面(参见图4c),由用户选择计算参数的运算代码,比如选择if($P{phone}==135********)$C{C1}=‘你是最优秀的员工’的运算代码,或者选择if($P{phone}==135********)$C{C1}=‘你是最好的员工’的运算代码。模板校验模块通过检测用户参数和计算参数的字符,来判断它们是否存在。一旦发现它们存在,就通知模板编辑器调用相应的界面进行上述处理。
作为选择,本发明的校验处理可以包括:当发现所述模板参数中含有用户参数时,模板管理器调用自定义参数属性界面,由用户选择运行时替代属性;以及当发现所述模板参数中含有计算参数时,模板管理器调用计算参数编辑界面,由用户选择计算参数的运算代码。
本发明的步骤B)包括:当模板管理器判断待使用的模板消息中具有模板参数时,调用模板消息解析模块依次进行模板参数中是否含有用户参数、系统参数、手机参数和计算参数判断;然后模板管理器根据判断结果,执行参数值替代操作。
例如用户在准备发送短消息时,用户启动图3所示的消息新建/编辑界面;然后插入如图4a所示的经编辑的模板消息。接着由模板管理器通过检测模板参数字符,判断待使用的模板消息中是否具有模板参数,如果有,则调用模板消息解析模块依次进行模板参数中是否含有用户参数、系统参数、手机参数和计算参数判断;然后模板管理器根据“有”的判断结果,执行参数值替代操作。如果某一参数没有,例如没有用户参数或者有用户参数值,则执行下一参数的判断。
模板管理器根据判断结果进行如下操作:
如果判断结果为含有用户参数且属性为运行时替代,则模板管理器调用自定义参数输入界面(参见图4d),由用户输入与用户参数对应的参数值,以替代用户参数;
如果判断结果为含有系统参数,则模板管理器调用操作系统获取系统参数值,以替代系统参数;
如果判断结果为含有手机参数,则模板管理器调用名片夹接口获取相应的手机参数值,以替代手机参数;
如果判断结果为含有计算参数,则模板管理器调用模板编译器根据计算参数的运算代码获得其参数值,例如根据编辑时的运算代码得到跟随用户参数值“张三”的“希望你工作中发挥更大的作用”的计算参数值,或者跟随用户参数值“李四”的“希望你工作中发挥更大的作用”的计算参数值。
下面结合附图5和附图6说明实现本发明的模板消息编辑的具体流程和实现本发明的模板消息使用的具体过程。
图5显示了模板消息编辑流程(以短信应用为例)。
步骤1:用户进入预设短信列表界面(通常手机短信应用都提供了预设短信模块,与图5所示的预设消息列表启动对应)。
步骤2:模板消息管理器启动并做初始化。
步骤3:用户执行添加或编辑模板消息操作(注:模板消息在预设消息列表中是原生显示的,即包含一系列参数名的字符串)。
步骤4:模板管理器调用模板消息编辑界面(如图4a,如果是添加新的模板消息,此时显示一个空的编辑界面,如果是编辑已经存在的模板消息,此时编辑区域原生显示此模板消息的内容)。
步骤5:用户在编辑界面进行模板消息的编辑,需要动态替换的地方用参数标识,即系统参数和手机参数只能在下拉框中选择插入,用户自定义参数直接以格式“$U{参数名}”的方式手工输入,计算参数以格式“$C{参数名}”的方式手工输入。
步骤6:输入完毕后选择“保存”操作。
步骤7:模板管理器调用模板校验模块对模板消息的语法格式进行校验,校验不通过返回到步骤4,并弹出错误提示框提醒用户。
步骤8:校验通过,若模板消息中包含用户自定义参数,模板管理器调用“自定义参数属性”界面(如图4b),用户需要对自定义参数做出两个选择,选择一直接输入参数值,选择二弹框输入即在运行时弹出参数界面用户在运行时输入参数值。
步骤9:校验通过,若模板消息中包含计算参数,模板管理器调用“计算参数编辑”界面(如图4c),用户选择计算参数,按照编译器支持的语法编写运算代码。
步骤10:用户在“计算参数编辑”界面选择“确定”,计算参数开始校验,若未通过,返回步骤9。
步骤11:所有参数完成编辑,返回包含了模板参数的模板消息到预设短信界面,至此保存操作完成。
步骤12:模板消息编辑流程结束。
图6显示了本发明的模板消息使用流程(以短信应用为例)
步骤1:用户进入短信编辑界面即启动消息新建/编辑界面。
步骤2:进入预设短信选择插入某一模板消息,如图4a所示的经编辑的模板消息。
步骤3:用户选择“发送”操作。
步骤4:模板管理器判断此模板消息有无模板参数,如果有调用模板消息解析模块进一步处理,如果无直接跳到步骤11。
步骤5:模板消息解析模块首先判断有无用户自定义参数并且属性是运行时替换(自定义参数的“运行时替换”的属性是在编辑时确定的,如图4b),如果有则模板管理器调出“自定义参数输入”界面(如图4d),用户在此界面输入自定义参数对应的参数值。
步骤6:用户“自定义参数输入”界面选择“确定”,在模板管理器调用模板消息解析模块替换用户自定义参数,即根据参数名找到对应的参数值并替换,至此用户参数替换完毕。
步骤7:模板消息解析模块再判断有无系统参数,如果有调用操作系统即OS相关的接口获取系统参数值,如在linux手机平台通过localtime函数获取系统时间。
步骤8:模板消息解析模块再判断有无手机参数,模板消息解析模块根据发送对象的手机号码调用名片夹接口替换对应的参数如根据手机号码找到对应的姓名。
步骤9:模板消息解析模块再判断有无计算参数,调用包含的模板编译器根据约定的语法格式计算出计算参数值。
If($P{name}==“张三”)
$C{bless}=“希望你工作中发挥更大的作用”
Else If($P{name}==“李四”)
$C{bless}=“希望你工作中发挥更大的作用”
Endif
如前述的一个计算参数$C{bless}就根据不同的名字替换为相应的值
步骤10:模板管理器把替换了所有参数的模板消息返回给短信应用程序。
步骤11:短消息应用使用替换了参数的预设消息作为发送的源消息,调用发送接口发送消息。
步骤12:模板消息使用流程结束。
从以上模板消息编辑和使用流程可以看出,模板消息解析模块是整个模板消息管理的核心,也是功能扩展点,只要解析器能够支持就可以扩展出更多的参数,预设消息使用模板后其丰富性、扩展性、易用性特点也就越来越明显了。
综上所述,本发明采用了用以下关键技术:
1.设置了模板参数,即预设消息中的可变部分,语法格式为“$参数类型{参数名称}”
可以分为以下四类:
√S代表系统参数,如“$S{date}”代表取系统日期,“$S{time}”
代表系统时间,“$S{datetime}”代表系统日期时间,“$S{month}”代表系统星期。
√P代表手机参数(即与手机号码相关的参数,这些参数都是从名片夹信息中匹配手机号码获取),如根据手机号码获取相应信息),
如“$P{name}”代表获取人名,“$P{email}”代表获取email地址。
√U代表用户参数,即自定义参数,用户自定义参数可以在发送时输入,也可以在编辑时设置。
√C代表计算参数(即此参数是通过上述的S、P、U参数值根据某种条件计算所得,这个参数也是被模板消息解析模块最后解析替换),例如有个祝福的参数$C{bless}用户可以根据不同的人名赋予不同的值,一段伪代码如下
If($P{name}==“张三”)
$C{bless}=“希望你工作中发挥更大的作用”
Else If($P{name}==“李四”)
$C{bless}=“希望你工作中更积极主动一些”
Endif。
√参数不允许嵌套,U和C参数在模板编辑时直接按相应的语法格式书写。
2、模板编辑器:提供模板消息编辑界面。
3、模板校验模块:对模板参数的语法格式进行校验。
4、模板消息解析模块:是最重要的核心模块,完成参数的解析替换以及计算参数的运算替换。
5、模板管理器:是对应用的唯一接口,实现整个模板的逻辑控制。
尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。