图片助手功能接口(PictureAssist)

描述

供web页面通过客户端进行图片操作 该功能拟6.1.0以上的版本才支持,以下版本不能调用请注意兼容。

调用方式

H5页面将图片保存在手机相册

http://CMBLS/PictureAssist?id=XXX&action=SavePictureToAlbum&picData=xxx

H5页面对屏幕特定区域进行截图保存到相册功能

http://CMBLS/PictureAssist?id=XXX&action=ScreenShot&picPrefix=xxx&areas=aJsonStrk&needThumbnails=xxxx&needSave=xxx&origin_maxSize=xxx&thumbnails_maxSize=xxx

H5页面对屏幕特定区域进行截图并导入页面

http://CMBLS/PictureAssist?id=XXX&action=ScreenShot&picPrefix=xxx&areas=aJsonStrk&needThumbnails=xxxx&needUpload=xxxx&origin_maxSize=xxx&thumbnails_maxSize=xxx

H5页面从相册选择多张图片或拍照并将图片压缩处理后导入页面

http://CMBLS/PictureAssist?id=XXX&action=SelectPictures&selectType=camera&maxCount=XXX&origin_maxSize=xxx&needThumbnails=xxxx&thumbnails_maxSize=xxx


参数

参数说明
id功能标识。
action操作类型。可能的取值: SavePictureToAlbum 将图片保存在手机相册; ScreenShot 对屏幕特定区域进行截图保存到相册功能;SelectPictures 从相册选择多张图片或拍照并将图片压缩处理后导入页面。
selectType选择的图片的来源,可能的取值: album 表示来自相册,camera 表示来自相机拍照 , both表示 提供两种选择给用户自行选择,默认值为both。
maxCount需要选择的图片的最大数量,参数区间1~9。
picData图片数据流, 先经过base64 encode再经过UrlEncode(UTF-8)的字符串。
needThumbnails是否需要缩略图。
origin_maxSize原图的目标尺寸大小,以K为单位,默认为300k,传参时只传数字部分,不要k。
thumbnails_maxSize缩略图的目标尺寸大小,以K为单位, 默认为30k,传参时只传数字部分,不要k。
picPrefix截图保存的前缀名(iOS无法命名),如无提供,将使用默认的形式 如snap_timestamp.jpg 来命名。
needUpload截图后是否直接上传,默认为false。
needSave截图后是否保存,默认为true。
areas截图区域的json字符串,如 {"areas" : [{"left":xxx , "top":xxx , "width":xxx , "height":xxx}, ...]},可支持多个区域,注意,areas对应的Json字符串需要做UrlEncode(UTF-8)编码, area包含的参数个数在1~9之间。
left截图矩形区域左上角顶点边x坐标。
top截图矩形区域左上角顶点边y坐标。
width截图矩形区域宽度。
height截图矩形区域高度。


PS: iOS的网页截图操作,由于系统api的问题,在一些超长网页存在偶发截图为白屏的情况,截图最好控制在一页内,如实在不能接受偶现的白屏,网页可考虑自己生成图片数据,以便调用后续的保存图片接口或分享接口。

返回调用接口

CMBLS.PictureAssist.successCallback(id,message)

CMBLS.PictureAssist.failCallback(id,message)


返回值

没有指定action

<result>
    <stateCode>1</stateCode>
    <description>没有指定action</description>
</result>

a)

<result>
    <stateCode>0</stateCode>
    <description>成功保存图片到本地</description>
</result>
<result>
    <stateCode>2</stateCode>
    <description>保存图片到本地失败</description>
</result>

b)

注:不需要上传
<result>
    <stateCode>0</stateCode>
    <description>成功保存截图到本地</description>
</result>
注:需要上传
<result>
    <stateCode>0</stateCode>
    <thumbnailsPicData>
        <pictureData>pictureData1</pictureData>
        <pictureData>pictureData2</pictureData>
        …
    </thumbnailsPicData>
    <originPicData>
        <pictureData>pictureData1</pictureData>
        <pictureData>pictureData2</pictureData>
        …
    </originPicData >
</result>
注:如果 needUpload 为 true,则后续会跟着图片数据
originPicData以及 thumbnailsPicData 两个标签中的子标签代表了每一张图片的base64字符串数据,子标签的顺序也代表了每一张图片的选择顺序,如果 needThumbnalis  为 false,则不会有 thumbnailsPicData标签
<result>
    <stateCode>3</stateCode>
    <description>保存截图到本地失败</description>
</result>
<result>
    <stateCode>4</stateCode>
    <description>areas 格式异常</description>
</result>
<result>
    <stateCode>5</stateCode>
    <description>left/top/width/height截屏范围越界</description>
</result>
<result>
    <stateCode>8</stateCode>
    <description>截图上传失败</description>
</result>

c)

<result>
    <stateCode>0</stateCode>
    <thumbnailsPicData>
        <pictureData>pictureData1</pictureData>
        <pictureData>pictureData2</pictureData>
        …
    </thumbnailsPicData>
    <originPicData>
        <pictureData>pictureData1</pictureData>
        <pictureData>pictureData2</pictureData>
        …
    </originPicData >
</result>
注:originPicData以及 thumbnailsPicData 两个标签中的子标签代表了每一张图片的base64字符串数据,子标签的顺序也代表了每一张图片的选择顺序,如果 needThumbnalis  为 false,则不会有 thumbnailsPicData标签
<result>
    <stateCode>6</stateCode>
    <description>图片上传失败</description>
</result>
<result>
    <stateCode>7</stateCode>
    <description>maxCount必须在1至9之间</description>
</result>



调用实例

备注