温馨提示:
使用安卓版本插件时需要打包选择压缩模式,不适用于平移模式,如果个别页面需要使用平移模式,可以根据需要动态切换键盘模式,调用此设置键盘模式接口。

插件测试用例与源码下载:点击插件中心至插件详情页 (插件测试用例与插件源码已经提供)
本文的目的是为了开发能够更好更快地将API集成到自己的项目中,在使用前最好先使用好我们提供的demo并对照文档运行看看效果。 这里可以【参考教程】下载AppCan IDE为开发者工具开发,然后集成到自己的项目上。
本插件的所有API默认支持Android4.0+和iOS7.0+操作系统.
有特殊版本要求的API会在文档中额外说明.
本插件所有API默认在插件版本4.0.0+可用.
在后续版本中新添加的接口会在文档中额外说明.
open //在界面的底部打开聊天输入框界面
uexChatKeyboard.open(viewInfo)  
说明:
在界面的底部打开聊天输入框界面
参数:
var viewInfo={
    "emojicons":,
    "shares":,
    "placeHold":,
    "touchDownImg": ,
    "dragOutsideImg": ,
    "textColor": ,
    "textSize": ,
    "sendBtnbgColorUp": ,
    "sendBtnbgColorDown": ,
    "sendBtnText": ,
    "maxLines":,
    "sendBtnTextSize": ,
    "sendBtnTextColor": ,
    "inputMode":,
    "keywords":,
}
各字段含义如下:
| 字段名称 | 类型 | 是否必选 | 说明 | 
|---|---|---|---|
| emojicons | String | 是 | 自定义表情配置文件的路径res协议,详见配置如下 | 
| shares | String | 是 | 自定义分享选项配置文件的路径res协议,详见配置如下 | 
| placeHold | String | 否 | 输入框提示语 | 
| touchDownImg | String | 否 | 录音按钮按下时提示控件的背景 | 
| dragOutsideImg | String | 否 | 按下录音按钮后滑动到录音范围之外时提示控件的背景 | 
| textColor | String | 否 | 录音时间文字颜色 | 
| textSize | Number | 否 | 录音时间文字大小 | 
| sendBtnbgColorUp | String | 否 | 发送按钮正常时控件的背景 | 
| sendBtnbgColorDown | String | 否 | 发送按钮按下时控件的背景 | 
| sendBtnText | String | 否 | 发送按钮展示文字 | 
| sendBtnTextSize | Number | 否 | 发送按钮文字大小 | 
| sendBtnTextColor | String | 否 | 发送按钮文字颜色 | 
| inputMode | Number | 否 | 输入框默认输入方式,0-文字输入;1-语音输入.默认为0. | 
| keywords | Array | 否 | 要监听的输入关键字,是由字符串构成的数组.默认为空数组 | 
| maxLines | Number | 否 | 输入框的最大行数 | 
参数emojicons的自定义表情配置文件为:"res://emojicons/emojicons.xml"res协议路径,详细配置步骤:
1、在widget的wgtRes目录下创建emojicons目录; 2、在emojicons目录中放入表情以及删除的图片资源,表情的默认命名格式: ace_emoji_1,删除的默认命名格式:ace_emoji_delete.png; 3、在emojicons中创建emojicons.xml文件,格式如下:
<?xml version="1.0" encoding="utf-8"?>
<emojicons delete="ace_emoji_delete.png ">
   <key>[微笑]</key>
   <string> ace_emoji_1.png</string>
   <key>[憋嘴]</key>
   <string> ace_emoji_2.png</string>
</emojicons>
delete:删除对应的图片名;key:表情对应的文字;string:表情对应的图片名;参数shares的自定义分享选项配置文件为:"res://emojicons/emojicons.xml"res协议路径,详细配置步骤:
1、在widget的wgtRes目录下创建shares目录; 2、在shares中放入分享选项的图片资源,图片的默认命名格式: ace_share_1; 3、在shares中创建shares.xml文件,格式如下:
<?xml version="1.0" encoding="utf-8"?>
<shares>
<key>拍照</key>
<string>ace_share_1.png</string>
<key>图片</key>
<string>ace_share_2.png</string>
<key>位置</key>
<string>ace_share_3.png</string>
</shares>
key:分享选项显示的文字  string:分享选项对应的图片名说明;示例:
var json = {
    "emojicons": "res://emojicons/emojicons.xml",
    "shares": "res://shares/shares.xml",
    "placeHold": "请输入内容",
    "touchDownImg": "res://1.png",
    "dragOutsideImg": "res://2.png",
    "textColor": "#FFF",
    "textSize": "15.5",
    "sendBtnbgColorUp": "#45C01A",
    "sendBtnbgColorDown": "#298409",
    "sendBtnText": "发送",
    "sendBtnTextSize": "15.5",
    "sendBtnTextColor": "#FFF",
    "inputMode":1,
    "keywords": ["@"]
};
uexChatKeyboard.open(JSON.stringify(json));
close //关闭聊天输入
uexChatKeyboard.close()
说明:
关闭聊天输入
参数:
无
示例:
uexChatKeyboard.close();
getInputBarHeight //获取输入工具条高度
uexChatKeyboard.getInputBarHeight();
说明
获取输入工具条高度
参数:
无
返回值:
Number类型,工具条高度.
示例:
var result = uexChatKeyboard.getInputBarHeight();
alert(result);
hideKeyboard //收起键盘
uexChatKeyboard.hideKeyboard()
说明:
收起键盘.
参数:
无
示例:
    uexChatKeyboard.hideKeyboard();
changeWebViewFrame //改变webview的高度以适应弹出的键盘
uexChatKeyboard.changeWebViewFrame(height)
说明:
当收到 onKeyBoardShow回调,并且status为1时调用这个方法传入当前div内容的高度,键盘会根据高度将聊天内容推上去
在键盘弹出的时候,改变浮动窗口中内容div的高度,可以避免内容被键盘遮挡。对于Android的话,需要通过js来计算进行处理;而对于iOS的需要调用changeWebViewFrame这个接口来处理。注:获取完整参考demo
参数:
| 参数名称 | 参数类型 | 是否必选 | 说明 | 
|---|---|---|---|
| height | Number | 是 | div的高度 | 
平台支持:
iOS7.0+
示例:
uexChatKeyboard.changeWebViewFrame(600);
insertTextByKeyword //通过关键字插入内容
uexChatKeyboard.insertTextByKeyword(jsonStr)
说明: 通过关键字插入内容功能。调用此接口之前需要在open方法中设置参数keywords来监听关键字(例如:@),监听方法uexChatKeyboard.onInputKeyword 例子: @好友功能,收到关键字“@”的监听uexChatKeyboard.onInputKeyword之后,选择好友。选择完毕后调用此接口添加好友到关键字@后面,或替换原有@字符。
参数:
| 参数名称 | 参数类型 | 是否必选 | 说明 | 
|---|---|---|---|
| jsonStr | String | 是 | 插入信息参数,json格式如下: | 
var jsonStr  = {
    'keyword' : ,//关键字
    'insertText' : ,//插入的数据
    'isReplaceKeyword' : // 是否替换掉关键字,0:不替换;1:替换
     };
| 参数名称 | 参数类型 | 是否必选 | 说明 | 
|---|---|---|---|
| keyword | String | 是 | 关键字 | 
| insertText | String | 是 | 插入的数据 | 
| isReplaceKeyword | Number | 是 | 是否替换掉关键字,0:不替换;1:替换 | 
示例:
var params = {
      keyword : '@',
    insertText : '@守望宝宝',
     isReplaceKeyword : 1
};
uexChatKeyboard.insertTextByKeyword(JSON.stringify(params));
setText //设置输出框的文字
uexChatKeyboard.setText(text);
说明
参数:
| 参数名称 | 参数类型 | 是否必选 | 说明 | 
|---|---|---|---|
| text | String | 是 | 输入框文字 | 
返回值:
Boolean类型,是否设置成功
示例:
var result = uexChatKeyboard.setText("文字");
alert(result);
getText //获取输出框的文字
uexChatKeyboard.getText();
说明
参数:
无
返回值:
String类型,输入框的文字
示例:
var result = uexChatKeyboard.getText();
alert(result);
onCommit //完成输入的监听方法
uexChatKeyboard.onCommit(data)
说明
完成输入的监听方法
参数:
var data={
    "emojiconsText": 
}
| 参数名称 | 参数类型 | 是否必选 | 说明 | 
|---|---|---|---|
| emojiconsText | String | 是 | 输入框里的内容 | 
示例
uexChatKeyboard.onCommit = function(data){
    alert(data);
}
onShareMenuItem //点击分享里选项的监听方法
uexChatKeyboard. onShareMenuItem(data)
说明
点击分享里选项的监听方法
参数:
| 参数名称 | 参数类型 | 是否必选 | 说明 | 
|---|---|---|---|
| data | Number | 是 | 分享里各选项对应的位置 | 
示例
uexChatKeyboard.onShareMenuItem = function(data){
    alert(data);
}
onVoiceAction //录音按钮的监听方法
uexChatKeyboard. onVoiceAction(data)
说明
录音按钮的监听方法
参数:
var data={
    "status":,//录音按钮的状态,0:开始录音,1:录音完成,-1:取消录音
}
示例
uexChatKeyboard.onVoiceAction = function(data){
    alert(data);
}
onKeyBoardShow //键盘弹出或收起时的监听方法
uexChatKeyboard.onKeyBoardShow(json)
参数:
var json = {
    status:
}
| 参数名称 | 参数类型 | 是否必选 | 说明 | 
|---|---|---|---|
| status | Number | 是 | 键盘状态 0-收起 1-弹出 | 
示例:
function onKeyBoardShow(data) {
    alert(data);
}
window.uexOnload = function(){
    uexChatKeyboard.onKeyBoardShow = onKeyBoardShow;
}
onCommitJson //点击发送的监听方法
uexChatKeyboard.onCommitJson(json)
参数:
var json = {
    emojiconsText:
}
| 参数名称 | 参数类型 | 是否必选 | 说明 | 
|---|---|---|---|
| emojiconsText | String | 是 | 输入框里的内容 | 
示例:
function onCommitJson(data) {
    alert(data);
}
window.uexOnload = function(){
    uexChatKeyboard.onCommitJson = onCommitJson;
}
onInputKeyword //编辑框输入监测的关键字之后的监听方法
uexChatKeyboard.onInputKeyword(json)
参数:
| 参数名称 | 参数类型 | 是否必选 | 说明 | 
|---|---|---|---|
| json | JSON Object类型 | 是 | 回调数据json格式如下 | 
var json = {
    keyword:,//触发的关键字
}
| 参数名称 | 参数类型 | 是否必选 | 说明 | 
|---|---|---|---|
| keyword | String | 是 | 触发的关键字 | 
示例:
window.uexOnload = function(){
    uexChatKeyboard.onInputKeyword = function(json) {
        var keyword = json.keyword;
        if(keyword == '@'){
              var params = {
                  keyword : '@',
                   insertText : '@守望宝宝',
                 isReplaceKeyword : 1
            };
            uexChatKeyboard.insertTextByKeyword(JSON.stringify(params));
        }
    }
}
API版本: uexChatKeyboard-4.0.1
最近更新时间:2017-2-06
| 历史发布版本 | 更新内容 | 
|---|---|
| 4.0.1 | 添加setText,getText接口 | 
API版本: uexChatKeyboard-4.0.1
最近更新时间:2017-2-06
| 历史发布版本 | 更新内容 | 
|---|---|
| 4.0.1 | 添加setText,getText接口 |