Browse Source

[编译][新增]:获取系统信息,添加product编译模式

tags/jenkins-front-end-screenad-69-v44^0
hupeng 6 years ago
parent
commit
2dd823f533
5 changed files with 108 additions and 23 deletions
  1. +15
    -12
      App.js
  2. +11
    -3
      android/app/build.gradle
  3. +15
    -8
      android/app/src/main/java/com/screenad/MainApplication.java
  4. +36
    -0
      android/app/src/main/java/com/screenad/RNBuildConfig.java
  5. +31
    -0
      android/app/src/main/java/com/screenad/RNBuildConfigPackage.java

+ 15
- 12
App.js View File

@@ -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});


+ 11
- 3
android/app/build.gradle View File

@@ -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 ->


+ 15
- 8
android/app/src/main/java/com/screenad/MainApplication.java View File

@@ -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
)
);
}



+ 36
- 0
android/app/src/main/java/com/screenad/RNBuildConfig.java View File

@@ -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;
}
}

+ 31
- 0
android/app/src/main/java/com/screenad/RNBuildConfigPackage.java View File

@@ -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();
}
}

Loading…
Cancel
Save