1.0.5 • Published 9 years ago
general_fetch v1.0.5
通用读写请求库
封装通用读写方便使用,居于node-fetch和es6-promise封装同时支持浏览器和node.js环境。
浏览器支持需要支持fetch 和 Promise,对于不支持fetch 和 Promise的浏览器请自己注入fetch 和 Promise到全局。
安装
npm i general_fetch --save全局配置
默认使用全局配置的里的配置作为参数,构造器里传入的参数优先级比全局配置高
globalOptions = {
/**
* CGI URL
*/
baseUrl: '',
/**
* select时分页查询时的起始页
*/
page: 0,
/**
* select时分页查询时每页的数量
*/
count: 20
};
// 先配置全局`baseUrl`
const GF = require('../index');
GF.globalOptions.baseUrl = 'http://ke.qq.com/cgi-bin/crm/general_access';使用前必须先配置全局baseUrl
Select
查询数据构造器
/**
* 查询数据构造器
* @param sourceId 业务id,对应一张表,找后端要
*/
constructor(sourceId: number);分页查询起始页
/**
* 分页查询起始页
* @param pageIndex
* @return {Select}
*/
page(pageIndex: number): Select; 分页查询每页数量
/**
* 分页查询每页数量
* @param count
* @return {Select}
*/
count(count: number): Select;设置选中的字段
/**
* 设置选中的字段
* @param fields
* @return {Select}
*/
fields(fields: string[]): Select;添加字段升序排序条件
/**
* 添加字段升序排序条件
* @param field
* @return {Select}
*/
sortAsc(field: any): Select;添加字段降序排序条件
/**
* 添加字段降序排序条件
* @param field
* @return {Select}
*/
sortDesc(field: any): Select;发生select请求,获得Promise
在发送请求前一定要设置过滤条件。
/**
* 发生select请求,获得Promise
* @return {Promise<SelectResponse>|Promise}
*/
send(): Promise<SelectResponse>;Select 请求返回的结果
interface SelectResponse {
/**
* 分页查询每页数量
*/
count: number;
/**
* 分页查询起始页
*/
page: number;
/**
* 对应查询条件共有的记录数量
*/
total: number;
/**
* 获取到的数据存放在这里
*/
rows: {
[key: string]: any;
}[];
}条件过滤
在Select和Update的时候,必须设置条件过滤选中对应的记录。有以下条件过滤接口
等于
/**
* 添加过滤条件 等于
* @param field
* @param value
* @return {Select}
*/
equalTo(field: string, value: any): Filter;大于
/**
* 添加过滤条件 大于
* @param field
* @param value
* @return {Select}
*/
greaterThan(field: string, value: any): Filter;大于等于
/**
* 添加过滤条件 大于等于
* @param field
* @param value
* @return {Select}
*/
greaterThanOrEqualTo(field: string, value: any): Filter;小于
/**
* 添加过滤条件 小于
* @param field
* @param value
* @return {Select}
*/
lessThan(field: string, value: any): Filter;小于等于
/**
* 添加过滤条件 小于等于
* @param field
* @param value
* @return {Select}
*/
lessThanOrEqualTo(field: string, value: any): Filter;不等于
/**
* 添加过滤条件 不等于
* @param field
* @param value
* @return {Select}
*/
notEqual(field: string, value: any): Filter;值在列表里
/**
* 添加过滤条件 值在列表里
* @param field
* @param list
* @return {Select}
*/
inList(field: string, list: any[]): Filter;值不在列表里
/**
* 添加过滤条件 值不在列表里
* @param field
* @param list
* @return {Select}
*/
notInList(field: string, list: any[]): Filter;Update
更新请求构造器
/**
* 更新请求构造器
* @param sourceId 业务id,对应一张表,找后端要
*/
constructor(sourceId: number);设置要更新的字段名称和对应的值
/**
* 设置要更新的字段名称和对应的值
* @param updateData
* @return {Update}
*/
data(updateData: {
[key: string]: any;
}): Update;发送请求
/**
* 发生update请求,获得Promise
* @return {Promise<T>|Promise}
*/
send(): Promise<UpdateResponse>;update请求成功插入后不会返回数据,如果插入出错就reject错误
Insert
Insert 插入数据构造器
/**
* Insert 插入数据构造器
* @param sourceId
*/
constructor(sourceId: number);设置要更新的字段
/**
* 设置要更新的字段
* @param fields
* @return {Insert}
*/
fields(fields: string[]): Insert;添加一条需要插入的数据
/**
* 添加一条需要插入的数据
* @param row
*/
row(row: any[]): Insert;发生请求Insert请求,获得Promise
/**
* 发生请求Insert请求,获得Promise
* @return {Promise<{}>|Promise}
*/
send(): Promise<{}>;insert请求成功插入后不会返回数据,如果插入出错就reject错误
Contributing
dev
test
test with mocha,run npm run test to test it
require
安装全局依赖
- typedoc to make API doc
- mocha for test
License
Copyright (c) 2016 HalWu