提交 6a09b896 authored 作者: 吴强's avatar 吴强

对某些依赖等进行了升级

上级 0d9e986a
...@@ -170,7 +170,7 @@ dependencies { ...@@ -170,7 +170,7 @@ dependencies {
compile project(':react-native-code-push') compile project(':react-native-code-push')
compile project(':react-native-device-info') compile project(':react-native-device-info')
compile fileTree(dir: "libs", include: ["*.jar"]) compile fileTree(dir: "libs", include: ["*.jar"])
compile "com.android.support:appcompat-v7:25.4.0" compile 'com.android.support:appcompat-v7:25.4.0'
compile 'com.android.support:multidex:1.0.1' compile 'com.android.support:multidex:1.0.1'
compile "com.facebook.react:react-native:+" // From node_modules compile "com.facebook.react:react-native:+" // From node_modules
compile project(':react-native-vector-icons') // 2017-10-31 wq add compile project(':react-native-vector-icons') // 2017-10-31 wq add
......
<manifest xmlns:android="http://schemas.android.com/apk/res/android" <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.bolanmanagerapp" xmlns:tools ="http://schemas.android.com/tools"
android:versionCode="1" package="com.bolanmanagerapp"
android:versionName="1.0"> android:versionCode="1"
android:versionName="1.0"
<uses-permission android:name="android.permission.INTERNET" /> >
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.BLUETOOTH"/> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.BLUETOOTH"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/> <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-sdk
android:minSdkVersion="16" <uses-sdk
android:targetSdkVersion="22" /> android:targetSdkVersion="22" />
<application <application
android:name=".MainApplication" android:name=".MainApplication"
android:allowBackup="true" android:allowBackup="true"
android:label="@string/app_name" android:label="@string/app_name"
android:icon="@mipmap/ic_launcher" android:icon="@mipmap/ic_launcher"
android:theme="@style/AppTheme"> android:theme="@style/AppTheme"
<activity >
android:name=".MainActivity" <meta-data
android:label="@string/app_name" tools:replace="android:value"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize" android:name="android.support.VERSION"
android:windowSoftInputMode="adjustResize"> android:value="26.1.0" />
<intent-filter> <activity
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" /> android:name=".MainActivity"
</intent-filter>
</activity> android:label="@string/app_name"
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" /> android:configChanges="keyboard|keyboardHidden|orientation|screenSize"
</application> android:windowSoftInputMode="adjustResize">
<intent-filter>
</manifest> <action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.facebook.react.devsupport.DevSettingsActivity" />
</application>
</manifest>
// Top-level build file where you can add configuration options common to all sub-projects/modules. // Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript { buildscript {
repositories { repositories {
jcenter() jcenter()
maven { maven {
url 'https://maven.google.com/' url 'https://maven.google.com/'
name 'Google' name 'Google'
} }
} google()
dependencies { }
classpath 'com.android.tools.build:gradle:2.3.3' dependencies {
classpath 'com.android.tools.build:gradle:3.3.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files // NOTE: Do not place your application dependencies here; they belong
} // in the individual module build.gradle files
} }
}
allprojects {
repositories { allprojects {
mavenLocal() repositories {
jcenter() mavenLocal()
maven { jcenter()
// All of React Native (JS, Obj-C sources, Android binaries) is installed from npm maven {
url "$rootDir/../node_modules/react-native/android" // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
} url "$rootDir/../node_modules/react-native/android"
maven { }
url 'https://maven.google.com/' maven {
name 'Google' url 'https://maven.google.com/'
} name 'Google'
} }
} }
}
distributionBase=GRADLE_USER_HOME #Fri Jan 18 11:39:12 CST 2019
distributionPath=wrapper/dists distributionBase=GRADLE_USER_HOME
zipStoreBase=GRADLE_USER_HOME distributionPath=wrapper/dists
zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
This source diff could not be displayed because it is too large. You can view the blob instead.
import _ from 'lodash'; import _ from 'lodash';
import { Resolver } from 'fastjson_ref_resolver'; import { Resolver } from 'fastjson_ref_resolver';
/** /**
* @global * @global
* @typedef {Object} RestResponse * @typedef {Object} RestResponse
* @template T * @template T
* @property {number} errorCode 错误码,0表示成功 * @property {number} errorCode 错误码,0表示成功
* @property {T} data 数据 * @property {T} data 数据
*/ */
export function checkStatus(response) { export function checkStatus(response) {
if (response.status >= 200 && response.status < 300) { if (response.status >= 200 && response.status < 300) {
return response; return response;
} }
return response.json().then((data) => { return response.json().then((data) => {
const error = new Error(data.message ? data.message : response.statusText); const error = new Error(data.message ? data.message : response.statusText);
error.data = data; error.data = data;
throw error; throw error;
}); });
} }
export function normParams(unnormed) { export function normParams(unnormed) {
if (_.isPlainObject(unnormed)) { if (_.isPlainObject(unnormed)) {
return _(unnormed).toPairs().flatMap(([k, v]) => (_.isArray(v) ? v.map(vv => [k, vv]) : [[k, v]])).value(); return _(unnormed).toPairs().flatMap(([k, v]) => (_.isArray(v) ? v.map(vv => [k, vv]) : [[k, v]])).value();
} else { } else {
return unnormed; return unnormed;
} }
} }
// eslint-disable-next-line max-len // eslint-disable-next-line max-len
export function parseObject(response, { export function parseObject(response, {
num2str = false, bool2str = false, nul2str = false, ud2str = false, nil2str = false, num2str = false, bool2str = false, nul2str = false, ud2str = false, nil2str = false,
} = {}) { } = {}) {
if (response.status === 204) { // no-content if (response.status === 204) { // no-content
return null; return null;
} else { } else {
const contentType = response.headers.get('content-type'); const contentType = response.headers.get('content-type');
if (contentType) { if (contentType) {
const needMap = num2str || bool2str || nul2str || ud2str || nil2str; const needMap = num2str || bool2str || nul2str || ud2str || nil2str;
const mapStr = (value) => { const mapStr = (value) => {
if (num2str && _.isNumber(value)) { if (num2str && _.isNumber(value)) {
return value.toString(); return value.toString();
} }
if (bool2str && _.isBoolean(value)) { if (bool2str && _.isBoolean(value)) {
return value.toString(); return value.toString();
} }
if (nul2str && _.isNull(value)) { if (nul2str && _.isNull(value)) {
return ''; return '';
} }
if (ud2str && _.isUndefined(value)) { if (ud2str && _.isUndefined(value)) {
return ''; return '';
} }
if (nil2str && _.isNil(value)) { if (nil2str && _.isNil(value)) {
return ''; return '';
} }
return value; return value;
}; };
const mapObj = (obj, mapArrFunc) => { const mapObj = (obj, mapArrFunc) => {
if (_.isArray(obj)) { if (_.isArray(obj)) {
return mapArrFunc(obj, mapObj); return mapArrFunc(obj, mapObj);
} }
if (_.isPlainObject(obj)) { if (_.isPlainObject(obj)) {
return _.mapValues(obj, (val) => { return _.mapValues(obj, (val) => {
const ret = mapStr(val); const ret = mapStr(val);
return mapObj(ret, mapArrFunc); return mapObj(ret, mapArrFunc);
}); });
} }
return obj; return obj;
}; };
const mapArr = (arr, mapObjFunc) => { const mapArr = (arr, mapObjFunc) => {
if (_.isPlainObject(arr)) { if (_.isPlainObject(arr)) {
return mapObjFunc(arr, mapArr); return mapObjFunc(arr, mapArr);
} }
if (_.isArray(arr)) { if (_.isArray(arr)) {
return _.map(arr, (val) => { return _.map(arr, (val) => {
const ret = mapStr(val); const ret = mapStr(val);
return mapArr(ret, mapObjFunc); return mapArr(ret, mapObjFunc);
}); });
} }
return arr; return arr;
}; };
const mapValue = _.curry(mapObj)(_, mapArr); const mapValue = _.curry(mapObj)(_, mapArr);
if (contentType.indexOf('json') !== -1) { if (contentType.indexOf('json') !== -1) {
return response.json() return response.json()
.then((json) => { .then((json) => {
if (json.errorCode === 0) { if (json.errorCode === 0) {
let { data } = json; if (_.isObjectLike(json)) {
if (_.isObjectLike(data)) { json = new Resolver(json).resolve();
data = new Resolver(json.data).resolve(); }
} const { data } = json;
return needMap ? mapValue(data) : data; return needMap ? mapValue(data) : data;
} else { } else {
throw new Error(json.message); throw new Error(json.message);
} }
}); });
} else if (contentType.indexOf('text') !== -1) { } else if (contentType.indexOf('text') !== -1) {
return response.text(); return response.text();
} else { } else {
throw new Error(`Unsupported response content type: ${contentType}`); throw new Error(`Unsupported response content type: ${contentType}`);
} }
} else { } else {
throw new Error('No response content type.'); throw new Error('No response content type.');
} }
} }
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论