第三章 EEP MAUI APP開發第三章 EEP MAUI APP開發\3-8Push推播功能與InfoPush推播組件

 

提供MAUI APP推播功能,如同InfoMail信件發送組件,可以定義接收者(使用者帳號)與標題及內容,推播訊息給對方,當該為接收者有使用MAUI APP並進行登入,即可及時收到推播訊息。

 

Step1>         打開 [員工資料表] RWD表單,在Datagrid上的Toolitems添加一個OnclickTestPush的按鈕,屬性設定參考如下:

Step2>         切換至[員工資料表]RWD 的原始碼頁面,貼上此段TestPushJS 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的原始碼頁面,貼上此段TestPushC# method範例。

publicobjectTestPush(dynamicobjParam)

{

    varpush=this.GetComponent<InfoPush>("InfoPush1"); //InfoPush1ServerInfoPush元件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,除了系統郵件外,關卡審核人員或是通知活動對象,也會同步收到流程推播訊息。


 

Top of Page