APP與H5交互接口定義

一. APP需要處理事項(xiàng)

  1. 設(shè)置WebView的UserAgent
    Android以及iOS需要在WebView里重新設(shè)置UserAgent,H5需要根據(jù)UserAgent來判斷目前客戶端是哪種WebView。APP里UserAgent的設(shè)置格式為:"默認(rèn)UserAgent" + ";" + "特定WebView標(biāo)識"。
    WebView類型 UserAgent 備注
    Android HMAndroidWebView
    iOS UIWebView HMiOSUIWebView 表示是UIWebView
    iOS WKWebView HMiOSWKWebView 表示是WKWebView
    范例:
    Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Mobile Safari/537.36;HMAndroidWebView
    前面部分是系統(tǒng)默認(rèn)設(shè)置的UserAgent,在后面拼上";HMAndroidWebView"即可,注意用";"進(jìn)行分割開來。
  2. WebView從不可見到可見事件通知
    如果打開某個(gè)WebView,再從WebView界面跳轉(zhuǎn)到其他界面,然后再返回到WebView界面,原生APP必須觸發(fā)一個(gè)js方法調(diào)用,通知H5該事件的發(fā)生,H5可以考慮是否需要刷新數(shù)據(jù)等。事件通知方法定義為:
    function onResume() {
    //H5根據(jù)情況考慮是否實(shí)現(xiàn)此方法
    }
    二. js與原生交互方法定義
  3. 判斷用戶是否登錄
    方法名:checkLogin
    參數(shù):無
    返回值:boolean true為已登錄,false為未登錄
  4. 獲取APP端請求頭信息
    方法名:getHeaders
    參數(shù):無
    返回值:json格式的字符串
    字段名稱 類型 備注
    deviceId string 設(shè)備唯一id
    rptTime string
    operKind string CUSTOMER
    osType string 系統(tǒng)類型,Android或者iOS
    osVer string 手機(jī)操作系統(tǒng)版本號
    appChannel string 當(dāng)前app的渠道名
    deviceType string 設(shè)備型號
    appVer string 當(dāng)前app的版本號
    rptGpsX string 經(jīng)緯度
    rptGpsY string 經(jīng)緯度
    3.獲取用戶信息
    方法名:getUserInfo
    參數(shù):無
    返回值:json格式的字符串
    字段名稱 類型 備注
    userId string 用戶id
    token string 登錄后的token
    showId string 用戶顯示id
    nickName string 昵稱
    avatarUrl string 頭像
    mobile string 手機(jī)號
    type int 用戶類型:CSub(1), CPlus(2), BSub(3), BPlus(4), ASub(5), APlus(6)
    sex int 性別:0-女,1-男,3-未知
    name string 姓名
    mailAddr string 郵箱地址
    idCardNum string 身份證號
    location string 城市
    mainIncome int 主收入:None(1, "無"), Wages(2, "工資"), Business(3, "生意"), Investment(4, "投資"), Parents(5, "父母資助"), Else(6, "其他")
    secondIncome int 次收入
  5. 關(guān)閉當(dāng)前WebView
    方法名:closeWebView
    參數(shù):無
    返回值:無
  6. 撥打電話
    方法名:callPhone
    參數(shù):
    字段名稱 類型 備注
    phone string 電話號碼
    返回值:無
  7. 采用原生存儲(chǔ)key-value鍵值對
    方法名:setStorage
    參數(shù):
    字段名稱 類型 備注
    key string 注意相同的key值會(huì)被覆蓋掉
    value string 要存儲(chǔ)的字符串內(nèi)容,任意格式
    返回值:無
  8. 獲取原生存儲(chǔ)的字符串值
    方法名:getStorage
    參數(shù):
    字段名稱 類型 備注
    key string
    返回值:string,獲取通過setStorage方法存儲(chǔ)的字符串
  9. 通過外部瀏覽器打開url鏈接
    方法名:openUrlThroughBrowser
    參數(shù):
    字段名稱 類型 備注
    url string 網(wǎng)頁地址
    返回值:無
  10. 通過一個(gè)新的WebView打開url鏈接
    方法名:openUrlThroughWebView
    參數(shù):
    字段名稱 類型 備注
    url string 網(wǎng)頁地址
    返回值:無
  11. 通過路由來進(jìn)行原生頁面跳轉(zhuǎn)
    方法名:navigateByRouter
    參數(shù):
    字段名稱 類型 備注
    routerUrl string 路由地址
    返回值:無
  12. 拍照或者從相冊選擇圖片
    方法名:selectPicture
    參數(shù):
    字段名稱 類型 備注
    selectType string camera-打開相機(jī),album-打開相冊,cameraAndAlbum-彈出選擇打開相機(jī)和相冊的對話框
    width int 圖片進(jìn)行裁切的寬度,如果不需要裁切則傳0
    height int 圖片進(jìn)行裁切的高度,如果不需要裁切則傳0
    callbackName string 圖片獲取成功之后的回調(diào)方法名,APP端需要把圖片路徑當(dāng)做參數(shù)傳遞過去:callback(path)
    返回值:無
  13. 設(shè)置導(dǎo)航欄右邊按鈕及功能
    方法名:setNavigationBarRightMenu
    參數(shù):
    字段名稱 類型 備注
    btnText string 按鈕顯示名稱
    functionName string 點(diǎn)擊按鈕后,APP調(diào)用H5的方法名稱
    params string 傳遞的參數(shù)
    返回值:無
  14. 保存圖片到本地
    方法名:savePicture
    參數(shù):
    字段名稱 類型 備注
    imgUrl string 圖片地址url
    返回值:無
  15. 圖片分享
    方法名:shareImage
    參數(shù):
    字段名稱 類型 備注
    imgUrl string 要分享的圖片地址url
    channels string 分享的渠道:save-保存圖片,weixin-微信,wxcircle-朋友圈,weibo-微博,qq-QQ,sms-短信,按順序多個(gè)渠道用逗號","分隔,例如:save,weixin,qq,則彈出的分享面板依次為“保存、微信、QQ”
    返回值:無
  16. 鏈接分享
    方法名:shareLink
    參數(shù):
    字段名稱 類型 備注
    title string 標(biāo)題
    desc string 描述
    url string 鏈接地址
    channels string 同圖片分享一樣
    返回值:無
  17. 純文本分享
    方法名:shareText
    參數(shù):
    字段名稱 類型 備注
    text string 要分享的文本內(nèi)容
    channels string 同圖片分享一樣
    返回值:無
  18. 掉起APP端用戶登錄窗口
    方法名:toUserLoginPage
    參數(shù):無
    返回值:無
  19. 用戶退出登錄
    方法名:userLogout
    參數(shù):無
    返回值:無
  20. 設(shè)置導(dǎo)航欄標(biāo)題
    方法名:setWebViewTitle
    參數(shù):
    字段名稱 類型 備注
    title string 標(biāo)題
    返回值:無
  21. 查看網(wǎng)頁圖片進(jìn)行縮放
    方法名:viewLargeImage
    參數(shù):
    字段名稱 類型 備注
    images string 網(wǎng)頁里的圖片url地址,多個(gè)用","分開
    index int 要顯示數(shù)組里的圖片索引值
    返回值:無
  22. toast
    方法名:toast
    參數(shù):
    字段名稱 類型 備注
    msg string
    返回值:無
  23. 顯示alert彈窗
    方法名:showAlertDialog
    參數(shù):
    字段名稱 類型 備注
    params json json格式的字符串,用于配置彈窗內(nèi)容
    以下為params參數(shù)范例,彈窗會(huì)根據(jù)buttons的配置按順序依次顯示按鈕:
    {
    "title": "標(biāo)題",
    "msg": "彈窗內(nèi)容",
    "buttons": [{
    "name": "取消",
    "callback": "callbackFunc1"
    },
    {
    "name": "確定",
    "callback": "callbackFunc2"
    }
    ]
    }
    返回值:無
  24. 選擇城市
    方法名:selectCity
    參數(shù):
    字段名稱 類型 備注
    callback string js回調(diào)函數(shù)名,原生APP獲取到城市之后,通過該函數(shù)傳遞給js

返回值:

  1. 回到首頁
    方法名:toHomePage
    參數(shù):無
    返回值:無
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容