HonorLee 4 years ago
parent
commit
0ddbb87f1f

+ 1 - 0
system/lib/core/handler.js

@@ -70,6 +70,7 @@ module.exports = function(req,res){
             endContent.data = somthing;
             this.end(200,JSON.stringify(endContent),'text/json');
         }else{
+            this.end(200,JSON.stringify({statusCode:0}),'text/json');
             return LOGGER.error('Function endAPI argument type must be string,number or object');
         }
 

+ 5 - 5
system/lib/core/logger.js

@@ -8,23 +8,23 @@ const colors = require('colors');
 
 var Logger = {
     log:function(msg){
-        console.log('['+serverUID+'][LOG] '+msg);
+        if(Config.debug) console.log(`[${serverUID}][ LOG ][${Moment().format('HH:mm:ss')}] ${msg}`);
         if(Config.write_log_file) this.out('log',msg);
     },
     info:function(msg){
-        console.log(('['+serverUID+'][INF] '+msg).green);
+        console.log((`[${serverUID}][ INFO][${Moment().format('HH:mm:ss')}] ${msg}`).green);
         if(Config.write_log_file) this.out('info',msg);
     },
     debug:function(msg){
-        if(Config.debug) console.log(('['+serverUID+'][DEBUG] '+msg).yellow);
+        if(Config.debug) console.log((`[${serverUID}][DEBUG][${Moment().format('HH:mm:ss')}] ${msg}`).yellow);
         // if(Config.write_log_file) this.out('debug',msg);
     },
     warn:function(msg){
-        console.log(('['+serverUID+'][WARN] '+msg).magenta);
+        if(Config.debug) console.log((`[${serverUID}][ WARN][${Moment().format('HH:mm:ss')}] ${msg}`).magenta);
         if(Config.write_error_file) this.out('warn',msg);
     },
     error:function(msg){
-        console.log(('['+serverUID+'][ERR] '+msg).red);
+        console.log((`[${serverUID}][ ERR ][${Moment().format('HH:mm:ss')}] ${msg}`).red);
         if(Config.write_error_file) this.out('error',msg);
     },
     out:function(level,msg){

+ 3 - 4
system/lib/core/router.js

@@ -12,7 +12,7 @@ var Router ={
         let assetFile = Core.Path.Asset+path;
         FILE.stat(assetFile,function(err,status){
             if(err || !status.isFile()){
-                Router._error('No such file ['+path+']',res);
+                return Router._error('No such file ['+path+']',res);
             }else{
                 STATIC.load(assetFile,req,res);
             }
@@ -85,9 +85,9 @@ var Router ={
                 }
             }
         }
-        if(handler.hasOwnProperty(method) && typeof handler[method]==='function'){
+        if(handler[method] && typeof handler[method]==='function'){
             let noBypass = true;
-            if(handler.hasOwnProperty('__construct') && typeof handler['__construct']==='function') noBypass = handler['__construct']();
+            if(handler['__construct'] && typeof handler['__construct']==='function') noBypass = handler['__construct']();
             if(noBypass || noBypass===undefined) handler[method]();
         }else{
             Router._error('Handler ['+handlerFile+'] no such method "'+method+'"',res);
@@ -125,5 +125,4 @@ module.exports = function(req,res){
         req._Cookie[key] = value;
     });
     Router.goHandler(URLParse.pathname,req,res);
-    return this;
 };

+ 34 - 16
system/lib/extra/wechat/wechat.js

@@ -33,8 +33,9 @@ let Wechat = {
             }else{
                 Core.Request({url:WechatApiURL.getAccessToken,encoding:'UTF-8',json:true},function(err,response,body){
                     if(err || !body){
-                        Logger.error('Wechat getAccessToken error!');
-                        Logger.error(err);
+                        LOGGER.error('Wechat getAccessToken error!');
+                        LOGGER.error(err);
+                        console.log(err,body)
                         callback.call(_this,new Error('Wechat getAccessToken error!'),null);
                         return;
                     }
@@ -60,8 +61,8 @@ let Wechat = {
                         let url = WechatApiURL.getJsApiTicket + token;
                         Core.Request({url:url,encoding:'UTF-8',json:true},function(err,response,body){
                             if(err || !body){
-                                Logger.error('Wechat getJsApiTicket error!');
-                                Logger.error(err);
+                                LOGGER.error('Wechat getJsApiTicket error!');
+                                LOGGER.error(err);
                                 callback.call(_this,new Error('Wechat getJsApiTicket error!'),null);
                                 return;
                             }
@@ -76,8 +77,8 @@ let Wechat = {
                     }
                 });
             }else{
-                Logger.error('Wechat getJsApiTicket error!');
-                Logger.error(err);
+                LOGGER.error('Wechat getJsApiTicket error!');
+                LOGGER.error(err);
             }
         });
     },
@@ -88,8 +89,8 @@ let Wechat = {
         let timestamp = Math.floor(Moment().valueOf()/1000);
         Wechat.getJsApiTicket(function(err,ticket){
             if(err){
-                Logger.error('Wechat getSignature error!');
-                Logger.error(err);
+                LOGGER.error('Wechat getSignature error!');
+                LOGGER.error(err);
                 callback.call(_this,err,null);
                 return;
             }
@@ -116,8 +117,8 @@ let Wechat = {
         let url = WechatApiURL.getOauthToken + `&code=${code}`;
         Core.Request({url:url,encoding:'UTF-8',json:true},function(err,response,body){
             if(err || !body){
-                Logger.error('Wechat getOauthToken error!');
-                Logger.error(err);
+                LOGGER.error('Wechat getOauthToken error!');
+                LOGGER.error(err);
                 callback.call(_this,new Error('Wechat getOauthToken error!'),null);
                 return;
             }
@@ -134,8 +135,8 @@ let Wechat = {
         let url = WechatApiURL.getOauthUserinfo + `&access_token=${access_token}&openid=${openid}`;
         Core.Request({url:url,encoding:'UTF-8',json:true},function(err,response,body){
             if(err || !body){
-                Logger.error('Wechat getOauthUserinfo error!');
-                Logger.error(err);
+                LOGGER.error('Wechat getOauthUserinfo error!');
+                LOGGER.error(err);
                 callback.call(_this,new Error('Wechat getOauthUserinfo error!'),null);
                 return;
             }
@@ -162,8 +163,8 @@ let Wechat = {
         let url = WechatApiURL.getCode2Session + code;
         Core.Request({url:url,encoding:'UTF-8',json:true},function(err,response,body){
             if(err || !body){
-                Logger.error('Wechat getCode2Session error!');
-                Logger.error(err);
+                LOGGER.error('Wechat getCode2Session error!');
+                LOGGER.error(err);
                 callback.call(_this,new Error('Wechat getCode2Session error!'),null);
                 return;
             }
@@ -179,7 +180,7 @@ module.exports = Wechat;
 
 function getTokenFromCache(callback){
     if(Config.Wechat.StoreType=='Memcache' && Config.Database.Memcache.on){
-        Memcache.get('wechat_AccessToken',function(err,data){
+        Memcache.get('Wechat_AccessToken',function(err,data){
             if(!err && data){
                 callback(data);
             }else{
@@ -188,6 +189,16 @@ function getTokenFromCache(callback){
         });
         return;
     }
+    if(Config.Wechat.StoreType=='Redis' && Config.Database.Redis.on){
+        Redis.hgetall('Wechat_AccessToken',(err,data) => {
+            if(!err && data){
+                callback(data.token);
+            }else{
+                callback();
+            }
+        })
+        return;
+    }
 
     try{
         FILE.statSync(tmpTokenFile);
@@ -208,8 +219,15 @@ function getTokenFromCache(callback){
 function setTokenToCahe(token,expires){
     expires = expires - 60;
     if(Config.Wechat.StoreType=='Memcache' && Config.Database.Memcache.on){
-        Memcache.set('wechat_AccessToken',token,expires,function(err){
+        Memcache.set('Wechat_AccessToken',token,expires,function(err){
+            if(err) console.log(err);
+        })
+        return;
+    }
+    if(Config.Wechat.StoreType=='Redis' && Config.Database.Redis.on){
+        Redis.hmset('Wechat_AccessToken','token',token,function(err){
             if(err) console.log(err);
+            Redis.expire('Wechat_AccessToken',expires);
         })
         return;
     }