Przeglądaj źródła

添加三方快速注册功能

316044749 7 lat temu
rodzic
commit
6d82c2e072
31 zmienionych plików z 293 dodań i 73 usunięć
  1. 1 1
      app/src/main/AndroidManifest.xml
  2. 27 9
      app/src/main/java/com/ynstkz/shitu/android/activity/AlterPhoneNumberActivity.java
  3. 23 1
      app/src/main/java/com/ynstkz/shitu/android/activity/AlterPhoneNumberCheckActivity.java
  4. 4 0
      app/src/main/java/com/ynstkz/shitu/android/activity/AlterUserNameActivity.java
  5. 77 10
      app/src/main/java/com/ynstkz/shitu/android/activity/LoginActivity.java
  6. 3 1
      app/src/main/java/com/ynstkz/shitu/android/activity/OrgListActivity.java
  7. 44 15
      app/src/main/java/com/ynstkz/shitu/android/activity/UserInfoActivity.java
  8. 15 3
      app/src/main/java/com/ynstkz/shitu/android/data/RequestGroup.java
  9. 4 0
      app/src/main/java/com/ynstkz/shitu/android/data/UrlCat.java
  10. 8 0
      app/src/main/java/com/ynstkz/shitu/android/event/UserInfoUpdatedEvent.java
  11. 2 2
      app/src/main/java/com/ynstkz/shitu/android/fragment/HomeFragment.java
  12. 42 14
      app/src/main/java/com/ynstkz/shitu/android/fragment/OrgListFragment.java
  13. 7 1
      app/src/main/java/com/ynstkz/shitu/android/fragment/UserCenterFragment.java
  14. 1 0
      app/src/main/java/com/ynstkz/shitu/android/wxapi/WXEntryActivity.java
  15. BIN
      app/src/main/res/drawable-xxhdpi/logo.png
  16. 2 2
      app/src/main/res/layout/activity_alter_phonenumber.xml
  17. 3 2
      app/src/main/res/layout/activity_find_pwd.xml
  18. 3 2
      app/src/main/res/layout/activity_findpassword_affirm.xml
  19. 3 2
      app/src/main/res/layout/activity_login.xml
  20. 3 2
      app/src/main/res/layout/activity_login_phonecode.xml
  21. 3 2
      app/src/main/res/layout/activity_register.xml
  22. 3 2
      app/src/main/res/layout/activity_register_submint.xml
  23. 1 0
      app/src/main/res/layout/activity_userinfo.xml
  24. 11 1
      app/src/main/res/layout/fm_nearby.xml
  25. BIN
      app/src/main/res/mipmap-hdpi/logo.png
  26. BIN
      app/src/main/res/mipmap-mdpi/ic_launcher.png
  27. BIN
      app/src/main/res/mipmap-mdpi/ic_launcher_round.png
  28. BIN
      app/src/main/res/mipmap-xhdpi/logo.png
  29. BIN
      app/src/main/res/mipmap-xxhdpi/logo.png
  30. BIN
      app/src/main/res/mipmap-xxxhdpi/logo.png
  31. 3 1
      app/src/main/res/values/strings.xml

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

@@ -28,7 +28,7 @@
     <application
         android:name=".application.STApplication"
         android:allowBackup="true"
-        android:icon="@mipmap/ic_launcher"
+        android:icon="@mipmap/logo"
         android:label="@string/app_name"
         android:roundIcon="@mipmap/ic_launcher_round"
         android:supportsRtl="true"

+ 27 - 9
app/src/main/java/com/ynstkz/shitu/android/activity/AlterPhoneNumberActivity.java

@@ -4,6 +4,7 @@ import android.annotation.SuppressLint;
 import android.content.Intent;
 import android.os.Bundle;
 import android.support.annotation.Nullable;
+import android.text.TextUtils;
 import android.view.View;
 import android.widget.Button;
 import android.widget.EditText;
@@ -16,6 +17,7 @@ import com.ynstkz.shitu.android.R;
 import com.ynstkz.shitu.android.application.STSign;
 import com.ynstkz.shitu.android.base.TitleBarActivity;
 import com.ynstkz.shitu.android.bean.UserInfoBean;
+import com.ynstkz.shitu.android.listener.VerifyCodeCallback;
 
 import butterknife.Bind;
 
@@ -23,7 +25,7 @@ import butterknife.Bind;
  * 作者:fuchangle on 2018/2/12 10:57
  */
 
-public class AlterPhoneNumberActivity extends TitleBarActivity {
+public class AlterPhoneNumberActivity extends TitleBarActivity implements VerifyCodeCallback{
 
     @Bind(R.id.tv_title)
     TextView tvTitle;
@@ -59,8 +61,8 @@ public class AlterPhoneNumberActivity extends TitleBarActivity {
     private void initData(){
         UserInfoBean userInfoBean = STSign.getInstance().getUserInfo();
         if(userInfoBean != null && userInfoBean.getData() != null) {
-            tvHint.setText("更换手机号后,下次登录可使用新的手机号登录\n" +
-                    "当前手机号为:" + userInfoBean.getData().getMobile().replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2"));
+            tvHint.setText(String.format(getString(R.string.alter_phone_msg),
+                    userInfoBean.getData().getMobile().replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2")));
         }
     }
 
@@ -70,14 +72,30 @@ public class AlterPhoneNumberActivity extends TitleBarActivity {
             @Override
             public void onClick(View view) {
                 String phoneNumber = editPhoneNumber.getText().toString();
-                if(ValidationUtil.mobile(phoneNumber)){
-                    Intent intent = new Intent(AlterPhoneNumberActivity.this, AlterPhoneNumberCheckActivity.class);
-                    intent.putExtra("phoneNumber", editPhoneNumber.getText().toString());
-                    startActivity(intent);
-                } else {
-                    showToast("手机格式不正确!");
+                if(TextUtils.isEmpty(phoneNumber)){
+                    showToast("手机号不能为空");
+                    return;
                 }
+                STSign.getInstance().getVerifycode(4, phoneNumber, AlterPhoneNumberActivity.this);
             }
         });
     }
+
+    @Override
+    public void codeCallback(int type) {
+        if(type == 4){
+            Intent intent = new Intent(AlterPhoneNumberActivity.this, AlterPhoneNumberCheckActivity.class);
+            intent.putExtra("phoneNumber", editPhoneNumber.getText().toString());
+            startActivityForResult(intent, 100);
+        }
+    }
+
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+        if (requestCode == 100){
+            if(resultCode == RESULT_OK){
+                finish();
+            }
+        }
+    }
 }

+ 23 - 1
app/src/main/java/com/ynstkz/shitu/android/activity/AlterPhoneNumberCheckActivity.java

@@ -2,6 +2,7 @@ package com.ynstkz.shitu.android.activity;
 
 import android.os.Bundle;
 import android.support.annotation.Nullable;
+import android.text.TextUtils;
 import android.widget.Button;
 import android.widget.EditText;
 import android.widget.ImageView;
@@ -9,7 +10,12 @@ import android.widget.RelativeLayout;
 import android.widget.TextView;
 
 import com.ynstkz.shitu.android.R;
+import com.ynstkz.shitu.android.application.STSign;
 import com.ynstkz.shitu.android.base.TitleBarActivity;
+import com.ynstkz.shitu.android.event.UserInfoChangeEvent;
+import com.ynstkz.shitu.android.listener.CheckVerifyCodeCallback;
+
+import org.greenrobot.eventbus.EventBus;
 
 import butterknife.Bind;
 
@@ -17,7 +23,7 @@ import butterknife.Bind;
  * 作者:fuchangle on 2018/2/23 09:19
  */
 
-public class AlterPhoneNumberCheckActivity extends TitleBarActivity {
+public class AlterPhoneNumberCheckActivity extends TitleBarActivity implements CheckVerifyCodeCallback {
 
     @Bind(R.id.tv_title)
     TextView tvTitle;
@@ -57,6 +63,22 @@ public class AlterPhoneNumberCheckActivity extends TitleBarActivity {
     }
 
     private void setListener(){
+        String verifyCode = editVerifyCode.getText().toString().trim();
+        if(TextUtils.isEmpty(verifyCode)){
+            showToast("验证码不能为空");
+            return;
+        }
+        STSign.getInstance().checkVerifycode(4, phoneNumber,
+                verifyCode, AlterPhoneNumberCheckActivity.this);
+    }
 
+    @Override
+    public void isVerifyCodeSuccess(int type, String phoneNumber, String code, boolean isSuccess) {
+        if(type == 4 && isSuccess){
+            showToast("修改成功!");
+            setResult(RESULT_OK);
+            EventBus.getDefault().post(new UserInfoChangeEvent());
+            finish();
+        }
     }
 }

+ 4 - 0
app/src/main/java/com/ynstkz/shitu/android/activity/AlterUserNameActivity.java

@@ -16,6 +16,9 @@ import com.ynstkz.shitu.android.R;
 import com.ynstkz.shitu.android.base.BaseBean;
 import com.ynstkz.shitu.android.base.TitleBarActivity;
 import com.ynstkz.shitu.android.data.RequestGroup;
+import com.ynstkz.shitu.android.event.UserInfoChangeEvent;
+
+import org.greenrobot.eventbus.EventBus;
 
 import butterknife.Bind;
 import okhttp3.Call;
@@ -99,6 +102,7 @@ public class AlterUserNameActivity extends TitleBarActivity {
                 if(baseBean != null){
                     showToast(baseBean.getMsg());
                     if("200".equals(baseBean.getCode())){
+                        EventBus.getDefault().post(new UserInfoChangeEvent());
                         finish();
                     }
                 }

+ 77 - 10
app/src/main/java/com/ynstkz/shitu/android/activity/LoginActivity.java

@@ -15,11 +15,13 @@ import android.widget.TextView;
 
 import com.common.library.okhttp.callback.Callback;
 import com.common.library.utils.PixelUtil;
+import com.common.library.view.materialdialog.MaterialDialog;
 import com.google.gson.Gson;
 import com.umeng.socialize.UMShareAPI;
 import com.ynstkz.shitu.android.R;
 import com.ynstkz.shitu.android.base.TitleBarActivity;
 import com.ynstkz.shitu.android.bean.LoginBean;
+import com.ynstkz.shitu.android.bean.RegisterBean;
 import com.ynstkz.shitu.android.data.RequestGroup;
 import com.ynstkz.shitu.android.data.SharedPreferencesUtils;
 import com.ynstkz.shitu.android.event.LoginEvent;
@@ -215,11 +217,11 @@ public class LoginActivity extends TitleBarActivity {
             @Override
             public void onComplete(Map<String, String> data) {
                 if(type.equals(UmengLoginHelper.QQ)){
-                    thirdLogin(data.get("uid"), KEY_QQ);
+                    thirdLogin(data.get("uid"), KEY_QQ, data.get("name"), data.get("iconurl"));
                 } else if (type.equals(UmengLoginHelper.WX)){
-                    thirdLogin(data.get("uid"), KEY_WEIXIN);
+                    thirdLogin(data.get("uid"), KEY_WEIXIN, data.get("name"), data.get("iconurl"));
                 } else if (type.equals(UmengLoginHelper.SINA)) {
-                    thirdLogin(data.get("uid"), KEY_SINA);
+                    thirdLogin(data.get("uid"), KEY_SINA, data.get("name"), data.get("iconurl"));
                 }
             }
 
@@ -245,7 +247,7 @@ public class LoginActivity extends TitleBarActivity {
      * @param thirdId
      * @param thirdType
      */
-    private void thirdLogin(final String thirdId, final String thirdType){
+    private void thirdLogin(final String thirdId, final String thirdType, final String name, final String iconurl){
 
         if(progressDialog != null){
             progressDialog.setMessage("正在登录...");
@@ -278,10 +280,7 @@ public class LoginActivity extends TitleBarActivity {
                             if(isBind){
                                 loginSuccess(loginBean);
                             } else {
-                                Intent intent = new Intent(LoginActivity.this, RegisterActivity.class);
-                                intent.putExtra("thirdId", thirdId);
-                                intent.putExtra("thirdType", thirdType);
-                                startActivity(intent);
+                                completeUserInfo(thirdId, thirdType, name, iconurl);
                             }
                         }
                     } else {
@@ -293,6 +292,76 @@ public class LoginActivity extends TitleBarActivity {
     }
 
     /**
+     * 完善用户信息
+     */
+    private void completeUserInfo(final String thirdId, final String thirdType, final String name, final String iconurl){
+        final MaterialDialog dialog = new MaterialDialog(this);
+        dialog.setTitle("提示");
+        dialog.setMessage("请完善用户信息");
+        dialog.setPositiveButton("确定", new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                Intent intent = new Intent(LoginActivity.this, RegisterActivity.class);
+                intent.putExtra("thirdId", thirdId);
+                intent.putExtra("thirdType", thirdType);
+                startActivity(intent);
+                dialog.dismiss();
+            }
+        });
+        dialog.setNegativeButton("取消", new View.OnClickListener() {
+            @Override
+            public void onClick(View view) {
+                thirdRegist(thirdType, thirdId, iconurl, name);
+                dialog.dismiss();
+            }
+        });
+        dialog.show();
+    }
+
+
+    /**
+     * 三方账号快速登陆
+     * @param thirdType
+     * @param thirdId
+     * @param headPic
+     * @param nickName
+     */
+    private void thirdRegist(String thirdType, String thirdId, String headPic, String nickName){
+
+        RequestGroup.thirdRegist(thirdType, thirdId, headPic, nickName, new Callback() {
+            @Override
+            public Object parseNetworkResponse(Response response, int id) throws Exception {
+                return new Gson().fromJson(response.body().string(), RegisterBean.class);
+            }
+
+            @Override
+            public void onError(Call call, Exception e, int id) {
+                showToast(getString(R.string.error_msg));
+            }
+
+            @Override
+            public void onResponse(Object response, int id) {
+                RegisterBean bean = (RegisterBean)response;
+                if(bean != null){
+                    if("200".equals(bean.getCode())){
+                        if(bean.getData() != null){
+
+                            SharedPreferencesUtils.saveToken(bean.getData().getToken());
+                            SharedPreferencesUtils.saveUserId(bean.getData().getUserId());
+
+                            SharedPreferencesUtils.setLogin(true);
+                            EventBus.getDefault().post(new RegisterSuccessEvent());
+                            showToast(bean.getMsg());
+                        }
+                    } else {
+                        showToast(bean.getMsg());
+                    }
+                }
+            }
+        });
+    }
+
+    /**
      * 登陆成功
      * @param loginBean
      */
@@ -326,8 +395,6 @@ public class LoginActivity extends TitleBarActivity {
         return true;
     }
 
-
-
     @Subscribe(threadMode = ThreadMode.MAIN)
     public void onMessageEvent(RegisterSuccessEvent event) {
         finish();

+ 3 - 1
app/src/main/java/com/ynstkz/shitu/android/activity/OrgListActivity.java

@@ -27,6 +27,7 @@ public class OrgListActivity extends TitleBarActivity {
     private boolean isHideTitleView;
 
     private String agencyTypeId;
+    private String keyword;
 
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
@@ -48,10 +49,11 @@ public class OrgListActivity extends TitleBarActivity {
     private void initData() {
         isHideTitleView = getIntent().getBooleanExtra("isHideTitleView", false);
         agencyTypeId = getIntent().getStringExtra("agencyTypeId");
+        keyword = getIntent().getStringExtra("keyword");
         if (isHideTitleView) {
             orgListFragment.showHideFilterView(View.GONE);
         }
-        orgListFragment.setOrgFilterType(agencyTypeId);
+        orgListFragment.setOrgFilterParam(agencyTypeId, keyword);
     }
 
 }

+ 44 - 15
app/src/main/java/com/ynstkz/shitu/android/activity/UserInfoActivity.java

@@ -3,21 +3,23 @@ package com.ynstkz.shitu.android.activity;
 import android.content.Intent;
 import android.os.Bundle;
 import android.support.annotation.Nullable;
+import android.text.TextUtils;
 import android.view.View;
 import android.widget.ImageView;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
 
-import com.common.library.cache.Cache;
 import com.common.library.view.materialdialog.MaterialDialog;
 import com.ynstkz.shitu.android.R;
 import com.ynstkz.shitu.android.application.STSign;
 import com.ynstkz.shitu.android.base.TitleBarActivity;
 import com.ynstkz.shitu.android.bean.UserInfoBean;
-import com.ynstkz.shitu.android.data.SharedPreferencesUtils;
-import com.ynstkz.shitu.android.event.LogoutEvent;
+import com.ynstkz.shitu.android.event.LoginEvent;
+import com.ynstkz.shitu.android.event.UserInfoUpdatedEvent;
 
 import org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
 
 import butterknife.Bind;
 
@@ -52,6 +54,10 @@ public class UserInfoActivity extends TitleBarActivity {
     RelativeLayout rlPhoneNumber;
     @Bind(R.id.rl_logout)
     RelativeLayout rlLogout;
+    @Bind(R.id.tv_phone_bind)
+    TextView tvPhoneBind;
+
+    private boolean isBindPhone;
 
     @Override
     protected void onCreate(@Nullable Bundle savedInstanceState) {
@@ -66,19 +72,16 @@ public class UserInfoActivity extends TitleBarActivity {
         return R.layout.activity_userinfo;
     }
 
-    private void initView(){
+    private void initView() {
         tvTitle.setText("我的账号");
+        EventBus.getDefault().register(this);
     }
 
-    private void initData(){
-        UserInfoBean userInfoBean = STSign.getInstance().getUserInfo();
-        if(userInfoBean != null && userInfoBean.getData() != null){
-            tvUsername.setText(userInfoBean.getData().getUserName());
-            tvPhoneNumber.setText(userInfoBean.getData().getMobile().replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2"));
-        }
+    private void initData() {
+        initUserInfo();
     }
 
-    private void setListener(){
+    private void setListener() {
         //用户名
         rlUsername.setOnClickListener(new View.OnClickListener() {
             @Override
@@ -111,7 +114,11 @@ public class UserInfoActivity extends TitleBarActivity {
         rlPhoneNumber.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View view) {
-                startActivity(new Intent(UserInfoActivity.this, AlterPhoneNumberActivity.class));
+                if(isBindPhone){
+                    startActivity(new Intent(UserInfoActivity.this, AlterPhoneNumberActivity.class));
+                } else {
+                    startActivity(new Intent(UserInfoActivity.this, RegisterActivity.class));
+                }
             }
         });
         //退出账号
@@ -139,9 +146,31 @@ public class UserInfoActivity extends TitleBarActivity {
         });
     }
 
-    @Override
-    protected void onResume() {
-        super.onResume();
+    private void initUserInfo(){
+        UserInfoBean userInfoBean = STSign.getInstance().getUserInfo();
+        if (userInfoBean != null && userInfoBean.getData() != null) {
+            tvUsername.setText(userInfoBean.getData().getUserName());
+            if (!TextUtils.isEmpty(userInfoBean.getData().getMobile())) {
+                isBindPhone = true;
+                tvPhoneNumber.setVisibility(View.VISIBLE);
+                tvPhoneBind.setText("手机号");
+                tvPhoneNumber.setText(userInfoBean.getData().getMobile().replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2"));
+            } else {
+                isBindPhone = false;
+                tvPhoneNumber.setVisibility(View.GONE);
+                tvPhoneBind.setText("绑定手机号");
+            }
+        }
+    }
 
+    @Subscribe(threadMode = ThreadMode.MAIN)
+    public void onMessageEvent(UserInfoUpdatedEvent event) {
+        initUserInfo();
+    }
+
+    @Override
+    protected void onDestroy() {
+        super.onDestroy();
+        EventBus.getDefault().unregister(this);
     }
 }

+ 15 - 3
app/src/main/java/com/ynstkz/shitu/android/data/RequestGroup.java

@@ -239,7 +239,7 @@ public class RequestGroup {
      * @param pageNumber
      * @param callback
      */
-    public static void getNearbyAgencyList(String pageNumber, String lon, String lat, String agencyTypeId, String sortType, String courseTypeId, Callback callback){
+    public static void getNearbyAgencyList(String pageNumber, String lon, String lat, String agencyTypeId, String sortType, String keyword, Callback callback){
         Map<String, String> params = getSystemParams();
         params.put("pageNumber",pageNumber);
         if(!TextUtils.isEmpty(lon)){
@@ -254,8 +254,8 @@ public class RequestGroup {
         if(!TextUtils.isEmpty(sortType)){
             params.put("sortType", sortType);
         }
-        if(!TextUtils.isEmpty(courseTypeId)){
-            params.put("courseTypeId", courseTypeId);
+        if(!TextUtils.isEmpty(keyword)){
+            params.put("keyword", keyword);
         }
         OkHttpUtils.get().url(UrlCat.URL_AGENCY_LIST).params(params).build().execute(callback);
     }
@@ -484,4 +484,16 @@ public class RequestGroup {
         OkHttpUtils.postString().url(UrlCat.URL_APPLY_STUDENT_INFO).addHeader(KEY_TOKEN,
                 SharedPreferencesUtils.getToken()).content(new Gson().toJson(params)).build().execute(callback);
     }
+
+    /**
+     * 三方账号注册
+     */
+    public static void thirdRegist(String thirdType, String thirdId, String headPic, String nickName, Callback callback){
+        Map<String, String> params = getSystemParams();
+        params.put("thirdType", thirdType);
+        params.put("thirdId", thirdId);
+        params.put("headPic", headPic);
+        params.put("nickName", nickName);
+        OkHttpUtils.postString().url(UrlCat.URL_THIRD_REGIST).content(new Gson().toJson(params)).build().execute(callback);
+    }
 }

+ 4 - 0
app/src/main/java/com/ynstkz/shitu/android/data/UrlCat.java

@@ -196,6 +196,10 @@ public class UrlCat {
      */
     public static final String URL_APPLY_STUDENT_INFO = HOST + "api/apply/student/info";
 
+    /**
+     * 新用户第三方登录默认注册,默认密码888888
+     */
+    public static final String URL_THIRD_REGIST = HOST + "api/third/reg";
 }
 
 

+ 8 - 0
app/src/main/java/com/ynstkz/shitu/android/event/UserInfoUpdatedEvent.java

@@ -0,0 +1,8 @@
+package com.ynstkz.shitu.android.event;
+
+/**
+ * 作者:fuchangle on 2018/4/10 15:35
+ */
+
+public class UserInfoUpdatedEvent {
+}

+ 2 - 2
app/src/main/java/com/ynstkz/shitu/android/fragment/HomeFragment.java

@@ -166,7 +166,7 @@ public class HomeFragment extends BaseFragment implements PullToRefreshBase.OnRe
                     String searchKey = editSearch.getText().toString().trim();
                     if (!TextUtils.isEmpty(searchKey)) {
                         Intent intent = new Intent(getActivity(), OrgListActivity.class);
-                        intent.putExtra("searchKey", searchKey);
+                        intent.putExtra("keyword", searchKey);
                         intent.putExtra("isHideTitleView", true);
                         startActivity(intent);
                     } else {
@@ -339,13 +339,13 @@ public class HomeFragment extends BaseFragment implements PullToRefreshBase.OnRe
                                 svMain.setMode(PullToRefreshBase.Mode.BOTH);
                             } else {
                                 showToast("已加载全部!");
-                                svMain.onRefreshComplete();
                             }
                         }
                     } else {
                         showToast(bean.getMsg());
                     }
                 }
+                svMain.onRefreshComplete();
             }
         });
     }

+ 42 - 14
app/src/main/java/com/ynstkz/shitu/android/fragment/OrgListFragment.java

@@ -11,8 +11,10 @@ import android.view.ViewGroup;
 import android.view.inputmethod.EditorInfo;
 import android.widget.AdapterView;
 import android.widget.EditText;
+import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.ListView;
+import android.widget.RelativeLayout;
 import android.widget.TextView;
 
 import com.amap.api.services.core.LatLonPoint;
@@ -32,7 +34,6 @@ import com.ynstkz.shitu.android.activity.OrgDetailActivity;
 import com.ynstkz.shitu.android.activity.OrgListActivity;
 import com.ynstkz.shitu.android.adapter.OrgFilterListAdapter;
 import com.ynstkz.shitu.android.adapter.OrgListAdapter;
-import com.ynstkz.shitu.android.adapter.OrgNavigationGridAdapter;
 import com.ynstkz.shitu.android.application.STSign;
 import com.ynstkz.shitu.android.base.BaseFragment;
 import com.ynstkz.shitu.android.bean.LocationDataBean;
@@ -95,6 +96,12 @@ public class OrgListFragment extends BaseFragment implements PullToRefreshBase.O
     TextView tvFilterOrg;
     @Bind(R.id.tv_filter_order)
     TextView tvFilterOrder;
+    @Bind(R.id.iv_nodata_icon)
+    ImageView ivNodataIcon;
+    @Bind(R.id.tv_nodata_lab)
+    TextView tvNodataLab;
+    @Bind(R.id.rl_nodata)
+    RelativeLayout rlNodata;
 
     private int pageNumber;
     private List<OrgItemBean> listOrg;
@@ -107,6 +114,7 @@ public class OrgListFragment extends BaseFragment implements PullToRefreshBase.O
     private String agencyTypeId;
     private int filterIndex;
     private OrgNavigationBean orgNavigationBean;
+    private String keyword;
 
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
@@ -163,12 +171,12 @@ public class OrgListFragment extends BaseFragment implements PullToRefreshBase.O
                 filterIndex = 2;
                 Cache<OrgNavigationBean> cache = new Cache();
                 OrgNavigationBean orgNavigationBean = cache.get("OrgNavigationBean");
-                if(orgNavigationBean != null && "200".equals(orgNavigationBean.getCode())){
+                if (orgNavigationBean != null && "200".equals(orgNavigationBean.getCode())) {
                     llFilterContent.setVisibility(View.VISIBLE);
                     OrgListFragment.this.orgNavigationBean = orgNavigationBean;
-                    if(orgNavigationBean.getData() != null && orgNavigationBean.getData().size() > 0){
+                    if (orgNavigationBean.getData() != null && orgNavigationBean.getData().size() > 0) {
                         List<String> orgFilterLocation = new ArrayList<>();
-                        for(int i=0; i<orgNavigationBean.getData().size(); i++){
+                        for (int i = 0; i < orgNavigationBean.getData().size(); i++) {
                             String orgName = orgNavigationBean.getData().get(i).getTitle();
                             orgFilterLocation.add(orgName);
                         }
@@ -241,25 +249,25 @@ public class OrgListFragment extends BaseFragment implements PullToRefreshBase.O
             @Override
             public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                 String content = (String) adapterView.getAdapter().getItem(i);
-                if(filterIndex == 1) {
+                if (filterIndex == 1) {
                     getAmapGeocode(content);
                     tvFilterLocation.setText(content);
-                } else if (filterIndex == 2){
+                } else if (filterIndex == 2) {
                     tvFilterOrg.setText(content);
-                    if(orgNavigationBean != null){
-                        if(orgNavigationBean.getData() != null && orgNavigationBean.getData().size() > 0){
-                            for(int j=0; j<orgNavigationBean.getData().size(); j++){
+                    if (orgNavigationBean != null) {
+                        if (orgNavigationBean.getData() != null && orgNavigationBean.getData().size() > 0) {
+                            for (int j = 0; j < orgNavigationBean.getData().size(); j++) {
                                 String orgName = orgNavigationBean.getData().get(j).getTitle();
-                                if(content.equals(orgName)){
+                                if (content.equals(orgName)) {
                                     agencyTypeId = orgNavigationBean.getData().get(j).getTypeId();
                                     getOrgList();
                                 }
                             }
                         }
                     }
-                } else if (filterIndex == 3){
+                } else if (filterIndex == 3) {
                     tvFilterOrder.setText(content);
-                    if(i == 0){
+                    if (i == 0) {
                         sortType = "1";
                     } else if (i == 1) {
                         sortType = "2";
@@ -290,7 +298,7 @@ public class OrgListFragment extends BaseFragment implements PullToRefreshBase.O
      */
     private void getOrgList() {
 
-        RequestGroup.getNearbyAgencyList(pageNumber + "", longitude + "", latitude + "", agencyTypeId, sortType, "", new Callback() {
+        RequestGroup.getNearbyAgencyList(pageNumber + "", longitude + "", latitude + "", agencyTypeId, sortType, keyword, new Callback() {
             @Override
             public Object parseNetworkResponse(Response response, int id) throws Exception {
                 return new Gson().fromJson(response.body().string(), OrgListBean.class);
@@ -310,6 +318,7 @@ public class OrgListFragment extends BaseFragment implements PullToRefreshBase.O
                         if (bean.getData() != null) {
                             List<OrgItemBean> listOrgNet = bean.getData().getRecords();
                             if (listOrgNet != null && listOrgNet.size() > 0) {
+                                rlNodata.setVisibility(View.GONE);
                                 if (pageNumber == 1) {
                                     if (listOrg == null) {
                                         listOrg = new ArrayList<>();
@@ -324,9 +333,12 @@ public class OrgListFragment extends BaseFragment implements PullToRefreshBase.O
                                     listOrg.addAll(listOrgNet);
                                     orgListAdapter.notifyDataSetChanged();
                                 }
+                            } else {
+                                showNoData();
                             }
                         }
                     } else {
+                        showNoData();
                         showToast(bean.getMsg());
                     }
                 }
@@ -358,8 +370,15 @@ public class OrgListFragment extends BaseFragment implements PullToRefreshBase.O
         llHomeTitle.setVisibility(visibility);
     }
 
-    public void setOrgFilterType(String agencyTypeId) {
+    /**
+     * 设置筛选数据
+     *
+     * @param agencyTypeId
+     * @param keyword
+     */
+    public void setOrgFilterParam(String agencyTypeId, String keyword) {
         this.agencyTypeId = agencyTypeId;
+        this.keyword = keyword;
         getOrgList();
     }
 
@@ -409,6 +428,15 @@ public class OrgListFragment extends BaseFragment implements PullToRefreshBase.O
         }
     }
 
+    /**
+     * 显示无数据
+     */
+    private void showNoData(){
+        rlNodata.setVisibility(View.VISIBLE);
+        ivNodataIcon.setImageResource(R.drawable.nodata_apply);
+        tvNodataLab.setText(getString(R.string.nodata_org));
+    }
+
     @Override
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         switch (requestCode) {

+ 7 - 1
app/src/main/java/com/ynstkz/shitu/android/fragment/UserCenterFragment.java

@@ -35,6 +35,7 @@ import com.ynstkz.shitu.android.data.RequestGroup;
 import com.ynstkz.shitu.android.data.UrlCat;
 import com.ynstkz.shitu.android.event.LoginEvent;
 import com.ynstkz.shitu.android.event.UserInfoChangeEvent;
+import com.ynstkz.shitu.android.event.UserInfoUpdatedEvent;
 import com.ynstkz.shitu.android.view.ScrollViewWithGridView;
 
 import org.greenrobot.eventbus.EventBus;
@@ -198,6 +199,7 @@ public class UserCenterFragment extends BaseFragment {
                     if("200".equals(userInfoBean.getCode())){
                         initUserInfo(userInfoBean);
                         STSign.getInstance().setUserInfo(userInfoBean);
+                        EventBus.getDefault().post(new UserInfoUpdatedEvent());
                     }
                 }
             }
@@ -212,7 +214,11 @@ public class UserCenterFragment extends BaseFragment {
             return;
         }
         tvUsername.setText(userInfoBean.getData().getUserName());
-        Glide.with(getActivity()).load(UrlCat.HOST + userInfoBean.getData().getHeadPic()).asBitmap().into(new BitmapImageViewTarget(ivHead){
+        String headPic = userInfoBean.getData().getHeadPic();
+        if(!headPic.startsWith("http")){
+            headPic = UrlCat.HOST + headPic;
+        }
+        Glide.with(getActivity()).load(headPic).asBitmap().into(new BitmapImageViewTarget(ivHead){
 
             @Override
             protected void setResource(Bitmap resource) {

+ 1 - 0
app/src/main/java/com/ynstkz/shitu/android/wxapi/WXEntryActivity.java

@@ -7,4 +7,5 @@ import com.umeng.socialize.weixin.view.WXCallbackActivity;
  */
 
 public class WXEntryActivity extends WXCallbackActivity {
+
 }

BIN
app/src/main/res/drawable-xxhdpi/logo.png


+ 2 - 2
app/src/main/res/layout/activity_alter_phonenumber.xml

@@ -56,14 +56,14 @@
 
         <EditText
             android:id="@+id/edit_phone_number"
-            android:layout_width="wrap_content"
+            android:layout_width="match_parent"
             android:layout_height="20dp"
             android:layout_gravity="center_vertical"
             android:layout_marginLeft="@dimen/company_10dp"
             android:background="@null"
             android:inputType="phone"
             android:textSize="@dimen/company_16sp"
-            android:hint="请输入身份证号"/>
+            android:hint="请输入手机号"/>
 
     </LinearLayout>
 

+ 3 - 2
app/src/main/res/layout/activity_find_pwd.xml

@@ -45,10 +45,11 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginTop="@dimen/company_6dp"
-            android:text="仕  途  网"
+            android:text="灌 灌 在 线"
             android:textColor="@color/main_color"
             android:textSize="@dimen/company_18sp"
-            android:textStyle="bold" />
+            android:textStyle="bold"
+            android:visibility="gone"/>
 
     </LinearLayout>
 

+ 3 - 2
app/src/main/res/layout/activity_findpassword_affirm.xml

@@ -45,10 +45,11 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginTop="@dimen/company_6dp"
-            android:text="仕  途  网"
+            android:text="灌 灌 在 线"
             android:textColor="@color/main_color"
             android:textSize="@dimen/company_18sp"
-            android:textStyle="bold" />
+            android:textStyle="bold"
+            android:visibility="gone"/>
 
     </LinearLayout>
 

+ 3 - 2
app/src/main/res/layout/activity_login.xml

@@ -54,10 +54,11 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginTop="@dimen/company_6dp"
-                    android:text="仕  途  网"
+                    android:text="灌 灌 在 线"
                     android:textColor="@color/main_color"
                     android:textSize="@dimen/company_18sp"
-                    android:textStyle="bold" />
+                    android:textStyle="bold"
+                    android:visibility="gone"/>
 
             </LinearLayout>
 

+ 3 - 2
app/src/main/res/layout/activity_login_phonecode.xml

@@ -54,10 +54,11 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_marginTop="@dimen/company_6dp"
-                    android:text="仕  途  网"
+                    android:text="灌 灌 在 线"
                     android:textColor="@color/main_color"
                     android:textSize="@dimen/company_18sp"
-                    android:textStyle="bold" />
+                    android:textStyle="bold"
+                    android:visibility="gone"/>
 
             </LinearLayout>
 

+ 3 - 2
app/src/main/res/layout/activity_register.xml

@@ -45,10 +45,11 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginTop="@dimen/company_6dp"
-            android:text="仕  途  网"
+            android:text="灌 灌 在 线"
             android:textColor="@color/main_color"
             android:textSize="@dimen/company_18sp"
-            android:textStyle="bold" />
+            android:textStyle="bold"
+            android:visibility="gone"/>
 
     </LinearLayout>
 

+ 3 - 2
app/src/main/res/layout/activity_register_submint.xml

@@ -44,10 +44,11 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_marginTop="@dimen/company_6dp"
-            android:text="仕  途  网"
+            android:text="灌 灌 在 线"
             android:textColor="@color/main_color"
             android:textSize="@dimen/company_18sp"
-            android:textStyle="bold" />
+            android:textStyle="bold"
+            android:visibility="gone"/>
 
     </LinearLayout>
 

+ 1 - 0
app/src/main/res/layout/activity_userinfo.xml

@@ -120,6 +120,7 @@
         android:layout_height="wrap_content">
 
         <TextView
+            android:id="@+id/tv_phone_bind"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:padding="@dimen/default_content_margin"

+ 11 - 1
app/src/main/res/layout/fm_nearby.xml

@@ -125,6 +125,16 @@
             android:layout_height="match_parent"
             android:divider="@null"/>
 
+        <RelativeLayout
+            android:id="@+id/rl_nodata"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:visibility="gone">
+
+            <include layout="@layout/view_nodata"/>
+
+        </RelativeLayout>
+
         <LinearLayout
             android:id="@+id/ll_filter_content"
             android:visibility="gone"
@@ -134,7 +144,7 @@
 
             <ListView
                 android:id="@+id/lv_filter_content"
-                android:layout_width="wrap_content"
+                android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 android:background="@color/white"/>
 

BIN
app/src/main/res/mipmap-hdpi/logo.png


BIN
app/src/main/res/mipmap-mdpi/ic_launcher.png


BIN
app/src/main/res/mipmap-mdpi/ic_launcher_round.png


BIN
app/src/main/res/mipmap-xhdpi/logo.png


BIN
app/src/main/res/mipmap-xxhdpi/logo.png


BIN
app/src/main/res/mipmap-xxxhdpi/logo.png


+ 3 - 1
app/src/main/res/values/strings.xml

@@ -1,5 +1,5 @@
 <resources>
-    <string name="app_name">仕途网</string>
+    <string name="app_name">灌灌在线</string>
     <string name="lab_home">首页</string>
     <string name="lab_nearby">附近</string>
     <string name="lab_usercenter">我</string>
@@ -11,8 +11,10 @@
     <string name="nodata_collect">亲,你还没有收藏哦~</string>
     <string name="nodata_comment">亲,你还没有评论哦~</string>
     <string name="nodata_apply">亲,你还没有报名哦~</string>
+    <string name="nodata_org">亲,没有机构哦~</string>
 
     <string name="nodata_org_comment">亲,还没有收到评论哦~</string>
 
     <string name="token_error">登录过期,请重新登录</string>
+    <string name="alter_phone_msg">更换手机号后,下次登录可使用新的手机号登录\n当前手机号为:%1$s</string>
 </resources>