自动创建生成 服务器(express+mysql)---将要废弃不再维护,更好更多方案将在jason-core-api出现(未完)
##特点
- 自动创建服务,自带mysql服务器连接 方便
- 自动注入了表的增删改查(如user表)
//存在id为修改否则为新增 //计数统计,一般用于分页列表
其中filter为过滤条件如:(支持多层嵌套)
name:'sss'age:89// name =’sss‘ and age=89...name_ne:'sss'age_gt: 89//name =’sss‘ and age>89name_ne:'sss'age_gte: 89//name =’sss‘ and age>=89name_like:'sss%'age_lt:89//name like ’sss‘ and age<89name_like:'sss%'age_lte:89//name like ’sss‘ and age<=89name_notLike:'%sss'//name not like ’sss‘ name_in:'sss'//name in [’sss‘] name_notIn:'sss'//name not in [’sss‘ ] AND: name:'99' id_ne:'1111' ... // name='99' and id != '1111'... OR: name:'99' id_ne:'1111' ... //name ='99' or id != '1111'...
等等...
用法文档
1.在根目录下创建.env.js文件
IGORE_TOKEN_FUN: 'login' 'getCurrentUser' 'sendIdentifyCode' 'uploadImg'//不需token校验的接口,2.0.20版本已经不需要,但兼容 SET_TOKEN_FUN: 'login'//设置token的api接口 MODEL_DIR: `/model`//表目录 API_DIR: `/biz`//自定义接口目录 ENV: PORT: 5001 URL: 'http://localhost' //服务器配置 DB_ENV: host: 'localhost' user: 'root' database: 'job' password: 'root' port: 3306 multipleStatements: true //mysql 配置
2.在根目录下创建 表文件目录 model,在目录下创建表文件 Account.type.sql
type Account id: ID! mobile: String password: String lastLoginTime: DateTime loginTimes: Int//目前支持类型 ID! String Bool Int Decimal Date DateTimeq七种类型
3.在根目录创建自定义接口目录 biz 在biz中创建自定义接口文件如 password.biz.js 自定义接口如下
//登录const login = async { const account = await ; if !account return error: '账号不存在或密码错误'; const accountId = accountid; const user = await ; if !user return error: '用户不存在' await let token = await || await ; await ; return user accountId tokenId: tokenid}
login 接口injectable:引入其他接口,包括自定义和系统自定义transaction: 是否注入事务处理
创建服务
const setParamsMiddleWare = { //根据实际情况写此方法 const params = reqbodyparams||{}; const token = reqbodytokenId; const url = requrl; const urls = url; const funName = urlsurlslength - 10; reqfunName = funName; reqtoken = token; reqparams = params; } //核心 setParamsMiddleWare customMiddlewares:
funName: 接口名//必填params:接口参数//必填setParamsMiddleWare:注入token 用户参数等信息//必须customMiddlewares: 用于自定义中间件//非必须
版本历史信息
2.0.19 ........ 1.添加api ignoreCheckToken(true) 不开启token校验,默认所有findOne,findAll,count都不校验,
2.不允许自定义api以 findAll findOne count create update upsert 开头
2.0.18 ........ 修改配置文件,适应ip + token校验
2.0.8 ........ 添加据库自动创建表( 删除原表)
2.0.4 ........ 修改不需事务处理bug。
1.0.0 ........ 优化自动注入接口,添加自定义model计数接口如: countUser({filter:{....}})。