提供MAUI APP推播功能,如同InfoMail信件發送組件,可以定義接收者(使用者帳號)與標題及內容,推播訊息給對方,當該為接收者有使用MAUI
APP並進行登入,即可及時收到推播訊息。
Step1>
打開 [員工資料表]
RWD表單,在Datagrid上的Toolitems添加一個Onclick為TestPush的按鈕,屬性設定參考如下:
Step2>
切換至[員工資料表]RWD 的原始碼頁面,貼上此段TestPush的JS function範例。
functionTestPush()
{
varsIndex=$("#dgMaster").datagrid("getSelectedIndex");
//判斷Datagrid上是否有選擇到任一筆資料
if (sIndex>=0) {
varuserId=$("#dgMaster").datagrid("getRows")[sIndex].員工編號;
//取得該筆資料的員工編號欄位
$.callMethod('員工資料表','TestPush',{userId:userId},function(result){
//呼叫員工資料表server端的TestPush方法,並傳遞userId作為參數
$.alert(result,'info');
});
}
else{
$.alert('請先選擇一筆資料','info');
}
}
Step3>
打開 [員工資料表]
Server端,從左側[工具箱]內拖入一InfoPush元件,
元件屬性我們目前不做設定,因為我們會經由程式碼定義。
Step4>
切換至 [員工資料表]Server的原始碼頁面,貼上此段TestPush的C# method範例。
publicobjectTestPush(dynamicobjParam)
{
varpush=this.GetComponent<InfoPush>("InfoPush1"); //InfoPush1為Server端InfoPush元件id
push.UserList=objParam.userId; //多個用|||區分 EX: "001|||002"
push.Title="推播標題";
push.Body="推播內容";
push.Count=1; //數字, APP 圖示角標數字
push.Sender="001"; //推播訊息寄送者,只能一個帳號 EX:
"001"
push.Link="bootstrap/員工資料表"; //訊息超連結要開啟的表單頁面
objectret=push.Send();
if (ret.GetType() ==typeof(string))
{
returnret.ToString(); //ret ==
"Fail:"
}
elseif (ret.GetType() ==typeof(List<object>))
{
boolallPass=true;
stringmsg=string.Empty;
((List<object>)ret).ForEach(
obj=>
{
if (obj.GetType() ==typeof(string))
{
allPass=false;
msg+=obj.ToString() +"\r\n";
}
}
);
if (allPass)
{
return"發送成功。";
}
else
{
returnmsg+=", 除了前述錯誤訊息, 其餘發送成功。";
}
}
else
{
returnret.ToString();
}
}
Step5>
將Server端存檔後,我們回到[員工資料表]RWD並進行預覽
由於"員工編號"欄位內容與系統中的用戶USERID是匹配的,因此當我選擇某一筆資料後點擊【測試推播】按鈕時,系統會根據選到的資料,發送推播訊息至對應USERID登入的MAUI APP行動裝置中。
Step6>
除了透過InfoPush元件發出自定義推播訊息外,如果Workflow流程屬性SendNotify有設定為true,除了系統郵件外,關卡審核人員或是通知活動對象,也會同步收到流程推播訊息。
Related Topics