Commit e09ea0347ecbfa0b7dc9871a8882f9538ab887ad
Exists in
yxb_dev
and in
2 other branches
Merge branch 'developer' into yxb_dev
# Conflicts: # app/src/main/java/com/shunzhi/parent/presenter/loginandregister/LoginAndRegisterPresenter.java # app/src/main/java/com/shunzhi/parent/ui/activity/mywebview/WebViewActivity.java # app/src/main/java/com/shunzhi/parent/ui/fragment/consult/ConsultOneLevelFragment.java # app/src/main/res/layout/activity_web_view.xml
Showing
16 changed files
with
390 additions
and
65 deletions
Show diff stats
.idea/modules.xml
@@ -4,7 +4,10 @@ | @@ -4,7 +4,10 @@ | ||
4 | <modules> | 4 | <modules> |
5 | <module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" /> | 5 | <module fileurl="file://$PROJECT_DIR$/app/app.iml" filepath="$PROJECT_DIR$/app/app.iml" /> |
6 | <module fileurl="file://$PROJECT_DIR$/mvpsdk/mvpsdk.iml" filepath="$PROJECT_DIR$/mvpsdk/mvpsdk.iml" /> | 6 | <module fileurl="file://$PROJECT_DIR$/mvpsdk/mvpsdk.iml" filepath="$PROJECT_DIR$/mvpsdk/mvpsdk.iml" /> |
7 | + <module fileurl="file://E:\parentwork\parentWorkHolper.iml" filepath="E:\parentwork\parentWorkHolper.iml" /> | ||
8 | + <module fileurl="file://F:\parentwork\parentWorkHolper.iml" filepath="F:\parentwork\parentWorkHolper.iml" /> | ||
7 | <module fileurl="file://$PROJECT_DIR$/parentwork.iml" filepath="$PROJECT_DIR$/parentwork.iml" /> | 9 | <module fileurl="file://$PROJECT_DIR$/parentwork.iml" filepath="$PROJECT_DIR$/parentwork.iml" /> |
10 | + <module fileurl="file://F:\parentWorkHolper\parentwork.iml" filepath="F:\parentWorkHolper\parentwork.iml" /> | ||
8 | <module fileurl="file://$PROJECT_DIR$/roundedimageview-2.2.1/roundedimageview-2.2.1.iml" filepath="$PROJECT_DIR$/roundedimageview-2.2.1/roundedimageview-2.2.1.iml" /> | 11 | <module fileurl="file://$PROJECT_DIR$/roundedimageview-2.2.1/roundedimageview-2.2.1.iml" filepath="$PROJECT_DIR$/roundedimageview-2.2.1/roundedimageview-2.2.1.iml" /> |
9 | </modules> | 12 | </modules> |
10 | </component> | 13 | </component> |
.idea/vcs.xml
1 | <?xml version="1.0" encoding="UTF-8"?> | 1 | <?xml version="1.0" encoding="UTF-8"?> |
2 | <project version="4"> | 2 | <project version="4"> |
3 | <component name="VcsDirectoryMappings"> | 3 | <component name="VcsDirectoryMappings"> |
4 | - <mapping directory="$PROJECT_DIR$" vcs="Git" /> | 4 | + <mapping directory="" vcs="Git" /> |
5 | </component> | 5 | </component> |
6 | </project> | 6 | </project> |
7 | \ No newline at end of file | 7 | \ No newline at end of file |
No preview for this file type
app/src/main/AndroidManifest.xml
1 | <?xml version="1.0" encoding="utf-8"?> | 1 | <?xml version="1.0" encoding="utf-8"?> |
2 | <manifest xmlns:android="http://schemas.android.com/apk/res/android" | 2 | <manifest xmlns:android="http://schemas.android.com/apk/res/android" |
3 | - package="com.shunzhi.parent"> | 3 | + package="com.shunzhi.parent"> |
4 | 4 | ||
5 | <!-- 用于进行网络定位 --> | 5 | <!-- 用于进行网络定位 --> |
6 | - <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> | 6 | + <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/> |
7 | <!-- 用于访问GPS定位 --> | 7 | <!-- 用于访问GPS定位 --> |
8 | - <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> | ||
9 | - <uses-permission android:name="android.permission.GET_TASKS" /> | ||
10 | - <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> | ||
11 | - <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> | 8 | + <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> |
9 | + <uses-permission android:name="android.permission.GET_TASKS"/> | ||
10 | + <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> | ||
11 | + <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> | ||
12 | <!-- Android 6.0版本可去除,用于选举信息(通道复用)的同步 --> | 12 | <!-- Android 6.0版本可去除,用于选举信息(通道复用)的同步 --> |
13 | - <uses-permission android:name="android.permission.WRITE_SETTINGS" /> | 13 | + <uses-permission android:name="android.permission.WRITE_SETTINGS"/> |
14 | <!-- 进行网络访问和网络状态监控相关的权限声明 --> | 14 | <!-- 进行网络访问和网络状态监控相关的权限声明 --> |
15 | - <uses-permission android:name="android.permission.INTERNET" /> | 15 | + <uses-permission android:name="android.permission.INTERNET"/> |
16 | <!-- 用于获取运营商信息,用于支持提供运营商信息相关的接口 --> | 16 | <!-- 用于获取运营商信息,用于支持提供运营商信息相关的接口 --> |
17 | - <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> | 17 | + <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> |
18 | <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 --> | 18 | <!-- 用于访问wifi网络信息,wifi信息会用于进行网络定位 --> |
19 | - <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> | 19 | + <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> |
20 | <!-- 用于获取wifi的获取权限,wifi信息会用来进行网络定位 --> | 20 | <!-- 用于获取wifi的获取权限,wifi信息会用来进行网络定位 --> |
21 | - <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> | 21 | + <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> |
22 | <!-- 允许对sd卡进行读写操作 --> | 22 | <!-- 允许对sd卡进行读写操作 --> |
23 | - <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> | 23 | + <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> |
24 | <!-- 用于申请调用A-GPS模块 --> | 24 | <!-- 用于申请调用A-GPS模块 --> |
25 | - <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> | 25 | + <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS"/> |
26 | <!-- 网络库使用,当网络操作时需要确保事务完成不被杀掉 --> | 26 | <!-- 网络库使用,当网络操作时需要确保事务完成不被杀掉 --> |
27 | - <uses-permission android:name="android.permission.WAKE_LOCK" /> | 27 | + <uses-permission android:name="android.permission.WAKE_LOCK"/> |
28 | <!-- 用于读取手机硬件信息等,用于机型过滤 --> | 28 | <!-- 用于读取手机硬件信息等,用于机型过滤 --> |
29 | - <uses-permission android:name="android.permission.READ_PHONE_STATE" /> | 29 | + <uses-permission android:name="android.permission.READ_PHONE_STATE"/> |
30 | <!-- 选举使用,当应用有删除或者更新时需要重新选举,复用推送通道 --> | 30 | <!-- 选举使用,当应用有删除或者更新时需要重新选举,复用推送通道 --> |
31 | - <uses-permission android:name="android.permission.BROADCAST_PACKAGE_CHANGED" /> | ||
32 | - <uses-permission android:name="android.permission.BROADCAST_PACKAGE_REPLACED" /> | ||
33 | - <uses-permission android:name="android.permission.RESTART_PACKAGES" /> | 31 | + <uses-permission android:name="android.permission.BROADCAST_PACKAGE_CHANGED"/> |
32 | + <uses-permission android:name="android.permission.BROADCAST_PACKAGE_REPLACED"/> | ||
33 | + <uses-permission android:name="android.permission.RESTART_PACKAGES"/> | ||
34 | <!-- 补偿通道小米PUSH使用,不用可去除 --> | 34 | <!-- 补偿通道小米PUSH使用,不用可去除 --> |
35 | <!-- <uses-permission android:name="android.permission.GET_TASKS" /> --> | 35 | <!-- <uses-permission android:name="android.permission.GET_TASKS" /> --> |
36 | <!-- 补偿通道GCM使用,不使用可去除 --> | 36 | <!-- 补偿通道GCM使用,不使用可去除 --> |
37 | - <uses-permission android:name="android.permission.GET_ACCOUNTS" /> | 37 | + <uses-permission android:name="android.permission.GET_ACCOUNTS"/> |
38 | <!-- 允许监听启动完成事件 --> | 38 | <!-- 允许监听启动完成事件 --> |
39 | - <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> | 39 | + <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> |
40 | <!-- 允许访问震动器 --> | 40 | <!-- 允许访问震动器 --> |
41 | - <uses-permission android:name="android.permission.VIBRATE" /> | 41 | + <uses-permission android:name="android.permission.VIBRATE"/> |
42 | <!-- 允许task重排序 --> | 42 | <!-- 允许task重排序 --> |
43 | - <uses-permission android:name="android.permission.REORDER_TASKS" /> | 43 | + <uses-permission android:name="android.permission.REORDER_TASKS"/> |
44 | <!-- 用于申请获取蓝牙信息进行室内定位 --> | 44 | <!-- 用于申请获取蓝牙信息进行室内定位 --> |
45 | - <uses-permission android:name="android.permission.BLUETOOTH" /> | ||
46 | - <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> | 45 | + <uses-permission android:name="android.permission.BLUETOOTH"/> |
46 | + <uses-permission android:name="android.permission.BLUETOOTH_ADMIN"/> | ||
47 | + | ||
48 | + <!-- 接收 SDK 消息广播权限, 第三方 APP 接入时,请将 com.netease.nim.demo 替换为自己的包名 --> | ||
49 | + <uses-permission android:name="com.shunzhi.parent.permission.RECEIVE_MSG"/> | ||
50 | + <uses-permission android:name="android.permission.CALL_PHONE"/> | ||
47 | 51 | ||
48 | <application | 52 | <application |
49 | android:name=".AppContext" | 53 | android:name=".AppContext" |
@@ -55,20 +59,65 @@ | @@ -55,20 +59,65 @@ | ||
55 | android:theme="@style/Theme.AppCompat.Light.NoActionBar"> | 59 | android:theme="@style/Theme.AppCompat.Light.NoActionBar"> |
56 | 60 | ||
57 | <!-- 高德地图服务 --> | 61 | <!-- 高德地图服务 --> |
58 | - <service android:name="com.amap.api.location.APSService" /> | 62 | + <service android:name="com.amap.api.location.APSService"/> |
59 | <!-- 高德地图密钥 --> | 63 | <!-- 高德地图密钥 --> |
60 | <!-- <meta-data --> | 64 | <!-- <meta-data --> |
61 | <!-- android:name="com.amap.api.v2.apikey" --> | 65 | <!-- android:name="com.amap.api.v2.apikey" --> |
62 | <!-- android:value="0da7965006ae0c8e4106c76c1867d976"/> --> | 66 | <!-- android:value="0da7965006ae0c8e4106c76c1867d976"/> --> |
67 | + | ||
68 | + <!--家长慧测试APPkey--> | ||
69 | + <meta-data | ||
70 | + android:name="com.netease.nim.appKey" | ||
71 | + android:value="330158c080acdf4dc1092d6a74576c2c"/> | ||
72 | + | ||
73 | + <meta-data | ||
74 | + android:name="android.max_aspect" | ||
75 | + android:value="2.1"/> | ||
76 | + | ||
77 | + <!-- 声明云信后台服务 --> | ||
78 | + <service | ||
79 | + android:name="com.netease.nimlib.service.NimService" | ||
80 | + android:process=":core"/> | ||
81 | + | ||
82 | + <!-- 运行后台辅助服务 --> | ||
83 | + <service | ||
84 | + android:name="com.netease.nimlib.service.NimService$Aux" | ||
85 | + android:process=":core"/> | ||
86 | + | ||
87 | + <!-- 声明云信后台辅助服务 --> | ||
88 | + <service | ||
89 | + android:name="com.netease.nimlib.job.NIMJobService" | ||
90 | + android:exported="true" | ||
91 | + android:permission="android.permission.BIND_JOB_SERVICE" | ||
92 | + android:process=":core"/> | ||
93 | + | ||
94 | + <!-- 云信SDK的监视系统启动和网络变化的广播接收器,用户开机自启动以及网络变化时候重新登录 --> | ||
95 | + <receiver | ||
96 | + android:name="com.netease.nimlib.service.NimReceiver" | ||
97 | + android:exported="false" | ||
98 | + android:process=":core"> | ||
99 | + <intent-filter> | ||
100 | + <action android:name="android.intent.action.BOOT_COMPLETED"/> | ||
101 | + <action android:name="android.net.conn.CONNECTIVITY_CHANGE"/> | ||
102 | + </intent-filter> | ||
103 | + </receiver> | ||
104 | + | ||
105 | + <!-- 云信进程间通信receiver --> | ||
106 | + <receiver android:name="com.netease.nimlib.service.ResponseReceiver"/> | ||
107 | + | ||
108 | + <!-- 云信进程间通信service --> | ||
109 | + <service android:name="com.netease.nimlib.service.ResponseService"/> | ||
110 | + | ||
63 | <meta-data | 111 | <meta-data |
64 | android:name="com.amap.api.v2.apikey" | 112 | android:name="com.amap.api.v2.apikey" |
65 | - android:value="1d130afb822d8a1019e6592cbaf10bcc" /> | 113 | + android:value="1d130afb822d8a1019e6592cbaf10bcc"/> |
66 | 114 | ||
67 | - <activity android:name=".ui.MainActivity"> | 115 | + <activity android:name=".ui.MainActivity" |
116 | + android:windowSoftInputMode="adjustPan|stateAlwaysHidden"> | ||
68 | <intent-filter> | 117 | <intent-filter> |
69 | - <action android:name="android.intent.action.MAIN" /> | 118 | + <action android:name="android.intent.action.MAIN"/> |
70 | 119 | ||
71 | - <category android:name="android.intent.category.LAUNCHER" /> | 120 | + <category android:name="android.intent.category.LAUNCHER"/> |
72 | </intent-filter> | 121 | </intent-filter> |
73 | </activity> | 122 | </activity> |
74 | <!--<activity--> | 123 | <!--<activity--> |
@@ -77,22 +126,23 @@ | @@ -77,22 +126,23 @@ | ||
77 | <!--android:windowSoftInputMode="adjustPan|stateAlwaysHidden" />--> | 126 | <!--android:windowSoftInputMode="adjustPan|stateAlwaysHidden" />--> |
78 | <activity | 127 | <activity |
79 | android:name=".ui.activity.MyChildActivity" | 128 | android:name=".ui.activity.MyChildActivity" |
80 | - android:screenOrientation="portrait" /> | ||
81 | - <activity android:name=".ui.activity.consult.ConsultOneLevelActivity" /> | 129 | + android:screenOrientation="portrait"/> |
130 | + <activity android:name=".ui.activity.consult.ConsultOneLevelActivity"/> | ||
82 | <!-- <activity android:name=".ui.activity.LoginAndRegistActivity" /> --> | 131 | <!-- <activity android:name=".ui.activity.LoginAndRegistActivity" /> --> |
83 | <activity | 132 | <activity |
84 | android:name=".ui.activity.StartActivity" | 133 | android:name=".ui.activity.StartActivity" |
85 | - android:screenOrientation="portrait" /> | 134 | + android:screenOrientation="portrait"/> |
86 | <activity | 135 | <activity |
87 | android:name=".ui.activity.ChildDetialActivity" | 136 | android:name=".ui.activity.ChildDetialActivity" |
88 | android:screenOrientation="portrait" /> | 137 | android:screenOrientation="portrait" /> |
89 | <activity | 138 | <activity |
90 | android:name=".ui.activity.binding.CreateChildInfoActivity" | 139 | android:name=".ui.activity.binding.CreateChildInfoActivity" |
91 | android:screenOrientation="portrait" | 140 | android:screenOrientation="portrait" |
92 | - android:windowSoftInputMode="adjustPan|stateHidden" /> | 141 | + android:windowSoftInputMode="adjustPan|stateHidden"/> |
93 | <activity | 142 | <activity |
94 | android:name=".ui.activity.binding.SelectSchoolActivity" | 143 | android:name=".ui.activity.binding.SelectSchoolActivity" |
95 | android:screenOrientation="portrait" | 144 | android:screenOrientation="portrait" |
145 | + android:windowSoftInputMode="adjustPan|stateHidden"/> | ||
96 | android:windowSoftInputMode="adjustPan|stateHidden" /> | 146 | android:windowSoftInputMode="adjustPan|stateHidden" /> |
97 | <activity android:name=".ui.activity.LoginAndRegistActivity" | 147 | <activity android:name=".ui.activity.LoginAndRegistActivity" |
98 | android:screenOrientation="portrait" | 148 | android:screenOrientation="portrait" |
@@ -100,13 +150,14 @@ | @@ -100,13 +150,14 @@ | ||
100 | <activity | 150 | <activity |
101 | android:name=".ui.activity.PersonInfoActivity" | 151 | android:name=".ui.activity.PersonInfoActivity" |
102 | android:screenOrientation="portrait" | 152 | android:screenOrientation="portrait" |
103 | - android:windowSoftInputMode="adjustPan|stateHidden" /> | 153 | + android:windowSoftInputMode="adjustPan|stateHidden"/> |
104 | <activity | 154 | <activity |
105 | android:name=".ui.activity.binding.CheckInfoActivity" | 155 | android:name=".ui.activity.binding.CheckInfoActivity" |
106 | android:screenOrientation="portrait" | 156 | android:screenOrientation="portrait" |
107 | - android:windowSoftInputMode="adjustPan|stateHidden" /> | 157 | + android:windowSoftInputMode="adjustPan|stateHidden"/> |
108 | <activity | 158 | <activity |
109 | android:name=".ui.activity.binding.InviteCodeActivity" | 159 | android:name=".ui.activity.binding.InviteCodeActivity" |
160 | + | ||
110 | android:screenOrientation="portrait" /> | 161 | android:screenOrientation="portrait" /> |
111 | <activity | 162 | <activity |
112 | android:name=".ui.activity.mywebview.WebViewActivity" | 163 | android:name=".ui.activity.mywebview.WebViewActivity" |
app/src/main/java/com/shunzhi/parent/AppConfig.java
@@ -35,9 +35,9 @@ public class AppConfig { | @@ -35,9 +35,9 @@ public class AppConfig { | ||
35 | public static String APP_IS_START = "app_is_start"; | 35 | public static String APP_IS_START = "app_is_start"; |
36 | 36 | ||
37 | //http://campus.myjxt.com/ | 37 | //http://campus.myjxt.com/ |
38 | - public static String BASE_URL = "http://60.190.202.57:1000/"; | ||
39 | - public static String BASE_URL_IMG = "http://60.190.202.57:1000"; | ||
40 | - public static String BASE_URL_ORDER = "http://60.190.202.57:8101/"; | 38 | + public static String BASE_URL="http://60.190.202.57:1000/"; |
39 | + public static String BASE_URL_IMG="http://60.190.202.57:1000"; | ||
40 | + public static String BASE_URL_ORDER="http://60.190.202.57:8101/"; | ||
41 | 41 | ||
42 | 42 | ||
43 | //默认日志保存的路径 | 43 | //默认日志保存的路径 |
app/src/main/java/com/shunzhi/parent/AppContext.java
1 | package com.shunzhi.parent; | 1 | package com.shunzhi.parent; |
2 | 2 | ||
3 | +import android.content.Context; | ||
3 | import android.content.Intent; | 4 | import android.content.Intent; |
5 | +import android.content.SharedPreferences; | ||
4 | import android.util.Log; | 6 | import android.util.Log; |
5 | 7 | ||
6 | import com.amap.api.location.AMapLocation; | 8 | import com.amap.api.location.AMapLocation; |
7 | import com.amap.api.location.AMapLocationClient; | 9 | import com.amap.api.location.AMapLocationClient; |
8 | import com.amap.api.location.AMapLocationClientOption; | 10 | import com.amap.api.location.AMapLocationClientOption; |
9 | import com.amap.api.location.AMapLocationListener; | 11 | import com.amap.api.location.AMapLocationListener; |
12 | +import com.netease.nimlib.sdk.NIMClient; | ||
13 | +import com.netease.nimlib.sdk.SDKOptions; | ||
14 | +import com.netease.nimlib.sdk.StatusBarNotificationConfig; | ||
15 | +import com.netease.nimlib.sdk.auth.LoginInfo; | ||
10 | import com.share.mvpsdk.global.GlobalApplication; | 16 | import com.share.mvpsdk.global.GlobalApplication; |
11 | import com.amap.api.location.AMapLocationClientOption.AMapLocationMode; | 17 | import com.amap.api.location.AMapLocationClientOption.AMapLocationMode; |
12 | 18 | ||
@@ -17,9 +23,9 @@ import com.amap.api.location.AMapLocationClientOption.AMapLocationMode; | @@ -17,9 +23,9 @@ import com.amap.api.location.AMapLocationClientOption.AMapLocationMode; | ||
17 | public class AppContext extends GlobalApplication { | 23 | public class AppContext extends GlobalApplication { |
18 | private static AppContext appContext; | 24 | private static AppContext appContext; |
19 | 25 | ||
20 | - public final static int LOCATION_CITYNAME=0x00; | 26 | + public final static int LOCATION_CITYNAME = 0x00; |
21 | 27 | ||
22 | - public String cityName="",district=""; | 28 | + public String cityName = "", district = ""; |
23 | 29 | ||
24 | public static AppContext getInstance() { | 30 | public static AppContext getInstance() { |
25 | return appContext; | 31 | return appContext; |
@@ -29,14 +35,39 @@ public class AppContext extends GlobalApplication { | @@ -29,14 +35,39 @@ public class AppContext extends GlobalApplication { | ||
29 | public AMapLocationClient mLocationClient = null; | 35 | public AMapLocationClient mLocationClient = null; |
30 | 36 | ||
31 | //声明AMapLocationClientOption对象 | 37 | //声明AMapLocationClientOption对象 |
32 | - public AMapLocationClientOption mLocationOption=null; | 38 | + public AMapLocationClientOption mLocationOption = null; |
33 | 39 | ||
34 | @Override | 40 | @Override |
35 | public void onCreate() { | 41 | public void onCreate() { |
36 | - appContext=this; | 42 | + appContext = this; |
37 | super.onCreate(); | 43 | super.onCreate(); |
38 | //开启地图地位 | 44 | //开启地图地位 |
39 | initMapLocal(); | 45 | initMapLocal(); |
46 | + NIMClient.init(this, loginInfo(), options()); | ||
47 | + } | ||
48 | + | ||
49 | + private SDKOptions options() { | ||
50 | + SDKOptions options = new SDKOptions(); | ||
51 | + | ||
52 | + // 如果将新消息通知提醒托管给 SDK 完成,需要添加以下配置。否则无需设置。 | ||
53 | + StatusBarNotificationConfig config = new StatusBarNotificationConfig(); | ||
54 | + //config.notificationEntrance = MainActivity.class; // 点击通知栏跳转到该Activity | ||
55 | + config.notificationSmallIconId = R.mipmap.ic_launcher; | ||
56 | + options.sdkStorageRootPath = getExternalFilesDir(null).getPath() + "/nim"; | ||
57 | + options.statusBarNotificationConfig = config; | ||
58 | + //options.preloadAttach=false; | ||
59 | + return options; | ||
60 | + } | ||
61 | + | ||
62 | + | ||
63 | + private LoginInfo loginInfo() { | ||
64 | + SharedPreferences sp = getSharedPreferences("info", Context.MODE_PRIVATE); | ||
65 | + String account = sp.getString("account", ""); | ||
66 | + String token = sp.getString("token", ""); | ||
67 | + if (account.length() > 0 && token.length() > 0) { | ||
68 | + return new LoginInfo(account, token); | ||
69 | + } | ||
70 | + return null; | ||
40 | } | 71 | } |
41 | 72 | ||
42 | private void initMapLocal() { | 73 | private void initMapLocal() { |
@@ -66,47 +97,47 @@ public class AppContext extends GlobalApplication { | @@ -66,47 +97,47 @@ public class AppContext extends GlobalApplication { | ||
66 | mLocationOption.setHttpTimeOut(20000); | 97 | mLocationOption.setHttpTimeOut(20000); |
67 | //关闭缓存机制 | 98 | //关闭缓存机制 |
68 | mLocationOption.setLocationCacheEnable(false); | 99 | mLocationOption.setLocationCacheEnable(false); |
69 | - if (null!=mLocationClient) | 100 | + if (null != mLocationClient) |
70 | mLocationClient.setLocationOption(mLocationOption); | 101 | mLocationClient.setLocationOption(mLocationOption); |
71 | //启动定位 | 102 | //启动定位 |
72 | startLocation(); | 103 | startLocation(); |
73 | 104 | ||
74 | } | 105 | } |
75 | 106 | ||
76 | - public void startLocation(){ | 107 | + public void startLocation() { |
77 | //启动定位 | 108 | //启动定位 |
78 | - if (null!=mLocationClient){ | 109 | + if (null != mLocationClient) { |
79 | // mLocationClient.setLocationOption(mLocationOption); | 110 | // mLocationClient.setLocationOption(mLocationOption); |
80 | //设置场景模式后最好调用一次stop,再调用start以保证场景模式生效 | 111 | //设置场景模式后最好调用一次stop,再调用start以保证场景模式生效 |
81 | stopLocation(); | 112 | stopLocation(); |
82 | mLocationClient.startLocation(); | 113 | mLocationClient.startLocation(); |
83 | - }else initMapLocal(); | 114 | + } else initMapLocal(); |
84 | } | 115 | } |
85 | 116 | ||
86 | - public void stopLocation(){ | ||
87 | - if (null!=mLocationClient)mLocationClient.stopLocation(); | 117 | + public void stopLocation() { |
118 | + if (null != mLocationClient) mLocationClient.stopLocation(); | ||
88 | } | 119 | } |
89 | 120 | ||
90 | - public void destoryLocation(){ | ||
91 | - if (null!=mLocationClient)mLocationClient.onDestroy(); | 121 | + public void destoryLocation() { |
122 | + if (null != mLocationClient) mLocationClient.onDestroy(); | ||
92 | } | 123 | } |
93 | 124 | ||
94 | //声明定位回调监听器 | 125 | //声明定位回调监听器 |
95 | public AMapLocationListener mLocationListener = new AMapLocationListener() { | 126 | public AMapLocationListener mLocationListener = new AMapLocationListener() { |
96 | @Override | 127 | @Override |
97 | public void onLocationChanged(AMapLocation aMapLocation) { | 128 | public void onLocationChanged(AMapLocation aMapLocation) { |
98 | - if(null!=aMapLocation){ | 129 | + if (null != aMapLocation) { |
99 | 130 | ||
100 | - if (aMapLocation.getErrorCode()==0){ | ||
101 | - cityName=aMapLocation.getCity(); | ||
102 | - district=aMapLocation.getDistrict(); | 131 | + if (aMapLocation.getErrorCode() == 0) { |
132 | + cityName = aMapLocation.getCity(); | ||
133 | + district = aMapLocation.getDistrict(); | ||
103 | aMapLocation.getCityCode(); | 134 | aMapLocation.getCityCode(); |
104 | - Intent intent=new Intent(); | ||
105 | - intent.setAction(LOCATION_CITYNAME+""); | 135 | + Intent intent = new Intent(); |
136 | + intent.setAction(LOCATION_CITYNAME + ""); | ||
106 | sendBroadcast(intent); | 137 | sendBroadcast(intent); |
107 | stopLocation(); | 138 | stopLocation(); |
108 | - }else { | ||
109 | - cityName="定位失败"; | 139 | + } else { |
140 | + cityName = "定位失败"; | ||
110 | // Log.d("mlocation:","errorCode="+aMapLocation.getErrorCode()+"errorInfo="+aMapLocation.getErrorInfo()); | 141 | // Log.d("mlocation:","errorCode="+aMapLocation.getErrorCode()+"errorInfo="+aMapLocation.getErrorInfo()); |
111 | } | 142 | } |
112 | 143 |
app/src/main/java/com/shunzhi/parent/bean/NIMLoginResultBean.java
0 → 100644
@@ -0,0 +1,44 @@ | @@ -0,0 +1,44 @@ | ||
1 | +package com.shunzhi.parent.bean; | ||
2 | + | ||
3 | +/** | ||
4 | + * Created by 10501 on 2018/3/19. | ||
5 | + */ | ||
6 | + | ||
7 | +public class NIMLoginResultBean { | ||
8 | + public NIMLoginResultBean() { | ||
9 | + } | ||
10 | + | ||
11 | + public NIMLoginResultBean(boolean isSuccess, int resultCode, Throwable throwable) { | ||
12 | + this.isSuccess = isSuccess; | ||
13 | + this.resultCode = resultCode; | ||
14 | + this.throwable = throwable; | ||
15 | + } | ||
16 | + | ||
17 | + private boolean isSuccess; | ||
18 | + private int resultCode; | ||
19 | + private Throwable throwable; | ||
20 | + | ||
21 | + public boolean isSuccess() { | ||
22 | + return isSuccess; | ||
23 | + } | ||
24 | + | ||
25 | + public void setSuccess(boolean success) { | ||
26 | + isSuccess = success; | ||
27 | + } | ||
28 | + | ||
29 | + public int getResultCode() { | ||
30 | + return resultCode; | ||
31 | + } | ||
32 | + | ||
33 | + public void setResultCode(int resultCode) { | ||
34 | + this.resultCode = resultCode; | ||
35 | + } | ||
36 | + | ||
37 | + public Throwable getThrowable() { | ||
38 | + return throwable; | ||
39 | + } | ||
40 | + | ||
41 | + public void setThrowable(Throwable throwable) { | ||
42 | + this.throwable = throwable; | ||
43 | + } | ||
44 | +} |
app/src/main/java/com/shunzhi/parent/contract/loginandregister/LoginAndRegisterContract.java
@@ -4,6 +4,7 @@ import com.google.gson.JsonObject; | @@ -4,6 +4,7 @@ import com.google.gson.JsonObject; | ||
4 | import com.share.mvpsdk.base.BasePresenter; | 4 | import com.share.mvpsdk.base.BasePresenter; |
5 | import com.share.mvpsdk.base.IBaseFragment; | 5 | import com.share.mvpsdk.base.IBaseFragment; |
6 | import com.share.mvpsdk.base.IBaseModel; | 6 | import com.share.mvpsdk.base.IBaseModel; |
7 | +import com.shunzhi.parent.bean.NIMLoginResultBean; | ||
7 | import com.shunzhi.parent.bean.UserInfo; | 8 | import com.shunzhi.parent.bean.UserInfo; |
8 | 9 | ||
9 | import io.reactivex.Observable; | 10 | import io.reactivex.Observable; |
@@ -23,6 +24,7 @@ public interface LoginAndRegisterContract { | @@ -23,6 +24,7 @@ public interface LoginAndRegisterContract { | ||
23 | 24 | ||
24 | public abstract void getUserInfo(String mobile,int school_id,String captcha); | 25 | public abstract void getUserInfo(String mobile,int school_id,String captcha); |
25 | 26 | ||
27 | + public abstract void nimLogin(String account,String password); | ||
26 | public abstract void reSetpassResult(String adminName,String idCode,String password); | 28 | public abstract void reSetpassResult(String adminName,String idCode,String password); |
27 | } | 29 | } |
28 | 30 | ||
@@ -36,6 +38,7 @@ public interface LoginAndRegisterContract { | @@ -36,6 +38,7 @@ public interface LoginAndRegisterContract { | ||
36 | //获取登录用户信息 | 38 | //获取登录用户信息 |
37 | Observable<UserInfo> getUserInfo(String mobile, int school_id, String captcha); | 39 | Observable<UserInfo> getUserInfo(String mobile, int school_id, String captcha); |
38 | 40 | ||
41 | + Observable<NIMLoginResultBean> nimLoginResult(String account, String token); | ||
39 | Observable<JsonObject> reSetpass(String adminName,String idCode,String password); | 42 | Observable<JsonObject> reSetpass(String adminName,String idCode,String password); |
40 | } | 43 | } |
41 | interface ILoginView extends IBaseFragment { | 44 | interface ILoginView extends IBaseFragment { |
app/src/main/java/com/shunzhi/parent/manager/MessageManager.java
0 → 100644
@@ -0,0 +1,126 @@ | @@ -0,0 +1,126 @@ | ||
1 | +package com.shunzhi.parent.manager; | ||
2 | + | ||
3 | +import android.content.Context; | ||
4 | +import android.content.Intent; | ||
5 | +import android.content.SharedPreferences; | ||
6 | +import android.support.annotation.NonNull; | ||
7 | + | ||
8 | +import com.netease.nimlib.sdk.NIMClient; | ||
9 | +import com.netease.nimlib.sdk.Observer; | ||
10 | +import com.netease.nimlib.sdk.RequestCallback; | ||
11 | +import com.netease.nimlib.sdk.StatusCode; | ||
12 | +import com.netease.nimlib.sdk.auth.AuthService; | ||
13 | +import com.netease.nimlib.sdk.auth.AuthServiceObserver; | ||
14 | +import com.netease.nimlib.sdk.auth.LoginInfo; | ||
15 | +import com.netease.nimlib.sdk.msg.MsgServiceObserve; | ||
16 | +import com.netease.nimlib.sdk.msg.model.CustomNotification; | ||
17 | +import com.netease.nimlib.sdk.msg.model.IMMessage; | ||
18 | +import com.share.mvpsdk.utils.ToastUtils; | ||
19 | +import com.shunzhi.parent.AppContext; | ||
20 | +import com.shunzhi.parent.bean.NIMLoginResultBean; | ||
21 | +import com.shunzhi.parent.ui.activity.LoginAndRegistActivity; | ||
22 | + | ||
23 | +import java.util.List; | ||
24 | + | ||
25 | +import io.reactivex.Observable; | ||
26 | +import io.reactivex.subjects.PublishSubject; | ||
27 | +import timber.log.Timber; | ||
28 | + | ||
29 | +/** | ||
30 | + * Created by 10501 on 2018/3/17. | ||
31 | + */ | ||
32 | + | ||
33 | +public class MessageManager { | ||
34 | + | ||
35 | + private static class InstanceHolder { | ||
36 | + static final MessageManager instance = new MessageManager(); | ||
37 | + } | ||
38 | + | ||
39 | + public static MessageManager getInstance() { | ||
40 | + return InstanceHolder.instance; | ||
41 | + } | ||
42 | + | ||
43 | + private Observer<List<IMMessage>> messageObserver = new Observer<List<IMMessage>>() { | ||
44 | + @Override | ||
45 | + public void onEvent(List<IMMessage> imMessages) { | ||
46 | + onMessageReceive(imMessages); | ||
47 | + } | ||
48 | + }; | ||
49 | + private Observer<CustomNotification> customNotificationObserver = new Observer<CustomNotification>() { | ||
50 | + @Override | ||
51 | + public void onEvent(CustomNotification customNotification) { | ||
52 | + onCustomNotificationReceive(customNotification); | ||
53 | + } | ||
54 | + }; | ||
55 | + | ||
56 | + | ||
57 | + private MessageManager() { | ||
58 | + NIMClient.getService(MsgServiceObserve.class).observeReceiveMessage(messageObserver, true); | ||
59 | + NIMClient.getService(MsgServiceObserve.class).observeCustomNotification(customNotificationObserver, true); | ||
60 | + NIMClient.getService(AuthServiceObserver.class).observeOnlineStatus(new Observer<StatusCode>() { | ||
61 | + @Override | ||
62 | + public void onEvent(StatusCode statusCode) { | ||
63 | + if (statusCode == StatusCode.KICKOUT) { | ||
64 | + Context context = AppContext.getInstance(); | ||
65 | + Intent i = new Intent(context, LoginAndRegistActivity.class); | ||
66 | + i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK); | ||
67 | + context.startActivity(i); | ||
68 | + } | ||
69 | + } | ||
70 | + }, true); | ||
71 | + | ||
72 | + } | ||
73 | + | ||
74 | + private void onMessageReceive(List<IMMessage> messageList) { | ||
75 | + | ||
76 | + } | ||
77 | + | ||
78 | + private void onCustomNotificationReceive(CustomNotification customnotification) { | ||
79 | + | ||
80 | + } | ||
81 | + | ||
82 | + public Observable<NIMLoginResultBean> login(String account, String password) { | ||
83 | + final PublishSubject<NIMLoginResultBean> subject = PublishSubject.create(); | ||
84 | + SharedPreferences sp = AppContext.getInstance().getApplicationContext().getSharedPreferences("info", Context.MODE_PRIVATE); | ||
85 | + sp.edit().putString("account", account).apply(); | ||
86 | + sp.edit().putString("token", password).apply(); | ||
87 | + NIMClient.getService(AuthService.class) | ||
88 | + .login(new LoginInfo(account, password)) | ||
89 | + .setCallback(new RequestCallback() { | ||
90 | + @Override | ||
91 | + public void onSuccess(Object o) { | ||
92 | + NIMLoginResultBean bean = new NIMLoginResultBean(true, 200, null); | ||
93 | + subject.onNext(bean); | ||
94 | + Timber.i("----===onSuccess : %s",o); | ||
95 | + } | ||
96 | + | ||
97 | + @Override | ||
98 | + public void onFailed(int i) { | ||
99 | + Timber.i("----===nim login failed : %s", i); | ||
100 | + ToastUtils.showToast("云信服务器登录失败:" + i); | ||
101 | + NIMLoginResultBean bean = new NIMLoginResultBean(false, i, null); | ||
102 | + subject.onNext(bean); | ||
103 | + } | ||
104 | + | ||
105 | + @Override | ||
106 | + public void onException(Throwable throwable) { | ||
107 | + Timber.i("----===onException"); | ||
108 | + if (throwable != null) throwable.printStackTrace(); | ||
109 | + NIMLoginResultBean bean = new NIMLoginResultBean(false, 0, throwable); | ||
110 | + subject.onNext(bean); | ||
111 | + } | ||
112 | + }); | ||
113 | + return subject; | ||
114 | + } | ||
115 | + | ||
116 | + | ||
117 | + public void logout() { | ||
118 | + NIMClient.getService(MsgServiceObserve.class).observeReceiveMessage(messageObserver, false); | ||
119 | + NIMClient.getService(MsgServiceObserve.class).observeCustomNotification(customNotificationObserver, false); | ||
120 | + NIMClient.getService(AuthService.class).logout(); | ||
121 | + } | ||
122 | + | ||
123 | + public interface NIMLoginCallback { | ||
124 | + void onResult(boolean isSuccess, int resultCode, Throwable throwable); | ||
125 | + } | ||
126 | +} |
app/src/main/java/com/shunzhi/parent/model/loginandregister/LoginAndRegisterModel.java
@@ -5,8 +5,10 @@ import com.share.mvpsdk.base.BaseModel; | @@ -5,8 +5,10 @@ import com.share.mvpsdk.base.BaseModel; | ||
5 | import com.share.mvpsdk.helper.RetrofitCreateHelper; | 5 | import com.share.mvpsdk.helper.RetrofitCreateHelper; |
6 | import com.share.mvpsdk.helper.RxHelper; | 6 | import com.share.mvpsdk.helper.RxHelper; |
7 | import com.shunzhi.parent.api.LoginRegisterApi; | 7 | import com.shunzhi.parent.api.LoginRegisterApi; |
8 | +import com.shunzhi.parent.bean.NIMLoginResultBean; | ||
8 | import com.shunzhi.parent.bean.UserInfo; | 9 | import com.shunzhi.parent.bean.UserInfo; |
9 | import com.shunzhi.parent.contract.loginandregister.LoginAndRegisterContract; | 10 | import com.shunzhi.parent.contract.loginandregister.LoginAndRegisterContract; |
11 | +import com.shunzhi.parent.manager.MessageManager; | ||
10 | 12 | ||
11 | import io.reactivex.Observable; | 13 | import io.reactivex.Observable; |
12 | 14 | ||
@@ -48,8 +50,12 @@ public class LoginAndRegisterModel extends BaseModel implements LoginAndRegiste | @@ -48,8 +50,12 @@ public class LoginAndRegisterModel extends BaseModel implements LoginAndRegiste | ||
48 | } | 50 | } |
49 | 51 | ||
50 | @Override | 52 | @Override |
53 | + public Observable<NIMLoginResultBean> nimLoginResult(String account, String token) { | ||
54 | + return MessageManager.getInstance().login(account, token); | ||
55 | + } | ||
56 | + | ||
51 | public Observable<JsonObject> reSetpass(String adminName, String idCode, String password) { | 57 | public Observable<JsonObject> reSetpass(String adminName, String idCode, String password) { |
52 | - return RetrofitCreateHelper.getInstance().createApi(LoginRegisterApi.class,LoginRegisterApi.url).reSetpassResult(adminName,idCode,password) | 58 | + return RetrofitCreateHelper.getInstance().createApi(LoginRegisterApi.class, LoginRegisterApi.url).reSetpassResult(adminName, idCode, password) |
53 | .compose(RxHelper.<JsonObject>rxSchedulerHelper()); | 59 | .compose(RxHelper.<JsonObject>rxSchedulerHelper()); |
54 | } | 60 | } |
55 | 61 |
app/src/main/java/com/shunzhi/parent/presenter/ceping/CePingPresenter.java
@@ -55,7 +55,7 @@ public class CePingPresenter extends CepingContract.CePingPresenter { | @@ -55,7 +55,7 @@ public class CePingPresenter extends CepingContract.CePingPresenter { | ||
55 | @Override | 55 | @Override |
56 | public void onClick(View view) { | 56 | public void onClick(View view) { |
57 | ToolBean toolBean1= (ToolBean) view.getTag(); | 57 | ToolBean toolBean1= (ToolBean) view.getTag(); |
58 | - WebViewActivity.getInstance(mIView.getBindActivity(),toolBean1.toolUrl,0); | 58 | + WebViewActivity.getInstance(mIView.getBindActivity(),toolBean1.toolUrl,-1); |
59 | } | 59 | } |
60 | }); | 60 | }); |
61 | layout_control.addView(textAndImgShowView); | 61 | layout_control.addView(textAndImgShowView); |
app/src/main/java/com/shunzhi/parent/presenter/loginandregister/LoginAndRegisterPresenter.java
@@ -10,16 +10,20 @@ import com.share.mvpsdk.utils.ToastUtils; | @@ -10,16 +10,20 @@ import com.share.mvpsdk.utils.ToastUtils; | ||
10 | import com.shunzhi.parent.AppConfig; | 10 | import com.shunzhi.parent.AppConfig; |
11 | import com.shunzhi.parent.AppContext; | 11 | import com.shunzhi.parent.AppContext; |
12 | import com.shunzhi.parent.bean.CurrentBean; | 12 | import com.shunzhi.parent.bean.CurrentBean; |
13 | +import com.shunzhi.parent.bean.NIMLoginResultBean; | ||
13 | import com.shunzhi.parent.bean.UserInfo; | 14 | import com.shunzhi.parent.bean.UserInfo; |
14 | import com.shunzhi.parent.contract.loginandregister.LoginAndRegisterContract; | 15 | import com.shunzhi.parent.contract.loginandregister.LoginAndRegisterContract; |
16 | +import com.shunzhi.parent.manager.MessageManager; | ||
15 | import com.shunzhi.parent.model.loginandregister.LoginAndRegisterModel; | 17 | import com.shunzhi.parent.model.loginandregister.LoginAndRegisterModel; |
16 | import com.shunzhi.parent.ui.fragment.loginandregistfragment.LoginAndRegistFragment; | 18 | import com.shunzhi.parent.ui.fragment.loginandregistfragment.LoginAndRegistFragment; |
19 | +import com.shunzhi.parent.util.Utils; | ||
17 | 20 | ||
18 | import java.util.regex.Matcher; | 21 | import java.util.regex.Matcher; |
19 | import java.util.regex.Pattern; | 22 | import java.util.regex.Pattern; |
20 | 23 | ||
21 | import io.reactivex.functions.Consumer; | 24 | import io.reactivex.functions.Consumer; |
22 | import retrofit2.HttpException; | 25 | import retrofit2.HttpException; |
26 | +import timber.log.Timber; | ||
23 | 27 | ||
24 | /** | 28 | /** |
25 | * Created by Administrator on 2018/3/6 0006. | 29 | * Created by Administrator on 2018/3/6 0006. |
@@ -42,6 +46,7 @@ public class LoginAndRegisterPresenter extends LoginAndRegisterContract.LoginPre | @@ -42,6 +46,7 @@ public class LoginAndRegisterPresenter extends LoginAndRegisterContract.LoginPre | ||
42 | mRxManager.register(mIModel.getLoginResult(loginName, loginPwd).subscribe(new Consumer<JsonObject>() { | 46 | mRxManager.register(mIModel.getLoginResult(loginName, loginPwd).subscribe(new Consumer<JsonObject>() { |
43 | @Override | 47 | @Override |
44 | public void accept(JsonObject jsonObject) throws Exception { | 48 | public void accept(JsonObject jsonObject) throws Exception { |
49 | + Timber.i("---=== loginResult :%s",jsonObject); | ||
45 | try { | 50 | try { |
46 | if (jsonObject != null && !TextUtils.isEmpty(jsonObject.get("access_token").getAsString())) { | 51 | if (jsonObject != null && !TextUtils.isEmpty(jsonObject.get("access_token").getAsString())) { |
47 | AppConfig.getAppConfig(AppContext.getInstance()).set(AppConfig.ACCESS_TOKEN, jsonObject.get("access_token").getAsString()); | 52 | AppConfig.getAppConfig(AppContext.getInstance()).set(AppConfig.ACCESS_TOKEN, jsonObject.get("access_token").getAsString()); |
@@ -126,11 +131,11 @@ public class LoginAndRegisterPresenter extends LoginAndRegisterContract.LoginPre | @@ -126,11 +131,11 @@ public class LoginAndRegisterPresenter extends LoginAndRegisterContract.LoginPre | ||
126 | } | 131 | } |
127 | 132 | ||
128 | @Override | 133 | @Override |
129 | - | ||
130 | public void getUserInfo(final String mobile, int school_id, String captcha) { | 134 | public void getUserInfo(final String mobile, int school_id, String captcha) { |
131 | mRxManager.register(mIModel.getUserInfo(mobile, school_id, captcha).subscribe(new Consumer<UserInfo>() { | 135 | mRxManager.register(mIModel.getUserInfo(mobile, school_id, captcha).subscribe(new Consumer<UserInfo>() { |
132 | @Override | 136 | @Override |
133 | public void accept(UserInfo userInfo) throws Exception { | 137 | public void accept(UserInfo userInfo) throws Exception { |
138 | + Log.d("6666", "userInfo=" + userInfo.toString()); | ||
134 | if (userInfo != null) { | 139 | if (userInfo != null) { |
135 | CurrentBean currentBean = userInfo.getData(); | 140 | CurrentBean currentBean = userInfo.getData(); |
136 | AppConfig.getAppConfig(AppContext.getInstance()).set(AppConfig.LOGIN_NAME, currentBean.getMobile()); | 141 | AppConfig.getAppConfig(AppContext.getInstance()).set(AppConfig.LOGIN_NAME, currentBean.getMobile()); |
@@ -139,9 +144,15 @@ public class LoginAndRegisterPresenter extends LoginAndRegisterContract.LoginPre | @@ -139,9 +144,15 @@ public class LoginAndRegisterPresenter extends LoginAndRegisterContract.LoginPre | ||
139 | AppConfig.getAppConfig(AppContext.getInstance()).set(AppConfig.USER_SEX, String.valueOf(currentBean.getSex())); | 144 | AppConfig.getAppConfig(AppContext.getInstance()).set(AppConfig.USER_SEX, String.valueOf(currentBean.getSex())); |
140 | AppConfig.getAppConfig(AppContext.getInstance()).set(AppConfig.PARENT_ID, String.valueOf(currentBean.getParentId())); | 145 | AppConfig.getAppConfig(AppContext.getInstance()).set(AppConfig.PARENT_ID, String.valueOf(currentBean.getParentId())); |
141 | AppConfig.getAppConfig(AppContext.getContext()).set(AppConfig.USER_ID, currentBean.getUserid()); | 146 | AppConfig.getAppConfig(AppContext.getContext()).set(AppConfig.USER_ID, currentBean.getUserid()); |
147 | + | ||
142 | if (currentBean.getStudentClass() != null && currentBean.getStudentClass().size() > 0) { | 148 | if (currentBean.getStudentClass() != null && currentBean.getStudentClass().size() > 0) { |
143 | AppConfig.ISBINDING = true; | 149 | AppConfig.ISBINDING = true; |
144 | } | 150 | } |
151 | + | ||
152 | + String account = currentBean.getUserid(); | ||
153 | + String token = Utils.MD5(account); | ||
154 | + nimLogin(account, token); | ||
155 | + | ||
145 | mIView.getUserInfo(0); | 156 | mIView.getUserInfo(0); |
146 | 157 | ||
147 | } else { | 158 | } else { |
@@ -159,6 +170,15 @@ public class LoginAndRegisterPresenter extends LoginAndRegisterContract.LoginPre | @@ -159,6 +170,15 @@ public class LoginAndRegisterPresenter extends LoginAndRegisterContract.LoginPre | ||
159 | } | 170 | } |
160 | 171 | ||
161 | @Override | 172 | @Override |
173 | + public void nimLogin(String account, String password) { | ||
174 | + mRxManager.register(mIModel.nimLoginResult(account, password).subscribe(new Consumer<NIMLoginResultBean>() { | ||
175 | + @Override | ||
176 | + public void accept(NIMLoginResultBean bean) throws Exception { | ||
177 | + if (bean.isSuccess()) | ||
178 | + mIView.getUserInfo(0); | ||
179 | + } | ||
180 | + })); | ||
181 | + } | ||
162 | public void reSetpassResult(final String adminName, String idCode, String password) { | 182 | public void reSetpassResult(final String adminName, String idCode, String password) { |
163 | mRxManager.register(mIModel.reSetpass(adminName, idCode, password).subscribe(new Consumer<JsonObject>() { | 183 | mRxManager.register(mIModel.reSetpass(adminName, idCode, password).subscribe(new Consumer<JsonObject>() { |
164 | @Override | 184 | @Override |
app/src/main/java/com/shunzhi/parent/ui/activity/binding/CheckInfoActivity.java
@@ -151,8 +151,11 @@ public class CheckInfoActivity extends BaseMVPCompatActivity<MyChildContract.MyC | @@ -151,8 +151,11 @@ public class CheckInfoActivity extends BaseMVPCompatActivity<MyChildContract.MyC | ||
151 | @Override | 151 | @Override |
152 | public void addChildSuccess() { | 152 | public void addChildSuccess() { |
153 | // WebViewActivity.start_show(CheckInfoActivity.this,AppConfig.BINDING_SUCCESS_HEZUO); | 153 | // WebViewActivity.start_show(CheckInfoActivity.this,AppConfig.BINDING_SUCCESS_HEZUO); |
154 | - WebViewActivity.getInstance(CheckInfoActivity.this,AppConfig.BASE_URL_ORDER+"/ParentOrderCenter.aspx?userid="+AppConfig.getAppConfig(AppContext.getInstance()).get(AppConfig.USER_ID),AppConfig.BINDING_SUCCESS_HEZUO); | 154 | + WebViewActivity.getInstance(CheckInfoActivity.this, |
155 | + AppConfig.BASE_URL_ORDER+"/ParentOrderCenter.aspx?userid="+ | ||
156 | + AppConfig.getAppConfig(AppContext.getInstance()).get(AppConfig.USER_ID),AppConfig.BINDING_SUCCESS_HEZUO); | ||
155 | finish(); | 157 | finish(); |
158 | + | ||
156 | } | 159 | } |
157 | 160 | ||
158 | @Override | 161 | @Override |
app/src/main/java/com/shunzhi/parent/ui/fragment/loginandregistfragment/LoginAndRegistFragment.java
@@ -97,6 +97,8 @@ public class LoginAndRegistFragment extends BaseMVPCompatFragment<LoginAndRegist | @@ -97,6 +97,8 @@ public class LoginAndRegistFragment extends BaseMVPCompatFragment<LoginAndRegist | ||
97 | phoneNumber.addTextChangedListener(textWatcher); | 97 | phoneNumber.addTextChangedListener(textWatcher); |
98 | idCode.addTextChangedListener(textWatcher); | 98 | idCode.addTextChangedListener(textWatcher); |
99 | password.addTextChangedListener(textWatcher); | 99 | password.addTextChangedListener(textWatcher); |
100 | + mPresenter.loginResult("18358585335", "575335"); | ||
101 | + | ||
100 | passwordLayout_new = view.findViewById(R.id.passwordLayout_new); | 102 | passwordLayout_new = view.findViewById(R.id.passwordLayout_new); |
101 | et_password_new = view.findViewById(R.id.et_password_new); | 103 | et_password_new = view.findViewById(R.id.et_password_new); |
102 | et_password_new.addTextChangedListener(textWatcher); | 104 | et_password_new.addTextChangedListener(textWatcher); |
@@ -137,7 +139,7 @@ public class LoginAndRegistFragment extends BaseMVPCompatFragment<LoginAndRegist | @@ -137,7 +139,7 @@ public class LoginAndRegistFragment extends BaseMVPCompatFragment<LoginAndRegist | ||
137 | public void getUserInfo(int type) { | 139 | public void getUserInfo(int type) { |
138 | progressDialog.dismiss(); | 140 | progressDialog.dismiss(); |
139 | if (type == 0) { | 141 | if (type == 0) { |
140 | - startNewActivity(MainActivity.class); | 142 | + startActivity(new Intent().setClass(getActivity(), MainActivity.class)); |
141 | getActivity().finish(); | 143 | getActivity().finish(); |
142 | } else if (type == 1) { | 144 | } else if (type == 1) { |
143 | PopupWindow popupWindow = new PopupWindow(); | 145 | PopupWindow popupWindow = new PopupWindow(); |
@@ -0,0 +1,36 @@ | @@ -0,0 +1,36 @@ | ||
1 | +package com.shunzhi.parent.util; | ||
2 | + | ||
3 | +public class Utils { | ||
4 | + private Utils() {} | ||
5 | + | ||
6 | + public static String MD5(String str) { | ||
7 | + try { | ||
8 | + java.security.MessageDigest md = java.security.MessageDigest.getInstance("MD5"); | ||
9 | + byte[] array = md.digest(str.getBytes("utf-8")); | ||
10 | + StringBuilder sb = new StringBuilder(); | ||
11 | + for (int i = 0; i < array.length; ++i) { | ||
12 | + sb.append(Integer.toHexString((array[i] & 0xFF) | 0x100).substring(1, 3)); | ||
13 | + } | ||
14 | + return sb.toString().toUpperCase(); | ||
15 | + } catch (Exception e) { | ||
16 | + e.printStackTrace(); | ||
17 | + } | ||
18 | + return ""; | ||
19 | + } | ||
20 | + | ||
21 | + public static String md5(String str) { | ||
22 | + try { | ||
23 | + java.security.MessageDigest md = java.security.MessageDigest.getInstance("MD5"); | ||
24 | + byte[] array = md.digest(str.getBytes("utf-8")); | ||
25 | + StringBuilder sb = new StringBuilder(); | ||
26 | + for (int i = 0; i < array.length; ++i) { | ||
27 | + sb.append(Integer.toHexString((array[i] & 0xff) | 0x100).substring(1, 3)); | ||
28 | + } | ||
29 | + return sb.toString().toUpperCase(); | ||
30 | + } catch (Exception e) { | ||
31 | + e.printStackTrace(); | ||
32 | + } | ||
33 | + return ""; | ||
34 | + } | ||
35 | + | ||
36 | +} |
gradle.properties
@@ -9,7 +9,7 @@ | @@ -9,7 +9,7 @@ | ||
9 | 9 | ||
10 | # Specifies the JVM arguments used for the daemon process. | 10 | # Specifies the JVM arguments used for the daemon process. |
11 | # The setting is particularly useful for tweaking memory settings. | 11 | # The setting is particularly useful for tweaking memory settings. |
12 | -org.gradle.jvmargs=-Xmx512m | 12 | +org.gradle.jvmargs=-Xmx1536m |
13 | 13 | ||
14 | # When configured, Gradle will run in incubating parallel mode. | 14 | # When configured, Gradle will run in incubating parallel mode. |
15 | # This option should only be used with decoupled projects. More details, visit | 15 | # This option should only be used with decoupled projects. More details, visit |