浏览代码

超级客户端添加res.version.properties加密需求@CRMAIF_REQ_2536

zhanglong7 3 年之前
父节点
当前提交
06cfcc8825

+ 2 - 4
superapp-client/build.gradle

@ -15,13 +15,11 @@ buildscript {
15 15
16 16
allprojects {
17 17
    repositories {
18
        jcenter()
18
//        jcenter()
19 19
        flatDir {
20 20
            dirs project(':ipu-mobile-common').file('libs')
21 21
        }
22 22
        google()
23
        maven{
24
            url  "https://dl.bintray.com/qihoo360/replugin"
25
        }
23
        maven { url 'https://jitpack.io' }
26 24
    }
27 25
}

二进制
superapp-client/ipu-mobile-common/libs/ipu-mobile-framework.aar


+ 13 - 7
superapp-client/superappclient/build.gradle

@ -1,7 +1,7 @@
1 1
apply plugin: 'com.android.application'
2 2
3 3
android {
4
    compileSdkVersion 23
4
    compileSdkVersion 30
5 5
6 6
    defaultConfig {
7 7
        applicationId "com.ai.ipu.superapp"
@ -37,13 +37,18 @@ android {
37 37
            dirs '../ipu-mobile-common/libs','../ipu-mobile-libs/libs'
38 38
        }
39 39
    }
40
}
41 40
42
apply plugin: 'replugin-host-gradle'
43
repluginHostConfig {
44
    useAppCompat = true
41
    compileOptions {
42
        sourceCompatibility JavaVersion.VERSION_1_8
43
        targetCompatibility JavaVersion.VERSION_1_8
44
    }
45 45
}
46 46
47
//apply plugin: 'replugin-host-gradle'
48
//repluginHostConfig {
49
//    useAppCompat = true
50
//}
51
47 52
dependencies {
48 53
    implementation(name: 'ipu-mobile-framework', ext: 'aar')
49 54
    implementation project(':ipu-mobile-common')
@ -58,6 +63,7 @@ dependencies {
58 63
//    implementation(name:'ipu-map-bd-1.0', ext:'aar')
59 64
    implementation(name:'ipu-push-jpush-1.0', ext:'aar')
60 65
    implementation(name:'ipu-customcamera-1.0', ext:'aar')
61
    implementation 'com.android.support:appcompat-v7:23.0.1'
62
    implementation 'com.qihoo360.replugin:replugin-host-lib:2.3.1'
66
    implementation 'com.android.support:appcompat-v7:27.0.1'
67
//    implementation 'com.qihoo360.replugin:replugin-host-lib:2.3.1'
68
    implementation 'com.github.getActivity:XXPermissions:12.6'
63 69
}

+ 4 - 4
superapp-client/superappclient/src/main/assets/mobile-config.xml

@ -1,14 +1,14 @@
1 1
<?xml version="1.0" encoding="utf-8"?>
2 2
<configs>
3 3
    <!-- 请求主机名或请求地址。包括服务器的ip地址和端口 -->
4
<!--	<config name="request_host" value="http://www.aiipu.com:8083"/>-->
5
    <config name="request_host" value="http://121.42.183.206:9010" />
4
	<config name="request_host" value="http://60.205.219.67:18007/" />
5
<!--    <config name="request_host" value="http://121.42.183.206:9010" />-->
6 6
	<!-- <config name="request_host" value="http://10.13.10.57:8080"/> -->
7 7
	<!-- 必须。10.0.2.2为Android模拟器的保留ip地址。访问到本机电脑时使用 -->
8 8
	<!-- <config name="request_host" value="http://10.0.2.2:8080"/> -->
9 9
	<!-- 必须。容器应用名或请求根路径 -->
10
<!--	<config name="request_path" value="/superapp"/>-->
11
    <config name="request_path" value="/mobile" />
10
	<config name="request_path" value="/superapp"/>
11
<!--    <config name="request_path" value="/mobile" />-->
12 12
	<!-- 必须。数据接口的servlet路径 -->
13 13
	<config name="request_servlet" value="/mobiledata"/>
14 14
	<!-- 非必须,默认应用名。sd卡上的应用根目录名字,解决应用中文名的问题 -->

+ 16 - 16
superapp-client/superappclient/src/main/java/com/ai/ipu/sa/App.java

@ -7,11 +7,11 @@ import android.util.Log;
7 7
8 8
import com.ai.ipu.mobile.dynamic.app.NativeMenuManager;
9 9
import com.ai.ipu.mobile.frame.IpuBasicApplication;
10
import com.qihoo360.mobilesafe.core.BuildConfig;
11
import com.qihoo360.replugin.RePlugin;
12
import com.qihoo360.replugin.RePluginCallbacks;
13
import com.qihoo360.replugin.RePluginConfig;
14
import com.qihoo360.replugin.RePluginEventCallbacks;
10
//import com.qihoo360.mobilesafe.core.BuildConfig;
11
//import com.qihoo360.replugin.RePlugin;
12
//import com.qihoo360.replugin.RePluginCallbacks;
13
//import com.qihoo360.replugin.RePluginConfig;
14
//import com.qihoo360.replugin.RePluginEventCallbacks;
15 15
16 16
/**
17 17
 * Created by Administrator on 2016/12/5.
@ -21,32 +21,32 @@ public class App extends IpuBasicApplication {
21 21
    @Override
22 22
    public void onCreate() {
23 23
        super.onCreate();
24
        RePlugin.App.onCreate();
24
//        RePlugin.App.onCreate();
25 25
        NativeMenuManager.initPluginManager(this);
26 26
    }
27 27
28 28
    @Override
29 29
    protected void attachBaseContext(Context base) {
30 30
        super.attachBaseContext(base);
31
        RePlugin.App.attachBaseContext(this);
31
//        RePlugin.App.attachBaseContext(this);
32 32
    }
33 33
34 34
    @Override
35 35
    public void onLowMemory() {
36 36
        super.onLowMemory();
37
        RePlugin.App.onLowMemory();
37
//        RePlugin.App.onLowMemory();
38 38
    }
39 39
40 40
    @Override
41 41
    public void onTrimMemory(int level) {
42 42
        super.onTrimMemory(level);
43
        RePlugin.App.onTrimMemory(level);
43
//        RePlugin.App.onTrimMemory(level);
44 44
    }
45 45
46 46
    @Override
47 47
    public void onConfigurationChanged(Configuration newConfig) {
48 48
        super.onConfigurationChanged(newConfig);
49
        RePlugin.App.onConfigurationChanged(newConfig);
49
//        RePlugin.App.onConfigurationChanged(newConfig);
50 50
    }
51 51
52 52
    @Override
@ -54,10 +54,10 @@ public class App extends IpuBasicApplication {
54 54
        return super.createConfigurationContext(overrideConfiguration);
55 55
    }
56 56
57
    protected RePluginConfig createConfig() {
58
        RePluginConfig c = new RePluginConfig();
59
        // FIXME RePlugin默认会对安装的外置插件进行签名校验,这里先关掉,避免调试时出现签名错误
60
        c.setVerifySign(!BuildConfig.DEBUG);
61
        return new RePluginConfig();
62
    }
57
//    protected RePluginConfig createConfig() {
58
//        RePluginConfig c = new RePluginConfig();
59
//        // FIXME RePlugin默认会对安装的外置插件进行签名校验,这里先关掉,避免调试时出现签名错误
60
//        c.setVerifySign(!BuildConfig.DEBUG);
61
//        return new RePluginConfig();
62
//    }
63 63
}

+ 16 - 1
superapp-client/superappclient/src/main/java/com/ai/ipu/sa/func/MobileOpenApp.java

@ -21,10 +21,13 @@ import android.util.Log;
21 21
import android.widget.Toast;
22 22
23 23
import com.ai.ipu.basic.file.FileUtil;
24
import com.ai.ipu.basic.net.http.HttpTool;
24 25
import com.ai.ipu.mobile.dynamic.app.NativeMenu;
25 26
import com.ai.ipu.mobile.dynamic.app.NativeMenuManager;
27
import com.ai.ipu.mobile.frame.template.ResVersionManager;
26 28
import com.ai.ipu.mobile.ui.HintUtil;
27 29
import com.ai.ipu.mobile.ui.activity.IpuUrlActivity;
30
import com.ai.ipu.mobile.util.Constant;
28 31
import com.ai.ipu.mobile.util.NatvieMenuConstant;
29 32
import com.ai.ipu.sa.MainActivity;
30 33
import com.ai.ipu.sa.SubAppActivity;
@ -76,6 +79,10 @@ public class MobileOpenApp extends Plugin {
76 79
        if(subAppOpenStatus.get(appId)!=null&&subAppOpenStatus.get(appId)){
77 80
        	openSubApp(ipuParam);
78 81
        }else{
82
			String host = MultipleManager.getCurrRequestHost();
83
			String servlet = MultipleManager.getCurrRequestServlet();
84
			String requestPath = MultipleManager.getCurrRequestPath();
85
        	getVersion(host + requestPath + servlet); // 通过getVersion判断资源列表是否加密
79 86
        	TemplateDownloader downloader = new TemplateDownloader(context) {
80 87
    			@Override
81 88
    			protected void downloadComplete() {
@ -286,5 +293,13 @@ public class MobileOpenApp extends Plugin {
286 293
		}
287 294
	}
288 295
289
296
	protected IData getVersion(String url) throws Exception {
297
		Map<String, String> postParam = new HashMap<>();
298
		postParam.put(Constant.Server.ACTION, Constant.Version.VERSION_ACTION);// 接口名固定getVersion
299
		String data = HttpTool.urlEncode(HttpTool.toQueryString(postParam), "UTF-8");
300
		String result = HttpTool.httpRequest(url, data, Constant.HTTP_POST);
301
		DataMap res = new DataMap(result);
302
		ResVersionManager.setEncryptResVersions(res); //设置是否加密res.version.properties
303
		return res;
304
	}
290 305
}