zhouxianguang 6 年 前
コミット
613089744f
7 ファイル変更83 行追加63 行削除
  1. 8 0
      app.js
  2. 1 1
      common/LjConst.js
  3. 58 22
      helper/LjFileHelper.js
  4. 1 1
      helper/LjLogHelper.js
  5. 2 37
      index.html
  6. 8 1
      test/fs.js
  7. 5 1
      test/mac.js

+ 8 - 0
app.js

@@ -6,6 +6,14 @@ var logHelper = require("./helper/LjLogHelper.js");
 
 //根据不同的功能划分模块
 app.use('/lesson', require('./router/lesson'))
+app.get('/', function (req, res) {
+    //res.render('index.html');
+    console.info(__dirname+'/index.html');
+    res.sendFile(__dirname+'/index.html',
+        {
+            "image":"222"
+        });
+})
 
 //启动监听
 app.listen(8089, function ()

+ 1 - 1
common/LjConst.js

@@ -1,5 +1,5 @@
 const constBase = {
-    BASE_DIR:'C:\\LingJiao\\',
+    BASE_DIR:__dirname.split("winBoxNode")[0],
     VIDEO_TYPE_M3U8 : 'm3u8',
     VIDEO_TYPE_MP4 : 'mp4',
     VIDEO_TYPE_MP3 : 'mp3',

+ 58 - 22
helper/LjFileHelper.js

@@ -6,6 +6,8 @@ var path = require('path');
 var logHelper = require("./LjLogHelper");
 var apiHelper = require("../helper/LjApiHelper");
 var httpHelper = require("../helper/LjHttpHelper");
+var os = require('os');
+
 
 /**
  * The helper of file
@@ -17,7 +19,7 @@ class LjFileHelper
      * @param fileUrl the file url
      * @returns {boolean}
      */
-    static downloadFile(fileUrl,opt)
+    static downloadFile(fileUrl, opt)
     {
         //获取文件属性对象
         var filePropObj = this.getFileProperty(fileUrl);
@@ -49,16 +51,17 @@ class LjFileHelper
                     logHelper.info("Succeeded to down video:" + localFileDirNew);
 
                     //加密存储
-                    LjFileHelper.writeEncryptedStream(localFileDir, localFileDirNew,function(){
+                    LjFileHelper.writeEncryptedStream(localFileDir, localFileDirNew, function ()
+                    {
                         //获取文件基本信息
-                        fs.stat(localFileDirNew,function(err,stats)
+                        fs.stat(localFileDirNew, function (err, stats)
                         {
-                            if(err==null)
+                            if (err == null)
                             {
                                 //文件大小
                                 var fileSize = stats.size;
                                 LjFileHelper.updateDownloadResSize(opt);
-                                logHelper.info("Succeeded to encrypt video:" + localFileDirNew +" with file size["+fileSize+"]");
+                                logHelper.info("Succeeded to encrypt video:" + localFileDirNew + " with file size[" + fileSize + "]");
                             }
                         });
                     });
@@ -93,16 +96,17 @@ class LjFileHelper
                 logHelper.info("Succeeded to down audio:" + localFileDirNew);
 
                 //加密有声读物
-                LjFileHelper.writeEncryptedStream(localFileDir, localFileDirNew,function(){
+                LjFileHelper.writeEncryptedStream(localFileDir, localFileDirNew, function ()
+                {
                     //获取文件基本信息
-                    fs.stat(localFileDirNew,function(err,stats)
+                    fs.stat(localFileDirNew, function (err, stats)
                     {
-                        if(err==null)
+                        if (err == null)
                         {
                             //文件大小
                             var fileSize = stats.size;
                             LjFileHelper.updateDownloadResSize(opt);
-                            logHelper.info("Succeeded to encrypt audio:" + localFileDirNew +" with file size["+fileSize+"]");
+                            logHelper.info("Succeeded to encrypt audio:" + localFileDirNew + " with file size[" + fileSize + "]");
                         }
                     });
                 });
@@ -136,17 +140,18 @@ class LjFileHelper
                 logHelper.info("Succeeded to down image:" + localFileDirNew);
 
                 //加密图片
-                LjFileHelper.writeEncryptedStream(localFileDir, localFileDirNew,function(){
+                LjFileHelper.writeEncryptedStream(localFileDir, localFileDirNew, function ()
+                {
                     //获取文件基本信息
-                    fs.stat(localFileDirNew,function(err,stats)
+                    fs.stat(localFileDirNew, function (err, stats)
                     {
-                        if(err==null)
+                        if (err == null)
                         {
                             //文件大小
                             var fileSize = stats.size;
                             LjFileHelper.updateDownloadResSize(opt);
 
-                            logHelper.info("Succeeded to encrypt image:" + localFileDirNew +" with file size["+fileSize+"]");
+                            logHelper.info("Succeeded to encrypt image:" + localFileDirNew + " with file size[" + fileSize + "]");
                         }
                     });
                 });
@@ -238,17 +243,36 @@ class LjFileHelper
         var fileType = fileName.split(".")[1]
 
         var newFileDir = "";
-        if (fileType == "m3u8")
+
+        var platform = os.platform();
+        if (platform == "win32")
         {
-            fileName = fileName.replace(".m3u8", "_new.mp4")
-            newFileDir = ljConst.BASE_DIR + fileName.replace(/\*/g, '\\');
+            if (fileType == "m3u8")
+            {
+                fileName = fileName.replace(".m3u8", "_new.mp4")
+                newFileDir = ljConst.BASE_DIR + fileName.replace(/\*/g, '\\');
+            }
+            else
+            {
+                fileName = fileName.replace(".", "_new.")
+                newFileDir = ljConst.BASE_DIR + fileName.replace(/\*/g, '\\');
+            }
         }
-        else
+        else if (platform == "darwin")
         {
-            fileName = fileName.replace(".", "_new.")
-            newFileDir = ljConst.BASE_DIR + fileName.replace(/\*/g, '\\');
+            if (fileType == "m3u8")
+            {
+                fileName = fileName.replace(".m3u8", "_new.mp4")
+                newFileDir = ljConst.BASE_DIR + fileName.replace(/\*/g, '/');
+            }
+            else
+            {
+                fileName = fileName.replace(".", "_new.")
+                newFileDir = ljConst.BASE_DIR + fileName.replace(/\*/g, '/');
+            }
         }
 
+
         return newFileDir;
     }
 
@@ -285,9 +309,21 @@ class LjFileHelper
 
         var splitArr = fileUrl.split('/')
         var arrLen = splitArr.length;
-        for (var i = 3; i < arrLen - 1; i++)
+        var platform = os.platform();
+        if (platform == "win32")
         {
-            folderDir += splitArr[i] + "\\";
+
+            for (var i = 3; i < arrLen - 1; i++)
+            {
+                folderDir += splitArr[i] + "\\";
+            }
+        }
+        else if(platform == "darwin")
+        {
+            for (var i = 3; i < arrLen - 1; i++)
+            {
+                folderDir += splitArr[i] + "/";
+            }
         }
         //创建文件夹目录
         this.mkdirsSync(folderDir);
@@ -377,7 +413,7 @@ class LjFileHelper
      * @param fSrc the source file
      * @param fDest the dest file
      */
-    static writeEncryptedStream(fSrc, fDest,callback)
+    static writeEncryptedStream(fSrc, fDest, callback)
     {
         var rs = fs.createReadStream(fSrc);
         var ws = fs.createWriteStream(fDest);

+ 1 - 1
helper/LjLogHelper.js

@@ -5,7 +5,7 @@ log4js.configure({
         out: { type: 'stdout' },//设置是否在控制台打印日志
         info: {
             type: 'file',
-            filename: 'c:/LingJiao/logs/lingjiao.log',
+            filename: __dirname.split("winBoxNode")[0]+"/Logs/lingjiao.log",
             pattern: "_yyyy-MM-dd",
             alwaysIncludePattern: false,
             category: 'dateFileLog'

+ 2 - 37
index.html

@@ -1,47 +1,12 @@
 <!DOCTYPE HTML>
 <html>
 <head>
-    <title>js获取本机mac地址,IP地址,计算机名</title>
+    <title>领教云课堂</title>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     <meta content="MSHTML 6.00.2800.1106" name="GENERATOR">
 </head>
 
 <body>
-<object id=locator classid=CLSID:76A64158-CB41-11D1-8B02-00600806D9B6 VIEWASTEXT></object>
-<object id=foo classid=CLSID:75718C9A-F029-11d1-A1AC-00C04FB6C223></object>
-<script language="JScript">
-    var service = locator.ConnectServer();
-    var MACAddr ;
-    var IPAddr ;
-    var DomainAddr;
-    var sDNSName;
-    service.Security_.ImpersonationLevel=3;
-    service.InstancesOfAsync(foo, 'Win32_NetworkAdapterConfiguration');
-</script>
-<script language="JScript" event="OnCompleted(hResult,pErrorObject, pAsyncContext)" for="foo">
-    document.forms[0].txtMACAddr.value=unescape(MACAddr);
-    document.all.txtIPAddr.value=unescape(IPAddr);
-    document.forms[0].txtDNSName.value=unescape(sDNSName);
-    //document.formbar.submit();
-</script>
-<script language="JScript" event="OnObjectReady(objObject,objAsyncContext)" for="foo">
-    if(objObject.IPEnabled != null && objObject.IPEnabled != "undefined" && objObject.IPEnabled == true) {
-        if(objObject.MACAddress != null && objObject.MACAddress != "undefined") {
-            MACAddr = objObject.MACAddress;
-        }
-        if(objObject.IPEnabled && objObject.IPAddress(0) != null && objObject.IPAddress(0) != "undefined") {
-            IPAddr = objObject.IPAddress(0);
-        }
-        if(objObject.DNSHostName != null && objObject.DNSHostName != "undefined") {
-            sDNSName = objObject.DNSHostName;
-        }
-    }
-</script>
-
-<form id="formfoo" name="formbar" action="#" method="post">
-    <input value="00:05:5D:0E:C7:FA" name="txtMACAddr">
-    <input value="10.241.91.51" name="txtIPAddr">
-    <input value="typ" name="txtDNSName">
-</form>
+    <h1 style="color: red;text-align: center;">欢迎您访问领教云</h1>
 </body>
 </html>

+ 8 - 1
test/fs.js

@@ -1,4 +1,6 @@
 var fs = require("fs");
+var os=require('os');
+
 var path = "/Users/john/Desktop/test.mp41";
 fs.stat(path,function(err,stats)
 {
@@ -10,4 +12,9 @@ fs.lstat(path,function(err,stats)
 {
     console.info(err==null);
     console.info(stats.size);
-});
+});
+
+var os=require('os');
+console.log('This platform is ' + os.platform());
+console.log('This platform is ' + os.release());
+console.log('This platform is ' + os.hostname());

+ 5 - 1
test/mac.js

@@ -1,4 +1,5 @@
 var npm = require('getmac');//获取mac地址
+var fs = require('fs');//获取mac地址
 
 var macAddressStr = "";
 //获取机器mac地址
@@ -7,4 +8,7 @@ npm.getMac(function(err,macAddress){
     macAddressStr = macAddress; //获取mac地址
     console.log(macAddressStr);
 });
-console.info(macAddressStr);
+console.info(macAddressStr);
+
+fs.mkdirSync("/Users/john/Desktop/zxg/zxg1");
+