SitesSDK.subscribe(messageType, callback)

Αυτή η συνάρτηση είναι τελικά μια λειτουργία ακρόασης μηνυμάτων για μηνύματα που αποστέλλονται από την τοποθεσία του κεντρικού υπολογιστή. Η κλήση είναι ασύγχρονη.

Παράμετροι

Η εγγεγραμμένη επανάκληση καλείται όταν ένα μήνυμα συγκεκριμένου τύπου λαμβάνεται από το SDK. Αν η επανάκληση επιστρέψει μια τιμή, αυτή η τιμή επιστρέφεται στη σελίδα. Αν δεν μεταβιβαστεί καμία επανάκληση σε αυτήν τη συνάρτηση, τότε οποιαδήποτε εγγεγραμμένη λειτουργία ακρόασης για τον συγκεκριμένο τύπο μηνύματος διαγράφεται.

Αυτές είναι επανακλήσεις JavaScript, οπότε η συνάρτηση θα πρέπει να χρησιμοποιήσει το JavaScript Closure ή να δεσμεύσει κατάλληλα τη συνάρτηση για να εξασφαλίσει ότι έχει πρόσβαση στο κατάλληλο περιβάλλον.

Όνομα Τύπος Περιγραφή

messageType

συμβολοσειρά

Τύπος μηνύματος:

  • SETTINGS_UPDATED

  • TRIGGER_ACTIONS

  • EXECUTE_ACTION

  • GET_ACTIONS

  • GET_TRIGGERS

  • COPY_CUSTOM_DATA

  • PASTE_CUSTOM_DATA

callback

συνάρτηση

Η συνάρτηση όταν ληφθεί ένα μήνυμα από μια τοποθεσία κεντρικού υπολογιστή.

Τύποι μηνυμάτων

Τύπος μηνύματος Περιγραφή
SETTINGS_UPDATED Εγγραφείτε σε αυτό το μήνυμα για να ειδοποιηθείτε όταν αλλάξει οποιαδήποτε τιμή στον Πίνακα ρυθμίσεων. Συνήθως, το συστατικό στοιχείο θα απαντήσει ενημερώνοντας την απόδοσή του στο περιβάλλον χρήστη..
TRIGGER_ACTIONS Η δημοσίευση αυτού του μηνύματος ενεργοποιεί ένα έναυσμα και μεταβιβάζει ωφέλιμο φορτίο.
EXECUTE_ACTION Εγγραφείτε σε αυτό το μήνυμα για να χειρίζεστε προσαρμοσμένες ενέργειες. Η λειτουργία ακρόασης συνήθως χειρίζεται αυτό το μήνυμα εκτελώντας τη δεδομένη ενέργεια.
GET_ACTIONS Εγγραφείτε σε αυτό το μήνυμα για να δηλώσετε έναν πίνακα ενεργειών που μπορεί να εκτελέσει το συστατικό στοιχείο. Επιστρέφει τον πίνακα ενεργειών.
GET_TRIGGERS Εγγραφείτε σε αυτό το μήνυμα για να δηλώσετε έναν πίνακα εναυσμάτων που μπορεί να ενεργοποιήσει το συστατικό στοιχείο. Επιστρέφει τον πίνακα εναυσμάτων.
COPY_CUSTOM_DATA Εγγραφείτε σε αυτό το μήνυμα για να χειριστείτε την αντιγραφή των Προσαρμοσμένων δεδομένων ρυθμίσεων στο πρόχειρο. Επιστρέφει ένα αντικείμενο που αντιπροσωπεύει τα δεδομένα που θα τοποθετηθούν στο πρόχειρο.
PASTE_CUSTOM_DATA Εγγραφείτε σε αυτό το μήνυμα για να χειριστείτε την επικόλληση των Προσαρμοσμένων δεδομένων ρυθμίσεων από το πρόχειρο.

Χρήση

Ορισμένες λειτουργίες ακρόασης αναμένουν δεδομένα να μεταβιβαστούν και ορισμένες αναμένεται να επιστρέψουν δεδομένα.

Παράδειγμα 1:

Εγγράψτε μια λειτουργία ακρόασης μηνυμάτων για τον τύπο μηνύματος EXECUTE_ACTION:

SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.EXECUTE_ACTION, self.executeAction,self);

Η εγγεγραμμένη συνάρτηση callback πρέπει να δέχεται ένα όρισμα όπως απεικονίζεται εδώ:

// typical signature of a callback function registered with a message
// type
function (args) {
                var payload = args.detail.message.payload,
                                        action = args.detail.message.action,
                                        actionName =  action && action.actionName;

                // do something here with the payload data

        }

Παράδειγμα 2:

Η λειτουργία ακρόασης COPY_CUSTOM_DATA συνήθως υλοποιείται με κώδικα όπως αυτός:

     // listen for COPY_CUSTOM_DATA request
     SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.COPY_CUSTOM_DATA, 

Η μέθοδος copyCustomDataListener() θα επιστρέψει ένα αντικείμενο που αντιπροσωπεύει τα δεδομένα που θα αντιγραφούν στο πρόχειρο, για παράδειγμα:

     // Handle Copy Style (save customSettingsData to the clipboard)
     self.copyCustomDataListener = function() {
         return {
             prop1: this.prop1(),
             prop2: this.prop2()
         };
     };

Παράδειγμα 3:

Το αίτημα PASTE_CUSTOM_DATA δέχεται δεδομένα, αλλά δεν πρέπει να επιστρέψει τίποτα:

// listen for PASTE_CUSTOM_DATA request
SitesSDK.subscribe(SitesSDK.MESSAGE_TYPES.PASTE_CUSTOM_DATA, pasteCustomDataListener);

Μαζί με:

// Handle Paste Style (apply customSettingsData from the clipboard)
self.pasteCustomDataListener = function(data) {
     ...
};