H5-APP交互需要提供的方法記錄

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

1. 設(shè)置WebView的UserAgent

Android以及iOS需要在WebView里重新設(shè)置UserAgent篡帕,H5需要根據(jù)UserAgent來(lái)判斷目前客戶(hù)端是哪種WebView物臂。APP里UserAgent的設(shè)置格式為:"默認(rèn)UserAgent" + ";" + "特定WebView標(biāo)識(shí)"几蜻。

WebView類(lèi)型 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)行分割開(kāi)來(lái)浇冰。

2. WebView從不可見(jiàn)到可見(jiàn)事件通知

如果打開(kāi)某個(gè)WebView,再?gòu)腤ebView界面跳轉(zhuǎn)到其他界面粉私,然后再返回到WebView界面,原生APP必須觸發(fā)一個(gè)js方法調(diào)用近零,通知H5該事件的發(fā)生诺核,H5可以考慮是否需要刷新數(shù)據(jù)等朋魔。事件通知方法定義為:

function onResume() {
//H5根據(jù)情況考慮是否實(shí)現(xiàn)此方法
}

二. js與原生交互方法定義

1. 判斷用戶(hù)是否登錄

方法名:checkLogin
參數(shù):無(wú)
返回值:boolean true為已登錄祝钢,false為未登錄

2. 獲取APP端請(qǐng)求頭信息

方法名:getHeaders
參數(shù):無(wú)
返回值:json格式的字符串
字段名稱(chēng) 類(lèi)型 備注
deviceId string 設(shè)備唯一id
rptTime string
operKind string CUSTOMER
osType string 系統(tǒng)類(lèi)型,Android或者iOS
osVer string 手機(jī)操作系統(tǒng)版本號(hào)
appChannel string 當(dāng)前app的渠道名
deviceType string 設(shè)備型號(hào)
appVer string 當(dāng)前app的版本號(hào)
rptGpsX string 經(jīng)緯度
rptGpsY string 經(jīng)緯度

3.獲取用戶(hù)信息

方法名:getUserInfo
參數(shù):無(wú)
返回值:json格式的字符串
字段名稱(chēng) 類(lèi)型 備注
userId string 用戶(hù)id
token string 登錄后的token
showId string 用戶(hù)顯示id
nickName string 昵稱(chēng)
avatarUrl string 頭像
mobile string 手機(jī)號(hào)
type int 用戶(hù)類(lèi)型:CSub(1), CPlus(2), BSub(3), BPlus(4), ASub(5), APlus(6)
sex int 性別:0-女,1-男,3-未知
name string 姓名
mailAddr string 郵箱地址
idCardNum string 身份證號(hào)
location string 城市
mainIncome int 主收入:None(1, "無(wú)"), Wages(2, "工資"), Business(3, "生意"), Investment(4, "投資"), Parents(5, "父母資助"), Else(6, "其他")
secondIncome int 次收入

4. 關(guān)閉當(dāng)前WebView

方法名:closeWebView
參數(shù):無(wú)
返回值:無(wú)

5. 撥打電話

方法名:callPhone
參數(shù):
字段名稱(chēng) 類(lèi)型 備注
phone string 電話號(hào)碼
返回值:無(wú)

6. 采用原生存儲(chǔ)key-value鍵值對(duì)

方法名:setStorage
參數(shù):
字段名稱(chēng) 類(lèi)型 備注
key string 注意相同的key值會(huì)被覆蓋掉
value string 要存儲(chǔ)的字符串內(nèi)容调衰,任意格式
返回值:無(wú)

7. 獲取原生存儲(chǔ)的字符串值

方法名:getStorage
參數(shù):
字段名稱(chēng) 類(lèi)型 備注
key string
返回值:string裙士,獲取通過(guò)setStorage方法存儲(chǔ)的字符串

8. 通過(guò)外部瀏覽器打開(kāi)url鏈接

方法名:openUrlThroughBrowser
參數(shù):
字段名稱(chēng) 類(lèi)型 備注
url string 網(wǎng)頁(yè)地址
返回值:無(wú)

9. 通過(guò)一個(gè)新的WebView打開(kāi)url鏈接

方法名:openUrlThroughWebView
參數(shù):
字段名稱(chēng) 類(lèi)型 備注
url string 網(wǎng)頁(yè)地址
返回值:無(wú)

10. 通過(guò)路由來(lái)進(jìn)行原生頁(yè)面跳轉(zhuǎn)

方法名:navigateByRouter
參數(shù):
字段名稱(chēng) 類(lèi)型 備注
routerUrl string 路由地址
返回值:無(wú)

11. 拍照或者從相冊(cè)選擇圖片

方法名:selectPicture
參數(shù):
字段名稱(chēng) 類(lèi)型 備注
selectType string camera-打開(kāi)相機(jī)入客,album-打開(kāi)相冊(cè),cameraAndAlbum-彈出選擇打開(kāi)相機(jī)和相冊(cè)的對(duì)話框
width int 圖片進(jìn)行裁切的寬度腿椎,如果不需要裁切則傳0
height int 圖片進(jìn)行裁切的高度桌硫,如果不需要裁切則傳0
callbackName string 圖片獲取成功之后的回調(diào)方法名,APP端需要把圖片路徑當(dāng)做參數(shù)傳遞過(guò)去:callback(path)
返回值:無(wú)

12. 設(shè)置導(dǎo)航欄右邊按鈕及功能

方法名:setNavigationBarRightMenu
參數(shù):
字段名稱(chēng) 類(lèi)型 備注
btnText string 按鈕顯示名稱(chēng)
functionName string 點(diǎn)擊按鈕后啃炸,APP調(diào)用H5的方法名稱(chēng)
params string 傳遞的參數(shù)
返回值:無(wú)

13. 保存圖片到本地

方法名:savePicture
參數(shù):
字段名稱(chēng) 類(lèi)型 備注
imgUrl string 圖片地址url
返回值:無(wú)

14. 圖片分享

方法名:shareImage / shareImageV2
參數(shù):type: 不傳是只有分享渠道铆隘,1.代表圖片+分享渠道
字段名稱(chēng) 類(lèi)型 備注
imgUrl string 要分享的圖片地址url
channels string 分享的渠道:save-保存圖片,weixin-微信南用,wxcircle-朋友圈膀钠,weibo-微博,qq-QQ裹虫,sms-短信肿嘲,按順序多個(gè)渠道用逗號(hào)","分隔,例如:save,weixin,qq恒界,則彈出的分享面板依次為“保存睦刃、微信、QQ”
type int 1:表示顯示圖片+分享渠道 shareImageV2方法包含此參數(shù)
shareTitle string 分享彈出框里的標(biāo)題 shareImageV2方法包含此參數(shù)
返回值:無(wú)

15. 鏈接分享

方法名:shareLink / shareLinkV2
參數(shù):
字段名稱(chēng) 類(lèi)型 備注
title string 標(biāo)題
desc string 描述
url string 鏈接地址
channels string 同圖片分享一樣
shareTitle string 分享彈出框里的標(biāo)題 shareLinkV2方法包含此參數(shù)
返回值:無(wú)

16. 純文本分享

方法名:shareText / shareTextV2
參數(shù):
字段名稱(chēng) 類(lèi)型 備注
text string 要分享的文本內(nèi)容
channels string 同圖片分享一樣
shareTitle string 分享彈出框里的標(biāo)題 shareTextV2方法包含此參數(shù)
返回值:無(wú)

17. 掉起APP端用戶(hù)登錄窗口

方法名:toUserLoginPage
參數(shù):無(wú)
返回值:無(wú)

18. 用戶(hù)退出登錄

方法名:userLogout
參數(shù):無(wú)
返回值:無(wú)

19. 設(shè)置導(dǎo)航欄標(biāo)題

方法名:setWebViewTitle
參數(shù):
字段名稱(chēng) 類(lèi)型 備注
title string 標(biāo)題
返回值:無(wú)

20. 查看網(wǎng)頁(yè)圖片進(jìn)行縮放

方法名:viewLargeImage
參數(shù):
字段名稱(chēng) 類(lèi)型 備注
images string 網(wǎng)頁(yè)里的圖片url地址十酣,多個(gè)用","分開(kāi)
index int 要顯示數(shù)組里的圖片索引值
返回值:無(wú)

21. toast

方法名:toast
參數(shù):
字段名稱(chēng) 類(lèi)型 備注
msg string
返回值:無(wú)

22. 顯示alert彈窗

方法名:showAlertDialog
參數(shù):
字段名稱(chēng) 類(lèi)型 備注
params json json格式的字符串涩拙,用于配置彈窗內(nèi)容
以下為params參數(shù)范例,彈窗會(huì)根據(jù)buttons的配置按順序依次顯示按鈕:

{
"title": "標(biāo)題",
"msg": "彈窗內(nèi)容",
"buttons": [{
"name": "取消",
"callback": "callbackFunc1"
},
{
"name": "確定",
"callback": "callbackFunc2"
}
]
}
返回值:無(wú)

23. 選擇城市

方法名:selectCity
參數(shù):
字段名稱(chēng) 類(lèi)型 備注
callback string js回調(diào)函數(shù)名耸采,原生APP獲取到城市之后兴泥,通過(guò)該函數(shù)傳遞給js

返回值:

24. 回到首頁(yè)

方法名:toHomePage
參數(shù):
字段名稱(chēng) 類(lèi)型 備注
index int 0=首頁(yè),1=咨詢(xún)虾宇,2=推薦搓彻,3=個(gè)人中心
返回值:無(wú)

25. 獲取狀態(tài)欄高度

方法名:getStatusBarHeight
參數(shù):無(wú)
返回值:int類(lèi)型,單位為px

26. js調(diào)用原生通知事件

方法名:notifyEvent
參數(shù):

字段名稱(chēng) 類(lèi)型 備注
praram json字符串
{
'eventName': 'confirmTreaty', //事件名稱(chēng)
'result': 1 //通知結(jié)果
}
返回值:無(wú)

27. 圖片分享(base64)

方法名:shareImageByBase64 / shareImageByBase64V2
參數(shù):
字段名稱(chēng) 類(lèi)型 備注
imgBase64Str string 要分享的圖片的base64
channels string 分享的渠道:save-保存圖片嘱朽,weixin-微信旭贬,wxcircle-朋友圈,weibo-微博搪泳,qq-QQ稀轨,sms-短信,按順序多個(gè)渠道用逗號(hào)","分隔岸军,例如:save,weixin,qq奋刽,則彈出的分享面板依次為“保存、微信艰赞、QQ”
shareTitle string shareImageByBase64V2 有此參數(shù)
返回值:無(wú)

28. 分享回調(diào)結(jié)果

方法名:shareResult
參數(shù):
字段名稱(chēng) 類(lèi)型 備注
result bool 分享的結(jié)果佣谐,YES:分享成功 NO:分享失敗,
channel string 分享的渠道:save-保存圖片方妖,weixin-微信狭魂,wxcircle-朋友圈,weibo-微博党觅,qq-QQ雌澄,sms-短信
返回值:無(wú)

29.保存base64圖片

方法名:saveImageWithBase64
參數(shù):
字段名稱(chēng) 類(lèi)型 備注
imgBase64Str string 要保存的圖片的base64
返回值:無(wú)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市仔役,隨后出現(xiàn)的幾起案子掷伙,更是在濱河造成了極大的恐慌,老刑警劉巖又兵,帶你破解...
    沈念sama閱讀 222,252評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件任柜,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡沛厨,警方通過(guò)查閱死者的電腦和手機(jī)宙地,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)逆皮,“玉大人宅粥,你說(shuō)我怎么就攤上這事〉缫ィ” “怎么了秽梅?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,814評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵抹蚀,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我企垦,道長(zhǎng)环壤,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,869評(píng)論 1 299
  • 正文 為了忘掉前任钞诡,我火速辦了婚禮郑现,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘荧降。我一直安慰自己接箫,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布朵诫。 她就那樣靜靜地躺著辛友,像睡著了一般。 火紅的嫁衣襯著肌膚如雪拗窃。 梳的紋絲不亂的頭發(fā)上瞎领,一...
    開(kāi)封第一講書(shū)人閱讀 52,475評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音随夸,去河邊找鬼九默。 笑死,一個(gè)胖子當(dāng)著我的面吹牛宾毒,可吹牛的內(nèi)容都是我干的驼修。 我是一名探鬼主播,決...
    沈念sama閱讀 41,010評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼诈铛,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼乙各!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起幢竹,我...
    開(kāi)封第一講書(shū)人閱讀 39,924評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤耳峦,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后焕毫,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體蹲坷,經(jīng)...
    沈念sama閱讀 46,469評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評(píng)論 3 342
  • 正文 我和宋清朗相戀三年邑飒,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了循签。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,680評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡疙咸,死狀恐怖县匠,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤乞旦,帶...
    沈念sama閱讀 36,362評(píng)論 5 351
  • 正文 年R本政府宣布贼穆,位于F島的核電站,受9級(jí)特大地震影響杆查,放射性物質(zhì)發(fā)生泄漏扮惦。R本人自食惡果不足惜臀蛛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評(píng)論 3 335
  • 文/蒙蒙 一亲桦、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧浊仆,春花似錦客峭、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,519評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至洲劣,卻和暖如春备蚓,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背囱稽。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,621評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工郊尝, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人战惊。 一個(gè)月前我還...
    沈念sama閱讀 49,099評(píng)論 3 378
  • 正文 我出身青樓流昏,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親吞获。 傳聞我的和親對(duì)象是個(gè)殘疾皇子况凉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容