1.2.13 • Published 5 years ago

lond v1.2.13

Weekly downloads
1
License
ISC
Repository
-
Last release
5 years ago

简介:

1、lond 封装了mysql mongodb redis 及其他一些常用方法 简化了操作

2、基于模块 crypto mysql mongodb redis

3、参数返回格式 会返回error参数 如果error不为null就说明sql出错 {error:null,result:true}

4、每个模块都会有ready、error事件

5、初始化模块会触发start事件 初始化完成会触发ready事件 报错会触发error事件

6、可以根据需要增加加载模块

注意事项:

1、lond刚提交为测试期如果有建议和问题可直接联系作者 2、lond使用数据库时必须初始化否则获取不到连接对象 3、一定要监听ready、error事件 4、项目均开源安装后直接在 /node_modules/lond 包里面获取的就是源码

redis实例

var lond = require("lond")
var re = {
   port: 6379,
   host: '127.0.0.1',
};
lond.startRedis(re) //初始化
lond.redis.event.on("ready",async (data)=>{//成功触发事件
   console.log("连接成功触发事件")
   await lond.redis.Exset("test","test0000") //同步set
   var val  = await lond.redis.get("test") //同步get
   if(val.error){
       console.log("redis出错"+val.error)
   }else{
       console.log("redis get成功"+val.result)
   }

})
lond.redis.event.on("error",(err)=>{//失败触发事件
   console.log("连接失败"+err)
})


setTimeout(()=>{  //可以非嵌套运用  这里延迟一秒执行 如果程序启动直接运行会报错(连接数据库会耗时)
   await lond.redis.Exset("test","test0000") //同步set
   var val  = await lond.redis.get("test") //同步get
   if(val.error){
       console.log("redis出错"+val.error)
   }else{
       console.log("redis get成功"+val.result)
   }
},1000)

mongodb实例

var lond = require("lond")
var options = {
   host: 'mongodb://192.168.0.5:27017/node_club_test',
   table: "node_club_test"
};
lond.startMongoDB(options)
lond.mongod.event.on("ready",async (data)=>{//成功触发事件
   //连接成功
 let user = await lond.mongod.find("users",{}) //同步查询
   if(user.error){ //查询出错
       console.log(user.error)
   }else{
       console.log(user.result)
   }
})
lond.mongod.event.on("error",async (err)=>{//错误处理
   console.error(err)
})

setTimeout(()=>{  //可以非嵌套运用  这里延迟一秒执行 如果程序启动直接运行会报错(连接数据库会耗时)
  let user = await lond.mongod.find("users",{}) //同步查询
    if(user.error){ //查询出错
        console.log(user.error)
    }else{
        console.log(user.result)
    }
},1000)

mysql实例

var lond = require("lond")
var options = {
    DATABASE: 'URQuantDB',
    USERNAME: 'root',
    PASSWORD: 'Root!!2018',
    PORT: '3306',
    HOST: '192.168.0.5',
    connectionLimit: 30,
    multipleStatements: true
}

lond.startMysql(options) //初始化Mysql模块 并得到mysql链接实例

lond.mysql.event.on("ready", async (data) => {//成功触发事件
    let uer = await lond.mysql.query("select * from test")//查询
    if (uer.error) {
        console.log(uer.error)
    } else {
        console.log(uer.result)
    }
    lond.mysql.Exquery("update from set a = ?",['value'])//异步修改
})
lond.mysql.event.on("error", async (err) => {//错误处理
    console.error(err)
})


setTimeout(()=>{  //可以非嵌套运用  这里延迟一秒执行 如果程序启动直接运行会报错(连接数据库会耗时)
    let uer = await lond.mysql.query("select * from test")
       if (uer.error) {
           console.log(uer.error)
       } else {
           console.log(uer.result)
       }
    lond.mysql.Exquery("update from set a = ?",['value'])//异步修改
},1000)

安装部署

1、运行 npm install lond 直接将lond包安装包到项目

2、引入

 var lond = require('lond')

初始化

初始化mysql

  var options = {
       DATABASE: 'URQuantDB',
       USERNAME: 'root',
       PASSWORD: 'Root!!2018',
       PORT: '3306',
       HOST: '192.168.0.5',
       connectionLimit: 30,
       multipleStatements: true
   }
   lond.startMysql(options) //初始化Mysql模块 并得到mysql链接实例

初始化mongodb

var options = {
        host: 'mongodb://127.0.0.1:27017/node_club_test',
        table: "node_club_test"
   };
lond.startMongoDB(options)

初始化redis

var options = {
    port: 6379,
    host: '192.168.0.5',
};
lond.startRedis(options)

监听事件

lond.mysql.event.on("error",function(err){
 console.error("发生错误"+err)
})
lond.mongodb.event.on("error",function(err){
 console.error("发生错误"+err)
})
lond.redis.event.on("error",function(err){
 console.error("发生错误"+err)
})

API

Mysql

var options = {
   DATABASE: 'test', //数据库 默认值test库
   USERNAME: 'root', //用户名 默认值root
   PASSWORD: 'root', //密码   默认值root
   PORT: '3306',     //端口   默认值3306
   HOST: '127.0.0.1',//host   默认值localhost
   connectionLimit: 30,//连接池数量 默认值10
   multipleStatements: true
}
//项目加载时必须初始化mysql 后面得到 lond.mysql实例
lond.startMysql(options) //初始化Mysql模块 并得到mysql链接实例 lond会新增一个mysql key 作为mysql连接实例

query(sql,data,callback) 同步执行

 // 同步操作sql语句
var user = await lond.mysql.query("select * from test");
 if (uer.error) {
       console.error("sql出错"+uer.error)
   }else{
   console.log(user)
   }

Exquery(sql,data,callback) 异步执行

//异步操作sql
lond.mysql.Exquery("update set user = ?,age=?",["小黄人",20]);

mongodb

var options ={
     host: 'mongodb://192.168.0.5:27017/node_club_test', // host:连接地址
     table:"node_club_test" // table:需要操作的库
     };
lond.startMongoDB(options)//初始化mongodb模块 并得到mongodb链接实例 lond会新增一个mongd key 作为mongodb连接实例

find(table, data, skip, limit, sort) 同步查询

  • @param string dable:集合名 (必传)
  • @param objeck data :条件 (必传可为空对象)
  • @param number skip :从第几条开始查
  • @param number limit:查询多少条
  • @param object sort :排序
//实例 查询 users集合 userName为小红 从第0条开始查询10条 以name字段倒序
 let user = await lond.mongod.find("users",{userName:"小红"},0,10,{name:-1} )
   if (uer.error) {
         console.error("sql出错"+uer.error)
    }else{
     console.log(user)
    }

updateOne(table, data, value) 同步修改单条

  • @param string table 集合
  • @param object data 条件
  • @param object value 修改数据
  • @returns {Promise}
     let updateOne = await lond.mongod.updateOne(table, {}, {$set:{"test":"test"}})
       if (updateOne.error) {
            console.error("sql出错"+updateOne.error)
        }else{
        console.log(updateOne)
        }

ExupdateOne(table, data, value) 异步修改单条

  • @param string table 集合
  • @param object data 条件
  • @param object value 修改数据
  • @returns {Promise}
       lond.mongod.updateOne(table, data, value)

updateAll(table, data, value, upsert) 同步修改满足条件的

  • @param string table 需要修改的集合
  • @param object data 条件
  • @param object value 需要修改的列和值
  • @param boolean upsert 有则修改没有则插入 默认false
      let updateAll =  lond.mongod.updateAll(table, {}, {$set:{test:"111"}},true)
         if (updateAll.error) {
           console.error("sql出错"+updateAll.error)
       }else{
       console.log(updateAll)
       }

ExupdateAll (table, data, value) 异步修改满足条件的

  • @param string table 需要修改的集合
  • @param object data 条件
  • @param object value 需要修改的列和值
         lond.mongod.ExupdateAll(table, {}, {$set:{test:"111"}})

deleteOne (table, data) 同步删除单条

  • @param string table 需要修改的集合
  • @param object data 条件
      let deleteOne =  lond.mongod.deleteOne(table, {})
         if (deleteOne.error) {
           console.error("sql出错"+deleteOne.error)
       }else{
       console.log(deleteOne)
       }

ExdeleteOne (table, data)异步删除单条

  • @param string table 需要修改的集合
  • @param object data 条件
       lond.mongod.ExdeleteOne(table, {})

deleteAll(table, data)同步删除满足条件的

  • @param string table 需要修改的集合
  • @param object data 条件
       let deleteAll =  lond.mongod.deleteAll(table, {})
          if (deleteAll.error) {
            console.error("sql出错"+deleteAll.error)
        }else{
        console.log(deleteAll)
        }

    ExdeleteAll (table, data)异步删除满足条件的

  • @param string table 需要修改的集合
  • @param object data 条件
      lond.mongod.ExdeleteAll(table, {})

redis

  var options = { 
      verification: false,//是否开启redis密码连接
      port: 6379,
      host: '192.168.0.5',
      pwd: ''  //verification为true时需要填写密码
  };
  lond.startRedis(options)

set(key, value, expire, pexpireat)同步set

  • @param string key
  • @param string value
  • @param number expire 过期时间 可以字符串
  • @param boolean pexpireat 是否使用毫秒
  • @returns {Promise}
 let set = await lond.redis.set('test','test')
 if (set.error) {
   console.error("sql出错"+set.error)
 }else{
   console.log(set)
 }

Exset(key, value, expire, pexpireat)异步set

  • @param string key
  • @param string value
  • @param number expire
  • @param boolean pexpireat
  • @constructor
lond.redis.Exset('test','test')

get(key) 同步get

  • @param string key
  • @returns {Promise}
 let get = await lond.redis.get('test','test')
 if (get.error) {
   console.error("sql出错"+get.error)
 }else{
   console.log(get)
 }

incr(key)同步递减 值必须是数字

  • @param string key
  • @returns {Promise}
 let incr = await lond.redis.incr('mun')
   if (incr.error) {
     console.error("sql出错"+incr.error)
   }else{
     console.log(incr)
   }

Exincr(key)异步递减 值必须是数字

  • @param string key
  • @constructor
    lond.redis.Exincr('num')

rpush(key, value)同步从尾部push List

  • @param string key
  • @param value
 let rpush = await lond.redis.rpush('test','test')
   if (rpush.error) {
     console.error("sql出错"+rpush.error)
   }else{
     console.log(rpush)
   }

Exrpush(key, value)同步从尾部push List

  • @param string key
  • @param string value
 lond.redis.Exrpush('test','test')
 

lrem(key, num, flag)同步 删除list

  • @param string key
  • @param number num 删除个数
  • @param string flag 指定内容
  • @returns {Promise}
    let lrem = await lond.redis.lrem('test',1,"test")
      if (lrem.error) {
        console.error("sql出错"+lrem.error)
      }else{
        console.log(lrem)
      }
 
### list Exlrem (key, num, flag)异步删除
  * @param string  key
  * @param number num
  * @param string flag
  * @constructor
  
```javascript
lond.redis.Exlrem('test',1,"test")

lrangen (key, startSum, stopSum)同步获取全部List

  • @param string key
  • @param number startSum 开始位数
  • @param number stopSum 结束位数 -1为全部
  • @returns {Promise}

     let lrem = await lond.redis.lrangen('test',0,-1)
      if (lrangen.error) {
        console.error("sql出错"+lrangen.error)
      }else{
        console.log(lrangen)
      }
 
### hgetall(key)同步获取hash 
  * @param string  key
  * @returns {Promise<any>}
 ```javascript
  let hgetall = await lond.redis.hgetall('test')
   if (hgetall.error) {
     console.error("sql出错"+hgetall.error)
   }else{
     console.log(hgetall)
   }

hget(hashkey, key)同步获取hash

*同步获取指定hash hget(hashkey, key)

  • @param string hashkey hash的key
  • @param string key hash里面单跳key
  • @returns {Promise}
     let hget = await lond.redis.hget('hash',"haskkey")
      if (hget.error) {
        console.error("sql出错"+hget.error)
      }else{
        console.log(hget)
      }
 
 
### hset(hashkey, key, value)同步设置hash 
  * @param string hashkey
  * @param string key
  * @param string value
  * @returns {Promise<any>}
 ```javascript
  let hset = await lond.redis.hset('hahashkeysh',"key","test")
   if (hset.error) {
     console.error("sql出错"+hset.error)
   }else{
     console.log(hset)
   }

Exhset(hashkey, key, value)同步设置hash

  • @param string hashkey
  • @param string key
  • @param string value
  • @returns {Promise}
  lond.redis.Exhset('hahashkeysh',"key","test")

aes对称加解密

lond.lond.start({{ // 设置aes加密参数
    key: '0123456789abcdef', //密钥
    iv: 'yunzhifundsproke', //偏移向量
    padding: 'PKCS7Padding' //补全值
}})

let en = lond.lond.encryption("aasdddd") //aes对称加密:
console.log(en) //Ugx9Wt6PWorg178MbA8+rg==
let de = lond.lond.encryption("Ugx9Wt6PWorg178MbA8+rg==") //aes对称解密
console.log(de) //aasdddd

removeRepeatAttr(Array, key)删除json中重复内容

  • @param arr
  • @param string
    var Array = [{"name":"111"},{"name":"111"},{"name":"222"}]
    var newArr = lond.lond.removeRepeatAttr(Array, "name")  //会删除一个name:111
      console.log(newArr) // [{"name":"111"},{"name":"222"}]
        
### numberCheck(num,pStatus)检查是否为数字
    *@param number
    *@param bumber 两个参数 1:数字  2:true为小数 fale不是小数
    *@return boolena
```javascript
console.log(lond.lond.numberCheck(100,false))//true

checkEmail(str)验证邮箱

  • @param str
  • @returns {boolean}
console.log(lond.lond.checkEmail("123@qq.com"))//true

uuid()获取uuid

* @returns string
console.log(lond.lond.uuid())//d115yu5a61wd6wa1u6aw1d61adwa5

repArr(arr)数组去重

* @param arr
* @returns {arr}
console.log(lond.lond.repArr(['aa','aa','bb']))//['aa','bb']

trim(num)去除空白

  • @param string
  • @returns string
console.log(lond.lond.trim('a s dd'))//asdd

checkRealNum(num)检查是否为实数

  • @param number num
console.log(lond.lond.checkRealNum(asd))//asdd

daysBetween(DateOne,DateTwo)计算两日期之间的相差天数

  • @param string
  • @param string
  • @returns number
console.log(lond.lond.daysBetween("2018-05-12","2018-05-13"))//1

getRandomArrayElements(arr, count)数组中指定取出字符中参数

  • @param array arr
  • @param obj
  • @returns obj
console.log(lond.lond.getRandomArrayElements(['aa','bb'], 'aa'))//aa

componentDate(arr)將一個二维数组转为一维数组

  • @param array arr
  • @returns array arr
    console.log(lond.lond.getRandomArrayElements(['aa','bb'], 'aa'))//aa
  
### instend(arrOne,arrtow)得到两个数组中不同部分
  * @param array arrOne
  * @param array arrtow
  * @returns arr
```javascript
console.log(lond.lond.instend(['aa','bb'], ['aa','bb','cc']))//cc

contains(arr, obj)判断数组中是否包含元素

  • @param array arr
  • @param obj obj
  • @returns boolean
console.log(lond.lond.instend(['aa','cc'], ['cc']))//true

formatDateTime(num)获取时间

  • @param number 1: yyyy-MM-dd hh:mm:ss,2: yyyy-mm-dd,3: hh:mm:ss,4: 毫秒时间戳
  • @returns {string}
    console.log(lond.lond.formatDateTime(2))//2019-04-25
### randomWord(min,max)随机生成字符串
      * @param min//最少多少位
      * @param max//最多多少位
      * @returns {string}
 ```javascript
console.log(lond.lond.randomWord(2,2))//ax

remove(array,val)删除数组中指定值并且不留下

 * @param array
 * @param obj
console.log(lond.lond.remove(['aa','bb'],'aa'))//['bb']

remove(array,val)删除数组中指定值并且不留下

 * @param array
 * @param obj
console.log(lond.lond.remove(['aa','bb'],'aa'))//['bb']

compressToEncodedURIComponent(obj) 数据压缩

 * @param obj
var reqData = "123aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
console.log("压缩",lond.zpi.compressToEncodedURIComponent(reqData)) //IwJgzAhl07fwx0g

decompressFromEncodedURIComponent(str) 数据解压

 * @param obj str
var reqData = "IwJgzAhl07fwx0g"
console.log("压缩",lond.zpi.decompressFromEncodedURIComponent(reqData)) //123aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
1.2.13

5 years ago

1.2.12

5 years ago

1.2.11

5 years ago

1.2.10

5 years ago

1.2.9

5 years ago

1.2.8

5 years ago

1.2.7

5 years ago

1.2.6

5 years ago

1.2.5

5 years ago

1.2.4

5 years ago

1.2.3

5 years ago

1.2.2

5 years ago

1.2.1

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago