Bonjour,
Pour me familiariser avec Javascript (et en particulier NodeJS) je me suis lanc� dans un projet concret.
Tout fonctionne correctement, mais je pense "mal" utiliser le langage et qu'il y a certainement mieux a faire (pas toujours simple de s'adapter � un nouveau langage)
Dans ce projet j'ai besoin de "construire" les URL de diff�rentes cameras IP.
L'ensemble des Information des cam�ras se trouve dans un fichier JSON
Aujourd'hui je vous soumet donc un petit bout de code � vos critiques/conseils/Optimisation/... (en particulier l'obligation de r�p�tition des "tags" qui n'est pas tr�s propre (sic))
Extrait de la "routine" de cr�ation des URLs:
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 const cameras_cfg = require("./cfg/cameras.json"); makeCameraUrl = function (camera, type, flux, user) { var url = camera.url; var Obj = { "@@login@@": user.login, "@@passwd@@": user.passwd, "@@ip@@": camera.ip, "@@stream@@": camera.flux[type].stream, "@@port@@": camera.flux[type].port, "@@flux@@": camera.flux[type][flux] }; return url.replace(/@@login@@|@@passwd@@|@@ip@@|@@stream@@|@@port@@|@@flux@@/g, function (matched) { return Obj[matched]; }); } let cam_id = "102"; let url = makeCameraUrl(cameras_cfg.devices[cam_id], "rtsp", "hd", cameras_cfg.users.view); console.log("Url:", url);
Extrait du JSON des cameras (cameras.json):
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 { "users": { "admin": { "login": "admin", "passwd": "xxxxx" }, "view": { "login": "user", "passwd": "yyyyyy" } }, "devices": { "102": { "id": 102, "name": "Cam 102 PTZ", "ip": "192.168.0.102", "url": "@@stream@@://@@login@@:@@passwd@@@@@ip@@:@@port@@/@@flux@@", "flux": { "rtsp": { "stream": "rtsp", "port": 554, "hd": "1", "sd": "2" } } }, ../.. "106": { "id": 106, "name": "Cam 106", "ip": "192.168.0.106", "url": "@@stream@@://@@ip@@:@@port@@/user=@@login@@&password=@@passwd@@&@@flux@@", "flux": { "rtsp": { "stream": "rtsp", "port": 554, "hd": "channel=1&stream=0.sdp", "sd": "channel=2&stream=0.sdp" } } } } }
Merci d'avance de m'aider � progresser dans les bonnes techniques Javascript
Partager