@@ -1,13 +1,16 @@ | |||
import React, { Component } from 'react'; | |||
import { | |||
import { | |||
Platform, | |||
StyleSheet, | |||
Text, | |||
View, | |||
Image, | |||
ImageBackground, | |||
NativeModules | |||
} from 'react-native'; | |||
//引用插件 | |||
import Package from './package.json' | |||
import HttpUtils from './HttpUtils.js'; | |||
@@ -16,7 +19,9 @@ import DeviceInfo from "react-native-device-info"; | |||
import * as Animatable from 'react-native-animatable'; | |||
contentItemDefault = { | |||
var testMac = '11:AA:33:BB:44' | |||
var contentItemDefault = { | |||
type:0, | |||
subType:0, | |||
qrcode:[], | |||
@@ -30,17 +35,15 @@ contentItemDefault = { | |||
} | |||
} | |||
baseInfoDefault = { | |||
var baseInfoDefault = { | |||
imgUrlH:'', | |||
imgQrcodeWeapp:'', | |||
imgQrcodeWemp:'' | |||
} | |||
curAdIndex = 0; | |||
testMac = '11:AA:33:BB:44' | |||
var curAdIndex = 0; | |||
errorMsg = { | |||
var errorMsg = { | |||
ERR_MAC_GET:'MAC地址获取错误', | |||
ERR_DATA_GET:'数据获取错误' | |||
@@ -59,7 +62,7 @@ export default class MyPage extends Component { | |||
contentDisplayStatus:false, | |||
syncMessage: "INIT" , | |||
syncMessage: "Init" , | |||
errorMessage: 'Loading...', | |||
progress: { | |||
@@ -67,7 +70,7 @@ export default class MyPage extends Component { | |||
totalBytes:0 | |||
}, | |||
macAddress: '', | |||
versionInfo:'UNKNOWN' | |||
versionInfo:'Unknown' | |||
}; | |||
} | |||
@@ -127,7 +130,7 @@ codePushStatusDidChange(syncStatus) { | |||
} | |||
hbRequest() { | |||
HttpUtils.post('https://mall.youlane.cn/api/wxDeviceScreenAd/heartbeat?deviceId=' | |||
HttpUtils.post(NativeModules.BuildConfig.apiHost + 'api/wxDeviceScreenAd/heartbeat?deviceId=' | |||
+encodeURIComponent(this.state.macAddress), | |||
{version:this.state.versionInfo}) | |||
.then(result => { | |||
@@ -137,7 +140,7 @@ codePushStatusDidChange(syncStatus) { | |||
} | |||
getAdDataList() { | |||
HttpUtils.get('https://mall.youlane.cn/api/wxDeviceScreenAd/list?deviceId='+encodeURIComponent(this.state.macAddress)+'&pageNum=1&pageSize=1000') | |||
HttpUtils.get(NativeModules.BuildConfig.apiHost + 'api/wxDeviceScreenAd/list?deviceId='+encodeURIComponent(this.state.macAddress)+'&pageNum=1&pageSize=1000') | |||
.then(result => { | |||
if (result.code != 200) { | |||
this.setState({errorMessage : result.message}); | |||
@@ -159,7 +162,7 @@ codePushStatusDidChange(syncStatus) { | |||
} | |||
getBaseInfo() { | |||
HttpUtils.get('https://mall.youlane.cn/api/wxDeviceScreenAd/info?deviceId='+encodeURIComponent(this.state.macAddress)) | |||
HttpUtils.get(NativeModules.BuildConfig.apiHost + 'api/wxDeviceScreenAd/info?deviceId='+encodeURIComponent(this.state.macAddress)) | |||
.then(result => { | |||
if (result.code != 200) { | |||
this.setState({errorMessage : result.message}); | |||
@@ -131,16 +131,24 @@ android { | |||
buildTypes { | |||
debug { | |||
buildConfigField "String", "API_HOST", "\"https://mall.youlane.cn/\"" | |||
buildConfigField "String", "CODEPUSH_HOST", "\"http://202.165.179.86:3333/\"" | |||
buildConfigField "String", "CODEPUSH_HOST", "\"http://mall.youlane.cn:3333/\"" | |||
buildConfigField "String", "CODEPUSH_KEY", "\"8snO1yoHlvhEtBjr02zTr3g1comw4ksvOXqog\"" | |||
} | |||
release { | |||
buildConfigField "String", "API_HOST", "\"https://admin.malls.iformall.com/\"" | |||
buildConfigField "String", "CODEPUSH_HOST", "\"http://202.165.179.86:3333/\"" | |||
buildConfigField "String", "API_HOST", "\"https://admintest.malls.iformall.com/\"" | |||
buildConfigField "String", "CODEPUSH_HOST", "\"http://mall.youlane.cn:3333/\"" | |||
buildConfigField "String", "CODEPUSH_KEY", "\"9rYZYySFD0ryN5wCD9YmjJkT55Kf4ksvOXqog\"" | |||
minifyEnabled enableProguardInReleaseBuilds | |||
proguardFiles getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro" | |||
} | |||
product.initWith(release) | |||
product { | |||
buildConfigField "String", "API_HOST", "\"https://admin.malls.iformall.com/\"" | |||
buildConfigField "String", "CODEPUSH_HOST", "\"http://admin.malls.iformall.com:3333/\"" | |||
buildConfigField "String", "CODEPUSH_KEY", "\"9rYZYySFD0ryN5wCD9YmjJkT55Kf4ksvOXqog\"" | |||
matchingFallbacks = ['product', 'release'] | |||
} | |||
} | |||
// applicationVariants are e.g. debug, release | |||
applicationVariants.all { variant -> | |||
@@ -4,6 +4,9 @@ import android.app.Application; | |||
import com.facebook.react.ReactApplication; | |||
import org.reactnative.camera.RNCameraPackage; | |||
import com.facebook.react.bridge.ReactApplicationContext; | |||
import com.facebook.react.bridge.ReactContextBaseJavaModule; | |||
import com.learnium.RNDeviceInfo.RNDeviceInfo; | |||
import com.microsoft.codepush.react.CodePush; | |||
import com.facebook.react.ReactNativeHost; | |||
@@ -14,6 +17,8 @@ import com.facebook.soloader.SoLoader; | |||
import java.util.Arrays; | |||
import java.util.List; | |||
public class MainApplication extends Application implements ReactApplication { | |||
private final ReactNativeHost mReactNativeHost = new ReactNativeHost(this) { | |||
@@ -31,14 +36,16 @@ public class MainApplication extends Application implements ReactApplication { | |||
@Override | |||
protected List<ReactPackage> getPackages() { | |||
return Arrays.<ReactPackage>asList( | |||
new MainReactPackage(), | |||
new RNCameraPackage(), | |||
new RNDeviceInfo(), new CodePush( | |||
BuildConfig.CODEPUSH_KEY, | |||
getApplicationContext(), | |||
BuildConfig.DEBUG, | |||
BuildConfig.CODEPUSH_HOST | |||
) | |||
new MainReactPackage(), | |||
new RNCameraPackage(), | |||
new RNBuildConfigPackage(), | |||
new RNDeviceInfo(), | |||
new CodePush( | |||
BuildConfig.CODEPUSH_KEY, | |||
getApplicationContext(), | |||
BuildConfig.DEBUG, | |||
BuildConfig.CODEPUSH_HOST | |||
) | |||
); | |||
} | |||
@@ -0,0 +1,36 @@ | |||
package com.screenad; | |||
import android.content.pm.PackageManager; | |||
import com.facebook.react.bridge.ReactApplicationContext; | |||
import com.facebook.react.bridge.ReactContextBaseJavaModule; | |||
import com.facebook.react.bridge.ReactMethod; | |||
import java.util.HashMap; | |||
import java.util.Map; | |||
import javax.annotation.Nullable; | |||
public class RNBuildConfig extends ReactContextBaseJavaModule { | |||
public RNBuildConfig(ReactApplicationContext reactContext) { | |||
super(reactContext); | |||
} | |||
@Override | |||
public String getName() { | |||
return "BuildConfig"; | |||
} | |||
@Override | |||
public @Nullable | |||
Map<String, Object> getConstants() { | |||
HashMap<String, Object> constants = new HashMap<String, Object>(); | |||
constants.put("apiHost", BuildConfig.API_HOST); | |||
constants.put("buildType", BuildConfig.BUILD_TYPE); | |||
constants.put("versionCode", BuildConfig.VERSION_CODE); | |||
constants.put("versionName", BuildConfig.VERSION_NAME); | |||
return constants; | |||
} | |||
} |
@@ -0,0 +1,31 @@ | |||
package com.screenad; | |||
import com.facebook.react.ReactPackage; | |||
import com.facebook.react.bridge.JavaScriptModule; | |||
import com.facebook.react.bridge.NativeModule; | |||
import com.facebook.react.bridge.ReactApplicationContext; | |||
import com.facebook.react.uimanager.ViewManager; | |||
import java.util.ArrayList; | |||
import java.util.Collections; | |||
import java.util.List; | |||
public class RNBuildConfigPackage implements ReactPackage { | |||
@Override | |||
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) { | |||
return Collections.emptyList(); | |||
} | |||
@Override | |||
public List<NativeModule> createNativeModules( | |||
ReactApplicationContext reactContext) { | |||
List<NativeModule> modules = new ArrayList<>(); | |||
modules.add(new RNBuildConfig(reactContext)); | |||
return modules; | |||
} | |||
// Deprecated RN 0.47 | |||
public List<Class<? extends JavaScriptModule>> createJSModules() { | |||
return Collections.emptyList(); | |||
} | |||
} |