SHARE
TWEET
Untitled
a guest
May 12th, 2016
11
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
- // factory
- .factory('Messages', function($websocket , $stateParams) {
- var baseURL = 'ws://10.0.0.16:8000/ws/';
- var channel = $stateParams.chatId;
- var echo = '?subscribe-broadcast&publish-broadcast&echo';
- var ws = $websocket(baseURL + channel + echo);
- var collection = [];
- ws.onMessage(function(event) {
- var res;
- try {
- res = JSON.parse(event.data);
- } catch(e) {
- res = { 'content': event.data };
- }
- collection.push(
- // { content: res.content }
- JSON.parse(event.data)
- );
- });
- ws.onError(function(event) {
- console.log('connection error', event);
- });
- ws.onClose(function(event) {
- console.log('connection closed', event);
- });
- return {
- test: function(data) {
- var ws = $websocket(baseURL + data + echo);
- return ws.onOpen();
- },
- close: function() {
- return ws.close();
- },
- collection: collection,
- status: function() {
- return ws.readyState;
- },
- send: function(content) {
- if (angular.isString(content)) {
- ws.send(content);
- }
- else if (angular.isObject(content)) {
- ws.send(JSON.stringify(content));
- }
- }
- };
- })
- //controller
- $scope.Messages = Messages;
- $scope.sendMessage = function (new_message) {
- if (!new_message) { return; }
- Messages.send({
- type: 'message',
- //user: ChatApp.chat.user.id,
- //avatar: ChatApp.chat.user.avatar,
- //apiKey: ChatApp.chat.appKey,
- chat: $stateParams.chatId,
- is_native: false,
- //is_read: status
- content: new_message,
- timestamp: event.timeStamp
- });
- $scope.new_message = '';
- };
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy.
