ljshell
----
install
Feature
Keyboard
- ljshell
- ljAppObject
- ljUserInfo
- ljHttpInfo
- speechInfo
- ljAudioRecord
- ljAudioPlayer
Usage
import React from 'react';
import { ljUserInfo } from 'ljshell';
class TestComponent extends React.Component {
componentWillMount() {
ljUserInfo.getInfo(0, call => {
this.props.onGetUserInfo(call.info)
})
ljUserInfo.getPrivilegeInfo(nAppid, call => {
this.props.onGetUserIsAdmin(call.result)
});
}
render() {
return (
<div>
test component
</div>
);
}
}
API
全局自定义事件监听器
函数:
addEventListener : function(event,listener,once)
添加一个事件监听器
参数:
event 需要监听的事件名称 对于同一个事件,可以有多个监听器
listener 监听函数 bool function(event,params) 函数返回true,导致该事件随后的监听器不再被触发 返回false 该事件随后的监听器依旧被触发
once 是否一次性监听 =true 当调用后将自动删除该监听函数
removeEventListener : function(event,listener)
移除一个事件监听器
参数:
event 需要移除监听的事件名称
listener 需要移除监听函数
fireEvent : function(event,params)
手工触发一个事件
参数:
event 触发事件名称
params 触发事件参数
fireNativeEvent : function(event,eventParams,callback)
向原生层触发一个自定义事件
参数:
event 触发事件名称
eventParams 触发事件参数
callback 原生对该事件反应后回调函数
ljAppObject
ljshell主应用对象
函数:
payOrder : function(orderno,callback)
根据提交的订单号,支付订单
closeWebView: function(res)
退出当前web应用
参数:
res 当需要向应用传递返回值时指定
函数返回:无
changeToApp: function(strUrl,callback,bWait)
切换到ljshell指定子应用
参数:
strUrl 子应用地址以及参数
bWait 是否等待 可选默认等待
函数返回:
{
code:int, //=0 成功 != 0 失败
res:object, //每个应用返回值单独指定
}
changeToAppAndClose: function(strUrl,bClose,bWait)
切换到ljshell指定子应用,并且关闭当前webview
参数:
strUrl 子应用地址以及参数
bClose 是否关闭 可选默认关闭
bWait 是否等待 可选默认等待
函数返回:无
openScan: function(callback)
切换到扫码
参数:
无
函数返回:
{
code:int, //=0 成功 != 0 失败
msg:string,
url:string, //扫码获取的url串
}
bindReturnKey: function(callback)
绑定系统返回键 callback绑定回调函数,当绑定成功后,当返回键按下时将会会调用该回调函数
****回调函数必须返回一个包含keepcallback键值的对象,如果未返回将只能得到一次调用机会
()=>{
//必要的处理
return {keepcallback:1};
}
callCustomerCenter: function()
打开系统客服系统
openUrl: function(url,callback)
在系统浏览器打开指定url
filterUrl: function(urlRegex,openType,callback)
指定在js中需要打开的url打开方式
urlRegex正则表达式用以匹配url串,如果存在相同的匹配串,将替换先前的设置
openType指定匹配的url打开方式
//打开方式 =0 不允许访问 =1 在当前View中打开 =2 在其他view中打开 =3 用外部浏览器打开 <0如果先前存在相同的匹配串,将从列表中删除
pickFile: function(type,maxCount,filter,ext,callback,param)
从系统中选择指定类型的文件
type = "image" 选择图像文件
type = "audio" 选择音频文件
type = "video" 选择视频文件
type = "screen" 选择屏幕截图
type = "document" 选择文档文件
type = "takephoto" 相机
type = "takevideo" 录制视频
type = "path" 选择路径
type = "savepath" 选择保存文件路径
maxCount>1 可以多选,最多可以选择maxCount个文件
filter可以指定文件过滤条件
ext可以指定保存默认后缀名
param参数对象
takevideo参数为{
longvideo:boolean, //是否录制长视频,默认短视频
duration:number //录制最大时长 小视频默认:15秒 长视频默认3分钟
}
copyResToPath: function(res,path,rename,callback)
拷贝资源文件到指定的路径
参数:
res 需要拷贝的资源文件
path 拷贝的目标路径 path=/album 拷贝到系统相册
rename 重新命名后的名字,null 不重新命名
函数返回:
{
code:int, //=0 成功 =1 失败
msg:string, //提示消息
}
copyDataToPath: function(data,path,name,callback)
拷贝文本数据或base64编码的文件内容到指定的路径
参数:
data 文本数据或者经过base64编码的二进制数据 格式实例: data:image/gif;base64, 如果是文本数据可不编码
path 拷贝的目标路径 path=/res/image 将把图像内容拷贝到本地,并生成一个图像资源
name 拷贝的目标文件名
函数返回:
{
code:int, //=0 成功 =1 失败
msg:string, //提示消息
res:string, //生成的资源名称
}
getLocalUrl: function(files,callback)
得到指定文件所在的本地Url
saveObjectToLocalStorage: function(appid,key,object,callback)
保存JS对象内容到本地存储
appid 应用标识
key 在本地存储中的key
object 需要保存的对象
函数返回:
{
code:int, //=0 成功 =1 失败
msg:string, //提示消息
}
getObjectFromLocalStorage: function(appid,key,object,callback)
从本地存储中读取先前保存的JS对象
appid 应用标识
key 在本地存储中的key
函数返回:
{
code:int, //=0 成功 =1 失败
msg:string, //提示消息
object:object, //返回的对象信息
}
getClassMembers: function(classid,bStudent,callback)
从系统中获取指定班级成员列表
classid 班级id
bStudent 是否仅返回学生
函数返回:
{
code:int, //=0 成功 =1 失败
msg:string, //提示消息
members:[
{
id:1,
name:'',
role:1,
grouprole:1,
},
]
}
setValueFromKey: function(key,value,callback)
在当前应用中保存一个key/value对,value必须为string类型,在应用存在期间,一直有效,
即使webview关闭。
key 对应的唯一键值,如果以前存在过相同键,则覆盖键值
value 键值,string类型
函数返回:
{
code:int, //=0 成功 =1 失败
msg:string, //提示消息
}
getValueFromKey: function(key,callback)
在当前应用中获取先前保存的key/value对,
key 对应的唯一键值
函数返回:
{
code:int, //=0 成功 =1 失败
msg:string, //提示消息
value:string, //先前保存的键值
}
doShare: function(app,appFlag,type,url,title,desc,image,callback)
像当前常用应用分享信息
app = 'qq' 分享到qq
= 'wx' 分享到微信
= 'wb' 分享到微博
appFlag = 0
对于qq 分享到QQ好友
对于微信 分享到微信好友
对于微博 分享到微博
= 1
对于qq 分享到QQ空间
对于微信 分享到微信朋友圈
对于微博 不支持
type 分享类型
//nShareType=0分享文本
//nShareType=1分享图片
//nShareType=2分享视频
//nShareType=3分享声音
//nShareType=4分享网页
//nShareType=8分享微信小程序
//nShareType=9启动微信小程序
url 分享链接地址
title 分享标题
desc 分享描述
image 相关图片,本地文件
函数返回:
{
code:int, //=0 成功 =1 失败
msg:string, //提示消息
}
changeViewSize: function(fullscreen,topmost,width,height,callback)
改变当前窗口大小,仅适用于PC版本
参数:
fullscreen 是否全屏,如果指定了全屏,可以不指定宽高
topmost 是否设置为最顶层窗口
width 窗口宽度
height 窗口高度
函数返回:
{
code:int, //=0 成功 =1 失败
msg:string, //提示消息
}
recoverViewSize: function(callback)
恢复窗口大小到changeViewSize之前大小
参数:
无
函数返回:
{
code:int, //=0 成功 =1 失败
msg:string, //提示消息
}
openDoc: function(resName,callback)
用当前系统安装应用打开指定文档
参数:
resName 资源名称或者本地绝对路径
函数返回:
{
code:int, //=0 成功 =1 失败
msg:string, //提示消息
}
resInLocal: function(resName,callback)
指定资源本地是否存在
参数:
resName 资源名称或者本地绝对路径
函数返回:
{
code:int, //=0 存在 =1 不存在
msg:string, //提示消息
}
getNavigatorProvider: function(callback)
得到当前系统安装的导航供应商
参数:
无
函数返回:
{
code:int, //=0 存在 =1 不存在
msg:string, //提示消息
providers:[
"baidu","apple","amap","tencent"
]
}
NavigatorToPos: function(provider,lng,lat,callback)
使用指定导航供应商导航到目标位置
参数:
provider 供应商名称
lng 精度
lat 纬度
函数返回:
{
code:int, //=0 存在 =1 不存在
msg:string, //提示消息
}
getCurrentGeoPosition: function(callback)
使用定位设备获取当前位置
参数:
无
函数返回:
{
code:int, //=0 存在 =1 不存在
msg:string, //提示消息
pos:{
lng:xxx,
lat:xxx,
...
},
}
getAppStatus: function(appid,callback)
得到指定app状态
参数:
appid:int, //指定appid
函数返回:
{
code:int, //=0 成功 !=0 失败
msg:string, //提示消息
info:{
appName:string, //应用名称
status:int, //0 应用不存在,可能该用户身份不能使用该应用 =1 存在该应用
appType:int, //0 内置应用 1 大厅应用 2 内部应用 3 第三方应用 4 政府应用
isWeb:int, //0 非web应用 1 一般web应用 2 react应用
install:boolean, //本地是否安装
serverVersion:int, //服务器当前版本
localVersion:int, //本地版本
}
}
getAppConfigInfo: function(appid,callback)
得到指定app配置信息
参数:
appid:int, //指定appid
函数返回:
{
code:int, //=0 成功 !=0 失败
msg:string, //提示消息
config:object
}
backToLogin: function(loginname,authcode,password)
用指定的登录名和密码/token重新登陆,调用后该函数将关闭当前的webview
参数:
loginname:string, //登录名
authcode:string, //token
password:string //密码
//注意: token和密码 两者只要有一个即可
函数返回:
函数无返回
getMySchoolInfo: function(callback)
得到自己所在学校信息,仅老师和学校管理者适用
参数:
无
函数返回:
{
code:int, //=0 成功 !=0 失败
msg:string, //提示消息
schoolid:int,//学校ID =0 表明自身学校不存在
name:string, //学校名称
province:int, //学校所在省
city:int, //学校所在市
county:int, //学校所在县
gradeno:int,//年级ID
isSixYear:int,//是否六年制
grade:[int,int],//学校年级列表
class:[{id,name,grade,master,membercount},{id,name,grade,master,membercount}],//学校班级列表
}
getVideoStreamsInfo: function(video,callback)
得到指定视频文件所有流信息列表
参数:
video 指定视频文件
函数返回:
{
code:int, //=0 成功 !=0 失败
msg:string, //提示消息
streams:[ //流信息列表
{
index:int, //流索引
id:int, //流id
type:string, //媒体类型
format:int, //像素或音频具体类型
frames:int, //总的帧数
bitrate:int, //网络比特率
width:int, //视频宽度
height:int, //视频高度
samplerate:int, //采样率
bitpersample:int, //采样深度
},
{...}
]
}
synthesizeAudio: function(audioList,totalTime,video,callback)
合并指定的音頻列表到輸出文件
参数:
audioList:[//需要合并的音频文件列表
{
input:string, //输入文件
format:string, //格式 wave/mp3
begin:int //开始时间 毫秒
},
...
]
background:string 需要合并的背景音,可以为null
totalTime:int 输出音频文件总时间(毫秒) <=0 不指定 由音频文件总时间
video:string 需要合成的原视频 不指定,则仅合成音频
函数返回:
{
code:int, //=0 成功 !=0 失败
msg:string, //提示消息
output:string //输出文件名称,如果指定了video则为合成后的视频文件,否则为音频文件
}
getAudioDuration: function(audio,callback)
得到指定的音頻文件时长,目前支持: mp3/wave
参数:
audio 音频文件名
函数返回:
{
code:int, //=0 成功 !=0 失败
msg:string, //提示消息
duration:int //返回时长 毫秒
}
getStatusColorInfo: function(callback)
得到全面屏状态栏当前的背景色信息
参数:无
函数返回:
{
code:int, //=0 成功 !=0 失败
msg:string, //提示消息
topColor:int, //上状态栏颜色 ARGB
bottomColor:int, //下状态栏颜色 ARGB
bLightText:boolean //是否高亮文本
}
SetStatusColorInfo: function(info,callback)
得到全面屏状态栏当前的背景色信息
参数:
info:{
topColor:int, //上状态栏颜色 ARGB
bottomColor:int, //下状态栏颜色 ARGB
bLightText:boolean //是否高亮文本
}
函数返回:
{
code:int, //=0 成功 !=0 失败
msg:string //提示消息
}
EnterVideoChatRoom: function(paramObj,callback)
进入指定的视频聊天房间
参数:paramObj
函数返回:
{
code:int, //=0 成功 !=0 失败
msg:string, //提示消息
roomid:string //返回房间标识
}
//当房间状态发生改变时,将触发VideoChatRoomStatusChanged事件,传递roomid标识
LeaveVideoChatRoom: function(roomid,paramObj,callback)
离开指定的视频聊天房间
参数:paramObj
函数返回:
{
code:int, //=0 成功 !=0 失败
msg:string //提示消息
}
banpaiEnterLjlx: function(userid)
从班牌进入乐教乐学
banpaiEnterDesktop: function()
从班牌进入系统桌面
enableScreenSaver: function(bEnable)
禁止/使能 班牌进入屏保模式
openFaceRecognise: function(param)
在屏幕指定位置打开人脸识别窗口
参数:param
{
left:0,
top:0,
width:100,
height:100
}
closeFaceRecognise: function()
关闭先前打开的人脸识别窗口
playBeeSound: function()
播放Bee声音
banpaiEnterLjlx: function(userid)
从班牌进入乐教乐学
getBanpaiAudioVolumn: function(callback)
获取班牌音量大小 0-100
函数返回:
{
code:int, //=0 成功 !=0 失败
msg:string, //提示消息
volumn:int //音量
}
setBanpaiAudioVolumn: function(volumn,callback)
设置班牌音量大小
volumn音量大小 0-100
函数返回:
{
code:int, //=0 成功 !=0 失败
msg:string, //提示消息
}
getWifiInfo: function(callback)
得到目前移动端所处的wifi列表
函数返回:
{
code:int, //=0 成功 !=0 失败
msg:string, //提示消息
info:string //返回wifi列表,json字符串
}
banpaiQueryAttendance: function(cardID,image,type)
请求增加指定刷卡考勤
cardID 刷卡ID
image 刷卡图像md5
type 刷卡类型 0:进,1:出,100:签到
函数返回:无
copyToClipboard: function(text,callback)
把文本复制到剪贴板
text 需要拷贝到剪贴板的文本
函数返回:
{
code:int, //=0 成功 !=0 失败
msg:string //提示消息
}
copyFromClipboard: function(callback)
从剪贴板获取文本
参数:无
函数返回:
{
code:int, //=0 成功 !=0 失败
msg:string, //提示消息
text
}
addWatchProgress: function(resname,progress,watchCnt,forceUpdate,curSecond,callback)
增加新的视频观看记录
参数:
resname:string, 视频的唯一MD5名称,如果这个视频只有连接,没有MD5名称,那么一般使用m3u8文件名,不要包含路径
progress:string, 按10秒一次记录的字符串,每位标志一个十秒的观看
watchCnt:int 是否新增观看次数,一般只是第一次调用的时候为1,播放过程中调用一律为0
forceUpdate:boolean 调用时是否需要马上上传数据,一般退出视频播放时需要置1
curSecond:int 调用时当前的播放位置,下次可以通过接口获取后从当前位置播放,精确到秒
函数返回:
{
code:int, //=0 成功 !=0 失败
msg:string, //提示消息
}
addWatchProgress2: function(resname,progress,watchCnt,forceUpdate,curSecond,userid,callback)
增加新的视频观看记录
参数:
resname:string, 视频的唯一MD5名称,如果这个视频只有连接,没有MD5名称,那么一般使用m3u8文件名,不要包含路径
progress:string, 按10秒一次记录的字符串,每位标志一个十秒的观看
watchCnt:int 是否新增观看次数,一般只是第一次调用的时候为1,播放过程中调用一律为0
forceUpdate:boolean 调用时是否需要马上上传数据,一般退出视频播放时需要置1
curSecond:int 调用时当前的播放位置,下次可以通过接口获取后从当前位置播放,精确到秒
userid:int 查看视频的用户ID =0 当前用户
函数返回:
{
code:int, //=0 成功 !=0 失败
msg:string, //提示消息
}
changeAppRotateAngleInfo: function(angle,bOnce,callback)
设置大厅应用旋转的角度
参数:
angle:int, 旋转的角度 0 90 180 270
bOnce:boolean, 是否仅应用当前,应用重新启动后恢复,否则为永久
函数返回:
{
code:int, //=0 成功 !=0 失败
msg:string, //提示消息
}
getPackageInfo: function(uri,callback)
获取指定uri对应的应用的versionCode,>0 表明应用已安装,可以启动
参数:
uri:string, 应用包名或者scheme名
函数返回:
{
code:int, //=0 成功 !=0 失败
msg:string, //提示消息
versionCode:int //应用包versionCode
}
launchPackageApp: function(uri,callback)
调起指定uri对应的应用
参数:
uri:string, 应用包名或者scheme名
函数返回:
{
code:int, //=0 启动成功 !=0 启动失败
msg:string, //提示消息
}
checkAuthPermission: function(name,onlycheck,callback)
检测指定权限是否已开启,如果没开启,请求用户开启
参数:
name:string, 请求权限名称
"internet" //允许程序打开网络套接字
"record_audio" //允许程序录制音频
"camera" //允许程序拍照
"video" //允许程序录制视频
"write_external_storage" //允许程序写入外部存储
"read_phone_state" //允许程序访问电话状态
"location" //允许程序使用定位
"call_phone" //允许程序打电话
"send_sms" //允许程序发短信
"photo_and_camera"
"photo"
"initial_access" //必须的初始化权限
onlycheck:bool 是否仅检测 默认值=false 不存在则向用户请求该权限
函数返回:
{
code:int, //=0 启动成功 !=0 启动失败
msg:string, //
name:string //请求权限名称
grant:int //=0 未获取 =1 已获取
}
enterWakeLock: function()
应用进入屏幕常亮状态,不熄屏
leaveWakeLock: function()
应用离开屏幕常亮状态,常规熄屏
ljUserInfo
ljshell用户信息对象
函数:
getInfo : function(userid,callback)
获取当前用户信息,userid=0获取当前登陆用户信息
getPrivilegeInfo : function(appid,callback)
获取当前用户对于应用是否拥有权限
getPrivilegeDetailInfo : function(appinfo,callback)
获取当前用户对于应用是否拥有权限
getUserNickname:function(params,callback)
获取群组或用户的昵称
params参数对象
{
groups:[groupid,groupid...],
users:[userid,userid...],
wait:int //是否等待全部结果 =0 不等待,对于本地没缓存的先返回临时结果 =1 等待,更新缓存后才返回结果
}
函数返回:
{
code:int, //=0 成功 =1 失败
msg:string, //提示消息
names:[
{
userid:int,
nickname:string
},
...
]
}
getUserLogo:function(params,callback)
获取群组/用户/应用图标
params参数对象
{
type:int, // =0 用户图像 =1 群组图像 =2 应用图像
userid:int //对应的用户/群组/应用ID
}
函数返回:
{
code:int, //=0 成功 =1 失败
msg:string, //提示消息
data:string //图像的base64
}
ljDepartmentInfo
ljshell组织架构对象
函数:
getDepartmentInfo : function(id,callback)
获取指定ID对应的部门信息 id=0 最上层部门
参数:
id:int //部门id =0 最上层部门
函数返回:
{
code:int, //=0 成功 =1 失败
msg:string, //提示消息
info:object //部门信息
}
getDepartRoleList : function(callback)
获取组织结构里职务列表
参数:
无
函数返回:
{
code:int, //=0 成功 =1 失败
msg:string, //提示消息
list:[object] //职务列表信息数组
}
ljHttpInfo
ljHttpInfo封装ljshell内部网络消息
函数:
fetch:function(url,param)
从服务器获取指定url数据 url可以带全路径 对于ljshell内部请求,不用附加全域名
param参数对象 =null 默认采用Get方法
{
method:"GET",//'POST'
body:string, //对于post方法,body为post内容
json:int, //=0 参数列表方式 =1 采用json字段 =2 采用json格式 content-type=json =3 原生请求 不处理结果,直接把body内容传送
wait:int, //=0 不等待结果 =1 等待服务器结果
timeout:int, //超时 默认20秒
headers: //附加头
{
'user-agent':string,
...
}
}
函数返回一个promise对象
code:int, //返回0 成功 !=0 失败
httpcode:int, //返回http返回码
msg:string, //提示消息
data:{} //返回数据
query:function(url,param,callback)
从服务器获取指定url数据 url可以带全路径 对于ljshell内部请求,不用附加全域名
param参数对象 =null 默认采用Get方法
{
method:"GET",//'POST'
body:string, //对于post方法,body为post内容
json:int, //=0 参数列表方式 =1 采用json字段 =2 采用json格式 content-type=json
wait:int, //=0 不等待结果 =1 等待服务器结果
headers: //附加头
{
'user-agent':string,
...
}
}
函数返回调用callback,参数
code:int, //返回0 成功 !=0 失败
httpcode:int, //返回http返回码
msg:string, //提示消息
data:{} //返回数据
upload:function(files,callback)
上传文件到服务器 files是一个文件数组
files:[
{
type:string, //上传文件类型 'image' 'document' 'audio' 'video' 'other'
res:string, //资源名
},
...
]
函数再上传过程中会不停的调用callback已通知指定的上传状态
返回:
code:int, //返回 =0 开始上传 =1 正在上传 =2 上传成功 <0 失败
percent:int, //上传百分比 0-100
msg:string, //提示消息
urls:[ //上传成功后返回对应的url列表信息
{
"rscname":string,
"local":string,
"url":string,
}
]
download:function(files,callback)
从服务器下载文件 files是一个文件数组
files:[
resName, //需要下载的文件URI
resName
...
]
函数在下载过程中会不停的调用callback已通知当前的下载状态
返回:
code:int, //返回 =0 开始下载 =1 正在下载 =2 下载成功 <0 失败
percent:int, //上传百分比 0-100
msg:string, //提示消息
urls:[ //下载成功后返回对应的url列表信息
{
"rscname":string,
"local":string,
"url":string,
}
]
downloadvideo:function(url,localfile,param,callback)
从服务器下载m3u8视频
url:
m3u8视频地址
localfile:
保存本地文件名
param:
{
workpath:string, //工作路径,不传采用localfile所在路径
resname:string, //如果不为null,则自动根据资源名称获取m3u8地址,此时url可为null
}
函数在下载过程中会不停的调用callback已通知当前的下载状态
返回:
code:int, //返回 =0 开始下载 =1 正在下载 =2 下载成功 <0 失败
percent:int, //上传百分比 0-100
msg:string, //提示消息
getResourceUrl(resname,callback)
得到指定资源名对应的外网url地址
返回:
{
code:int, //返回 =0 成功 !=0 失败
msg:string, //提示消息
url:string //对应的url地址
}
getResourceLocalUrl(resname,callback,width,height,viewWidth,viewHeight)
得到指定资源名对应的内网url地址,如果本地不存在,将下载指定文件成功后再触发回调
返回:
{
code:int, //返回 =0 成功 !=0 失败
msg:string, //提示消息
url:string //对应的url地址
}
getResourceData(resname,callback)
得到指定资源名对应的内容数据base64编码
返回:
{
code:int, //返回 =0 成功 !=0 失败
msg:string, //提示消息
data:string //对应的内容base64编码数据
}
queryPreviewDoc(resname,callback)
請求指定的资源预览图像文件列表
参数:
resName 资源名称
函数返回:
{
code:int, //=0 成功 =1 失败
msg:string, //提示消息
files:[
{
res:string, //资源名称
width:0, //宽度
height:0, //高度
},
...
]
}
speechInfo
ljshell语音评测信息类
函数
initEvalute(callback) //评测初始化,成功后才能开始评测
调用参数: 无
注意:
callback 将统一用于initEvalute,startEvalute,endEvalute回调返回
当状态发生改变时返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
status:int, //当前状态 =100 表明评测初始化
startEvalute(type,language,text,userdata,callback) //开始评测
调用参数:
{
type:string, //类型
language:string, //语言
text:string, //评测文本
userdata:userdata, //用户数据,可为任意类型
}
当状态发生改变时返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
userdata:userdata, //用户数据
status:int, //当前状态 =0 录音过程中 =1 录音完成 =2 评测完成
rettype:int, //评测结果串类型 =0 正常串 =1 json串 =2 xml串
result:string, //评测结果
audio:string, //录音数据base64编码
endEvalute //结束评测
调用参数:
无
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
status:int, //当前状态 =200 表明结束评测
getTranslationFromWord(word,callback) //得到一个单词的相关翻译和读音
调用参数:
word
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
data:object //单词翻译相关结构
startRecognise(realtime,resname) //开始语音识别
调用参数:
{
realtime:bool, //是否实时评测
resname:string, //直接采用语音资源文件评测
}
endRecognise() //结束语音识别
调用参数:
无
开始识别后到结束,将定期调用startRecognise设置的回调函数
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
res:{
status:int, //识别状态
enum{
status_unknown = 0,
status_start = 1,
status_end = 2,
status_process = 3,
status_error = -1,
};
text:string, //当前识别出的文本
}
ljMathProblem
ljshell数学判题类
函数
takeMathPhoto(callback) //打开相机拍题
调用参数:
无
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
image:string, //最终生成的本地图片名称
judgeMathProblem(image,callback) //把指定的图像提交判题,返回结果
调用参数:
image //本地文件名称
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
result:object, //最终生成的判题结果
ljAudioRecord
ljshell音频原生录音操作类
函数
startRecord(callback) //开始录音
调用参数:
无,回调直接调用StartRecord时设置的回调
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
status:"start", //提示返回状态
pauseRecord() //暂停录音
调用参数:
无,回调直接调用StartRecord时设置的回调
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
status:"pause", //提示返回状态
url:"http://xxxx" //返回当前可播放的录音当前数据url
resumeRecord() //恢复录音
调用参数:
无,回调直接调用StartRecord时设置的回调
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
status:"resume", //提示返回状态
stopRecord() //停止录音
调用参数:
无,回调直接调用StartRecord时设置的回调
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
status:"stop", //提示返回状态
cancelRecord() //取消录音
调用参数:
无,回调直接调用StartRecord时设置的回调
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
status:"cancel", //提示返回状态
resetRecord() //重置当前录音
调用参数:
无,回调直接调用StartRecord时设置的回调
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
status:"reset", //提示返回状态
setAudioPosition(fSec) //定位到新位置,重新开始录音
调用参数:
fSec 单位秒,定位到指定时间位置,回调直接调用StartRecord时设置的回调
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
status:"position", //提示返回状态
onCallback() //当录音状态发生改变是调用
调用参数:
主动返回,无需调用,回调直接调用StartRecord时设置的回调
停止前(调用stopRecord之前)
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
status:"onupdate", //提示返回状态
duration:1.2, //当前已录制的时长(单位:秒)
volume:123, //当前录制音量
停止后(调用stopRecord之后)
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
status:"onpercent", //提示编码进度 =100 成功
percent:12, //当前进度
url:"", //最终录音文件Url地址
name:"", //最终录音文件ID
showname:"", //最终录音文件显示名称
回调编写实例
onCallback(callinfo){
let res = {};
if (callinfo.code !== 0){
console.log("录制出错了",callinfo.msg);
res.keepcallback = 0;//出错了,无需保持回调,下次不会再调用了
}
else{
switch(callinfo.status){
case "start":
console.log("开始录制了。。。");
res.keepcallback = 1;//保持回调,以便下次还能触发
break;
case "pause":
console.log("暂停录制了。。。,可播放的地址:",callinfo.url);
res.keepcallback = 1;//保持回调,以便下次还能触发
break;
case "resume":
console.log("录制重新恢复了。。。");
res.keepcallback = 1;//保持回调,以便下次还能触发
break;
case "reset":
console.log("录制重置成功了。。。");
res.keepcallback = 1;//保持回调,以便下次还能触发
break;
case "onupdate":
console.log("录制中有数据了:数据长度:",callinfo.duration,"当前音量:",callinfo.volume);
res.keepcallback = 1;//保持回调,以便下次还能触发
break;
case "stop":
console.log("录制已成功停止。。。,可播放的地址:",callinfo.url,"本地文件:",callinfo.file);
res.keepcallback = 0;//已经停止录音,无需保持回调,下次不会再调用了
break;
default:
res.keepcallback = 0;//不应该运行到这,无需保持回调,下次不会再调用了
break;
}
}
return res;
}
ljAudioPlayer
ljshell音频播放类
函数
open(res,callback) //打开指定的音频资源
调用参数:
res 音频资源名
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
id:string, //返回id
status:"loading/start/failed", //提示返回状态 返回start之后表明打开成功
//成功打开以后会不停地调用该回调 返回当前的播放状态 playing
close(id) //停止音频播放
调用参数:
id 先前打开的音频id,回调直接调用open时设置的回调
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
id:string,
status:"closed", //提示返回状态
pause(id) //暂停播放
调用参数:
id 先前打开的音频id,回调直接调用open时设置的回调
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
id:string,
status:"pause", //提示返回状态
resume(id) //继续播放
调用参数:
id 先前打开的音频id,回调直接调用open时设置的回调
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
id:string,
status:"resume", //提示返回状态
getPos(id) //得到当前播放位置
调用参数:
id 先前打开的音频id,回调直接调用open时设置的回调
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
status:"getpos", //提示返回状态
id:string,
pos:int, //返回当前位置
duration(id) //得到当前播放位置
调用参数:
id 先前打开的音频id,回调直接调用open时设置的回调
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
status:"getduration", //提示返回状态
id:string,
duration:int, //返回音频总时间
setPos(id,pos) //设置当前播放位置
调用参数:
id 先前打开的音频id
pos 当前播放位置,单位毫秒,回调直接调用open时设置的回调
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
id:string,
status:"setpos", //提示返回状态
onCallback() //当播放状态发生改变时调用
调用参数:
主动返回,无需调用,回调直接调用open时设置的回调
停止前(调用close之前)
返回:
code:int, //返回0 成功 !=0 失败
id:string, //对应音频id
msg:string, //提示消息
status:"playing", //提示返回状态
pos:1231, //当前播放位置(单位:毫秒)
回调编写实例
onCallback(callinfo){
let res = {};
if (callinfo.code !== 0){
console.log("播放出错了",callinfo.msg);
res.keepcallback = 0;//出错了,无需保持回调,下次不会再调用了
}
else{
switch(callinfo.status){
case "start":
console.log("开始播放了。。。");
res.keepcallback = 1;//保持回调,以便下次还能触发
break;
case "pause":
console.log("暂停播放了");
res.keepcallback = 1;//保持回调,以便下次还能触发
break;
case "resume":
console.log("播放恢复了。。。");
res.keepcallback = 1;//保持回调,以便下次还能触发
break;
case "playing":
console.log("正在播放:当前位置:",callinfo.pos);
res.keepcallback = 1;//保持回调,以便下次还能触发
break;
case "stop":
console.log("播放停止。。。");
res.keepcallback = 0;//已经停止播放,无需保持回调,下次不会再调用了
break;
default:
res.keepcallback = 0;//不应该运行到这,无需保持回调,下次不会再调用了
break;
}
}
return res;
}
ljGifObject
ljshell gif文件操作类
函数
open(res,callback) //打开指定的gif文件资源
调用参数:
res gif文件资源名
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
id:string, //返回id
close(id) //关闭先前打开的gif文件
调用参数:
id 先前打开的gif文件id
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
getFrameCount(id) //得到gif文件总的帧数
调用参数:
id 先前打开的gif文件id
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
count:int //返回总帧数
getGifDimension(id) //得到gif文件宽高信息
调用参数:
id 先前打开的gif文件id
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
width:int, //返回宽度
height:int //返回高度
getGifFrameImage(id,index) //得到gif文件指定帧图像信息
调用参数:
id 先前打开的gif文件id
index帧索引
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
width:int, //返回宽度
height:int, //返回高度
duration:int, //该帧延时,单位毫秒
image:string //本地文件名,格式png格式
ljTaobao
ljshell taobao应用操作类
函数
login(callback) //调起淘宝应用,进行登陆授权
调用参数:
无
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
id:string, //返回openid
logout(callback) //调起淘宝应用,取消当前的登陆授权
调用参数:
无
返回:
code:int, //返回0 成功 !=0 失败
msg:string //提示消息
openTrade(url,callback) //在淘宝中打开指定的商品连接
调用参数:
url 商品链接地址
返回:
code:int, //返回0 成功 !=0 失败
msg:string //提示消息
ljAdInfo
ljshell 广告操作类
函数
createADObject(appid,subid,page,index,callback) 创建指定广告位的广告对象
调用参数:
appid 广告位对应应用ID int
subid 广告位对应应用子ID int
page 广告位对应页面索引 int
index 广告位对应位置索引 int
返回参数json:
code:int, //=0 成功 =1 失败
msg:string, //提示消息
object:string //成功返回广告位对象
//成功后,当广告对象需要显示时会再次调用该回调,注意,一个广告位可能会多次触发广告显示,每次显示不同的广告,adid不同
closeADObject(object,callback) 关闭先前创建的广告位对象
调用参数:
object 广告位对象 string
返回参数json:
code:int, //=0 成功 =1 失败
msg:string //提示消息
reportADStatus(object,adid,type,callback) 当广告对象状态发生改变时调用
调用参数:
object 广告位对象 string
adid 广告对象标识 string
type 状态类型 int
=1 广告被点击
返回参数json:
code:int, //=0 成功 =1 失败
msg:string //提示消息
presentcallback当广告位有广告需要展示时,触发createADObject对应的回调
调用参数:
code:int, //=0 成功 =1 失败
msg:string //提示消息
object 广告位对象 string
adid 广告位广告对象标识 string
slotType 广告位类型 int
ADSLOT_TYPE_LAUNCHSCREEN = 0, //开屏
ADSLOT_TYPE_INFOSTREAM = 1, //信息流
ADSLOT_TYPE_INTERSTITIAL = 2, //插屏
ADSLOT_TYPE_BANNER = 3, //Banner
ADSLOT_TYPE_MARKAD = 4 //弹框小广告
showType 广告位展示类型 int
ADSHOW_TYPE_IMAGE = 0, //广告位展示类型 全图 一张大图
ADSHOW_TYPE_VIDEO = 1, //广告位展示类型 全视频
ADSHOW_TYPE_IMAGETEXT = 2, //广告位展示类型 图+文字 -- 左右
ADSHOW_TYPE_TEXTIMAGE = 3, //广告位展示类型 文字+图 -- 左右
ADSHOW_TYPE_IMAGEUPTEXT = 4, //广告位展示类型 图+文字 -- 文字在图上方
ADSHOW_TYPE_IMAGEDOWNTEXT = 5, //广告位展示类型 图+文字 -- 文字在图下方
ADSHOW_TYPE_SMALLIMAGEUPTEXT = 6, //三小图+图 --文字在图上方
ADSHOW_TYPE_SMALLIMAGEDOWNTEXT = 7, //三小图+图 --文字在图下方
ADSHOW_TYPE_IMAGEDOWNIMAGETEXT = 8, //一张大图+小图+文字 --小图+文字在大图下方
ADSHOW_TYPE_IMAGEUPIMAGETEXT = 9, //一张大图+小图+文字 --小图+文字在大图上方
ADSHOW_TYPE_VIDEODOWNIMAGETEXT = 10, //视频+小图+文字 --小图+文字在视频下方
ADSHOW_TYPE_VIDEOUPIMAGETEXT = 11 //视频+小图+文字 --小图+文字在视频上方
transparent 是否透明背景 boolean
stretch 是否拉伸 否则维持宽高比 boolean
width int
height int
广告位大小 (推荐大小,主要用作宽高比)
imageWidth int
imageHeight int
大图图像大小 (推荐大小,主要用作宽高比)
showadFlag 是否显示广告标识 int
=0 不显示广告标识 =1 左下角,如果存在文本描述,则在下面单起一行 。。。
adFlagName 显示广告标识名称 默认:"广告" string
priority 广告位优先级 0-100 int
mainImage 大图/视频/第一张小图图像 string
middleImage 第二张小图图像 string
lastImage 第三张小图图像 string
backvideoImage 托底图片,如果视频不能播放,显示该图片 string
logo 角标 string
title 广告标题 string
content 广告内容 string
ljDigitalPen
点阵笔数据操作类
函数
InitDigitalPen (options,callback) //初始化点阵笔数据类
调用参数:
options:object 点阵笔初始化参数
返回:
code:int, //返回0 成功 !=0 失败
msg:string //提示消息
callback
设置该回调后,其后当有笔迹消失时调用
Start(callback) //初始化点阵笔SDK
调用参数:
无
返回:
code:int, //返回0 成功 !=0 失败
msg:string //提示消息
Stop(callback) //停止接收点阵笔的信息
调用参数:
无
返回:
code:int, //返回0 成功 !=0 失败
msg:string //提示消息
CloseDigitalPen(callback) //释放点阵笔数据类
调用参数:
无
返回:
code:int, //返回0 成功 !=0 失败
msg:string //提示消息
SetDigitalPenStatus(param,callback) //设置点阵笔数据
调用参数:
param:object //设置参数
返回:
code:int, //返回0 成功 !=0 失败
msg:string //提示消息
SpeechSynthesizer
语音合成相关操作类
函数
init (vendor,props,callback) //初始化语音合成
调用参数:
vendor:int, //语音合成厂商id
props:object //初始化属性
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
result:object //返回结果
settings(vendor,settings,callback) //设置语音合成相关参数
调用参数:
vendor:int, //语音合成厂商id
settings:object //相关设置属性
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
result:object //返回结果
speek(vendor,info,callback) //语音合成发声
调用参数:
vendor:int, //语音合成厂商id
info:object //发声属性
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
result:object //返回结果
close(vendor,props,callback) //关闭合成发声,释放内部资源
调用参数:
vendor:int, //语音合成厂商id
props:object //关闭属性
返回:
code:int, //返回0 成功 !=0 失败
msg:string, //提示消息
result:object //返回结果