1.0.12 • Published 6 years ago
rn-common-lib v1.0.12
react native通用方法封装
react native通用方法封装,包括:网络请求、数据缓存、flux dispatcher、NativeModules方法封装和其他一些通用方法。
安装
npm install rn-common-lib
引入模块
import 'rn-common-lib';
或
import lib from 'rn-common-lib';
api方法使用说明
//网络请求
lib.api.fetch()
- 参数说明:
url
: 请求url,string,required。method
: 请求方法,string,optional (默认post)。storagekey
: 缓存key string, optional (默认为空)。headers
: 特设header头, object optional (非必填)。data
: 传递参数, object optional (非必填)。 - 示例:
lib.api.fetch({
url: 'http://www.baidu.com',
method: 'post',
storagekey: 'fds',
}).then((response) => {
if (response.status == 'OK') {
//...
} else {
console.log(response.description);
}
})
nativeModules方法使用说明
//nativeModules方法调用
lib.native.funcName();
1、getSign
- 功能:获取签名
- 语法:
lib.native.getSign(options);
- 参数说明: options:object:
- 示例:
lib.native.getSign({
eventID: 'test_1213'
});
2、fetchUserInfo
- 功能:获取用户基本信息
- 语法:
lib.native.fetchUserInfo(options);
- 参数说明: options:object
- 示例:
lib.native.fetchUserInfo({
eventID: '12322',
params: {
user_id:'test'
}
})
3、fetchApiHost
- 功能:获取API请求HOST
- 语法:
lib.native.fetchApiHost(options);
- 参数说明: options:object
- 示例:
lib.native.fetchApiHost({
eventID: '12322',
params: {
user_id:'test'
}
})
4、fetchNoticeSettingsType
- 功能:获取当前通知设置页的类型
- 语法:
lib.native.fetchNoticeSettingsType(options);
- 参数说明: options:object
- 示例:
lib.native.fetchNoticeSettingsType({
eventID: '12322',
...params
})
5、popNativePage
- 功能:原生导航pop到上一个页面
- 语法:
lib.native.popNativePage(options);
- 参数说明: options:object
- 示例:
lib.native.popNativePage ({
eventID: '12322',
params: {
user_id:'test',
user_name:'xxx'
},
tag:'11'
})
6、popNativePageToRoot
- 功能:原生导航pop到根页面
- 语法:
lib.native.popNativePageToRoot(options);
- 参数说明: options:object
- 示例:
lib.native.popNativePageToRoot ({
eventID: '12322',
params: {
user_id:'test',
user_name:'xxx'
},
tag:'11'
})
7、showLoading
- 功能:显示native Loading动画(不需要传参)
- 语法:
lib.native.showLoading();
stopLoading
- 功能:停止native Loading动画(不需要传参)
- 语法:
lib.native.stopLoading();
Storage方法使用说明
//缓存方法
lib.storage.funcName();
1、save
- 功能:保存数据
- 语法:
lib.storage.save(options);
- 参数说明:
options:object,包括选项如下:
key
:键值,string,必需。(注:不要在key中使用_下划线符号) ,data
:保存数据 object 必需。 - 示例:
lib.storage.save({
key: 'storagekey',
data: data
});
2、load
- 功能:读取数据
- 语法:
lib.storage.load(options);
- 参数说明:
options:object,包括选项如下:
key
:键值,string,必需。 - 示例:
lib.storage.load({
key: 'storagekey'
});
3、getBatchData
- 功能:读取批量数据
- 语法:
lib.storage.getBatchData(options);
- 参数说明:
options:Array,包括选项如下:
object
: 各个缓存数据键值 必需。 - 示例:
lib.storage.getBatchData([
{key: "storagekey1"},
{key: "storagekey2"},
]);
4、remove
- 功能:删除单个数据
- 语法:
lib.storage.remove(options);
- 参数说明:
options:Object
key
: 键值,string,必需。 - 示例:
lib.storage.remove({
key: "storagekey"
});
fluxDispatcher公共类使用说明
1、appDispatche对象
- 功能:初始化flux Dispatcher对象
- 语法:
lib.fluxDispacther.appDispatche;
2、dispatcher方法
- 功能:初始化flux Dispatcher对象下的dispatcher方法
- 语法:
lib.fluxDispacther.dispatcher;
或
const {dispatcher} = lib.fluxDispacther;
其他通用方法使用说明
1、pTd
- 功能:px转换为dp,parseInt for android bug
- 语法:
lib.utils.pTd(px);
- 参数说明:
px
:要转换的px长度值,number,必需。 - 示例:
lib.utils.pTd(10)
2、stringToJson
- 功能:非object对象转换为json对象
- 语法:
lib.utils.stringToJson(item);
- 参数说明:
item
:要转换非object数据,非object类型,必需。 - 示例:
lib.utils.stringToJson('[1,2,3]')
3、dynamicMargin
- 功能:动态调整margin:给列表中第一项设置marginLeft,最后一项设置marginRight,其他项不做处理
- 语法:
lib.utils.dynamicMargin(total, index, value);
- 参数说明:
total
:列表总项数,number,必需。index
:列表当前项索引,number,必需。value
:需要调整的margin值,number,选填,默认值为16。 - 示例:
lib.utils.dynamicMargin(4,0)
4、compareWithVersion
- 功能:判断客户端当前版本是否大于等于指定版本,果客户端当前版本>=miniVersion,返回true;否则返回false。
- 语法:
lib.utils.compareWithVersion(miniVersion);
- 参数说明:
miniVersion
:指定的版本号,string,必需。 - 示例:
lib.utils.compareWithVersion('8.8.0')
5、getQueryStr
- 功能:获取url参数
- 语法:
lib.utils.getQueryStr(url, separator)
- 参数说明:
url
:需要获取的URL,string,必填separator
:URL中参数和链接之间的分隔符,string,选填,默认为"?" - 示例:
lib.utils.getQueryStr('https://www.npmjs.com/package/url-parse');//{}
//返回值为:{name: "yy", sex: "female"}
lib.utils.getQueryStr('https://www.npmjs.com/package/url-parse?name=yy&sex=female');
//返回值为:{name: "yy", sex: "female"}
lib.utils.getQueryStr('https://www.npmjs.com/package/url-parse#name=yy&sex=female','#')