# 原生 api 封装

调用原生的方法封装于对象中,通过 SANHAPP.xx() 调用

# 1、关闭 h5 页面

// 于点击事件中直接调用 
SANHAPP.back()

# 2、调用二维码

/**
 * @param {function} callback 回调函数
 * @return {String} 二维码数据
 * */
SANHAPP.scanCode((res) => {
    console.log(res)   // 二维码存的信息,如:http://p.jxcloud.3hmis.com/
})

# 3、获取定位

推荐使用组件调用方式,具体参考公共组件获取定位部分

调用:

/**
 * @param {function} callback 回调函数
 * @return {Obejcet} 经纬度
 * */
SANHAPP.locate((res) => {
    console.log(res)   // 经纬度,如:{lat: 112.233, lgt: 1233.2222}
})

# 4、拍照上传

调用:

/**
 * @param {function} callback 回调函数
 * @param {Number} type调用类型 1:相机拍照(默认) 2:选择相册图片和拍照 3:选择相册图片
 * @param {Number} 上传图片张数,默认1
 * @param {String} token
 * @param {String} 上传地址
 * @return {String} 图片地址
 * */
SANHAPP.photo((res) => {
    console.log(res)   
},2)

# 5、带水印拍照

调用:

/**
 * @param {function} callback 回调函数
 * @return {String} 图片地址
 * */
SANHAPP.markphoto((res) => {
    console.log(res)   
})

# 6、人脸识别

调用:

/**
 * @param {function} callback 回调函数
 * */
SANHAPP.baiduFace((res) => {
    console.log(res)   
})

# 7、录制视频

调用:

/** 录制视频
 * @param {function} fn 回调函数
 * @param {string} serverurl 服务器地址
 */
SANHAPP.vedio((res) => {
    console.log(res)   
},serverurl)

# 8、NFC(IOS暂未提供)

调用:

/**
 * @param {function} callback 回调函数
 * */
SANHAPP.NFC((res) => {
    console.log(res)   
})

# 9、播放rtsp视频

  /**
   * rtsp视频流
   * @param {string} rtsp 视频链接,如:"rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov"
   * @param {string} pk 视频 pk
   * @param {string} linkUrl
   * @param {string} serverurl 视频服务器地址
   */
SANHAPP.playRtsp(rtsp, pk, linkUrl, serverurl)

# 10、选择文件(IOS暂未提供)

/**
 * @param {function} callback 回调函数
 * @param {String} token token
 * @param {String} serverurl 上传地址
 * @param {number}  size 文件大小限制(可选)
 * @param {string}  fileUnit 单位:B ,K,M,G (可选)
 * size和fileUnit都传或者都不传
 * */

SANHAPP.chooseFile(res=>{
  console.log(res);
},token,serverurl)

# 11、调用分享链接到微信好友

/**
 * @param {string} url 链接
 */
SANHAPP.Sshare(url)

# 12、设置logo消息红点提示数

/**
 * @param {string} data 如:'8'
 */
SANHAPP.badgeNumber(data)

# 13、NFC 第五区块读写操作(IOS暂未提供)

/**
 * 写入方法
 * @param {string} data 写入数据
 * */
SANHAPP.writeNFC(res=>{
  console.log(res)
},data)

/**
 * 读取方法
 * @param {function} callback 回调函数
 * */
SANHAPP.readNFC(res=>{
  console.log(res);
})

# 14、身份证上传api


  /**
   * 身份证上传api
   * @param {Funtion} fn 回调
   * @param {Number} type 身份证正反面 (1 正面,0反面)
   * @param {String} url 服务器地址
   */
SANHAPP.takephoto(res=>{
  console.log(res);
},type,url)

# 15、ai识别-试块(IOS暂未提供)

  /**
   * ai识别-试块
   * @param {Funtion} fn 回调
   * @param {Number} type 0、普通(摄像头不带红框的AI)/1、取样/2、出库.
   * @param {String} params 后台需要参数 可ID  可JSONString 后台解析
   * @param {String} token token
   * @param {String} fileUrl 后台接口服务器地址
   * @param {String} aiUrl AI后台服务器地址
   */
SANHAPP.photoAI(res=>{
  console.log(res);
})

# 16、实名认证


  /**
   * 实名认证
   * @param {Number} type 0 未认证;1已认证(审核通过);2失败
   * @param {String} personId 人员id
   */
  SANHAPP.personAuth(res => {
    console.log(res)
  }, type, personId)

# 17、人脸比对的api

  /**
   * 人脸比对的api
   * @param {Function} fn 回调  返回true或者false
   */
   SANHAPP.baiduAIFace(fn)

# 18、mini文件服务器专用-视频

调用:

/**
 * @param {function} callback 回调函数
 * @param {String} token token
 * @param {String} serverurl 上传地址
 * */
SANHAPP.minivedio((res) => {
    console.log(res)   
},token,serverurl)

# 19、mini文件服务器专用-拍照

调用:

/**
 * @param {function} callback 回调函数
 * @param {Number} type 1:相机拍照(默认) 2:选择相册图片和拍照 3:选择相册图片
 * @param {Number} num 上传图片张数,默认1
 * @param {String} token token
 * @param {String} serverurl 上传地址
 * */
SANHAPP.miniphoto((res) => {
    console.log(res)   
},type, num, token, serverurl)

# 20、通讯录

  1. 方法调用:
SANHAPP.shContact()
  1. sh-layout 底部菜单调用

avatar

如项目使用了如上图sh-layout 布局,想要在点击底部菜单时打开通讯录,请将对应菜单配置为 /SH-shContact

# 21、消息

  1. 方法调用:
SANHAPP.shMessage()
  1. sh-layout 底部菜单调用

对应菜单配置为 /SH-shMessage

# 22、我的

  1. 方法调用:
SANHAPP.shMine()
  1. sh-layout 底部菜单调用

对应菜单配置为 /SH-shMine

# 23、待办

  1. 方法调用:
SANHAPP.shMatter()
  1. sh-layout 底部菜单调用

对应菜单配置为 /SH-shMatter

# 24、通知公告

  1. 方法调用:
SANHAPP.shNotice()
  1. sh-layout 底部菜单调用

对应菜单配置为 /SH-shNotice

# 25、退出登录

调用:

SANHAPP.loginOut()

# 26、自定义水印

调用:

/**
 * @param {function} callback 回调函数
 * @param {String} contents 内容
 * @param {String} token token
 * @param {String} serverurl 上传地址
 * */
SANHAPP.customMarkphoto(res=>{
  console.log(res)
},contents,token,serverurl)

# 27、自定义水印(mini服务器)

调用:

/**
 * @param {function} callback 回调函数
 * @param {String} contents 内容
 * @param {String} token token
 * @param {String} serverurl 上传地址
 * */
SANHAPP.customMarkphotoMini(res=>{
  console.log(res)
},contents,token,serverurl)

# 28、预览文件

/**
 * @param {String} url 预览文件链接
 * */
SANHAPP.openOffice(url) 

# 29、添加缓存

/**
 * @param {String} pageId 缓存页面唯一ID
 * @param {String} content 缓存内容
 * */
SANHAPP.addCache(pageId, content) 

# 30、删除缓存

/**
 * @param {String} pageId 缓存页面唯一ID
 * */
SANHAPP.deleteCache(pageId) 

# 31、获取缓存

/**
 * @param {String} pageId 缓存页面唯一ID
 * */
const content = SANHAPP.getCache(pageId) 

# 32、同一界面读写芯片

/**
 * 写入方法
 * @param {*} type 类型
 * @param {*} text 写入数据
 */
SANHAPP.writeNFCUnify(res=>{
  console.log(res)
},type, text)

/**
 * 读取方法
 * @param {*} type 类型
 * */
SANHAPP.readNFCUnify(res=>{
  console.log(res);
},type)

# 33、调用地图

/**
 * 地图
 * @param {String } lat 纬度
 * @param {String } lgt 经度
 * @param {String } address 地址
 */
SANHAPP.MapWakeUp(lat, lgt, address)

/**
 * 地图
 * @param {String } address 地址
 */
SANHAPP.MapWakeUp(address)

# 34、状态栏

/**
 * 修改状态栏颜色(ios暂未提供)
 * @param {String } bgColor 颜色
 */
SANHAPP.titleBackcolor(bgColor)

# 35、 其它

更多请查看 3H移动应用接口开发规范V2.0.doc