#98 Created demo user

master
Keith Irwin 2017-06-27 13:36:46 -04:00
parent 2fcb9e17c6
commit b01100c03b
No known key found for this signature in database
GPG Key ID: 378933C743E2BBC0
6 changed files with 20831 additions and 10 deletions

32
config/demo.js Normal file
View File

@ -0,0 +1,32 @@
'use strict';
// Imports
const fs = require('fs'),
debug = require('debug')('tracman-demo');
module.exports = (io)=>{
fs.readFile(__dirname+'/demo.txt', (err,data)=>{
if (err){ console.error(`${err.stack}`); }
const lines = data.toString().split('\n');
(function sendLoc(ln) {
if (ln>20754){ sendLoc(0) }
else {
let loc = lines[ln].split(' ');
debug(`Sending demo location: ${loc[1]}, ${loc[2]}`);
io.to('demo').emit('get', {
tim: new Date(),
lat: loc[1],
lon: loc[2],
dir: loc[3],
spd: loc[4]
});
setTimeout(()=>{
sendLoc(ln+1);
}, loc[0]);
}
})(0);
});
};

20754
config/demo.txt Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,10 +1,10 @@
'use strict';
const router = require('express').Router(),
mw = require('../middleware.js'),
env = require('../env/env.js'),
User = require('../models.js').user;
mw = require('../middleware.js'),
env = require('../env/env.js'),
User = require('../models.js').user;
// Redirect to real slug
router.get('/', mw.ensureAuth, (req,res)=>{
@ -16,6 +16,39 @@ router.get('/', mw.ensureAuth, (req,res)=>{
}
});
// Demo
router.get('/demo', (req,res,next)=>{
res.render('map', {
active: 'demo',
mapuser: {
_id: 'demo',
name: 'Demo',
last: {
lat: 39.2980269,
lon: -76.8988908,
dir: 0,
spd: 0
},
settings: {
marker: 'marker-red',
showAlt: false,
showTemp: false,
showSpeed: true,
showScale: true,
defaultZoom: 12,
defaultMap: 'road',
units: 'standard'
},
},
mapApi: env.googleMapsAPI,
user: req.user,
noFooter: '1',
noHeader: (req.query.noheader)?req.query.noheader.match(/\d/)[0]:0,
disp: (req.query.disp)?req.query.disp.match(/\d/)[0]:2, // 0=map, 1=streetview, 2=both
newuserurl: (req.query.new)? env.url+'/map/'+req.params.slug : ''
});
});
// Show map
router.get('/:slug?', (req,res,next)=>{
@ -23,7 +56,7 @@ router.get('/:slug?', (req,res,next)=>{
.then( (mapuser)=>{
if (!mapuser){ next(); } //404
else {
var active = '';
var active = ''; // For header nav
if (req.user && req.user.id===mapuser.id){ active='map'; }
res.render('map', {
active: active,

View File

@ -32,10 +32,11 @@ module.exports = {
//socket.ip = socket.client.request.headers['x-real-ip'];
//socket.ua = socket.client.request.headers['user-agent'];
/* Log */
// Log and errors
socket.on('log', (text)=>{
debug(`LOG: ${text}`);
});
socket.on('error', (err)=>{ console.error('❌', err.stack); });
// This socket can set location (app)
socket.on('can-set', (userId)=>{
@ -117,9 +118,6 @@ module.exports = {
});
// Log errors
socket.on('error', (err)=>{ console.error('❌', err.stack); });
});
}

View File

@ -15,6 +15,7 @@ const
env = require('./config/env/env.js'),
User = require('./config/models.js').user,
mail = require('./config/mail.js'),
demo = require('./config/demo.js'),
app = express(),
http = require('http').Server(app),
io = require('socket.io')(http),
@ -185,6 +186,9 @@ const
console.error(`${err.stack}`);
});
// Start transmitting demo
demo(io);
});
}

View File

@ -65,7 +65,7 @@ loadGoogleMapsAPI({ key:mapKey })
map = new googlemaps.Map( mapElem, {
center: new googlemaps.LatLng( mapuser.last.lat, mapuser.last.lon ),
panControl: false,
scaleControl: mapuser.settings.showScale,
scaleControl: (mapuser.settings.showScale)?true:false,
draggable: false,
zoom: mapuser.settings.defaultZoom,
streetViewControl: false,