raomeng 8 years ago
parent
commit
080a9a3437
32 changed files with 1198 additions and 457 deletions
  1. 1 1
      WeiChat/src/main/AndroidManifest.xml
  2. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/MainActivity.java
  3. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/SplashActivity.java
  4. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/UserCheckedActivity.java
  5. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/account/LoginHistoryActivity.java
  6. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/circle/SendAudioActivity.java
  7. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/circle/SendShuoshuoActivity.java
  8. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/circle/SendVideoActivity.java
  9. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/ADActivity.java
  10. 1 1
      WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/WebViewCommActivity.java
  11. 9 6
      WeiChat/src/main/res/layout/layout_select_head.xml
  12. 31 2
      app_core/common/src/main/java/com/core/utils/CommonUtil.java
  13. 9 6
      app_core/common/src/main/res/layout/layout_select_head.xml
  14. 129 130
      app_core/network/src/main/java/com/me/network/app/http/impl/RetrofitImpl.java
  15. 3 3
      app_modular/applogin/build.gradle
  16. 6 6
      app_modular/applogin/src/main/AndroidManifest.xml
  17. 84 0
      app_modular/applogin/src/main/assets/profession.json
  18. 0 93
      app_modular/applogin/src/main/java/com/modular/login/AdminRegisterActivity.java
  19. 0 159
      app_modular/applogin/src/main/java/com/modular/login/EnterpriseRegisterActivity.java
  20. 240 0
      app_modular/applogin/src/main/java/com/modular/login/activity/AdminRegisterActivity.java
  21. 2 1
      app_modular/applogin/src/main/java/com/modular/login/activity/EnterpriseCompleteActivity.java
  22. 532 0
      app_modular/applogin/src/main/java/com/modular/login/activity/EnterpriseRegisterActivity.java
  23. 3 1
      app_modular/applogin/src/main/java/com/modular/login/activity/LoginActivity.java
  24. 2 1
      app_modular/applogin/src/main/java/com/modular/login/activity/PersonalRegActivity.java
  25. 2 1
      app_modular/applogin/src/main/java/com/modular/login/activity/RegisterSelectActivity.java
  26. 65 0
      app_modular/applogin/src/main/java/com/modular/login/model/ProfessionBean.java
  27. BIN
      app_modular/applogin/src/main/res/drawable-hdpi/ic_reg_camera.png
  28. BIN
      app_modular/applogin/src/main/res/drawable-xhdpi/ic_reg_camera.png
  29. BIN
      app_modular/applogin/src/main/res/drawable-xxhdpi/ic_reg_camera.png
  30. 6 5
      app_modular/applogin/src/main/res/layout/activity_admin_register.xml
  31. 64 32
      app_modular/applogin/src/main/res/layout/activity_enterprise_register.xml
  32. 1 1
      app_modular/appme/src/main/java/com/uas/appme/settings/activity/FeedbackActivity.java

+ 1 - 1
WeiChat/src/main/AndroidManifest.xml

@@ -144,7 +144,7 @@
         </activity>
         <!-- 登录模块 -->
         <activity
-            android:name="com.modular.login.LoginActivity"
+            android:name="com.modular.login.activity.LoginActivity"
             android:launchMode="singleTask"
             android:windowSoftInputMode="adjustPan" />
         <activity android:name=".ui.account.LoginHistoryActivity" />

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/MainActivity.java

@@ -75,7 +75,7 @@ import com.core.xmpp.ListenerManager;
 import com.core.xmpp.dao.FriendDao;
 import com.core.xmpp.listener.AuthStateListener;
 import com.core.xmpp.model.SignAutoLogEntity;
-import com.modular.login.LoginActivity;
+import com.modular.login.activity.LoginActivity;
 import com.uas.appcontact.listener.ImStatusListener;
 import com.uas.appcontact.ui.fragment.ContactsFragment;
 import com.uas.appcontact.ui.fragment.GroupChatFragment;

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/SplashActivity.java

@@ -25,7 +25,7 @@ import com.core.model.User;
 import com.core.dao.UserDao;
 import com.core.utils.helper.LoginHelper;
 import com.core.utils.sp.UserSp;
-import com.modular.login.LoginActivity;
+import com.modular.login.activity.LoginActivity;
 import com.core.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.ADActivity;
 import com.xzjmyk.pm.activity.ui.me.TimeStatisticsActivity;

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/UserCheckedActivity.java

@@ -12,7 +12,7 @@ import com.core.base.ActivityStack;
 import com.core.app.MyApplication;
 import com.xzjmyk.pm.activity.R;
 import com.core.utils.sp.UserSp;
-import com.modular.login.LoginActivity;
+import com.modular.login.activity.LoginActivity;
 import com.core.app.ActionBackActivity;
 import com.core.utils.helper.LoginHelper;
 

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/account/LoginHistoryActivity.java

@@ -32,7 +32,7 @@ import com.core.utils.ToastUtil;
 import com.core.utils.helper.AvatarHelper;
 import com.core.utils.helper.LoginHelper;
 import com.core.utils.sp.UserSp;
-import com.modular.login.LoginActivity;
+import com.modular.login.activity.LoginActivity;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.MainActivity;
 

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/circle/SendAudioActivity.java

@@ -27,7 +27,7 @@ import com.core.xmpp.model.Area;
 import com.core.model.UploadFileResult;
 import com.core.utils.helper.LoginHelper;
 import com.xzjmyk.pm.activity.util.im.helper.UploadService;
-import com.modular.login.LoginActivity;
+import com.modular.login.activity.LoginActivity;
 import com.core.base.BaseActivity;
 import com.core.utils.ToastUtil;
 import com.core.net.volley.ObjectResult;

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/circle/SendShuoshuoActivity.java

@@ -48,7 +48,7 @@ import com.core.widget.view.MyGridView;
 import com.core.xmpp.model.Area;
 import com.core.app.AppConstant;
 import com.xzjmyk.pm.activity.R;
-import com.modular.login.LoginActivity;
+import com.modular.login.activity.LoginActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.oa.LocationMapActivity;
 import com.core.widget.view.Activity.MultiImagePreviewActivity;
 import com.xzjmyk.pm.activity.util.im.helper.UploadService;

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/circle/SendVideoActivity.java

@@ -38,7 +38,7 @@ import com.core.xmpp.model.Area;
 import com.core.model.UploadFileResult;
 import com.core.utils.helper.LoginHelper;
 import com.xzjmyk.pm.activity.util.im.helper.UploadService;
-import com.modular.login.LoginActivity;
+import com.modular.login.activity.LoginActivity;
 import com.core.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.activity.oa.LocationMapActivity;
 import com.xzjmyk.pm.activity.ui.me.LocalVideoActivity;

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/ADActivity.java

@@ -17,7 +17,7 @@ import com.lidroid.xutils.ViewUtils;
 import com.lidroid.xutils.view.annotation.ViewInject;
 import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.MainActivity;
-import com.modular.login.LoginActivity;
+import com.modular.login.activity.LoginActivity;
 import com.core.base.BaseActivity;
 
 

+ 1 - 1
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/WebViewCommActivity.java

@@ -38,7 +38,7 @@ import com.core.net.http.ViewUtil;
 import com.handmark.pulltorefresh.library.PullToRefreshBase;
 import com.handmark.pulltorefresh.library.PullToRefreshWebView;
 import com.modular.appmessages.model.SubMessage;
-import com.modular.login.LoginActivity;
+import com.modular.login.activity.LoginActivity;
 import com.umeng.socialize.ShareAction;
 import com.umeng.socialize.bean.SHARE_MEDIA;
 import com.umeng.socialize.media.UMImage;

+ 9 - 6
WeiChat/src/main/res/layout/layout_select_head.xml

@@ -13,29 +13,32 @@
         android:layout_height="50dp"
         android:gravity="center"
         android:textColor="@color/black"
-        android:textSize="20sp"
+        android:textSize="16sp"
         android:text="@string/common_camera"/>
     <View
         style="@style/app_line_gray_1dp"
         />
+
     <TextView
         android:id="@+id/head_select_photos"
         android:layout_width="match_parent"
         android:layout_height="50dp"
         android:gravity="center"
+        android:text="@string/select_form_phoneablum"
         android:textColor="@color/black"
-        android:textSize="20sp"
-        android:text="@string/select_form_phoneablum"/>
+        android:textSize="16sp" />
+
     <View
         style="@style/app_line_gray_1dp"
-        android:layout_height="5dp"
+        android:layout_height="3dp"
         />
+
     <TextView
         android:id="@+id/head_cancel"
         android:layout_width="match_parent"
         android:layout_height="50dp"
         android:gravity="center"
+        android:text="@string/common_cancel"
         android:textColor="@color/black"
-        android:textSize="20sp"
-        android:text="@string/common_cancel"/>
+        android:textSize="16sp" />
 </LinearLayout>

+ 31 - 2
app_core/common/src/main/java/com/core/utils/CommonUtil.java

@@ -6,6 +6,7 @@ import android.content.Intent;
 import android.content.SharedPreferences;
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
+import android.content.res.AssetManager;
 import android.graphics.Bitmap;
 import android.net.ConnectivityManager;
 import android.net.NetworkInfo;
@@ -37,10 +38,12 @@ import com.core.xmpp.model.SignAutoLogEntity;
 import com.umeng.socialize.UMShareListener;
 import com.umeng.socialize.bean.SHARE_MEDIA;
 
+import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.IOException;
+import java.io.InputStreamReader;
 import java.text.DecimalFormat;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
@@ -428,11 +431,10 @@ public class CommonUtil {
 
     public static String getUserRole() {
         String userRole = getSharedPreferences(MyApplication.getInstance(), "userRole");
-        return userRole==null?"":userRole;
+        return userRole == null ? "" : userRole;
     }
 
 
-
     public static long getlongNumByString(String chche) {
         if (StringUtil.isEmpty(chche)) return -1;
         Pattern p = Pattern.compile("(\\d+)");
@@ -642,6 +644,7 @@ public class CommonUtil {
         headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
         com.core.net.http.ViewUtil.httpSendRequest(ct, url, param, mHandler, headers, codeWhat, null, null, "post");
     }
+
     /**
      * 去除字符串中的换行符,空格
      *
@@ -658,6 +661,7 @@ public class CommonUtil {
         }
         return result;
     }
+
     /**
      * 返回输入框内去除换行符和空格之后的字符串
      *
@@ -670,6 +674,7 @@ public class CommonUtil {
         temp = removeStringMark(temp);
         return StringUtil.toHttpString(temp);
     }
+
     /**
      * @desc:修改textView样式
      * @author:Arison on 2016/8/3
@@ -694,6 +699,7 @@ public class CommonUtil {
         }
         view.setText(style);
     }
+
     /**
      * 检验是否是正确的网址
      *
@@ -706,4 +712,27 @@ public class CommonUtil {
         Matcher m = p.matcher(s);
         return m.matches();
     }
+
+    /**
+     * 从asset路径下读取对应文件转String输出
+     *
+     * @param mContext
+     * @return
+     */
+    public static String getAssetsJson(Context mContext, String fileName) {
+        StringBuilder sb = new StringBuilder();
+        AssetManager am = mContext.getAssets();
+        try {
+            BufferedReader br = new BufferedReader(new InputStreamReader(
+                    am.open(fileName)));
+            String next = "";
+            while (null != (next = br.readLine())) {
+                sb.append(next);
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+            sb.delete(0, sb.length());
+        }
+        return sb.toString().trim();
+    }
 }

+ 9 - 6
app_core/common/src/main/res/layout/layout_select_head.xml

@@ -13,29 +13,32 @@
         android:layout_height="50dp"
         android:gravity="center"
         android:textColor="@color/black"
-        android:textSize="20sp"
+        android:textSize="16sp"
         android:text="@string/common_camera"/>
     <View
         style="@style/app_line_gray_1dp"
         />
+
     <TextView
         android:id="@+id/head_select_photos"
         android:layout_width="match_parent"
         android:layout_height="50dp"
         android:gravity="center"
+        android:text="@string/select_form_phoneablum"
         android:textColor="@color/black"
-        android:textSize="20sp"
-        android:text="@string/select_form_phoneablum"/>
+        android:textSize="16sp" />
+
     <View
         style="@style/app_line_gray_1dp"
-        android:layout_height="5dp"
+        android:layout_height="3dp"
         />
+
     <TextView
         android:id="@+id/head_cancel"
         android:layout_width="match_parent"
         android:layout_height="50dp"
         android:gravity="center"
+        android:text="@string/common_cancel"
         android:textColor="@color/black"
-        android:textSize="20sp"
-        android:text="@string/common_cancel"/>
+        android:textSize="16sp" />
 </LinearLayout>

+ 129 - 130
app_core/network/src/main/java/com/me/network/app/http/impl/RetrofitImpl.java

@@ -35,139 +35,138 @@ import rx.functions.Func1;
 
 /**
  * Retrofit封装Okhttp的方式进行网络操作
- * 
- * @author Arison
  *
+ * @author Arison
  */
 public class RetrofitImpl extends HttpBase {
 
-	public Retrofit retrofit;
-	public ParamService paramService;
-	private static RetrofitImpl instance;
-	
-
-	public static RetrofitImpl getInstance() {
-		if (instance == null) {
-			synchronized (RetrofitImpl.class) {
-				if (instance == null) {
-					instance = new RetrofitImpl();
-				}
-			}
-		}
-
-		return instance;
-	}
-
-	@Override
-	public void initClient() {
-	  
-		Builder okBuilder = new Builder()
-				.connectTimeout(mbuilder.getConnectTimeout(), TimeUnit.SECONDS)
-				.readTimeout(mbuilder.getReadTimeout(), TimeUnit.SECONDS)
-				.writeTimeout(mbuilder.getWriteTimeout(), TimeUnit.SECONDS)
-				.sslSocketFactory(createSSLSocketFactory(), new TrustAllCerts())// 信任所有证书
-				.hostnameVerifier(new TrustAllHostnameVerifier());
-
-		LogInterceptor logInterceptor = new LogInterceptor();
-		logInterceptor.setBuilder(mbuilder);
-		okBuilder.addInterceptor(logInterceptor);
-		if (mbuilder.getCacheFileSize() != 0) {
-			okBuilder.cache(new Cache(mbuilder.getCacheFile(), mbuilder.getCacheFileSize()));
-			okBuilder.addInterceptor(
-					new CacheInterceptor(String.valueOf(mbuilder.getCacheTime()), mbuilder.getCacheType()));
-		}
-
-
-		OkHttpClient client = okBuilder.build();
-		retrofit = new Retrofit.Builder().client(client)
-				.baseUrl(mbuilder.getBaseUrl())
-				.addConverterFactory(StringConverterFactory.create())
-				.addConverterFactory(GsonConverterFactory.create(new Gson()))
-				.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
-				.build();
-
-		paramService = initApi(ParamService.class);
-	}
-
-	public <T> T initApi(Class<T> service) {
-		return retrofit.create(service);
-	}
-
-	@Override
-	public void get(HttpClient builder, Subscriber<Object> s) {
-		Observable<Object> o = paramService.getParam(builder.getBaseUrl(), builder.getParams(), builder.getHeaders());
-		toSubscribe(o, s);
-		
-	}
-
-	@Override
-	public void post(HttpClient builder, Subscriber<Object> s) {
-		Observable<Object> o = paramService.postParam(builder.getBaseUrl(), builder.getParams(), builder.getHeaders());
-		toSubscribe(o, s);
-	}
-	
-	@Override
-	public void uploads(HttpClient mBuilder, Subscriber<Object> s){
-		MultipartBody.Builder builder = new MultipartBody.Builder();
-		builder.setType(MultipartBody.FORM);
-		//追加参数
-		for (String key : mBuilder.getParams().keySet()) {
-			Object object = mBuilder.getParams().get(key);
-			if (!(object instanceof File)) {
-				builder.addFormDataPart(key, object.toString());
-			} else {
-				File file = (File) object;
-				//其中参数“file”和服务器接收的参数 一一对应,保证多文件上传唯一key不变
-				builder.addFormDataPart("file", file.getName(), RequestBody.create(null, file));
-			}
-		}
-		//创建RequestBody
-		RequestBody body = builder.build();
-		Observable<Object> o=paramService.uploads(mBuilder.getBaseUrl(), body);
-		toSubscribe(o, s);
-	}
-
-	private <T> void toSubscribe(Observable<T> o, Subscriber<T> s) {
-		o.retryWhen(new Func1<Observable<? extends Throwable>, Observable<?>>() {
-
-			@Override
-			public Observable<?> call(Observable<? extends Throwable> t) {
-           
-				return t.flatMap(new Func1<Throwable, Observable<?>>() {
-					private int count = 0;
-                     
-					@Override
-					public Observable<?> call(Throwable t) {
-						if (++count <= mbuilder.getMaxRetryCount()) {
+    public Retrofit retrofit;
+    public ParamService paramService;
+    private static RetrofitImpl instance;
+
+
+    public static RetrofitImpl getInstance() {
+        if (instance == null) {
+            synchronized (RetrofitImpl.class) {
+                if (instance == null) {
+                    instance = new RetrofitImpl();
+                }
+            }
+        }
+
+        return instance;
+    }
+
+    @Override
+    public void initClient() {
+
+        Builder okBuilder = new Builder()
+                .connectTimeout(mbuilder.getConnectTimeout(), TimeUnit.SECONDS)
+                .readTimeout(mbuilder.getReadTimeout(), TimeUnit.SECONDS)
+                .writeTimeout(mbuilder.getWriteTimeout(), TimeUnit.SECONDS)
+                .sslSocketFactory(createSSLSocketFactory(), new TrustAllCerts())// 信任所有证书
+                .hostnameVerifier(new TrustAllHostnameVerifier());
+
+        LogInterceptor logInterceptor = new LogInterceptor();
+        logInterceptor.setBuilder(mbuilder);
+        okBuilder.addInterceptor(logInterceptor);
+        if (mbuilder.getCacheFileSize() != 0) {
+            okBuilder.cache(new Cache(mbuilder.getCacheFile(), mbuilder.getCacheFileSize()));
+            okBuilder.addInterceptor(
+                    new CacheInterceptor(String.valueOf(mbuilder.getCacheTime()), mbuilder.getCacheType()));
+        }
+
+
+        OkHttpClient client = okBuilder.build();
+        retrofit = new Retrofit.Builder().client(client)
+                .baseUrl(mbuilder.getBaseUrl())
+                .addConverterFactory(StringConverterFactory.create())
+                .addConverterFactory(GsonConverterFactory.create(new Gson()))
+                .addCallAdapterFactory(RxJavaCallAdapterFactory.create())
+                .build();
+
+        paramService = initApi(ParamService.class);
+    }
+
+    public <T> T initApi(Class<T> service) {
+        return retrofit.create(service);
+    }
+
+    @Override
+    public void get(HttpClient builder, Subscriber<Object> s) {
+        Observable<Object> o = paramService.getParam(builder.getBaseUrl(), builder.getParams(), builder.getHeaders());
+        toSubscribe(o, s);
+
+    }
+
+    @Override
+    public void post(HttpClient builder, Subscriber<Object> s) {
+        Observable<Object> o = paramService.postParam(builder.getBaseUrl(), builder.getParams(), builder.getHeaders());
+        toSubscribe(o, s);
+    }
+
+    @Override
+    public void uploads(HttpClient mBuilder, Subscriber<Object> s) {
+        MultipartBody.Builder builder = new MultipartBody.Builder();
+        builder.setType(MultipartBody.FORM);
+        //追加参数
+        for (String key : mBuilder.getParams().keySet()) {
+            Object object = mBuilder.getParams().get(key);
+            if (!(object instanceof File)) {
+                builder.addFormDataPart(key, object.toString());
+            } else {
+                File file = (File) object;
+                //其中参数“file”和服务器接收的参数 一一对应,保证多文件上传唯一key不变
+                builder.addFormDataPart("businessImage", file.getName(), RequestBody.create(null, file));
+            }
+        }
+        //创建RequestBody
+        RequestBody body = builder.build();
+        Observable<Object> o = paramService.uploads(mBuilder.getBaseUrl(), body);
+        toSubscribe(o, s);
+    }
+
+    private <T> void toSubscribe(Observable<T> o, Subscriber<T> s) {
+        o.retryWhen(new Func1<Observable<? extends Throwable>, Observable<?>>() {
+
+            @Override
+            public Observable<?> call(Observable<? extends Throwable> t) {
+
+                return t.flatMap(new Func1<Throwable, Observable<?>>() {
+                    private int count = 0;
+
+                    @Override
+                    public Observable<?> call(Throwable t) {
+                        if (++count <= mbuilder.getMaxRetryCount()) {
 //							Logger.d("请求重试"+count+":"+t.getMessage());
-							Observable<?> ob=	Observable.timer(mbuilder.getRetryTimeout(), TimeUnit.MILLISECONDS);
-							return ob;
-						}
-		
-						return Observable.error(t);
-					}
-				});
-			}
-		}).map(new Func1<T, T>() {
-
-			@Override
-			public T call(T t) {
-				return (T) t;
-			}
-		}).subscribeOn(RxJavaUtils.getScheduler("newThread"))
-				.observeOn(AndroidSchedulers.mainThread())
-				.subscribe(s);
-	}
-
-
-	public SSLSocketFactory createSSLSocketFactory() {
-		SSLSocketFactory ssfFactory = null;
-		try {
-			SSLContext sc = SSLContext.getInstance("TLS");
-			sc.init(null,  new TrustManager[] { new TrustAllCerts() }, new SecureRandom());
-			ssfFactory = sc.getSocketFactory();
-		} catch (Exception e) {
-		}
-		return ssfFactory;
-	}
+                            Observable<?> ob = Observable.timer(mbuilder.getRetryTimeout(), TimeUnit.MILLISECONDS);
+                            return ob;
+                        }
+
+                        return Observable.error(t);
+                    }
+                });
+            }
+        }).map(new Func1<T, T>() {
+
+            @Override
+            public T call(T t) {
+                return (T) t;
+            }
+        }).subscribeOn(RxJavaUtils.getScheduler("newThread"))
+                .observeOn(AndroidSchedulers.mainThread())
+                .subscribe(s);
+    }
+
+
+    public SSLSocketFactory createSSLSocketFactory() {
+        SSLSocketFactory ssfFactory = null;
+        try {
+            SSLContext sc = SSLContext.getInstance("TLS");
+            sc.init(null, new TrustManager[]{new TrustAllCerts()}, new SecureRandom());
+            ssfFactory = sc.getSocketFactory();
+        } catch (Exception e) {
+        }
+        return ssfFactory;
+    }
 }

+ 3 - 3
app_modular/applogin/build.gradle

@@ -18,9 +18,9 @@ android {
 }
 
 dependencies {
-    compile fileTree(dir: 'libs', include: ['*.jar'])
+    compile fileTree(include: ['*.jar'], dir: 'libs')
     testCompile deps.junit
     compile deps.appcompatV7
-    
-    compile project(":common")
+    compile project(':common')
+    compile project(':network')
 }

+ 6 - 6
app_modular/applogin/src/main/AndroidManifest.xml

@@ -6,22 +6,22 @@
     <application>
         <!-- 登录模块 -->
         <activity
-            android:name=".LoginActivity"
+            android:name=".activity.LoginActivity"
             android:launchMode="singleTask"
             android:windowSoftInputMode="adjustPan" />
         <!--注册选择-->
-        <activity android:name=".RegisterSelectActivity"></activity>
+        <activity android:name=".activity.RegisterSelectActivity"></activity>
         <!--个人注册-->
         <activity
-            android:name=".PersonalRegActivity"
+            android:name=".activity.PersonalRegActivity"
             android:label="个人注册"></activity>
 
         <activity
-            android:name=".EnterpriseRegisterActivity"
+            android:name=".activity.EnterpriseRegisterActivity"
             android:windowSoftInputMode="adjustPan|stateHidden" />
         <activity
-            android:name=".AdminRegisterActivity"
+            android:name=".activity.AdminRegisterActivity"
             android:windowSoftInputMode="adjustPan|stateHidden" />
-        <activity android:name=".EnterpriseCompleteActivity" />
+        <activity android:name=".activity.EnterpriseCompleteActivity" />
     </application>
 </manifest>

+ 84 - 0
app_modular/applogin/src/main/assets/profession.json

@@ -0,0 +1,84 @@
+{
+  "IT|通信|电子|互联网": [
+    "互联网/电子商务",
+    "计算机软件",
+    "IT服务(系统/数据/维护)",
+    "电子技术/半导体/集成电路",
+    "计算机硬件",
+    "通信/电信/网络设备",
+    "通信/电信运营、增值服务",
+    "网络游戏"
+  ],
+  "金融业": [
+    "基金/证券/期货/投资",
+    "保险",
+    "银行",
+    "信托/担保/拍卖/典当"
+  ],
+  "房地产|建筑业": {
+    "房地产/建筑/建材/工程": [
+      "房地产金融服务类",
+      "房地产工程施工类",
+      "房地产工程货物类"
+    ],
+    "家居/室内设计/装饰装潢": "家居/室内设计/装饰装潢",
+    "物业管理/商业中心": "物业管理/商业中心"
+  },
+  "商业服务": [
+    "专业服务/咨询(财会/法律/人力资源等)",
+    "广告/会展/公关",
+    "中介服务",
+    "检验/认证",
+    "外包服务"
+  ],
+  "贸易|批发|零售|租赁业": [
+    "快速消费品(食品/饮料/烟酒/日化)",
+    "耐用消费品(服饰/纺织/皮革/家具/家电)",
+    "贸易/进出口",
+    "零售/批发",
+    "租赁服务"
+  ],
+  "文体教育|工艺美术": [
+    "教育/培训/院校",
+    "礼品/玩具/工艺美术/收藏品/奢侈品"
+  ],
+  "生产|加工|制造": [
+    "汽车/摩托车",
+    "大型设备/机电设备/重工业",
+    "加工制造(原料加工/模具)",
+    "仪器仪表及工业自动化",
+    "印刷/包装/造纸",
+    "办公用品及设备",
+    "医药/生物工程",
+    "医疗设备/器械",
+    "航空/航天研究与制造"
+  ],
+  "交通|运输|物流|仓储": [
+    "交通/运输",
+    "物流/仓储"
+  ],
+  "服务业": [
+    "医疗/护理/美容/保健/卫生服务",
+    "酒店/餐饮",
+    "旅游/度假"
+  ],
+  "文化|传媒|娱乐|体育": [
+    "媒体/出版/影视/文化传播",
+    "娱乐/体育/休闲"
+  ],
+  "能源|矿产|环保": [
+    "能源/矿产/采掘/冶炼",
+    "石油/石化/化工",
+    "电气/电力/水利",
+    "环保"
+  ],
+  "政府|非盈利机构": [
+    "政府/公共事业/非盈利机构",
+    "学术/科研"
+  ],
+  "农|林|牧|渔|其他": [
+    "农/林/牧/渔",
+    "跨领域经营",
+    "其他"
+  ]
+}

+ 0 - 93
app_modular/applogin/src/main/java/com/modular/login/AdminRegisterActivity.java

@@ -1,93 +0,0 @@
-package com.modular.login;
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.text.InputType;
-import android.view.View;
-import android.widget.Button;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import com.andreabaccega.widget.FormEditText;
-import com.core.base.BaseActivity;
-
-/**
- * Created by RaoMeng on 2017/9/21.
- */
-
-public class AdminRegisterActivity extends BaseActivity implements View.OnClickListener {
-    private Button mNextStepButton;
-    private FormEditText mAdminNameEt;
-    private FormEditText mAdminPhoneEt;
-    private FormEditText mAdminEmailEt;
-    private FormEditText mAdminVerificationEt;
-    private TextView mAdminObtainCodeTv;
-    private FormEditText mAdminPasswordEt;
-    private ImageView mAdminPasswordVisiableIv;
-    private boolean isPasswordVisiable = false;
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_admin_register);
-        getSupportActionBar().setTitle("企业注册(2/2)");
-
-        initViews();
-
-        initEvents();
-    }
-
-    private void initViews() {
-        mNextStepButton = (Button) findViewById(R.id.admin_register_next_step_btn);
-        mAdminNameEt = (FormEditText) findViewById(R.id.admin_register_name_et);
-        mAdminPhoneEt = (FormEditText) findViewById(R.id.admin_register_phone_et);
-        mAdminEmailEt = (FormEditText) findViewById(R.id.admin_register_email_et);
-        mAdminVerificationEt = (FormEditText) findViewById(R.id.admin_register_verification_et);
-        mAdminObtainCodeTv = (TextView) findViewById(R.id.admin_register_obtain_code_tv);
-        mAdminPasswordEt = (FormEditText) findViewById(R.id.admin_register_password_et);
-        mAdminPasswordVisiableIv = (ImageView) findViewById(R.id.admin_register_password_visiable_iv);
-    }
-
-    private void initEvents() {
-        mNextStepButton.setOnClickListener(this);
-        mAdminObtainCodeTv.setOnClickListener(this);
-        mAdminPasswordVisiableIv.setOnClickListener(this);
-    }
-
-    @Override
-    public void onClick(View v) {
-        int id = v.getId();
-        if (id == R.id.admin_register_next_step_btn) {
-            FormEditText[] allFields = {mAdminNameEt, mAdminPhoneEt
-                    , mAdminEmailEt, mAdminVerificationEt, mAdminPasswordEt};
-
-            boolean allValid = true;
-            for (FormEditText field : allFields) {
-                allValid = field.testValidity() && allValid;
-            }
-
-            if (allValid) {
-                // TODO: 2017/9/21 调用注册接口
-                Intent intent = new Intent();
-                intent.setClass(this, EnterpriseCompleteActivity.class);
-                startActivity(intent);
-            } else {
-                // EditText are going to appear with an exclamation mark and an explicative message.
-            }
-
-
-        } else if (id == R.id.admin_register_obtain_code_tv) {
-            // TODO: 2017/9/21 获取验证码
-        } else if (id == R.id.admin_register_password_visiable_iv) {
-            isPasswordVisiable = !isPasswordVisiable;
-            if (isPasswordVisiable) {
-                mAdminPasswordVisiableIv.setImageResource(R.drawable.ic_password_visiable);
-                mAdminPasswordEt.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);
-            } else {
-                mAdminPasswordVisiableIv.setImageResource(R.drawable.ic_password_invisible);
-                mAdminPasswordEt.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
-            }
-            mAdminNameEt.setSelection(mAdminEmailEt.getText().length());
-        }
-    }
-}

+ 0 - 159
app_modular/applogin/src/main/java/com/modular/login/EnterpriseRegisterActivity.java

@@ -1,159 +0,0 @@
-package com.modular.login;
-
-import android.content.Intent;
-import android.net.Uri;
-import android.os.Bundle;
-import android.view.Gravity;
-import android.view.View;
-import android.widget.Button;
-import android.widget.CheckBox;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.PopupWindow;
-import android.widget.TextView;
-
-import com.andreabaccega.widget.FormEditText;
-import com.common.system.DisplayUtil;
-import com.common.ui.CameraUtil;
-import com.core.app.MyApplication;
-import com.core.base.BaseActivity;
-import com.core.utils.CommonUtil;
-import com.core.widget.crouton.Crouton;
-
-/**
- * Created by RaoMeng on 2017/9/21.
- */
-
-public class EnterpriseRegisterActivity extends BaseActivity implements View.OnClickListener {
-    private Button mNextStepButton;
-    private FormEditText mEnterpriseCompanyEt;
-    private FormEditText mEnterpriseLicenseEt;
-    private FormEditText mEnterpriseRepresentEt;
-    private FormEditText mEnterpriseAddressEt;
-    private FormEditText mEnterpriseIndustryEt;
-    private FormEditText mEnterpriseBusinessEt;
-    private ImageView mEnterpriseLicenseIv;
-    private TextView mEnterpriseClauseTv1;
-    private TextView mEnterpriseClauseTv2;
-    private TextView mEnterpriseClauseTv3;
-    private CheckBox mClauseCheckBox;
-    private PopupWindow mPopupWindow;
-    private Uri mNewPhotoUri;
-    private static final int REQUEST_CODE_CAPTURE_PHOTO = 1;// 拍照
-    private static final int REQUEST_CODE_PICK_PHOTO = 2;// 图库
-    private static final int REQUEST_CODE_CROP_PHOTO = 3;//裁剪
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        setContentView(R.layout.activity_enterprise_register);
-        getSupportActionBar().setTitle("企业注册(1/2)");
-
-        initViews();
-
-        mNextStepButton.setOnClickListener(this);
-        mEnterpriseLicenseIv.setOnClickListener(this);
-    }
-
-    private void initViews() {
-        mNextStepButton = (Button) findViewById(R.id.enterprise_register_next_step_btn);
-        mEnterpriseCompanyEt = (FormEditText) findViewById(R.id.enterprise_register_company_et);
-        mEnterpriseLicenseEt = (FormEditText) findViewById(R.id.enterprise_register_license_et);
-        mEnterpriseRepresentEt = (FormEditText) findViewById(R.id.enterprise_register_represent_et);
-        mEnterpriseAddressEt = (FormEditText) findViewById(R.id.enterprise_register_address_et);
-        mEnterpriseIndustryEt = (FormEditText) findViewById(R.id.enterprise_register_industry_et);
-        mEnterpriseBusinessEt = (FormEditText) findViewById(R.id.enterprise_register_business_et);
-        mEnterpriseLicenseIv = (ImageView) findViewById(R.id.enterprise_register_license_iv);
-        mEnterpriseClauseTv1 = (TextView) findViewById(R.id.enterprise_register_clause_tv1);
-        mEnterpriseClauseTv2 = (TextView) findViewById(R.id.enterprise_register_clause_tv2);
-        mEnterpriseClauseTv3 = (TextView) findViewById(R.id.enterprise_register_clause_tv3);
-        mClauseCheckBox = (CheckBox) findViewById(R.id.enterprise_register_clause_cb);
-    }
-
-    @Override
-    public void onClick(View v) {
-        int i = v.getId();
-        if (i == R.id.enterprise_register_next_step_btn) {
-            FormEditText[] allFields = {mEnterpriseAddressEt, mEnterpriseRepresentEt
-                    , mEnterpriseCompanyEt, mEnterpriseLicenseEt};
-
-            boolean allValid = true;
-            for (FormEditText field : allFields) {
-                allValid = field.testValidity() && allValid;
-            }
-
-            if (allValid) {
-                Intent intent = new Intent();
-                intent.setClass(this, AdminRegisterActivity.class);
-                startActivity(intent);
-            } else {
-                // EditText are going to appear with an exclamation mark and an explicative message.
-            }
-
-        } else if (i == R.id.enterprise_register_license_iv) {
-            showPopup();
-        }
-    }
-
-    private void showPopup() {
-        View headSelectView = View.inflate(this, R.layout.layout_select_head, null);
-
-        mPopupWindow = new PopupWindow(headSelectView,
-                LinearLayout.LayoutParams.MATCH_PARENT,
-                LinearLayout.LayoutParams.WRAP_CONTENT);
-        mPopupWindow.setAnimationStyle(R.style.MenuAnimationFade);
-        mPopupWindow.setFocusable(true);
-        mPopupWindow.setOutsideTouchable(true);
-        DisplayUtil.backgroundAlpha(this, 0.5f);
-        mPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
-            @Override
-            public void onDismiss() {
-                closePopupWindow();
-            }
-        });
-        mPopupWindow.showAtLocation(View.inflate(this, R.layout.activity_base_info, null), Gravity.BOTTOM, 0, 0);
-        TextView takePicTv = (TextView) headSelectView.findViewById(R.id.head_take_picture);
-        TextView selectPicTv = (TextView) headSelectView.findViewById(R.id.head_select_photos);
-        TextView cancelTv = (TextView) headSelectView.findViewById(R.id.head_cancel);
-
-        takePicTv.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                mNewPhotoUri = CameraUtil.getOutputMediaFileUri(EnterpriseRegisterActivity.this, MyApplication.getInstance().mLoginUser.getUserId(), CameraUtil.MEDIA_TYPE_IMAGE);
-                CameraUtil.captureImage(EnterpriseRegisterActivity.this, mNewPhotoUri, REQUEST_CODE_CAPTURE_PHOTO);
-                closePopupWindow();
-            }
-        });
-
-        selectPicTv.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                boolean is = CommonUtil.getSharedPreferencesBoolean(ct, "isImage", false);
-                if (!is) {
-                    Crouton.makeText(ct, "您当前未被允许使用相册,请使用拍照");
-                    return;
-                }
-                mNewPhotoUri = CameraUtil.getOutputMediaFileUri(EnterpriseRegisterActivity.this, MyApplication.getInstance().mLoginUser.getUserId(), CameraUtil.MEDIA_TYPE_IMAGE);
-                CameraUtil.pickImageSimple(EnterpriseRegisterActivity.this, REQUEST_CODE_PICK_PHOTO);
-                closePopupWindow();
-            }
-        });
-        cancelTv.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                closePopupWindow();
-            }
-        });
-
-    }
-
-    private void closePopupWindow() {
-        if (mPopupWindow != null) {
-            mPopupWindow.dismiss();
-            mPopupWindow = null;
-            DisplayUtil.backgroundAlpha(this, 1f);
-        }
-    }
-
-
-}

+ 240 - 0
app_modular/applogin/src/main/java/com/modular/login/activity/AdminRegisterActivity.java

@@ -0,0 +1,240 @@
+package com.modular.login.activity;
+
+import android.content.Intent;
+import android.graphics.Typeface;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.text.TextUtils;
+import android.text.method.HideReturnsTransformationMethod;
+import android.text.method.PasswordTransformationMethod;
+import android.util.Log;
+import android.view.View;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import com.andreabaccega.widget.FormEditText;
+import com.core.app.Constants;
+import com.core.base.BaseActivity;
+import com.core.net.http.ViewUtil;
+import com.core.utils.CommonUtil;
+import com.core.utils.ToastUtil;
+import com.me.network.app.http.HttpClient;
+import com.modular.login.R;
+
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Timer;
+import java.util.TimerTask;
+
+/**
+ * Created by RaoMeng on 2017/9/21.
+ */
+
+public class AdminRegisterActivity extends BaseActivity implements View.OnClickListener {
+    private final int OBTAIN_VERIFICATION_CODE = 0x01;
+    private final int ADMIN_REGISTER = 0x02;
+    private final int VERIFICATION_TIME_TASK = 0x03;
+
+    private Button mNextStepButton;
+    private FormEditText mAdminNameEt;
+    private FormEditText mAdminPhoneEt;
+    private FormEditText mAdminEmailEt;
+    private FormEditText mAdminVerificationEt;
+    private TextView mAdminObtainCodeTv;
+    private FormEditText mAdminPasswordEt;
+    private ImageView mAdminPasswordVisiableIv;
+    private boolean isPasswordVisiable = false;
+    private String mCheckcodeToken;
+    private HttpClient mHttpClient;
+    private Handler mHandler = new Handler() {
+        @Override
+        public void handleMessage(Message msg) {
+            progressDialog.dismiss();
+            String result = null;
+            if (msg.what != VERIFICATION_TIME_TASK) {
+                result = msg.getData().getString("result");
+                Log.d("adminresponse", result);
+            }
+            switch (msg.what) {
+                case OBTAIN_VERIFICATION_CODE:
+                    if (result != null) {
+                        try {
+                            JSONObject resultObject = new JSONObject(result);
+                            if (resultObject.optBoolean("success")) {
+                                JSONObject contentObject = resultObject.optJSONObject("content");
+                                if (contentObject != null) {
+                                    mCheckcodeToken = contentObject.optString("token");
+                                } else {
+                                    progressDialog.dismiss();
+                                    ToastUtil.showToast(AdminRegisterActivity.this
+                                            , "验证码获取失败,请重试");
+                                }
+                            } else {
+                                progressDialog.dismiss();
+                                String errMsg = resultObject.optString("errMsg");
+                                ToastUtil.showToast(AdminRegisterActivity.this
+                                        , TextUtils.isEmpty(errMsg) ? "验证码获取失败,请重试" : errMsg);
+                            }
+                        } catch (JSONException e) {
+                            e.printStackTrace();
+                        }
+                    }
+                    break;
+                case ADMIN_REGISTER:
+                    progressDialog.dismiss();
+                    if (result != null) {
+                        try {
+                            JSONObject resultObject = new JSONObject(result);
+                            if (resultObject.optBoolean("success")) {
+                                Intent intent = new Intent();
+                                intent.setClass(AdminRegisterActivity.this, EnterpriseCompleteActivity.class);
+                                startActivity(intent);
+                            } else {
+                                String errMsg = resultObject.optString("errMsg");
+                                ToastUtil.showToast(AdminRegisterActivity.this, errMsg);
+                            }
+                        } catch (JSONException e) {
+                            e.printStackTrace();
+                        }
+                    }
+                    break;
+                case VERIFICATION_TIME_TASK:
+                    if (mFlag > 0) {
+                        mFlag--;
+                        mAdminObtainCodeTv.setEnabled(false);
+                        mAdminObtainCodeTv.setText(mFlag + "秒后重新获取");
+                    } else {
+                        if (mTimer != null)
+                            mTimer.cancel();
+                        mAdminObtainCodeTv.setEnabled(true);
+                        mAdminObtainCodeTv.setText("获取验证码");
+                    }
+                    break;
+                case Constants.APP_SOCKETIMEOUTEXCEPTION:
+                    progressDialog.dismiss();
+                    if (result != null)
+                        ToastMessage(result);
+                    break;
+            }
+        }
+    };
+    private int mFlag;
+    private Timer mTimer;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_admin_register);
+        getSupportActionBar().setTitle("企业注册(2/2)");
+
+        initViews();
+
+        initEvents();
+    }
+
+    private void initViews() {
+        mNextStepButton = (Button) findViewById(R.id.admin_register_next_step_btn);
+        mAdminNameEt = (FormEditText) findViewById(R.id.admin_register_name_et);
+        mAdminPhoneEt = (FormEditText) findViewById(R.id.admin_register_phone_et);
+        mAdminEmailEt = (FormEditText) findViewById(R.id.admin_register_email_et);
+        mAdminVerificationEt = (FormEditText) findViewById(R.id.admin_register_verification_et);
+        mAdminObtainCodeTv = (TextView) findViewById(R.id.admin_register_obtain_code_tv);
+        mAdminPasswordEt = (FormEditText) findViewById(R.id.admin_register_password_et);
+        mAdminPasswordEt.setTypeface(Typeface.DEFAULT);
+        mAdminPasswordEt.setTransformationMethod(new PasswordTransformationMethod());
+        mAdminPasswordVisiableIv = (ImageView) findViewById(R.id.admin_register_password_visiable_iv);
+        mHttpClient = new HttpClient.Builder("https://account.ubtob.com").build();
+    }
+
+    private void initEvents() {
+        mNextStepButton.setOnClickListener(this);
+        mAdminObtainCodeTv.setOnClickListener(this);
+        mAdminPasswordVisiableIv.setOnClickListener(this);
+    }
+
+    @Override
+    public void onClick(View v) {
+        int id = v.getId();
+        if (id == R.id.admin_register_next_step_btn) {
+            FormEditText[] allFields = {mAdminNameEt, mAdminPhoneEt
+                    , mAdminEmailEt, mAdminVerificationEt, mAdminPasswordEt};
+
+            boolean allValid = true;
+            for (FormEditText field : allFields) {
+                allValid = field.testValidity() && allValid;
+            }
+
+            if (allValid) {
+                progressDialog.show();
+
+                String url = "http://192.168.253.66:8082/sso/mobile/userspace/setAdmin";
+
+                Map<String, Object> params = new HashMap<>();
+                params.put("adminName", mAdminNameEt.getText().toString());
+                params.put("adminTel", mAdminPhoneEt.getText().toString());
+                params.put("adminEmail", mAdminEmailEt.getText().toString());
+                params.put("checkcode", mAdminVerificationEt.getText().toString());
+                params.put("checkcodeToken", mCheckcodeToken);
+                params.put("password", mAdminPasswordEt.getText().toString());
+                params.put("pageToken", CommonUtil.getSharedPreferences(ct, "pageToken"));
+                LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+                headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
+                ViewUtil.httpSendRequest(this, url, params, mHandler, headers, ADMIN_REGISTER, null, null, "post");
+
+            } else {
+                // EditText are going to appear with an exclamation mark and an explicative message.
+            }
+
+
+        } else if (id == R.id.admin_register_obtain_code_tv) {
+            FormEditText[] allFields = {mAdminPhoneEt, mAdminEmailEt};
+
+            boolean allValid = true;
+            for (FormEditText field : allFields) {
+                allValid = field.testValidity() && allValid;
+            }
+
+            if (allValid) {
+                mFlag = 60;
+                mTimer = new Timer();
+                mTimer.schedule(new TimerTask() {
+                    @Override
+                    public void run() {
+                        Message message = Message.obtain();
+                        message.what = VERIFICATION_TIME_TASK;
+                        mHandler.sendMessage(message);
+                    }
+                }, 0, 1000);
+
+
+                progressDialog.show();
+                String url = "http://192.168.253.66:8082/sso/userspace/checkcode";
+                Map<String, Object> params = new HashMap<>();
+                params.put("tel", mAdminPhoneEt.getText().toString());
+                params.put("email", mAdminEmailEt.getText().toString());
+                params.put("pageToken", CommonUtil.getSharedPreferences(ct, "pageToken"));
+                LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+                headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
+                ViewUtil.httpSendRequest(this, url, params, mHandler, headers, OBTAIN_VERIFICATION_CODE, null, null, "get");
+
+            }
+        } else if (id == R.id.admin_register_password_visiable_iv) {
+            isPasswordVisiable = !isPasswordVisiable;
+            if (isPasswordVisiable) {
+                mAdminPasswordVisiableIv.setImageResource(R.drawable.ic_password_visiable);
+                mAdminPasswordEt.setTransformationMethod(new HideReturnsTransformationMethod());
+            } else {
+                mAdminPasswordVisiableIv.setImageResource(R.drawable.ic_password_invisible);
+//                mAdminPasswordEt.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD);
+                mAdminPasswordEt.setTransformationMethod(new PasswordTransformationMethod());
+            }
+            mAdminPasswordEt.setSelection(mAdminPasswordEt.getText().length());
+        }
+    }
+}

+ 2 - 1
app_modular/applogin/src/main/java/com/modular/login/EnterpriseCompleteActivity.java → app_modular/applogin/src/main/java/com/modular/login/activity/EnterpriseCompleteActivity.java

@@ -1,4 +1,4 @@
-package com.modular.login;
+package com.modular.login.activity;
 
 import android.content.Intent;
 import android.os.Bundle;
@@ -6,6 +6,7 @@ import android.view.View;
 import android.widget.TextView;
 
 import com.core.base.BaseActivity;
+import com.modular.login.R;
 
 /**
  * Created by RaoMeng on 2017/9/21.

+ 532 - 0
app_modular/applogin/src/main/java/com/modular/login/activity/EnterpriseRegisterActivity.java

@@ -0,0 +1,532 @@
+package com.modular.login.activity;
+
+import android.Manifest;
+import android.app.Activity;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.net.Uri;
+import android.os.Build;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.support.annotation.NonNull;
+import android.text.TextUtils;
+import android.util.Base64;
+import android.util.Log;
+import android.view.Gravity;
+import android.view.View;
+import android.widget.Button;
+import android.widget.CheckBox;
+import android.widget.CompoundButton;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.PopupWindow;
+import android.widget.TextView;
+
+import com.andreabaccega.widget.FormEditText;
+import com.common.LogUtil;
+import com.common.data.StringUtil;
+import com.common.system.DisplayUtil;
+import com.common.system.PermissionUtil;
+import com.common.ui.CameraUtil;
+import com.common.ui.ImageUtil;
+import com.core.app.AppConstant;
+import com.core.app.Constants;
+import com.core.app.MyApplication;
+import com.core.base.BaseActivity;
+import com.core.net.http.ViewUtil;
+import com.core.utils.CommonUtil;
+import com.core.utils.ToastUtil;
+import com.me.network.app.http.HttpClient;
+import com.me.network.app.http.Method;
+import com.me.network.app.http.rx.ResultListener;
+import com.me.network.app.http.rx.ResultSubscriber;
+import com.modular.login.R;
+import com.modular.login.model.ProfessionBean;
+import com.nostra13.universalimageloader.core.ImageLoader;
+
+import org.json.JSONArray;
+import org.json.JSONException;
+import org.json.JSONObject;
+
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Created by RaoMeng on 2017/9/21.
+ */
+
+public class EnterpriseRegisterActivity extends BaseActivity implements View.OnClickListener {
+    private final int ENTERPRISE_REGISTER = 0x11;
+
+    private Button mNextStepButton;
+    private FormEditText mEnterpriseCompanyEt;
+    private FormEditText mEnterpriseLicenseEt;
+    private FormEditText mEnterpriseRepresentEt;
+    private FormEditText mEnterpriseAddressEt;
+    private FormEditText mEnterpriseIndustryEt;
+    private FormEditText mEnterpriseBusinessEt;
+    private ImageView mEnterpriseLicenseIv;
+    private ImageView mTakePicImageView;
+    private TextView mEnterpriseClauseTv1;
+    private TextView mEnterpriseClauseTv2;
+    private TextView mEnterpriseClauseTv3;
+    private CheckBox mClauseCheckBox;
+    private PopupWindow mPopupWindow;
+    private Uri mNewPhotoUri;
+    private static final int REQUEST_CODE_CAPTURE_PHOTO = 1;// 拍照
+    private static final int REQUEST_CODE_PICK_PHOTO = 2;// 图库
+    private static final int REQUEST_CODE_CROP_PHOTO = 3;//裁剪
+    private String path = null;
+    private File mLicenseFile;
+    private List<ProfessionBean> mProfessionList;
+
+    private Handler mHandler = new Handler() {
+        @Override
+        public void handleMessage(Message msg) {
+            String result = msg.getData().getString("result");
+            Log.d("enterpriseresponse", result);
+            switch (msg.what) {
+                case ENTERPRISE_REGISTER:
+                    progressDialog.dismiss();
+                    if (result != null) {
+                        try {
+                            JSONObject resultObject = new JSONObject(result);
+                            if (resultObject.optBoolean("success")) {
+                                Intent intent = new Intent();
+                                intent.setClass(EnterpriseRegisterActivity.this, AdminRegisterActivity.class);
+                                startActivity(intent);
+                            } else {
+                                String errMsg = resultObject.optString("errMsg");
+                                ToastUtil.showToast(EnterpriseRegisterActivity.this, errMsg);
+                            }
+                        } catch (JSONException e) {
+                            e.printStackTrace();
+                        }
+                    }
+                    break;
+                case Constants.APP_SOCKETIMEOUTEXCEPTION:
+                    progressDialog.dismiss();
+                    if (result != null)
+                        ToastMessage(result);
+                    break;
+            }
+        }
+    };
+    private HttpClient mHttpClient;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.activity_enterprise_register);
+        getSupportActionBar().setTitle("企业注册(1/2)");
+
+        initViews();
+//        initProfession();
+
+        mNextStepButton.setOnClickListener(this);
+        mEnterpriseLicenseIv.setOnClickListener(this);
+        mTakePicImageView.setOnClickListener(this);
+        mClauseCheckBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+            @Override
+            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+                if (isChecked) {
+                    mNextStepButton.setEnabled(true);
+                } else {
+                    mNextStepButton.setEnabled(false);
+                }
+            }
+        });
+    }
+
+    private void initViews() {
+
+        mNextStepButton = (Button) findViewById(R.id.enterprise_register_next_step_btn);
+        mEnterpriseCompanyEt = (FormEditText) findViewById(R.id.enterprise_register_company_et);
+        mEnterpriseLicenseEt = (FormEditText) findViewById(R.id.enterprise_register_license_et);
+        mEnterpriseRepresentEt = (FormEditText) findViewById(R.id.enterprise_register_represent_et);
+        mEnterpriseAddressEt = (FormEditText) findViewById(R.id.enterprise_register_address_et);
+        mEnterpriseIndustryEt = (FormEditText) findViewById(R.id.enterprise_register_industry_et);
+        mEnterpriseBusinessEt = (FormEditText) findViewById(R.id.enterprise_register_business_et);
+        mEnterpriseLicenseIv = (ImageView) findViewById(R.id.enterprise_register_license_iv);
+        mTakePicImageView = (ImageView) findViewById(R.id.enterprise_register_picture_iv);
+        mEnterpriseClauseTv1 = (TextView) findViewById(R.id.enterprise_register_clause_tv1);
+        mEnterpriseClauseTv2 = (TextView) findViewById(R.id.enterprise_register_clause_tv2);
+        mEnterpriseClauseTv3 = (TextView) findViewById(R.id.enterprise_register_clause_tv3);
+        mClauseCheckBox = (CheckBox) findViewById(R.id.enterprise_register_clause_cb);
+        mProfessionList = new ArrayList<>();
+        mHttpClient = new
+//                HttpClient.Builder("https://account.ubtob.com/sso")
+                HttpClient.Builder("http://192.168.253.66:8082")
+//                HttpClient.Builder("http://192.168.253.200:8080")
+                .build();
+    }
+
+    private void initProfession() {
+        mProfessionList = new ArrayList<>();
+        String profession = CommonUtil.getAssetsJson(this, "profession.json");
+        try {
+            JSONObject professionObject = new JSONObject(profession);
+            Iterator<String> iterator = professionObject.keys();
+            while (iterator.hasNext()) {
+                ProfessionBean professionBean = new ProfessionBean();
+                String professionFirstTitle = iterator.next().toString();
+                professionBean.setProfessionFirstTitle(professionFirstTitle);
+
+                List<ProfessionBean.ProfessionSecondBean> professionSecondList = new ArrayList<>();
+
+                Object second = professionObject.opt(professionFirstTitle);
+                if (second instanceof JSONArray) {
+                    JSONArray secondArray = (JSONArray) second;
+                    if (secondArray != null) {
+                        for (int i = 0; i < secondArray.length(); i++) {
+                            ProfessionBean.ProfessionSecondBean professionSecond = new ProfessionBean.ProfessionSecondBean();
+                            String secondTitle = secondArray.optString(i);
+                            professionSecond.setProfessionSecondTitle(secondTitle);
+
+                            professionSecondList.add(professionSecond);
+                        }
+                    }
+                } else if (second instanceof JSONObject) {
+                    JSONObject secondObject = (JSONObject) second;
+                    Iterator<String> secondKeys = secondObject.keys();
+                    while (secondKeys.hasNext()) {
+                        ProfessionBean.ProfessionSecondBean professionSecond = new ProfessionBean.ProfessionSecondBean();
+                        String secondTitle = iterator.next().toString();
+                        professionSecond.setProfessionSecondTitle(secondTitle);
+
+                        List<String> thirdTitles = new ArrayList<>();
+                        Object third = secondObject.opt(secondTitle);
+                        if (third instanceof String) {
+                            thirdTitles.add((String) third);
+                        } else if (third instanceof JSONArray) {
+                            JSONArray thirdArray = (JSONArray) third;
+                            for (int i = 0; i < thirdArray.length(); i++) {
+                                String thirdTitle = thirdArray.optString(i);
+                                thirdTitles.add(thirdTitle);
+                            }
+                        }
+
+                        professionSecond.setProfessionThirdTitles(thirdTitles);
+
+                        professionSecondList.add(professionSecond);
+                    }
+                }
+
+                professionBean.setProfessionSecondTitles(professionSecondList);
+
+                mProfessionList.add(professionBean);
+                Log.d("professionList", mProfessionList.toString());
+            }
+        } catch (JSONException e) {
+            e.printStackTrace();
+        }
+    }
+
+    @Override
+    public void onClick(View v) {
+        int i = v.getId();
+        if (i == R.id.enterprise_register_next_step_btn) {
+
+            if (mClauseCheckBox.isChecked()) {
+                FormEditText[] allFields = {mEnterpriseAddressEt, mEnterpriseRepresentEt
+                        , mEnterpriseCompanyEt, mEnterpriseLicenseEt};
+
+                boolean allValid = true;
+                for (FormEditText field : allFields) {
+                    allValid = field.testValidity() && allValid;
+                }
+
+                if (allValid) {
+                    if (mLicenseFile == null) {
+                        ToastUtil.showToast(this, "请选择您的营业执照");
+                    } else {
+                        progressDialog.show();
+                        obtainPageToken();
+                    }
+                } else {
+                    // EditText are going to appear with an exclamation mark and an explicative message.
+                }
+            } else {
+                ToastUtil.showToast(this, "请阅读并同意必读协议");
+            }
+        } else if (i == R.id.enterprise_register_license_iv) {
+            if (mLicenseFile != null) {
+                try {
+                    Intent intent = new Intent();
+                    intent.setAction("com.modular.tool.SingleImagePreviewActivity");
+                    intent.putExtra(AppConstant.EXTRA_IMAGE_URI, mLicenseFile.getCanonicalPath());
+                    startActivity(intent);
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        } else if (i == R.id.enterprise_register_picture_iv) {
+            CommonUtil.closeKeybord(mEnterpriseCompanyEt, this);
+            showPicturePopup();
+        }
+    }
+
+    private void obtainPageToken() {
+        mHttpClient.Api().send(new HttpClient.Builder()
+                .url("/sso/mobile/userspace/register")
+//                .header("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"))
+                .method(Method.GET).build(), new ResultSubscriber<>(new ResultListener<Object>() {
+            @Override
+            public void onResponse(Object s) {
+                if (s != null) {
+                    try {
+                        JSONObject resultObject = new JSONObject(s.toString());
+                        if (resultObject.optBoolean("success")) {
+                            JSONObject contentObject = resultObject.optJSONObject("content");
+                            if (contentObject != null) {
+                                String pageToken = contentObject.optString("pageToken");
+                                String sessionId = contentObject.optString("sessionId");
+                                CommonUtil.setSharedPreferences(ct, "sessionId", sessionId);
+                                CommonUtil.setSharedPreferences(ct, "pageToken", pageToken);
+
+//                                Intent intent = new Intent();
+//                                intent.setClass(EnterpriseRegisterActivity.this, AdminRegisterActivity.class);
+//                                startActivity(intent);
+
+                                enterpriseRegister(pageToken, sessionId);
+                            } else {
+                                progressDialog.dismiss();
+                                ToastUtil.showToast(EnterpriseRegisterActivity.this
+                                        , "注册失败,请重试");
+                            }
+                        } else {
+                            progressDialog.dismiss();
+                            String errMsg = resultObject.optString("errMsg");
+                            ToastUtil.showToast(EnterpriseRegisterActivity.this
+                                    , TextUtils.isEmpty(errMsg) ? "注册失败,请重试" : errMsg);
+                        }
+                    } catch (JSONException e) {
+                        e.printStackTrace();
+                    }
+                }
+            }
+        }));
+
+    }
+
+    private void enterpriseRegister(String pageToken, String sessionId) {
+
+        String url = "http://192.168.253.66:8082/sso/mobile/userspace/register";
+
+        String fileBytes = getFileBytes(mLicenseFile);
+        Map<String, Object> params = new HashMap<>();
+        params.put("name", mEnterpriseCompanyEt.getText().toString());
+        params.put("businessCode", mEnterpriseLicenseEt.getText().toString());
+        params.put("corporation", mEnterpriseRepresentEt.getText().toString());
+        params.put("address", mEnterpriseAddressEt.getText().toString());
+        params.put("pageToken", pageToken);
+        if (!TextUtils.isEmpty(mEnterpriseIndustryEt.getText())) {
+            params.put("profession", mEnterpriseIndustryEt.getText().toString());
+        }
+        if (!TextUtils.isEmpty(mEnterpriseBusinessEt.getText())) {
+            params.put("tags", mEnterpriseBusinessEt.getText().toString());
+        }
+        params.put("businessImage", fileBytes);
+        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+        headers.put("Cookie", "JSESSIONID=" + sessionId);
+        ViewUtil.httpSendRequest(this, url, params, mHandler, headers, ENTERPRISE_REGISTER, null, null, "post");
+
+//        String fileBytes = getFileBytes(mLicenseFile);
+//
+//        String url = "http://192.168.253.192:8080/account/api/file";
+//        Map<String, Object> params = new HashMap<>();
+//        params.put("data", fileBytes);
+//        LinkedHashMap<String, Object> headers = new LinkedHashMap<>();
+//        headers.put("Cookie", "JSESSIONID=" + CommonUtil.getSharedPreferences(ct, "sessionId"));
+//        ViewUtil.httpSendRequest(this, url, params, mHandler, headers, 111, null, null, "post");
+    }
+
+    private String getFileBytes(File licenseFile) {
+        String fileBytes = "";
+        FileInputStream inputStream = null;
+        ByteArrayOutputStream bos = null;
+        try {
+            inputStream = new FileInputStream(licenseFile);
+            bos = new ByteArrayOutputStream();
+            byte[] b = new byte[1024];
+            int len = -1;
+            while ((len = inputStream.read(b)) != -1) {
+                bos.write(b, 0, len);
+            }
+            byte[] bytes = bos.toByteArray();
+//            fileBytes = new String(bytes, "UTF-8");
+            fileBytes = Base64.encodeToString(bytes, Base64.NO_WRAP);
+        } catch (FileNotFoundException e) {
+            e.printStackTrace();
+            return "";
+        } catch (IOException e) {
+            e.printStackTrace();
+            return "";
+        } finally {
+            try {
+                if (inputStream != null)
+                    inputStream.close();
+                if (bos != null)
+                    bos.close();
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
+        return fileBytes;
+    }
+
+    private void showPicturePopup() {
+        View headSelectView = View.inflate(this, R.layout.layout_select_head, null);
+
+        mPopupWindow = new PopupWindow(headSelectView,
+                LinearLayout.LayoutParams.MATCH_PARENT,
+                LinearLayout.LayoutParams.WRAP_CONTENT);
+        mPopupWindow.setAnimationStyle(R.style.MenuAnimationFade);
+        mPopupWindow.setFocusable(true);
+        mPopupWindow.setOutsideTouchable(true);
+        DisplayUtil.backgroundAlpha(this, 0.5f);
+        mPopupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {
+            @Override
+            public void onDismiss() {
+                closePopupWindow();
+            }
+        });
+        mPopupWindow.showAtLocation(View.inflate(this, R.layout.activity_base_info, null), Gravity.BOTTOM, 0, 0);
+        TextView takePicTv = (TextView) headSelectView.findViewById(R.id.head_take_picture);
+        TextView selectPicTv = (TextView) headSelectView.findViewById(R.id.head_select_photos);
+        TextView cancelTv = (TextView) headSelectView.findViewById(R.id.head_cancel);
+
+        takePicTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                String[] permissions = new String[]{Manifest.permission.CAMERA};
+                if (PermissionUtil.lacksPermissions(ct, permissions)) {
+                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
+                        requestPermissions(permissions, PermissionUtil.DEFAULT_REQUEST);
+                    }
+                } else {
+                    mNewPhotoUri = CameraUtil.getOutputMediaFileUri(EnterpriseRegisterActivity.this, MyApplication.getInstance().mLoginUser.getUserId(), CameraUtil.MEDIA_TYPE_IMAGE);
+                    CameraUtil.captureImage(EnterpriseRegisterActivity.this, mNewPhotoUri, REQUEST_CODE_CAPTURE_PHOTO);
+                    closePopupWindow();
+                }
+
+            }
+        });
+
+        selectPicTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                /*boolean is = CommonUtil.getSharedPreferencesBoolean(ct, "isImage", false);
+                if (!is) {
+                    Crouton.makeText(ct, "您当前未被允许使用相册,请使用拍照");
+                    return;
+                }*/
+                String[] permissions = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE};
+                if (PermissionUtil.lacksPermissions(ct, permissions)) {
+                    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
+                        requestPermissions(permissions, 111);
+                    }
+                } else {
+                    mNewPhotoUri = CameraUtil.getOutputMediaFileUri(EnterpriseRegisterActivity.this, MyApplication.getInstance().mLoginUser.getUserId(), CameraUtil.MEDIA_TYPE_IMAGE);
+                    CameraUtil.pickImageSimple(EnterpriseRegisterActivity.this, REQUEST_CODE_PICK_PHOTO);
+                    closePopupWindow();
+                }
+            }
+        });
+        cancelTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                closePopupWindow();
+            }
+        });
+
+    }
+
+    private void closePopupWindow() {
+        if (mPopupWindow != null) {
+            mPopupWindow.dismiss();
+            mPopupWindow = null;
+            DisplayUtil.backgroundAlpha(this, 1f);
+        }
+    }
+
+    @Override
+    public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
+        super.onRequestPermissionsResult(requestCode, permissions, grantResults);
+        if (requestCode == PermissionUtil.DEFAULT_REQUEST) {
+            if (grantResults.length != 1 || grantResults[0] != PackageManager.PERMISSION_GRANTED) {
+                LogUtil.i("没有获取到权限");
+            } else {
+                mNewPhotoUri = CameraUtil.getOutputMediaFileUri(EnterpriseRegisterActivity.this, MyApplication.getInstance().mLoginUser.getUserId(), CameraUtil.MEDIA_TYPE_IMAGE);
+                CameraUtil.captureImage(EnterpriseRegisterActivity.this, mNewPhotoUri, REQUEST_CODE_CAPTURE_PHOTO);
+                closePopupWindow();
+            }
+        } else if (requestCode == 111) {
+            if (grantResults.length != 1 || grantResults[0] != PackageManager.PERMISSION_GRANTED) {
+                LogUtil.i("没有获取到权限");
+            } else {
+                mNewPhotoUri = CameraUtil.getOutputMediaFileUri(EnterpriseRegisterActivity.this, MyApplication.getInstance().mLoginUser.getUserId(), CameraUtil.MEDIA_TYPE_IMAGE);
+                CameraUtil.pickImageSimple(EnterpriseRegisterActivity.this, REQUEST_CODE_PICK_PHOTO);
+                closePopupWindow();
+            }
+        }
+    }
+
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        if (requestCode == REQUEST_CODE_CAPTURE_PHOTO) {// 拍照返回
+            if (resultCode == Activity.RESULT_OK) {
+                if (mNewPhotoUri != null) {
+                    path = mNewPhotoUri.getPath();
+//                    path = CameraUtil.getImagePathFromUri(ct, mNewPhotoUri);
+                    if (StringUtil.isEmpty(path)) return;
+
+                    mLicenseFile = ImageUtil.compressBitmapToFile(path, 100, 300, 300);
+                    if (StringUtil.isEmpty(path)) return;
+                    ImageLoader.getInstance().displayImage(Uri.fromFile(mLicenseFile).toString(), mEnterpriseLicenseIv);
+
+                } else {
+                    ToastUtil.showToast(this, R.string.c_take_picture_failed);
+                }
+            }
+        }
+        /*else if (requestCode == REQUEST_CODE_PICK_PHOTO) {// 选择一张图片,然后立即调用裁减
+            if (resultCode == Activity.RESULT_OK) {
+                if (data != null && data.getData() != null) {
+                    String path = CameraUtil.getImagePathFromUri(this, data.getData());
+                    Uri o = Uri.fromFile(new File(path));
+                    mNewPhotoUri = CameraUtil.getOutputMediaFileUri(this, CameraUtil.MEDIA_TYPE_IMAGE);
+                    mCurrentFile = new File(mNewPhotoUri.getPath());
+                    CameraUtil.cropImage(this, o, mNewPhotoUri, REQUEST_CODE_CROP_PHOTO, 1, 1, 300, 300);
+                } else {
+                    ToastUtil.showToast(this, R.string.c_photo_album_failed);
+                }
+            }
+        }*/
+        else if (requestCode == REQUEST_CODE_PICK_PHOTO) {
+            if (resultCode == Activity.RESULT_OK) {
+                if (data != null && data.getData() != null) {
+                    path = CameraUtil.getImagePathFromUri(ct, data.getData());
+                    LogUtil.i("path=" + path);
+                    if (StringUtil.isEmpty(path)) return;
+
+                    mLicenseFile = ImageUtil.compressBitmapToFile(path, 100, 300, 300);
+                    if (StringUtil.isEmpty(path)) return;
+                    ImageLoader.getInstance().displayImage(Uri.fromFile(mLicenseFile).toString(), mEnterpriseLicenseIv);
+                } else {
+                    ToastUtil.showToast(this, R.string.c_photo_album_failed);
+                }
+            }
+        }
+    }
+}

+ 3 - 1
app_modular/applogin/src/main/java/com/modular/login/LoginActivity.java → app_modular/applogin/src/main/java/com/modular/login/activity/LoginActivity.java

@@ -1,4 +1,4 @@
-package com.modular.login;
+package com.modular.login.activity;
 
 import android.Manifest;
 import android.app.ProgressDialog;
@@ -33,6 +33,8 @@ import com.core.utils.IntentUtils;
 import com.core.utils.ToastUtil;
 import com.core.utils.helper.AvatarHelper;
 import com.core.utils.helper.LoginHelper;
+import com.modular.login.R;
+import com.modular.login.activity.RegisterSelectActivity;
 
 import java.util.HashMap;
 

+ 2 - 1
app_modular/applogin/src/main/java/com/modular/login/PersonalRegActivity.java → app_modular/applogin/src/main/java/com/modular/login/activity/PersonalRegActivity.java

@@ -1,4 +1,4 @@
-package com.modular.login;
+package com.modular.login.activity;
 
 import android.os.Bundle;
 import android.os.Handler;
@@ -19,6 +19,7 @@ import com.core.base.BaseActivity;
 import com.core.net.http.ViewUtil;
 import com.core.net.utils.NetUtils;
 import com.core.utils.CommonUtil;
+import com.modular.login.R;
 
 import java.util.HashMap;
 import java.util.LinkedHashMap;

+ 2 - 1
app_modular/applogin/src/main/java/com/modular/login/RegisterSelectActivity.java → app_modular/applogin/src/main/java/com/modular/login/activity/RegisterSelectActivity.java

@@ -1,10 +1,11 @@
-package com.modular.login;
+package com.modular.login.activity;
 
 import android.content.Intent;
 import android.os.Bundle;
 import android.view.View;
 
 import com.core.base.BaseActivity;
+import com.modular.login.R;
 
 import de.hdodenhof.circleimageview.CircleImageView;
 

+ 65 - 0
app_modular/applogin/src/main/java/com/modular/login/model/ProfessionBean.java

@@ -0,0 +1,65 @@
+package com.modular.login.model;
+
+import java.util.List;
+
+/**
+ * Created by RaoMeng on 2017/9/23.
+ */
+
+public class ProfessionBean {
+    private String mProfessionFirstTitle;
+    private List<ProfessionSecondBean> mProfessionSecondTitles;
+
+    public String getProfessionFirstTitle() {
+        return mProfessionFirstTitle;
+    }
+
+    public void setProfessionFirstTitle(String professionFirstTitle) {
+        mProfessionFirstTitle = professionFirstTitle;
+    }
+
+    public List<ProfessionSecondBean> getProfessionSecondTitles() {
+        return mProfessionSecondTitles;
+    }
+
+    public void setProfessionSecondTitles(List<ProfessionSecondBean> professionSecondTitles) {
+        mProfessionSecondTitles = professionSecondTitles;
+    }
+
+    public static class ProfessionSecondBean {
+        private String mProfessionSecondTitle;
+        private List<String> mProfessionThirdTitles;
+
+        public String getProfessionSecondTitle() {
+            return mProfessionSecondTitle;
+        }
+
+        public void setProfessionSecondTitle(String professionSecondTitle) {
+            mProfessionSecondTitle = professionSecondTitle;
+        }
+
+        public List<String> getProfessionThirdTitles() {
+            return mProfessionThirdTitles;
+        }
+
+        public void setProfessionThirdTitles(List<String> professionThirdTitles) {
+            mProfessionThirdTitles = professionThirdTitles;
+        }
+
+        @Override
+        public String toString() {
+            return "ProfessionSecondBean{" +
+                    "mProfessionSecondTitle='" + mProfessionSecondTitle + '\'' +
+                    ", mProfessionThirdTitles=" + mProfessionThirdTitles +
+                    '}';
+        }
+    }
+
+    @Override
+    public String toString() {
+        return "ProfessionBean{" +
+                "mProfessionFirstTitle='" + mProfessionFirstTitle + '\'' +
+                ", mProfessionSecondTitles=" + mProfessionSecondTitles +
+                '}';
+    }
+}

BIN
app_modular/applogin/src/main/res/drawable-hdpi/ic_reg_camera.png


BIN
app_modular/applogin/src/main/res/drawable-xhdpi/ic_reg_camera.png


BIN
app_modular/applogin/src/main/res/drawable-xxhdpi/ic_reg_camera.png


+ 6 - 5
app_modular/applogin/src/main/res/layout/activity_admin_register.xml

@@ -76,7 +76,8 @@
                     android:drawableLeft="@drawable/ic_reg_phone"
                     android:hint="手机号(例如:15855555555)"
                     android:inputType="number"
-                    editTextFormExample:customRegexp=""
+                    editTextFormExample:customRegexp="^[1][3,4,5,7,8][0-9]{9}$"
+                    editTextFormExample:testErrorString="请输入正确的手机号"
                     editTextFormExample:testType="regexp" />
             </LinearLayout>
 
@@ -104,7 +105,8 @@
                     android:drawableLeft="@drawable/ic_reg_email"
                     android:drawablePadding="16dp"
                     android:hint="邮箱(例如:zhangsan@example.com)"
-                    editTextFormExample:customRegexp=""
+                    editTextFormExample:customRegexp="^([\\w-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([\\w-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\\]?)$"
+                    editTextFormExample:testErrorString="请输入正确的邮箱地址"
                     editTextFormExample:testType="regexp" />
             </LinearLayout>
 
@@ -130,14 +132,14 @@
                     android:id="@+id/admin_register_verification_et"
                     android:layout_width="0dp"
                     android:layout_height="40dp"
+                    android:layout_marginRight="16dp"
                     android:layout_weight="1"
                     android:background="@null"
                     android:drawableLeft="@drawable/ic_verification_code"
-                    android:drawablePadding="12dp"
+                    android:drawablePadding="16dp"
                     android:hint="验证码(例如:123456)"
                     android:inputType="number"
                     android:textSize="14sp"
-                    android:layout_marginRight="16dp"
                     editTextFormExample:testType="nocheck" />
 
                 <TextView
@@ -178,7 +180,6 @@
                     android:drawableLeft="@drawable/ic_admin_password"
                     android:drawablePadding="16dp"
                     android:hint="密码(例如:Ab12345)"
-                    android:inputType="textPassword"
                     android:textSize="14sp"
                     editTextFormExample:testType="nocheck" />
 

+ 64 - 32
app_modular/applogin/src/main/res/layout/activity_enterprise_register.xml

@@ -132,6 +132,7 @@
                     android:drawableLeft="@drawable/ic_reg_address"
                     android:hint="企业地址(例如:xx省xx市xx区xx路xx号)"
                     editTextFormExample:testType="nocheck" />
+
             </LinearLayout>
 
             <View
@@ -158,6 +159,8 @@
                     style="@style/register_edittext_style"
                     android:drawableLeft="@drawable/ic_trade_certify"
                     android:hint="所在行业" />
+
+
             </LinearLayout>
 
             <View
@@ -206,19 +209,43 @@
 
                 <com.andreabaccega.widget.FormEditText
                     style="@style/register_edittext_style"
-                    android:layout_width="match_parent"
+                    android:layout_width="0dp"
+                    android:layout_weight="1"
                     android:drawableLeft="@drawable/ic_business_license"
                     android:enabled="false"
                     android:hint="营业执照" />
+
+                <ImageView
+                    android:id="@+id/enterprise_register_picture_iv"
+                    android:layout_width="40dp"
+                    android:layout_height="40dp"
+                    android:padding="6dp"
+                    android:src="@drawable/ic_reg_camera" />
             </LinearLayout>
 
-            <ImageView
-                android:id="@+id/enterprise_register_license_iv"
-                android:layout_width="100dp"
-                android:layout_height="100dp"
-                android:layout_marginLeft="50dp"
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
                 android:layout_marginTop="10dp"
-                android:src="@drawable/ic_reg_defaultpic" />
+                android:gravity="center_vertical"
+                android:orientation="horizontal">
+
+                <ImageView
+                    android:id="@+id/enterprise_register_license_iv"
+                    android:layout_width="100dp"
+                    android:layout_height="100dp"
+                    android:layout_marginLeft="20dp"
+                    android:src="@drawable/ic_reg_defaultpic" />
+
+                <TextView
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:layout_marginLeft="10dp"
+                    android:text="上传营业执照时,请上面拍照,并保证件照清晰可见,方便我们审核,谢谢!"
+                    android:textColor="#999999"
+                    android:textSize="12sp" />
+            </LinearLayout>
+
 
             <LinearLayout
                 android:layout_width="match_parent"
@@ -230,8 +257,7 @@
                 <CheckBox
                     android:id="@+id/enterprise_register_clause_cb"
                     android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
-                    android:layout_marginLeft="10dp" />
+                    android:layout_height="wrap_content" />
 
                 <TextView
                     android:layout_width="wrap_content"
@@ -243,17 +269,26 @@
                     android:id="@+id/enterprise_register_clause_tv1"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:layout_weight="1"
-                    android:text="《优软云服务协议》、"
+                    android:text="《优软云服务协议》"
                     android:textColor="#2F95DD"
                     android:textSize="12sp" />
 
+
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginLeft="30dp"
+                android:gravity="center_vertical"
+                android:orientation="horizontal">
+
+
                 <TextView
                     android:id="@+id/enterprise_register_clause_tv2"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:layout_weight="1"
-                    android:text="《优软商城服务条款》、"
+                    android:text="《优软商城服务条款》"
                     android:textColor="#2F95DD"
                     android:textSize="12sp" />
 
@@ -261,30 +296,27 @@
                     android:id="@+id/enterprise_register_clause_tv3"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:layout_weight="1"
                     android:text="《优软商城买卖条款》"
                     android:textColor="#2F95DD"
                     android:textSize="12sp" />
             </LinearLayout>
+
+
+            <Button
+                android:id="@+id/enterprise_register_next_step_btn"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginBottom="4dp"
+                android:layout_marginLeft="4dp"
+                android:layout_marginRight="4dp"
+                android:layout_marginTop="20dp"
+                android:background="@drawable/bg_bule_btn"
+                android:enabled="false"
+                android:padding="10dp"
+                android:text="@string/next_step"
+                android:textColor="@color/white"
+                android:textSize="@dimen/text_main" />
         </LinearLayout>
     </ScrollView>
 
-    <LinearLayout
-        android:id="@+id/ly_bottom_submit"
-        style="@style/form_linear_customer">
-
-        <Button
-            android:id="@+id/enterprise_register_next_step_btn"
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:layout_marginBottom="20dp"
-            android:layout_marginLeft="20dp"
-            android:layout_marginRight="20dp"
-            android:layout_marginTop="10dp"
-            android:background="@drawable/bg_bule_btn"
-            android:padding="10dp"
-            android:text="@string/next_step"
-            android:textColor="@color/white"
-            android:textSize="@dimen/text_main" />
-    </LinearLayout>
 </LinearLayout>

+ 1 - 1
app_modular/appme/src/main/java/com/uas/appme/settings/activity/FeedbackActivity.java

@@ -64,7 +64,7 @@ import com.lidroid.xutils.http.ResponseInfo;
 import com.lidroid.xutils.http.callback.RequestCallBack;
 import com.lidroid.xutils.http.client.HttpRequest;
 import com.uas.appme.R;
-import com.modular.login.LoginActivity;
+import com.modular.login.activity.LoginActivity;
 import com.nostra13.universalimageloader.core.ImageLoader;
 
 import java.io.File;