有這樣一種場景,當你在手機APP上輸入你的信息,會自動跳出一個彈窗,表示某任務(wù)已執(zhí)行。最簡單的一個例子就是當你輸入手機號,點擊獲取驗證碼的時候,就會跳出一個對話框,說“驗證碼已發(fā)送到手機,請注意查收”,這些都是如何實現(xiàn)的。
就以我參與開發(fā)的一款移動報表FineReport為例,講解一下如何開發(fā)手動推送APP消息。
這個APP里有這樣一個應(yīng)用,它是可以實現(xiàn)在客戶端填報錄入數(shù)據(jù),然后數(shù)據(jù)上傳到數(shù)據(jù)庫中的這樣一個功能,也就是所謂的移動化辦公,這在企業(yè)辦公方面用得比較多。當數(shù)據(jù)錄入系統(tǒng)成功后,會自動發(fā)送消息至APP提示數(shù)據(jù)已更新。
此功能的實現(xiàn)就是在數(shù)據(jù)錄入成功的事件中添加js,使用ajax發(fā)送消息請求

FR.ajax(
{
url: 'http://192.168.1.120:8033/WebReport/ReportServer?cmd=send_messages&op=fs_mobile_main',
type: 'POST',

data:
{user:'sunlin', text:'填報成功,模板A有數(shù)據(jù)更新',url:'http://192.168.1.120:8033/WebReport/ReportServer?reportlet=app.cpt&op=write',title:'app'},

success: function(msg)
{
alert( "提示" + msg );
}
});

user:接收消息的人,可以是多個,多個用戶之間用逗號分割,如“A,B” (必填)
text:消息內(nèi)容 (選填)
url:打開地址(選填),在點擊消息之后 進入app打開的地址
title: 打開地址的頁面標題(選填)
舉例
例子1、推送純文本消息
在填報的模板,增加填報成功事件,示例代碼如下:

FR.ajax(
{
url: 'http://192.168.1.120:8033/WebReport/ReportServer?cmd=send_messages&op=fs_mobile_main',
type: 'POST',

data:
{user:'sunlin', text:'填報成功,模板A有數(shù)據(jù)更新'},

success: function(msg)
{
alert( "提示" + msg );
}
});


例2、點擊消息后,進入app,并且打開地址頁面
在后臺填報的模板,增加填報成功事件,示例代碼如下:

FR.ajax(
{
url: 'http://192.168.1.120:8033/WebReport/ReportServer?cmd=send_messages&op=fs_mobile_main',
type: 'POST',

data:
{user:'sunlin', text:'填報成功,模板A有數(shù)據(jù)更新',url:'http://192.168.1.120:8033/WebReport/ReportServer?reportlet=app.cpt&op=write',title:'app'},

success: function(msg)
{
alert( "提示" + msg );
}
});

