node crypto--sh1-md5

//tool.js  文件
var crypto=require('crypto'); function sha1(str){ return crypto.createHash('sha1').update(str).digest('hex'); } function md5(str){ return crypto.createHash('md5').update(str).digest('hex'); } var _extends=function(obj1,obj2){ console.log('_extends') //继承 for(var k in obj1){ obj2[k]=obj1[k] } } module.exports={ sha1:sha1, md5:md5, _extends:_extends }
//model.js文件
 1 var util=require('util');
 2 const PREFIX='blog_';
 3 var db=require(__dirname+'/../config/db.js');
 4 //console.log(db);
 5 function model(){
 6 this.prefix=PREFIX;
 7 this.db=db;
 8 }
 9 
10 model.prototype.insert=function(obj,callback){
11 //insert into table() values()
12 //{username:'guojikai',age:'55',sex:'1'}
13 var table=this.table;
14 var fields='';
15 var values='';
16 for( var k in obj){
17 fields+=k+',';
18 values=values+"'"+obj[k]+"',"
19 }
20 fields=fields.slice(0,-1);
21 values=values.slice(0,-1);
22 var sql="INSERT INTO "+this.prefix+table+'('+fields+') VALUES('+values+')';
23 // console.log(sql+'--------------');
24 this.db.query(sql,callback);
25 }
26 model.prototype.findOne=function (where,callback){ //查找一条;
27 // whre is arr; [{id:1},{username:admin}];
28 var table=this.table;
29 var _WHERE='';
30 if(util.isObject(where)){
31 _WHERE+='WHERE ';
32 for(var k in where){
33 _WHERE+=k+"='"+where[k]+"' AND ";
34 }
35 
36 _WHERE=_WHERE.slice(0,-4);
37 }else if(typeof where =='string'){
38 _WHERE='WHERE '+where;
39 }
40 var sql="SELECT * FROM "+this.prefix+table+' '+_WHERE+' LIMIT 1';
41 console.log(sql);
42 this.db.query(sql,function(err,data){
43 if(err){
44 callback(err,0);
45 }else{
46 callback(err,data[0]);
47 }
48 });
49 }
50 model.prototype.select=function(fields,callback){ //查找所有;
51 var _FIELDS='';
52 for(var i=0;i<fields.length;i++){
53 _FIELDS+=fields[i]+',';
54 }
55 _FIELDS=_FIELDS.slice(0,-1);
56 var sql="SELECT "+_FIELDS+" FROM "+this.prefix+table;
57 console.log(sql);
58 this.db.query(sql,callback);
59 }
60 
61 model.prototype.update=function(sets,where,callback){
62 var _SETS='';
63 var _WHERE='';
64 var table=this.table;
65 for(var k in sets){
66 _SETS+=k+"='"+sets[k]+"',";
67 }
68 _SETS=_SETS.slice(0,-1);
69 for(var k2 in where){
70 _WHERE+=k+"='"+where[k2]+"' AND ";
71 }
72 //update table set username='admin2',age='55' where id="5";
73 var sql="UPDATE "+this.prefix+table+' SET '+_SETS+' '+_WHERE;
74 this.db.query(sql,callback);
75 }
76 model.prototype.del=function(where,callback){
77 var table=this.table;
78 var _WHERE='';
79 for(var k2 in where){
80 _WHERE+=k+"='"+where[k2]+"' AND ";
81 }
82 var sql="DELETE FROM "+this.prefix+table+' '+_WHERE;
83 this.db.query(sql,callback);
84 }
85 
86 module.exports=new model();

 

// users.js 文件;

var model=require('./model.js');
var tool=require('../tool.js');
function User(){
this.table="users";
this.name="user";
}
var user=new User();
tool._extends(model,user);

module.exports=user

实现模块化 

 



  

转载于:https://www.cnblogs.com/gjKai/p/6785304.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值