1.4.26-1 • Published 4 days ago

@less-is-more/less-js v1.4.26-1

Weekly downloads
-
License
MIT
Repository
-
Last release
4 days ago

lim-js

介绍

快捷处理函数 nodejs、js。基本实现一行搞定。 ivanlin96@gmail.com

安装使用

npm install @less-is-more/less-js

开始

  1. 生成数据库映射对象,可以使用 sequelize-automatic。具体请查看其官方 npm 说明。
  2. src下建立index.js文件,可参考
const { Router, Db, Redis } = require("@less-is-more/less-js");
const ApiController = require("./api/api-controller");
const process = require("process");

exports.init = (context, callback) => {
  Db.init(
    process.env.dbHost,
    process.env.dbDatabase,
    process.env.dbUser,
    process.env.dbPassword
  );
  Redis.init(process.env.redisUrl, "default", process.env.redisPassword);
  callback(null, "");
};
exports.handler = (req, res, context) => {
  res.setHeader("content-type", "application/json");
  const targets = {
    "/api": new ApiController(),
  };
  Router.route(targets, req, res, context);
};
  1. 自动生成增删查改。在项目根的命令行执行,然后选择数据库表
less-js-gen

功能块

具体每个函数有具体说明每个参数的作用,以下不再重复。

Route

简单路由。通常放在函数入口 index 中。 Controller 里面需要执行 send 或者直接 return 一个值(值会自动转换文本,来符合 send 的标准)。

// ProductController为类实现
let targets = {
  "/product": ProductController,
  "/order": OrderController,
};
Router.route(targets, req, res);

Cache

缓存,有数据就返回,没有就调用函数并保存结果。 使用 redis 作为缓存,需要初始化 没有使用 annotation,在 mocha 测试快速。

const { Cache, Redis } = require(" @less-is-more/less-js");
// 初始化一次就可以,可以放公用
Redis.init("地址", "用户名", "密码");

let testFunction = (a, b) => {
  console.log(a + b);
  return a + b + "";
};
// 调用
const result = await Cache.get("test", 20, testFunction, testFunction, 1, 2);

Db

数据库暂时支持 mysql。 使用到 sequelize,对象和查询方法可以参考官方文档

const { Db } = require(" @less-is-more/less-js");
// 初始化一次就可以,可以放公用
Db.init("地址", "数据库", "用户", "密码");
// 简单查询
let data = await Db.find(Menu, { ordering: "1" });
// 带分页
let data = await Db.find(Menu, { ordering: "2" }, [["id", "desc"]], 2, 3);
// 指定返回列
let data = await Db.find(Menu, { ordering: "0" }, [["id", "desc"]], 1, 10, [
  "id",
]);
// 添加,Product是生成对象,可以参考sequelize-automate
Db.add(Product, {
  code: "test",
  name: "产品",
});
// 修改
Db.update(Menu, { name: "test name2", ordering: "2" }, { id: 7 });
// 删除。限制了一条记录
Db.delOne(Menu, { code: "abc" });

Redis

简单封装。命令和官方一样。

const { Redis } = require(" @less-is-more/less-js");
// 初始化一次就可以,可以放公用
Redis.init("地址", "用户名", "密码");
// exec命令,调用官方命令,参数顺序一样
let result = await Redis.exec("get", "test");

Param

参数处理工具。检查参数,错误抛 Error,成功返回参数集合 基本沿用 validator 的方法,https://www.npmjs.com/package/validator check 方法新增 isNotEmpty, require。支持多个,空格隔开。默认 is 类的方法不含空

let params = await Param.checkParams([
  ["返回参数key", value, "isNotEmpty", "错误显示的内容"],
  ["返回参数key2", value2, "isNotEmpty", "错误显示的内容2"],
]);
// 检查是否空
Param.isBlank(value);

Sms

暂时支持阿里云的短信服务

// 初始化一次就可以,可以放公用
Sms.init("key", "secret", "token");
Sms.debug(true);
Sms.send("手机号码", { info: "短信参数" }, "签名", "短信编号");
1.4.26-1

4 days ago

1.4.26-0

5 days ago

1.4.25

6 days ago

1.4.24

6 days ago

1.4.23

8 days ago

1.4.22

1 month ago

1.4.21

1 month ago

1.4.20

2 months ago

1.4.19

2 months ago

1.4.15

2 months ago

1.4.14

2 months ago

1.4.17

2 months ago

1.4.16

2 months ago

1.4.18

2 months ago

1.4.13

4 months ago

1.4.12

5 months ago

1.4.9

8 months ago

1.4.11

6 months ago

1.4.8

8 months ago

1.4.10

7 months ago

1.4.7

9 months ago

1.4.6

1 year ago

1.4.5

1 year ago

1.4.4

1 year ago

1.4.3

1 year ago

1.4.2

1 year ago

1.4.1

2 years ago

1.4.0

2 years ago

1.3.8

2 years ago

1.3.7

2 years ago

1.3.6

2 years ago

1.3.5

2 years ago

1.3.4

2 years ago

1.3.3

2 years ago

1.3.2

2 years ago

1.3.1

2 years ago

1.3.0

2 years ago

1.2.34

2 years ago

1.2.35

2 years ago

1.2.33

2 years ago

1.2.36

2 years ago

1.2.29

2 years ago

1.2.30

2 years ago

1.2.31

2 years ago

1.2.32

2 years ago

1.2.27

2 years ago

1.2.28

2 years ago

1.2.26

2 years ago

1.2.25

2 years ago

1.2.18

2 years ago

1.2.19

2 years ago

1.2.20

2 years ago

1.2.23

2 years ago

1.2.24

2 years ago

1.2.21

2 years ago

1.2.22

2 years ago

1.2.19-1

2 years ago

1.2.16

2 years ago

1.2.17

2 years ago

1.2.14

2 years ago

1.2.15

2 years ago

1.2.12

2 years ago

1.2.13

2 years ago

1.2.10

3 years ago

1.2.11

3 years ago

1.2.8

3 years ago

1.2.7

3 years ago

1.2.6

3 years ago

1.2.5

3 years ago

1.2.4

3 years ago

1.2.9

3 years ago

1.2.3

3 years ago

1.2.2

3 years ago

1.2.1

3 years ago

1.2.0

3 years ago

1.1.18

3 years ago

1.1.17

3 years ago

1.1.16

3 years ago

1.1.15

3 years ago

1.1.14

3 years ago

1.1.12

3 years ago

1.1.13

3 years ago

1.1.11

3 years ago

1.1.9

3 years ago

1.1.8

3 years ago

1.1.7

3 years ago

1.1.6

3 years ago

1.1.5

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.1.3

3 years ago

1.1.2

3 years ago

1.0.38

3 years ago