Browse Source

Update mysql funcs

HonorLee 7 years ago
parent
commit
50b8b4f525
3 changed files with 132 additions and 0 deletions
  1. 33 0
      system/lib/core/handler.js
  2. 21 0
      system/lib/core/view.js
  3. 78 0
      system/lib/helper/mysqldb.js

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

@@ -0,0 +1,33 @@
+var Handler = {
+    // getViewPath:function(path){
+    //     var request = URL.parse(VIEWSPATH+path,true);
+    //     var FileName = request.pathname+'.html';
+
+    //     if(FILE.existsSync(FileName)){
+    //         return FileName;
+    //     }else{
+    //         return null;
+    //     }
+    // },
+    // getView:function(path){
+    //     var FileName = this.getViewPath(path);
+    //     if(FileName){
+    //         return FILE.readFileSync(FileName,'utf8');
+    //     }else{
+    //         return null;
+    //     }
+
+    // },
+    response:function(res,data){
+
+    },
+    apiResponse:function(res,data){
+        if(!res) return;
+        data = data?{success:1,data:data}:{success:0};
+        res.writeHead(200, {'Content-Type': 'text/json'});
+        res.write(JSON.stringify(data));
+        res.end();
+    }
+}
+
+module.exports=Handler;

+ 21 - 0
system/lib/core/view.js

@@ -0,0 +1,21 @@
+var View = function(src,params){
+    if(!src) return null;
+
+    this.html = '';
+    this.params = params?params:{};
+
+    if(!src.match(Core.Path.View)){
+        src = Core.Path.View + src;
+    }
+
+    if(FILE.existsSync(src)){
+        var data = FILE.readFileSync(src,'UTF-8');
+        this.html = EJS.render(data,this.params);
+    }else{
+        return null;
+    }
+    
+    return this;
+}
+
+module.exports = View;

+ 78 - 0
system/lib/helper/mysqldb.js

@@ -7,4 +7,82 @@ module.exports={
             MysqlPool.freeConnection(mysql);
         });
     }
+};
+
+global.M = function(table){
+    if(!table) return null;
+    return new Module(Config.mysql_cfg.prefix+table);
+};
+
+var Module = function(table){
+    let instance = this;
+    let tableName = table;
+    let method,where;
+    let rows,value;
+
+    instance.get = function(row){
+        method = 'select';
+        if(!row) row = '*';
+        if(typeof row ==='string') rows = row.split(',');
+        if(typeof row ==='object' && row.length) rows = row;
+        return instance;
+    };
+    instance.update = function(row,val){
+        method = 'update';
+        if(!val) return instance;
+        let rowArr,valArr,pair;
+        if(typeof row ==='string') rowArr = row.split(',');
+        if(typeof row ==='object' && row.length) rowArr = row;
+        if(typeof val ==='string') valArr = val.split(',');
+        if(typeof val ==='object' && val.length) valArr = val;
+        if(rowArr.length == valArr.length){
+            for(let i in rowArr){
+                if(Number(valArr[i])==valArr[i]){
+                    valArr[i] = Number(valArr[i]);
+                }else{
+                    valArr[i] = '"'+String(valArr[i])+'"';
+                }
+            }
+            rows  = rowArr.join(',');
+            value = valArr.join(',');
+        }
+        return instance;
+    };
+    instance.del = function(){
+
+    };
+    instance.where = function(row,val){
+        if(!row || !val) return instance;
+        let rowArr,valArr;
+        if(typeof row ==='string') rowArr = row.split(',');
+        if(typeof row ==='object' && row.length) rowArr = row;
+        if(typeof val ==='string') valArr = val.split(',');
+        if(typeof val ==='object' && val.length) valArr = val;
+        if(rowArr.length == valArr.length){
+            where = [];
+            for(let i in rowArr){
+                if(Number(valArr[i])==valArr[i]){
+                    valArr[i] = Number(valArr[i]);
+                }else{
+                    valArr[i] = '"'+String(valArr[i])+'"';
+                }
+                where.push(([rowArr[i],valArr[i]]).join('='));
+            }
+        }
+        return instance;
+    };
+    instance.run = function(callback){
+        let query = [],queryStr;
+        let whereStr = where?('where '+where.join(' and '):'';
+        switch(method){
+            case 'select':
+                query = ['select',rows.join(','),'from',tableName,whereStr];
+                break;
+            case 'update':
+                query = ['update',tableName,'set','(',rows.join(','),')','values(',value.join(','),')',whereStr];
+                break;
+        }
+        queryStr = query.join(' ');
+        console.log(queryStr);
+    }
 };