at-js-sdk

2.2.94 • Public • Published

at-jssdk说明文档

使用方法

	$ npm install at-js-sdk
	
	//at会暴露调用原生的接口

	import at from 'at-js-sdk'

####V2说明

  • 第二版本中,改变了原生与H5的交互方式,采用原生注入方式,与V1版本共存。
  • 句柄是'atzuche'的全局对象,每个方法都会向原生传两个参数(必传),success和fail,供原生成功或者失败回调H5。
  • h5向native发送的数据格式
    {
        success: fnId,
        fail: fnId,
        data: {}
    }
  • native向H5发送的数据格式
    {
        code: 错误码(失败才会有) 
        msg: 错误信息(失败才会有)
        data: {}
    }

api说明

  • 地址栏控制是否显示导航和状态栏

    • isHiddenNavi 0 显示 1 隐藏 不传用老策略
    • isHiddenStatusBar 0 显示 1 隐藏 不传用老策略
  • getAdditionalDriver

    • 获取附加驾驶人
    • 使用方法:
    获取附加驾驶人
    at.getAdditionalDriver({
        success: function(res){
            // res = {
            //      additionalDriverList: [1, 2, 4]
            // }
            // data为数组,数组里面表示附加驾驶人Id
        },
        fail: function(err){
            // err = {
            //    code: 1,
            //    msg: '没有权限'   
            // }
        }
    })
  • sendAdditionalDriver
    • 获取附加驾驶人
    • 使用方法:
    获取附加驾驶人
    at.sendAdditionalDriver({
        additionalDriverList: [1,2,5],
        success: function(res){
            // res = {
            //    data: null
            // }
        },
        fail: function(err){
            // err = {
            //    code: 1,
            //    msg: '没有权限'   
            // }
        }
    })
  • getRentDate
    • 获取租期时间
    • 使用方法:
    at.getRentDate({
        success: function(res){
            // res = {
            //    rentTime: "201801021230",
            //    revertTime: "201801221230"
            // }
        },
        fail: function(err){
            // err = {
            //    code: 1,
            //    msg: '没有权限'   
            // }
        }
    })
  • setRentDate
    • 更新租期时间
    • 使用方法:
    at.setRentDate({
        rentTime: "201801021230",
        revertTime: "201801221230",
        success: function(res){
            // res = {}
        },
        fail: function(err){
            // err = {
            //    code: 1,
            //    msg: '没有权限'   
            // }
        }
    })
  • orderDetail
    • 进去订单详情
    • 使用方法:
    at.orderDetail({
        orderNo: this.state.orderNo,
        success(res){
            alert('success')
        },
        fail(res){
            alert('fail')
        }
    })
  • enterCarSearchPanel
    • 进去订单详情
    • 使用方法:
    at.openCarSearchPanel({
       searchText: ‘别克GL8’,
       scenceCode: ‘U006’,
       cityCode: ‘310100’,
       cityName: ‘上海’,
       success: function(){},
       fail: function(){}
    })
  • openAlbum
    • 打开相册,
    • 使用方法:
    at.openAlbum({
        count: '1', // count默认为9, 每次最多选择数量
        success: function(res){
            res.photos = ['fileurl', 'fileurl']
        },
        fail: function(){}
    })

V1说明

接口参数说明

所有参数都会有默认值,外部可以不传此参数,但是不可以传空值,否则无法调用原生代码。

对于其中所有涉及到url的地方,全部使用https。

APP-H5键值对(部分)

	{
	    2001: '显示loading'
	    2005: '隐藏loading'
	    2004: 'toast'
	    2003: 'alert'
	    2002: 'confirm弹框'
	    1101: '打开新窗口'
	    1102: '新窗口标题'
	    1103: '设置状态栏安卓不支持'
	    1002:'打开登录窗口'
	 	9005: '经纬度'
		9004:'添加右上角按钮'
		9003: '获取设备号'
        10006: '关闭窗口'
	 	10005: '微信授权'
	 	1001&pageId=0005: '分享'
	 	1001&pageId=0001: '车辆详情'
	 	1001&pageId=0007:'进入首页'
	 	1001&pageId=0018:	'添加凹凸官方电话至通讯录'
	 	1001&pageId=0011: '弹出浮层'
        1001&pageId=0021: '关闭弹出浮层'
        10001: '支付'
        10002: '身份认证'
        10007: '获取实时定位(目前该方法只在安卓中有效)'
        10008: '禁止网页回弹'
        10009: '打开系统通讯录'
	}

api接口说明

  • loading
    • 描述:显示loading动画
    • 注:此方法安卓不支持,ios支持
    • 使用方法:
	//显示loading框
	at.loading.show()

	//关闭loading框
	at.loading.hide()
  • toast
    • 描述:toast提示框
    • 使用方法:
	at.toast('描述文案')
  • alert
    • 描述:alert提示弹框
    • 使用方法:
	at.alert({
		title: '测试标题',
        text: '测试内容',
        okText: '测试按钮',
        ok() {
            alert("确认按钮回调")
        }
	})
  • confirm
    • 描述:confirm对话框
    • 使用方法:
	at.confirm({
        title: '测试标题',
        text: '测试内容',
        okText: '测试按钮',
        ok() {
            alert("确认按钮回调")
        },
        cancel(){
            alert("取消按钮回调")
        }
    })
  • openWindow
    • 描述:打开新窗口
    • 使用方法:
	at.openWindow({
        title: '新的标题',
        url: 'https://www.baidu.com',
        isShowStatusBar: 'false', // 安卓中无效
        isShowNaviBar: 'false'
    })
  • closeWindow
    • 描述:关闭窗口
    • 使用方法:
	at.closeWindow()

    at.closeWindow(1)

    <!-- 关闭100个窗口 -->
    at.closeWindow(100)
  • setTitle
    • 描述:设置窗口标题
    • 使用方法:
	at.setTitle('设置窗口标题')
  • setStatusBar
    • 描述:设置窗口的状态栏和导航栏显示或隐藏
    • 注:此方法安卓不支持,ios支持
    • 使用方法:
	at.setStatusBar({
        isShowStatusBar: 'true',
        isShowNaviBar: 'true'
    })
  • openLogin
    • 描述:打开app的登录窗口
    • 使用方法:
	at.openLogin({
        success(res){
            // 返回用户基本信息
            // {"mobile": "13566666666", "name": "xxx"}
            alert('登录成功,可以进行其他后续操作')
        },
        cancel(){ // 点击左上角的关闭按钮,目前没有app未实现
            alert('登录取消')
        }
    })
  • getLocation
    • 描述:获取用户的经纬度
    • 使用方法:
	at.getLocation({
        callback(res){
            // res = {"cityCode": "310100", "longitude": "121.33332", "latitude": "31.253223"}
            //进行其他后续操作
        }
    })
  • getRealTimeLocation
    • 描述:获取用户的经纬度(实时,原因部分安卓手机h5无法获取经纬度,需要通过原生定位才能获取。目前ios不支持该方法)
    • 使用方法:
    at.getRealTimeLocation({
        callback(res){
            res = {
                "status": 0,  // 0成功,-1失败,-2超时
                "longitude": "121.33332",  // 成功时才有该字段
                "latitude": "31.253223", // 成功时才有该字段
            }
            //进行其他后续操作
        }
    })
  • addRightBtn
    • 描述:添加app导航栏右上角的按钮
    • 使用方法:
	at.addRightBtn({
        btnText: '测试',
        callback(){
            alert('点击了右上角按钮')
        }
    })
  • getDeviceNum
    • 描述:获取设备号
    • 使用方法:
	at.getDeviceNum({
        callback(res){
            // res = {"deviceNum": "ASDFSDDDD"}
            //进行其他后续操作
        }
    })
  • getToken
    • 描述:获取用户token
    • 使用方法:
	at.getToken({
        callback(res){
            // res = {"token": "164655sdfa55asdaasd"}
            // token = 0 || token = '' 即为未登录
            //进行其他后续操作
        }
    })
  • wxOAuth
    • 描述:微信授权,调起微信进行授权,成功或者取消之后回调
    • 使用方法:
	at.wxOAuth({
        success(res){
            // {"wxReturnCode": "1"} 拒绝
            // {"wxReturnCode": "2"} 取消
            // 成功,成功之后返回的值就是微信返回值,具体参数请参考
            // http://mp.weixin.qq.com/wiki
            // {"wxReturnCode": "0", "openid":" OPENID",  
            //  " nickname": NICKNAME,   
            //  "sex":"1",   
            //  "province":"PROVINCE"   
            //  "city":"CITY",   
            //  "country":"COUNTRY",    
            //  "headimgurl":"http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vx
            // 4eMsv84eavHiaiceqxibJxCfHe/46",  
            // "privilege":[ "PRIVILEGE1" "PRIVILEGE2"     ],    
            //  "unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL" 
            // } 
            //进行其他后续操作
        },
        error(res){
            console.log(res)
        }
    })
  • share
    • 描述:分享操作,可以调取原生微博,腾讯微博,微信好友,朋友圈,短信,邮箱
    • 使用方法:
	at.share({
        shareTitle: '测试',
        text: 'ddd',   //内容不能为空
        url: 'https://www.baidu.com',
        // 确认sharePicUrl可以加载到,否则无法回调成功
        sharePicUrl: 'https://carphoto.atzuche.com/car/15/04/935622775/1451274846140.jpg',
        // ways 可以选择1个或者多个
        // ways: 'weixinFriend,friendsCircle',
        ways: 'sinaWeibo,tencentWeibo,weixinFriend,friendsCircle,shortMessage,email',
        success(){
            alert('share success')
        },
        cancel(){
            alert('share cancel') 
        },
        sourceType: '4' //4为邀请有礼,用于统计, 其他根据项目需求,传其他值
    })
  • carDetail
    • 描述:进入车辆详情
    • 使用方法:
	at.carDetail({
        carNo: '209028004', // 车辆号
        sceneId: 'Ex004', // 场景号
        lat: 'xxx', // 纬度
        lng: 'xxx' // 经度
    })
  • home
    • 描述:进入APP根目录
    • 使用方法:
	at.home()
  • phoneToAddressList
    • 描述:添加凹凸官方电话至通讯录
    • 使用方法:
	at.phoneToAddressList()
  • popup
    • 描述:popup对话框
    • 使用方法:
	at.popup({
        title: '测试标题',
        url: '/h5pro/app4/html/recharge.html' // url为相对地址
    })
  • resume
    • 描述:进入页面会自动执行的钩子函数
    • 使用方法:
    // 在页面中重写此方法
    // 页面进入的时候 会自动执行此方法
    // 重写的是NativeJsBridge,此对象为全局
    NativeJsBridge.resume = function(){
        alert('进入页面')
    }
  • pause
    • 描述:离开页面会自动执行的钩子函数
    • 使用方法:
    // 在页面中重写此方法
    // 页面进入的时候 会自动执行此方法
    // 重写的是NativeJsBridge,此对象为全局
    NativeJsBridge.pause = function(){
        alert('离开页面')
    }
  • pay
    • 描述:支付
    • 参数为 orderNo
    • scene为支付场景 不传或者为空则为普通订单; transIncrement为修改订单支付
    • 使用方法:
    at.pay({
        orderNo: '320123020',
        scene: 'transIncrement', // (补付)
        finish(){
            // 说明支付过了,具体成功与否,通过后台接口查询
        },
        cancel(){
            //支付失败
        }
    })
  • identityAuth
    • 描述:身份认证
    • 使用方法:
    at.identityAuth({
        finish(){
            // 说明认证过了,具体成功与否,通过后台接口查询
        },
        error(){
            //认证失败
        }
    })
  • setWebviewBounces
    • 禁止或者显示页面回弹
    • 使用方法:
    at.setWebviewBounces({
        isBounces: 0   // 0 禁止回弹, 1 允许回弹
    })
  • contacts
    • 打开系统通讯录
    • 使用方法:
    at.contacts({
        callback(e){
            // e && e.name && e.phone,e可能为空,e.name也可能为空,e.phone也可能为空,所以都要进行判断
            //e = {
            //    name: '张三',
            //    phone: '13522220000'
            //}
        }
    })

Dependencies (0)

    Dev Dependencies (14)

    Package Sidebar

    Install

    npm i at-js-sdk

    Weekly Downloads

    10

    Version

    2.2.94

    License

    ISC

    Unpacked Size

    105 kB

    Total Files

    28

    Last publish

    Collaborators

    • liuxingyun2010
    • easonchiu86
    • zc12138
    • appleshell
    • dahong