Commit df774258ceebab6502cfb6c4d706da85dc2f2b77
1 parent
505390d5
添加分享功能
Showing
65 changed files
with
4687 additions
and
3 deletions
Too many changes to show.
To preserve performance only 65 of 365 files are displayed.
app/build.gradle
| ... | ... | @@ -77,7 +77,7 @@ dependencies { |
| 77 | 77 | implementation project(':moudle_pedometer') |
| 78 | 78 | implementation "com.cnlive.libs:base:$rootProject.libBase" |
| 79 | 79 | implementation "com.qmuiteam:qmui:$rootProject.qmui" |
| 80 | - implementation "com.cnlive:app_arch:$rootProject.appArch" | |
| 80 | + implementation "com.cnlive.libs:arch:$rootProject.appArch" | |
| 81 | 81 | |
| 82 | 82 | //ARouter |
| 83 | 83 | implementation "com.alibaba:arouter-api:$rootProject.arouterApiVersion" | ... | ... |
app_user/.gitignore
0 → 100644
| 1 | +/build | ... | ... |
app_user/build.gradle
0 → 100644
| 1 | +apply plugin: 'com.android.library' | |
| 2 | + | |
| 3 | +android { | |
| 4 | + compileSdkVersion rootProject.ext.compileSdkVersion | |
| 5 | + buildToolsVersion rootProject.ext.buildToolsVersion | |
| 6 | + | |
| 7 | + defaultConfig { | |
| 8 | + minSdkVersion rootProject.ext.minSdkVersion | |
| 9 | + targetSdkVersion rootProject.ext.targetSdkVersion | |
| 10 | + versionCode rootProject.ext.versionCode | |
| 11 | + versionName rootProject.ext.versionName | |
| 12 | + } | |
| 13 | + | |
| 14 | + buildTypes { | |
| 15 | + debug{ | |
| 16 | + resValue("string", "ACCOUNT_LABEL", "网家家 内测") | |
| 17 | + resValue("string", "ACCOUNT_TYPE", "com.cnlive.strike.debug.AccountType") | |
| 18 | + resValue("string", "ACCOUNT_PROVIDE", "com.cnlive.strike.debug.AccountProvide") | |
| 19 | + } | |
| 20 | + release { | |
| 21 | + resValue("string", "ACCOUNT_LABEL", "网家家") | |
| 22 | + resValue("string", "ACCOUNT_TYPE", "com.cnlive.strike.AccountType") | |
| 23 | + resValue("string", "ACCOUNT_PROVIDE", "com.cnlive.strike.AccountProvide") | |
| 24 | + } | |
| 25 | + } | |
| 26 | + | |
| 27 | + compileOptions { | |
| 28 | + sourceCompatibility JavaVersion.VERSION_1_8 | |
| 29 | + targetCompatibility JavaVersion.VERSION_1_8 | |
| 30 | + } | |
| 31 | + | |
| 32 | +} | |
| 33 | + | |
| 34 | +dependencies { | |
| 35 | + implementation fileTree(dir: 'libs', include: ['*.jar']) | |
| 36 | + implementation "com.android.support:appcompat-v7:$rootProject.appcompatV7" | |
| 37 | + //视讯云SDK | |
| 38 | + implementation "com.cnlive:lib_cnutil:$rootProject.libCnUtil" | |
| 39 | + | |
| 40 | + implementation "com.cnlive.libs:base:$rootProject.libBase" | |
| 41 | + implementation project(':lib_network') | |
| 42 | +} | ... | ... |
app_user/proguard-rules.pro
0 → 100644
| 1 | +# Add project specific ProGuard rules here. | |
| 2 | +# You can control the set of applied configuration files using the | |
| 3 | +# proguardFiles setting in build.gradle. | |
| 4 | +# | |
| 5 | +# For more details, see | |
| 6 | +# http://developer.android.com/guide/developing/tools/proguard.html | |
| 7 | + | |
| 8 | +# If your project uses WebView with JS, uncomment the following | |
| 9 | +# and specify the fully qualified class name to the JavaScript interface | |
| 10 | +# class: | |
| 11 | +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { | |
| 12 | +# public *; | |
| 13 | +#} | |
| 14 | + | |
| 15 | +# Uncomment this to preserve the line number information for | |
| 16 | +# debugging stack traces. | |
| 17 | +#-keepattributes SourceFile,LineNumberTable | |
| 18 | + | |
| 19 | +# If you keep the line number information, uncomment this to | |
| 20 | +# hide the original source file name. | |
| 21 | +#-renamesourcefileattribute SourceFile | ... | ... |
app_user/src/debug/res/mipmap-hdpi/icon_account.png
0 → 100644
4.41 KB
app_user/src/debug/res/mipmap-ldpi/icon_account.png
0 → 100644
2.17 KB
app_user/src/debug/res/mipmap-xhdpi/icon_account.png
0 → 100644
5.93 KB
app_user/src/debug/res/mipmap-xxhdpi/icon_account.png
0 → 100644
9.25 KB
app_user/src/debug/res/mipmap-xxxhdpi/icon_account.png
0 → 100644
13.2 KB
app_user/src/main/AndroidManifest.xml
0 → 100644
| 1 | +<manifest xmlns:android="http://schemas.android.com/apk/res/android" | |
| 2 | + xmlns:tools="http://schemas.android.com/tools" | |
| 3 | + package="com.cnlive.strike.user.auth"> | |
| 4 | + | |
| 5 | + <!--账户自动更新 App保活相关--> | |
| 6 | + <uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" /> | |
| 7 | + <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> | |
| 8 | + <uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" /> | |
| 9 | + <uses-permission android:name="android.permission.ACTION_LIGHT_DEVICE_IDLE_MODE_CHANGED" /> | |
| 10 | + <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> | |
| 11 | + <!--账户权限相关--> | |
| 12 | + <uses-permission android:name="android.permission.MANAGE_ACCOUNTS" /> | |
| 13 | + <uses-permission android:name="android.permission.GET_ACCOUNTS" /> | |
| 14 | + <uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" /> | |
| 15 | + <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" /> | |
| 16 | + <uses-permission | |
| 17 | + android:name="android.permission.ACCOUNT_MANAGER" | |
| 18 | + tools:ignore="ProtectedPermissions" /> | |
| 19 | + | |
| 20 | + <application> | |
| 21 | + <activity android:name=".AccountAuthenticatorActivity"/> | |
| 22 | + | |
| 23 | + <service | |
| 24 | + android:name=".UserAccountService" | |
| 25 | + tools:ignore="ExportedService"> | |
| 26 | + <intent-filter> | |
| 27 | + <action android:name="android.accounts.AccountAuthenticator" /> | |
| 28 | + </intent-filter> | |
| 29 | + | |
| 30 | + <meta-data | |
| 31 | + android:name="android.accounts.AccountAuthenticator" | |
| 32 | + android:resource="@xml/authenticator" /> | |
| 33 | + </service> | |
| 34 | + | |
| 35 | + <service | |
| 36 | + android:name=".UserSyncService" | |
| 37 | + android:exported="true"> | |
| 38 | + <intent-filter> | |
| 39 | + <action android:name="android.content.SyncAdapter" /> | |
| 40 | + </intent-filter> | |
| 41 | + | |
| 42 | + <meta-data | |
| 43 | + android:name="android.content.SyncAdapter" | |
| 44 | + android:resource="@xml/account_sync_adapter" /> | |
| 45 | + </service> | |
| 46 | + | |
| 47 | + <provider | |
| 48 | + android:name=".UserAccountProvider" | |
| 49 | + android:authorities="@string/ACCOUNT_PROVIDE" | |
| 50 | + android:exported="false" | |
| 51 | + android:syncable="true" /> | |
| 52 | + </application> | |
| 53 | +</manifest> | ... | ... |
app_user/src/main/java/com/cnlive/strike/user/UserUtilAction.java
0 → 100644
| 1 | +package com.cnlive.strike.user; | |
| 2 | + | |
| 3 | +import android.content.Context; | |
| 4 | +import android.os.Environment; | |
| 5 | +import android.text.TextUtils; | |
| 6 | + | |
| 7 | +import com.cnlive.libs.base.application.AppConfig; | |
| 8 | +import com.cnlive.libs.base.logic.Logic; | |
| 9 | +import com.cnlive.libs.base.logic.callback.DataCallback; | |
| 10 | +import com.cnlive.libs.data.network.Subscriber; | |
| 11 | +import com.cnlive.strike.data.network.api.ApiRequest; | |
| 12 | +import com.cnlive.strike.data.network.api.ApiServiceOpen; | |
| 13 | +import com.cnlive.strike.data.network.api.ApiSubscriber; | |
| 14 | +import com.cnlive.strike.data.network.model.BaseInfo; | |
| 15 | +import com.cnlive.strike.data.network.model.FaceData; | |
| 16 | +import com.cnlive.strike.data.network.model.TokenData; | |
| 17 | +import com.cnlive.strike.data.network.model.UserData; | |
| 18 | + | |
| 19 | +import java.io.File; | |
| 20 | +import java.util.ArrayList; | |
| 21 | +import java.util.HashMap; | |
| 22 | +import java.util.List; | |
| 23 | +import java.util.Map; | |
| 24 | + | |
| 25 | +import io.reactivex.Flowable; | |
| 26 | +import io.reactivex.android.schedulers.AndroidSchedulers; | |
| 27 | +import io.reactivex.disposables.Disposable; | |
| 28 | +import io.reactivex.schedulers.Schedulers; | |
| 29 | +import okhttp3.MediaType; | |
| 30 | +import okhttp3.MultipartBody; | |
| 31 | +import okhttp3.RequestBody; | |
| 32 | +import top.zibin.luban.Luban; | |
| 33 | + | |
| 34 | +import static com.cnlive.libs.base.logic.Config.SUCCESS; | |
| 35 | + | |
| 36 | + | |
| 37 | +/** | |
| 38 | + * Created by Lynn on 2018/10/15. | |
| 39 | + */ | |
| 40 | + | |
| 41 | +public class UserUtilAction { | |
| 42 | + public static int TOKEN_ERROR_CODE = -900001; | |
| 43 | + public static String TOKEN_ERROR_MSG = "用户token为空"; | |
| 44 | + | |
| 45 | + /** | |
| 46 | + * 快捷登录前发送手机验证码 | |
| 47 | + * | |
| 48 | + * @param context | |
| 49 | + * @param mobile 手机号 | |
| 50 | + * @return | |
| 51 | + */ | |
| 52 | + public static Logic.Action<Object, BaseInfo> sendMsgBefQuickLoginAction(final Context context, final String mobile, String countryCode) { | |
| 53 | + return (data, callback) -> { | |
| 54 | + Map<String, String> requestMap = new HashMap<>(); | |
| 55 | + requestMap.put("appId", AppConfig.getAppId()); | |
| 56 | + requestMap.put("mobile", mobile); | |
| 57 | + requestMap.put("countryCode", countryCode); | |
| 58 | + requestMap.put("clientPlat", "a"); | |
| 59 | + return ApiRequest.service(ApiServiceOpen.class, service -> service.sendVerifyCodeBefQuickLogin(requestMap)).subscribe(context, callback); | |
| 60 | + }; | |
| 61 | + | |
| 62 | + } | |
| 63 | + | |
| 64 | + /** | |
| 65 | + * 快捷登录 | |
| 66 | + * | |
| 67 | + * @param context | |
| 68 | + * @param userPhone 手机号 | |
| 69 | + * @param userCode 验证码 | |
| 70 | + * @return | |
| 71 | + */ | |
| 72 | + public static Logic.Action<Object, BaseInfo<UserData>> quickLoginAction(Context context, String userPhone, String userCode, String countryCode) { | |
| 73 | + return (data, callback) -> { | |
| 74 | + Map<String, String> requestMap = new HashMap<>(); | |
| 75 | + requestMap.put("appId", AppConfig.getAppId()); | |
| 76 | + requestMap.put("userName", userPhone); | |
| 77 | + requestMap.put("verificationCode", userCode); | |
| 78 | + requestMap.put("uuid", AppConfig.getAppUUID()); | |
| 79 | + requestMap.put("frmId", AppConfig.getAppChannel()); | |
| 80 | + requestMap.put("countryCode", countryCode); | |
| 81 | + requestMap.put("clientPlat", "a"); | |
| 82 | + return ApiRequest.service(ApiServiceOpen.class, service -> service.quickLogin(requestMap)).subscribe(context, callback); | |
| 83 | + }; | |
| 84 | + } | |
| 85 | + | |
| 86 | + /** | |
| 87 | + * 登录 | |
| 88 | + * | |
| 89 | + * @param context | |
| 90 | + * @param userName 用户名 | |
| 91 | + * @param pwd 密码 | |
| 92 | + * @return | |
| 93 | + */ | |
| 94 | + public static Logic.Action<Object, BaseInfo<UserData>> loginAction(Context context, String userName, String pwd) { | |
| 95 | + return (data, callback) -> { | |
| 96 | + Map<String, String> map = new HashMap<>(); | |
| 97 | + map.put("appId", AppConfig.getAppId()); | |
| 98 | + map.put("userName", userName); | |
| 99 | + map.put("pwd", pwd); | |
| 100 | + map.put("uuid", AppConfig.getAppUUID()); | |
| 101 | + map.put("frmId", ""); | |
| 102 | + map.put("clientPlat", "a"); | |
| 103 | + return ApiRequest.service(ApiServiceOpen.class, service -> service.login(map)).subscribe(context, callback); | |
| 104 | + }; | |
| 105 | + } | |
| 106 | + | |
| 107 | + /** | |
| 108 | + * 查询用户信息 | |
| 109 | + * | |
| 110 | + * @param context | |
| 111 | + * @param userId 用户ID | |
| 112 | + * @param srcUid 被查询用户ID | |
| 113 | + * @param token 查询者平台TOKEN | |
| 114 | + * @return | |
| 115 | + */ | |
| 116 | + public static Logic.Action<Object, BaseInfo<UserData>> queryUserInfo(Context context, String userId, String srcUid, String token) { | |
| 117 | + return (data, callback) -> { | |
| 118 | + Map<String, String> map = new HashMap<>(); | |
| 119 | + map.put("appId", AppConfig.getAppId()); | |
| 120 | + map.put("uid", userId); | |
| 121 | + map.put("srcUid", srcUid); | |
| 122 | + map.put("clientPlat", "a"); | |
| 123 | + map.put("token", token); | |
| 124 | + if (TextUtils.isEmpty(token)) { | |
| 125 | + callback.callback(TOKEN_ERROR_CODE, TOKEN_ERROR_MSG, null); | |
| 126 | + } | |
| 127 | + return ApiRequest.service(ApiServiceOpen.class, service -> service.queryUserInfo(map)).subscribe(context, callback); | |
| 128 | + }; | |
| 129 | + } | |
| 130 | + | |
| 131 | + /** | |
| 132 | + * 修改用户附加信息 | |
| 133 | + * | |
| 134 | + * @param context | |
| 135 | + * @param userId 用户id | |
| 136 | + * @param extInfo 扩展信息 | |
| 137 | + * @param token 平台token | |
| 138 | + * @return | |
| 139 | + */ | |
| 140 | + public static Logic.Action<Object, BaseInfo> updateUserExtInfo(Context context, String userId, String extInfo, String token) { | |
| 141 | + return (data, callback) -> { | |
| 142 | + Map<String, String> map = new HashMap<>(); | |
| 143 | + map.put("appId", AppConfig.getAppId()); | |
| 144 | + map.put("uid", userId); | |
| 145 | + map.put("extInfo", extInfo); | |
| 146 | + map.put("token", token); | |
| 147 | + map.put("clientPlat", "a"); | |
| 148 | + if (TextUtils.isEmpty(token)) { | |
| 149 | + callback.callback(TOKEN_ERROR_CODE, TOKEN_ERROR_MSG, null); | |
| 150 | + } | |
| 151 | + return ApiRequest.service(ApiServiceOpen.class, service -> service.updateUserExtInfo(map)).subscribe(context, callback); | |
| 152 | + }; | |
| 153 | + } | |
| 154 | + | |
| 155 | + /** | |
| 156 | + * 修改用户单项信息 | |
| 157 | + * | |
| 158 | + * @param context | |
| 159 | + * @param uid 用户Id | |
| 160 | + * @param type nickName-昵称,gender-性别,email-邮箱, location-联系方式 | |
| 161 | + * @param value 对应的信息,性别,m:男、f:女、n:未知 | |
| 162 | + * @param token 平台TOKEN | |
| 163 | + * @return | |
| 164 | + */ | |
| 165 | + public static Logic.Action<Object, BaseInfo> modifyUserInfo(Context context, String uid, String type, String value, String token) { | |
| 166 | + return (data, callback) -> { | |
| 167 | + Map<String, String> map = new HashMap<>(); | |
| 168 | + map.put("appId", AppConfig.getAppId()); | |
| 169 | + map.put("uid", uid); | |
| 170 | + map.put("type", type); | |
| 171 | + map.put("value", value); | |
| 172 | + map.put("clientPlat", "a"); | |
| 173 | + map.put("token", token); | |
| 174 | + if (TextUtils.isEmpty(token)) { | |
| 175 | + callback.callback(TOKEN_ERROR_CODE, TOKEN_ERROR_MSG, null); | |
| 176 | + } | |
| 177 | + return ApiRequest.service(ApiServiceOpen.class, service -> service.modifyUserInfo(map)).subscribe(context, callback); | |
| 178 | + }; | |
| 179 | + } | |
| 180 | + | |
| 181 | + /** | |
| 182 | + * 注册或修改手机号前发手机验证码 | |
| 183 | + * | |
| 184 | + * @param context | |
| 185 | + * @param mobile 手机号 | |
| 186 | + * @return | |
| 187 | + */ | |
| 188 | + public static Logic.Action<Object, BaseInfo> sendVerifyCodeForUnRegistered(Context context, String mobile, String countryCode) { | |
| 189 | + return (data, callback) -> { | |
| 190 | + Map<String, String> map = new HashMap<>(); | |
| 191 | + map.put("appId", AppConfig.getAppId()); | |
| 192 | + map.put("mobile", mobile); | |
| 193 | + map.put("clientPlat", "a"); | |
| 194 | + map.put("countryCode", countryCode); | |
| 195 | + return ApiRequest.service(ApiServiceOpen.class, service -> service.sendVerifyCodeForUnRegistered(map)).subscribe(context, callback); | |
| 196 | + }; | |
| 197 | + } | |
| 198 | + | |
| 199 | + /** | |
| 200 | + * 更新手机号 | |
| 201 | + * | |
| 202 | + * @param context | |
| 203 | + * @param uid 用户ID | |
| 204 | + * @param mobile 手机号 | |
| 205 | + * @param verificationCode 手机验证码 | |
| 206 | + * @param token 平台TOKEN | |
| 207 | + * @return | |
| 208 | + */ | |
| 209 | + public static Logic.Action<Object, BaseInfo> updateMobile(Context context, String uid, String mobile, String verificationCode, String token, String countryCode) { | |
| 210 | + return (data, callback) -> { | |
| 211 | + Map<String, String> map = new HashMap<>(); | |
| 212 | + map.put("appId", AppConfig.getAppId()); | |
| 213 | + map.put("uid", uid); | |
| 214 | + map.put("mobile", mobile); | |
| 215 | + map.put("verificationCode", verificationCode); | |
| 216 | + map.put("clientPlat", "a"); | |
| 217 | + map.put("countryCode", countryCode); | |
| 218 | + map.put("token", token); | |
| 219 | + if (TextUtils.isEmpty(token)) { | |
| 220 | + callback.callback(TOKEN_ERROR_CODE, TOKEN_ERROR_MSG, null); | |
| 221 | + } | |
| 222 | + return ApiRequest.service(ApiServiceOpen.class, service -> service.updateMobile(map)).subscribe(context, callback); | |
| 223 | + }; | |
| 224 | + } | |
| 225 | + | |
| 226 | + /** | |
| 227 | + * 注册 | |
| 228 | + * | |
| 229 | + * @param context | |
| 230 | + * @param userName 邮箱或手机 | |
| 231 | + * @param pwd 密码 | |
| 232 | + * @param verificationCode 手机验证码(手机号注册时必填) | |
| 233 | + * @return | |
| 234 | + */ | |
| 235 | + public static Logic.Action<Object, BaseInfo<UserData>> register(Context context, String userName, String pwd, String verificationCode) { | |
| 236 | + return (data, callback) -> { | |
| 237 | + Map<String, String> map = new HashMap<>(); | |
| 238 | + map.put("appId", AppConfig.getAppId()); | |
| 239 | + map.put("userName", userName); | |
| 240 | + map.put("pwd", pwd); | |
| 241 | + map.put("verificationCode", verificationCode); | |
| 242 | + map.put("invitationCode", ""); | |
| 243 | + map.put("uuid", AppConfig.getAppUUID()); | |
| 244 | + map.put("frmId", ""); | |
| 245 | + map.put("clientPlat", "a"); | |
| 246 | + return ApiRequest.service(ApiServiceOpen.class, service -> service.register(map)).subscribe(context, callback); | |
| 247 | + }; | |
| 248 | + } | |
| 249 | + | |
| 250 | + | |
| 251 | + /** | |
| 252 | + * 获取access_token | |
| 253 | + * | |
| 254 | + * @param context | |
| 255 | + * @return | |
| 256 | + */ | |
| 257 | + public static Logic.Action<Object, BaseInfo<TokenData>> accessToken(Context context) { | |
| 258 | + return (data, callback) -> { | |
| 259 | + Map<String, String> map = new HashMap<>(); | |
| 260 | + map.put("appId", AppConfig.getAppId()); | |
| 261 | + map.put("secret", AppConfig.getAppSceret()); | |
| 262 | + return ApiRequest.service(ApiServiceOpen.class, service -> service.accessToken(map)).subscribe(context, callback); | |
| 263 | + }; | |
| 264 | + } | |
| 265 | + | |
| 266 | + /** | |
| 267 | + * 上传头像 | |
| 268 | + * | |
| 269 | + * @param context | |
| 270 | + * @param uid 用户ID | |
| 271 | + * @param face 头像文件 | |
| 272 | + * @param token 平台TOKEN | |
| 273 | + * @param access_token | |
| 274 | + * @return | |
| 275 | + */ | |
| 276 | + public static Disposable updateUserFace(Context context, String uid, File face, String token, String access_token, DataCallback<BaseInfo<FaceData>> callback) { | |
| 277 | + Map<String, RequestBody> params = new HashMap<>(); | |
| 278 | + | |
| 279 | + if (TextUtils.isEmpty(token)) { | |
| 280 | + callback.callback(TOKEN_ERROR_CODE, TOKEN_ERROR_MSG, null); | |
| 281 | + } | |
| 282 | + | |
| 283 | + params.put("uid", getRequestString(uid)); | |
| 284 | + params.put("clientPlat", getRequestString("a")); | |
| 285 | + params.put("token", getRequestString(token)); | |
| 286 | + params.put("access_token", getRequestString(access_token)); | |
| 287 | + | |
| 288 | + RequestBody requestFace = RequestBody.create(MediaType.parse("multipart/form-data"), face); | |
| 289 | + MultipartBody.Part faceBody = MultipartBody.Part.createFormData("face", face.getName(), requestFace); | |
| 290 | + | |
| 291 | + List<MultipartBody.Part> parts = new ArrayList<>(); | |
| 292 | + parts.add(faceBody); | |
| 293 | + | |
| 294 | + | |
| 295 | + Subscriber<BaseInfo<FaceData>> subscriber = new Subscriber<BaseInfo<FaceData>>(context, ApiSubscriber.subscriberBuild) { | |
| 296 | + @Override | |
| 297 | + public void onCompleted(String s, String s1, BaseInfo<FaceData> faceDataBaseInfo) { | |
| 298 | + if (callback == null) return; | |
| 299 | + callback.callback(SUCCESS, "", faceDataBaseInfo); | |
| 300 | + } | |
| 301 | + | |
| 302 | + @Override | |
| 303 | + public void onError(String s, String s1) { | |
| 304 | + if (callback == null) return; | |
| 305 | + int errorCode = -1; | |
| 306 | + try { | |
| 307 | + errorCode = Integer.valueOf(s); | |
| 308 | + } catch (Exception ignored) { | |
| 309 | + } finally { | |
| 310 | + callback.callback(errorCode, s1, null); | |
| 311 | + } | |
| 312 | + } | |
| 313 | + }; | |
| 314 | + | |
| 315 | + return ApiRequest.subscribe(ApiRequest.service(ApiServiceOpen.class).updateUserFace(params, parts), subscriber); | |
| 316 | +// return ApiRequest.service(ApiServiceOpen.class, service -> service.updateUserFace(params, parts)).subscribe(context, callback); | |
| 317 | + } | |
| 318 | + | |
| 319 | + private static RequestBody getRequestString(String value) { | |
| 320 | + RequestBody requestString = RequestBody.create(MediaType.parse("text/plain"), value); | |
| 321 | + return requestString; | |
| 322 | + } | |
| 323 | + | |
| 324 | + public static Disposable zipFiles(Context context, List<String> imageFiles, DataCallback<List<String>> callback) { | |
| 325 | + if (imageFiles == null || imageFiles.size() == 0) { | |
| 326 | + callback.callback(0, "", imageFiles); | |
| 327 | + } else { | |
| 328 | + return Flowable.just(imageFiles) | |
| 329 | + .observeOn(Schedulers.io()) | |
| 330 | + .map(list -> Luban.with(context) | |
| 331 | + .ignoreBy(500) | |
| 332 | + .setTargetDir(getPath()) | |
| 333 | + .load(list) | |
| 334 | + .get()) | |
| 335 | + .observeOn(AndroidSchedulers.mainThread()) | |
| 336 | + .doOnError(throwable -> callback.callback(0, "", imageFiles)) | |
| 337 | + .onErrorResumeNext(Flowable.empty()) | |
| 338 | + .subscribe( | |
| 339 | + list -> { | |
| 340 | + List<String> files = new ArrayList<>(); | |
| 341 | + for (File file : list) files.add(file.getPath()); | |
| 342 | + callback.callback(0, "", files); | |
| 343 | + }); | |
| 344 | + } | |
| 345 | + return null; | |
| 346 | + } | |
| 347 | + | |
| 348 | + private static String getPath() { | |
| 349 | + String path = Environment.getExternalStorageDirectory() + "/strike/image/"; | |
| 350 | + File file = new File(path); | |
| 351 | + if (file.mkdirs()) { | |
| 352 | + return path; | |
| 353 | + } | |
| 354 | + return path; | |
| 355 | + } | |
| 356 | +} | ... | ... |
app_user/src/main/java/com/cnlive/strike/user/auth/AccountAuthenticatorActivity.java
0 → 100644
| 1 | +/* | |
| 2 | + * Copyright (C) 2009 The Android Open Source Project | |
| 3 | + * | |
| 4 | + * Licensed under the Apache License, Version 2.0 (the "License"); | |
| 5 | + * you may not use this file except in compliance with the License. | |
| 6 | + * You may obtain a copy of the License at | |
| 7 | + * | |
| 8 | + * http://www.apache.org/licenses/LICENSE-2.0 | |
| 9 | + * | |
| 10 | + * Unless required by applicable law or agreed to in writing, software | |
| 11 | + * distributed under the License is distributed on an "AS IS" BASIS, | |
| 12 | + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
| 13 | + * See the License for the specific language governing permissions and | |
| 14 | + * limitations under the License. | |
| 15 | + */ | |
| 16 | + | |
| 17 | +package com.cnlive.strike.user.auth; | |
| 18 | + | |
| 19 | +import android.accounts.AccountAuthenticatorResponse; | |
| 20 | +import android.accounts.AccountManager; | |
| 21 | +import android.os.Bundle; | |
| 22 | +import android.support.v7.app.AppCompatActivity; | |
| 23 | + | |
| 24 | +/** | |
| 25 | + * Base class for implementing an Activity that is used to help implement an | |
| 26 | + * AbstractAccountAuthenticator. If the AbstractAccountAuthenticator needs to use an activity | |
| 27 | + * to handle the request then it can have the activity extend AccountAuthenticatorActivity. | |
| 28 | + * The AbstractAccountAuthenticator passes in the response to the intent using the following: | |
| 29 | + * <pre> | |
| 30 | + * intent.putExtra({@link AccountManager#KEY_ACCOUNT_AUTHENTICATOR_RESPONSE}, response); | |
| 31 | + * </pre> | |
| 32 | + * The activity then sets the result that is to be handed to the response via | |
| 33 | + * {@link #setAccountAuthenticatorResult(Bundle)}. | |
| 34 | + * This result will be sent as the result of the request when the activity finishes. If this | |
| 35 | + * is never set or if it is set to null then error {@link AccountManager#ERROR_CODE_CANCELED} | |
| 36 | + * will be called on the response. | |
| 37 | + */ | |
| 38 | +public class AccountAuthenticatorActivity extends AppCompatActivity { | |
| 39 | + private AccountAuthenticatorResponse mAccountAuthenticatorResponse = null; | |
| 40 | + private Bundle mResultBundle = null; | |
| 41 | + | |
| 42 | + /** | |
| 43 | + * Set the result that is to be sent as the result of the request that caused this | |
| 44 | + * Activity to be launched. If result is null or this method is never called then | |
| 45 | + * the request will be canceled. | |
| 46 | + * | |
| 47 | + * @param result this is returned as the result of the AbstractAccountAuthenticator request | |
| 48 | + */ | |
| 49 | + public final void setAccountAuthenticatorResult(Bundle result) { | |
| 50 | + mResultBundle = result; | |
| 51 | + } | |
| 52 | + | |
| 53 | + /** | |
| 54 | + * Retreives the AccountAuthenticatorResponse from either the intent of the icicle, if the | |
| 55 | + * icicle is non-zero. | |
| 56 | + * | |
| 57 | + * @param icicle the save instance data of this Activity, may be null | |
| 58 | + */ | |
| 59 | + protected void onCreate(Bundle icicle) { | |
| 60 | + super.onCreate(icicle); | |
| 61 | + | |
| 62 | + mAccountAuthenticatorResponse = | |
| 63 | + getIntent().getParcelableExtra(AccountManager.KEY_ACCOUNT_AUTHENTICATOR_RESPONSE); | |
| 64 | + | |
| 65 | + if (mAccountAuthenticatorResponse != null) { | |
| 66 | + mAccountAuthenticatorResponse.onRequestContinued(); | |
| 67 | + } | |
| 68 | + } | |
| 69 | + | |
| 70 | + /** | |
| 71 | + * Sends the result or a Constants.ERROR_CODE_CANCELED error if a result isn't present. | |
| 72 | + */ | |
| 73 | + public void finish() { | |
| 74 | + if (mAccountAuthenticatorResponse != null) { | |
| 75 | + // send the result bundle back if set, otherwise send an error. | |
| 76 | + if (mResultBundle != null) { | |
| 77 | + mAccountAuthenticatorResponse.onResult(mResultBundle); | |
| 78 | + } else { | |
| 79 | + mAccountAuthenticatorResponse.onError(AccountManager.ERROR_CODE_CANCELED, | |
| 80 | + "canceled"); | |
| 81 | + } | |
| 82 | + mAccountAuthenticatorResponse = null; | |
| 83 | + } | |
| 84 | + super.finish(); | |
| 85 | + } | |
| 86 | +} | ... | ... |
app_user/src/main/java/com/cnlive/strike/user/auth/UserAccountAuthenticator.java
0 → 100644
| 1 | +package com.cnlive.strike.user.auth; | |
| 2 | + | |
| 3 | +import android.accounts.AbstractAccountAuthenticator; | |
| 4 | +import android.accounts.Account; | |
| 5 | +import android.accounts.AccountAuthenticatorResponse; | |
| 6 | +import android.accounts.AccountManager; | |
| 7 | +import android.accounts.NetworkErrorException; | |
| 8 | +import android.content.Context; | |
| 9 | +import android.content.Intent; | |
| 10 | +import android.os.Bundle; | |
| 11 | + | |
| 12 | +import com.cnlive.libs.base.util.LogUtil; | |
| 13 | + | |
| 14 | +public class UserAccountAuthenticator extends AbstractAccountAuthenticator { | |
| 15 | + private String _tag = "UserAccountAuthenticator"; | |
| 16 | + private Context _context; | |
| 17 | + | |
| 18 | + public UserAccountAuthenticator(Context context) { | |
| 19 | + super(context); | |
| 20 | + _context = context; | |
| 21 | + } | |
| 22 | + | |
| 23 | + public Bundle addAccount(AccountAuthenticatorResponse response, String accountType, String authTokenType, String[] requiredFeatures, Bundle options) { | |
| 24 | + LogUtil.d(_tag, accountType + " - " + authTokenType); | |
| 25 | + Bundle ret = new Bundle(); | |
| 26 | + try { | |
| 27 | + Class<?> clazz = Class.forName("com.cnlive.strike.moudle.user.ui.activity.LoginActivity"); | |
| 28 | + Intent intent = new Intent(_context, clazz); | |
| 29 | + intent.putExtra(AccountManager.KEY_ACCOUNT_AUTHENTICATOR_RESPONSE, response); | |
| 30 | + ret.putParcelable(AccountManager.KEY_INTENT, intent); | |
| 31 | + } catch (ClassNotFoundException e) { | |
| 32 | + e.printStackTrace(); | |
| 33 | + } | |
| 34 | + return ret; | |
| 35 | + } | |
| 36 | + | |
| 37 | + | |
| 38 | + @Override | |
| 39 | + public Bundle confirmCredentials(AccountAuthenticatorResponse response, Account account, Bundle options) { | |
| 40 | + LogUtil.d(_tag, ".confirmCredentials"); | |
| 41 | + return null; | |
| 42 | + } | |
| 43 | + | |
| 44 | + | |
| 45 | + @Override | |
| 46 | + public Bundle editProperties(AccountAuthenticatorResponse response, String accountType) { | |
| 47 | + LogUtil.d(_tag, ".editProperties"); | |
| 48 | + return null; | |
| 49 | + } | |
| 50 | + | |
| 51 | + | |
| 52 | + @Override | |
| 53 | + public Bundle getAuthToken(AccountAuthenticatorResponse response, Account account, String authTokenType, Bundle loginOptions) throws NetworkErrorException { | |
| 54 | + LogUtil.d(_tag, ".getAuthToken"); | |
| 55 | + return null; | |
| 56 | + } | |
| 57 | + | |
| 58 | + | |
| 59 | + @Override | |
| 60 | + public String getAuthTokenLabel(String authTokenType) { | |
| 61 | + LogUtil.d(_tag, ".getAuthTokenLabel"); | |
| 62 | + return null; | |
| 63 | + } | |
| 64 | + | |
| 65 | + | |
| 66 | + @Override | |
| 67 | + public Bundle hasFeatures(AccountAuthenticatorResponse response, Account account, String[] features) throws NetworkErrorException { | |
| 68 | + LogUtil.d(_tag, ".hasFeatures"); | |
| 69 | + return null; | |
| 70 | + } | |
| 71 | + | |
| 72 | + | |
| 73 | + @Override | |
| 74 | + public Bundle updateCredentials(AccountAuthenticatorResponse response, Account account, String authTokenType, Bundle loginOptions) { | |
| 75 | + LogUtil.d(_tag, ".updateCredentials"); | |
| 76 | + return null; | |
| 77 | + } | |
| 78 | + | |
| 79 | +} | ... | ... |
app_user/src/main/java/com/cnlive/strike/user/auth/UserAccountProvider.java
0 → 100644
| 1 | +package com.cnlive.strike.user.auth; | |
| 2 | + | |
| 3 | +import android.content.ContentProvider; | |
| 4 | +import android.content.ContentValues; | |
| 5 | +import android.database.Cursor; | |
| 6 | +import android.net.Uri; | |
| 7 | +import android.support.annotation.Nullable; | |
| 8 | + | |
| 9 | +public class UserAccountProvider extends ContentProvider { | |
| 10 | + | |
| 11 | + @Override | |
| 12 | + public boolean onCreate() { | |
| 13 | + return false; | |
| 14 | + } | |
| 15 | + | |
| 16 | + @Nullable | |
| 17 | + @Override | |
| 18 | + public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { | |
| 19 | + return null; | |
| 20 | + } | |
| 21 | + | |
| 22 | + @Nullable | |
| 23 | + @Override | |
| 24 | + public String getType(Uri uri) { | |
| 25 | + return null; | |
| 26 | + } | |
| 27 | + | |
| 28 | + @Nullable | |
| 29 | + @Override | |
| 30 | + public Uri insert(Uri uri, ContentValues values) { | |
| 31 | + return null; | |
| 32 | + } | |
| 33 | + | |
| 34 | + @Override | |
| 35 | + public int delete(Uri uri, String selection, String[] selectionArgs) { | |
| 36 | + return 0; | |
| 37 | + } | |
| 38 | + | |
| 39 | + @Override | |
| 40 | + public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) { | |
| 41 | + return 0; | |
| 42 | + } | |
| 43 | +} | ... | ... |
app_user/src/main/java/com/cnlive/strike/user/auth/UserAccountService.java
0 → 100644
| 1 | +package com.cnlive.strike.user.auth; | |
| 2 | + | |
| 3 | +import android.app.Service; | |
| 4 | +import android.content.Intent; | |
| 5 | +import android.os.IBinder; | |
| 6 | + | |
| 7 | +public class UserAccountService extends Service { | |
| 8 | + private UserAccountAuthenticator _saa; | |
| 9 | + | |
| 10 | + @Override | |
| 11 | + public IBinder onBind(Intent intent) { | |
| 12 | + IBinder ret = null; | |
| 13 | + if (intent.getAction().equals(android.accounts.AccountManager.ACTION_AUTHENTICATOR_INTENT)) | |
| 14 | + ret = getMovieAuthenticator().getIBinder(); | |
| 15 | + return ret; | |
| 16 | + } | |
| 17 | + | |
| 18 | + private UserAccountAuthenticator getMovieAuthenticator() { | |
| 19 | + if (_saa == null) | |
| 20 | + _saa = new UserAccountAuthenticator(this); | |
| 21 | + return _saa; | |
| 22 | + } | |
| 23 | +} | ... | ... |
app_user/src/main/java/com/cnlive/strike/user/auth/UserService.java
0 → 100644
| 1 | +package com.cnlive.strike.user.auth; | |
| 2 | + | |
| 3 | +import android.accounts.Account; | |
| 4 | +import android.accounts.AccountManager; | |
| 5 | +import android.accounts.AccountManagerCallback; | |
| 6 | +import android.content.ContentResolver; | |
| 7 | +import android.content.Context; | |
| 8 | +import android.os.Bundle; | |
| 9 | +import android.text.TextUtils; | |
| 10 | + | |
| 11 | +import com.cnlive.libs.base.application.AppConfig; | |
| 12 | +import com.cnlive.libs.util.SharedPreferencesHelper; | |
| 13 | +import com.cnlive.strike.data.network.model.UserData; | |
| 14 | +import com.cnlive.strike.user.model.CNLiveUserInfo; | |
| 15 | +import com.cnlive.strike.user.model.CNLiveUserInfoExt; | |
| 16 | +import com.google.gson.Gson; | |
| 17 | + | |
| 18 | +import java.util.HashMap; | |
| 19 | +import java.util.Map; | |
| 20 | + | |
| 21 | +/** | |
| 22 | + * 用户管理类 | |
| 23 | + */ | |
| 24 | +public class UserService { | |
| 25 | + private final String defaultFaceUrl = "http://wjj.ys1.cnliveimg.com/admin/test/head.png"; | |
| 26 | + | |
| 27 | + private final String baseFaceUrl = "/mobile/images/mobilehead/default/"; | |
| 28 | + | |
| 29 | + private boolean checkDefaultUrl(String url) { | |
| 30 | + if (!TextUtils.isEmpty(url) && url.contains(baseFaceUrl)) return true; | |
| 31 | + return false; | |
| 32 | + } | |
| 33 | + | |
| 34 | + private final String KEY_DEFAULT_ACCOUNT = "defaultaccount";//用户默认账户 | |
| 35 | + private final String KEY_USER_DATA_USER_ID = "uid"; //用户uid | |
| 36 | + private final String KEY_USER_DATA_NICKNAME = "nickname"; //用户昵称 | |
| 37 | + private final String KEY_USER_DATA_BIGFACEURL = "bigfaceurl"; //用户头像 | |
| 38 | + private final String KEY_USER_DATA_FACEURL = "faceurl"; //用户头像 | |
| 39 | + private final String KEY_USER_DATA_GENDER = "gender"; //用户性别 | |
| 40 | + private final String KEY_USER_DATA_MOBILE = "mobile"; //用户手机号 | |
| 41 | + private final String KEY_USER_COUNTRY_CODE = "countryCode";//手机号国家码 | |
| 42 | + private final String KEY_USER_DATA_EMAIL = "email"; //用户邮箱 | |
| 43 | + private final String KEY_USER_DATA_LOCATION = "location"; //用户地址 | |
| 44 | + private final String KEY_USER_TOKEN = "token"; //用户token | |
| 45 | + private final String KEY_USER_FIRST_LOGIN = "firstLogin"; //用户token | |
| 46 | + private final String KEY_USER_SIGN = "sign"; //用户签名 | |
| 47 | + | |
| 48 | + private static UserService mInstance; | |
| 49 | + private Account activeAccount; | |
| 50 | + private CNLiveUserInfo activeUserInfo; | |
| 51 | + private SharedPreferencesHelper sharedPrefs; | |
| 52 | + private AccountManager mAccountManager; | |
| 53 | + private String mAccountType, mAccountProvide; | |
| 54 | + | |
| 55 | + private Map<String, Account> mAccountMap = new HashMap<>(); | |
| 56 | + | |
| 57 | + /** | |
| 58 | + * 获取用户管理服务实例 | |
| 59 | + * | |
| 60 | + * @param context 上下文 | |
| 61 | + * @return 管理对象实例 | |
| 62 | + */ | |
| 63 | + public static synchronized UserService getInstance(Context context) { | |
| 64 | + if (mInstance == null && context != null) | |
| 65 | + mInstance = new UserService(context.getApplicationContext()); | |
| 66 | + return mInstance; | |
| 67 | + } | |
| 68 | + | |
| 69 | + /** | |
| 70 | + * 默认构造函数(单例) | |
| 71 | + * | |
| 72 | + * @param context | |
| 73 | + */ | |
| 74 | + private UserService(Context context) { | |
| 75 | + sharedPrefs = SharedPreferencesHelper.getInstance(context); | |
| 76 | + mAccountManager = AccountManager.get(context); | |
| 77 | + mAccountType = context.getString(R.string.ACCOUNT_TYPE); | |
| 78 | + mAccountProvide = context.getString(R.string.ACCOUNT_PROVIDE); | |
| 79 | + //初始化用户列表 | |
| 80 | + initSystemAccounts(); | |
| 81 | + //初始化登录用户 | |
| 82 | + initAppAccount(); | |
| 83 | + } | |
| 84 | + | |
| 85 | + /** | |
| 86 | + * 初始化系统用户列表 | |
| 87 | + */ | |
| 88 | + private void initSystemAccounts() { | |
| 89 | + mAccountMap.clear(); | |
| 90 | + Account[] accounts = mAccountManager.getAccountsByType(mAccountType); | |
| 91 | + for (Account account : accounts) { | |
| 92 | + mAccountMap.put(account.name, account); | |
| 93 | + } | |
| 94 | + } | |
| 95 | + | |
| 96 | + /** | |
| 97 | + * 初始化默认系统账号 | |
| 98 | + */ | |
| 99 | + private void initAppAccount() { | |
| 100 | + String accountName = sharedPrefs.getValue(KEY_DEFAULT_ACCOUNT); | |
| 101 | + | |
| 102 | + if (mAccountMap.containsKey(accountName)) { | |
| 103 | + activeAccount = mAccountMap.get(accountName); | |
| 104 | + activeUserInfo = getAccountInfo(activeAccount); | |
| 105 | + } else { | |
| 106 | + activeAccount = null; | |
| 107 | + activeUserInfo = null; | |
| 108 | + } | |
| 109 | + } | |
| 110 | + | |
| 111 | + /** | |
| 112 | + * 判断App用户登录 | |
| 113 | + * | |
| 114 | + * @return 如果登录返回 true | |
| 115 | + */ | |
| 116 | + public boolean hasAppAccount() { | |
| 117 | + String accountName = sharedPrefs.getValue(KEY_DEFAULT_ACCOUNT); | |
| 118 | + return mAccountMap.containsKey(accountName) && activeUserInfo != null; | |
| 119 | + } | |
| 120 | + | |
| 121 | + /** | |
| 122 | + * 登录App用户 ,录入系统账号信息 | |
| 123 | + * | |
| 124 | + * @param username 用户名 | |
| 125 | + * @param password 密码 | |
| 126 | + * @param userProfile 用户数据 | |
| 127 | + */ | |
| 128 | + public void loginAppAccount(String username, String password, UserData userProfile) { | |
| 129 | + if (mAccountMap.containsKey(username)) { | |
| 130 | + activeAccount = mAccountMap.get(username); | |
| 131 | + mAccountManager.setPassword(activeAccount, password); | |
| 132 | + } else { | |
| 133 | + activeAccount = new Account(username, mAccountType); | |
| 134 | + mAccountManager.addAccountExplicitly(activeAccount, password, null); | |
| 135 | + } | |
| 136 | + | |
| 137 | + // 自动同步 | |
| 138 | + ContentResolver.setIsSyncable(activeAccount, mAccountProvide, 1); | |
| 139 | + ContentResolver.setSyncAutomatically(activeAccount, mAccountProvide, true); | |
| 140 | + // 间隔时间为30秒 | |
| 141 | + ContentResolver.addPeriodicSync(activeAccount, mAccountProvide, new Bundle(), 1); | |
| 142 | + | |
| 143 | + setSystemAccountInfo(activeAccount, userProfile); | |
| 144 | + | |
| 145 | + mAccountMap.put(username, activeAccount); | |
| 146 | + | |
| 147 | + activeUserInfo = getAccountInfo(activeAccount); | |
| 148 | + | |
| 149 | + sharedPrefs.setValue(KEY_DEFAULT_ACCOUNT, username); | |
| 150 | + } | |
| 151 | + | |
| 152 | + /** | |
| 153 | + * 登出App用户 | |
| 154 | + */ | |
| 155 | + public void logoutAppAccount() { | |
| 156 | + AppConfig.setSid(""); | |
| 157 | + if (sharedPrefs != null) sharedPrefs.remove(KEY_DEFAULT_ACCOUNT); | |
| 158 | + if (mAccountMap != null) mAccountMap.remove(activeAccount.name); | |
| 159 | + activeAccount = null; | |
| 160 | + activeUserInfo = null; | |
| 161 | + mInstance = null; | |
| 162 | + } | |
| 163 | + | |
| 164 | + /** | |
| 165 | + * 获取已经登陆用户信息 | |
| 166 | + * | |
| 167 | + * @return 用户信息 | |
| 168 | + */ | |
| 169 | + public CNLiveUserInfo getAppAccount() { | |
| 170 | + return activeUserInfo; | |
| 171 | + } | |
| 172 | + | |
| 173 | + public static String getUid(Context context) { | |
| 174 | + CNLiveUserInfo activeUserInfo = getInstance(context).getAppAccount(); | |
| 175 | + return activeUserInfo == null ? "" : activeUserInfo.getUid(); | |
| 176 | + } | |
| 177 | + | |
| 178 | + public Account getSystemAccount() { | |
| 179 | + return activeAccount; | |
| 180 | + } | |
| 181 | + | |
| 182 | + public String getPassword(Account account) { | |
| 183 | + return mAccountManager.getPassword(account); | |
| 184 | + } | |
| 185 | + | |
| 186 | + /** | |
| 187 | + * 删除系统账号信息 | |
| 188 | + * | |
| 189 | + * @param username 用户名 | |
| 190 | + */ | |
| 191 | + public void removeUser(String username, AccountManagerCallback<Boolean> callback) { | |
| 192 | + Account account = mAccountMap.remove(username); | |
| 193 | + if (account != null) mAccountManager.removeAccount(account, callback, null); | |
| 194 | + } | |
| 195 | + | |
| 196 | + /** | |
| 197 | + * 删除系统账号信息 | |
| 198 | + * | |
| 199 | + * @param account 系统账号 | |
| 200 | + */ | |
| 201 | + public void removeUser(Account account, AccountManagerCallback<Boolean> callback) { | |
| 202 | + if (account != null) { | |
| 203 | + mAccountManager.removeAccount(account, callback, null); | |
| 204 | + } | |
| 205 | + } | |
| 206 | + | |
| 207 | + | |
| 208 | + /** | |
| 209 | + * 更新系统账号信息 | |
| 210 | + * | |
| 211 | + * @param account 系统账号数据 | |
| 212 | + * @param userProfile 用户账号数据 | |
| 213 | + */ | |
| 214 | + private void setSystemAccountInfo(Account account, UserData userProfile) { | |
| 215 | + if (account == null) return; | |
| 216 | + if (checkDefaultUrl(userProfile.getFaceUrl())) { | |
| 217 | + userProfile.setFaceUrl(defaultFaceUrl); | |
| 218 | + userProfile.setBigFaceUrl(defaultFaceUrl); | |
| 219 | + } | |
| 220 | + mAccountManager.setUserData(account, KEY_USER_DATA_USER_ID, userProfile.getUid()); | |
| 221 | + mAccountManager.setUserData(account, KEY_USER_DATA_NICKNAME, userProfile.getNickName()); | |
| 222 | + mAccountManager.setUserData(account, KEY_USER_DATA_FACEURL, userProfile.getFaceUrl()); | |
| 223 | + mAccountManager.setUserData(account, KEY_USER_DATA_BIGFACEURL, userProfile.getBigFaceUrl()); | |
| 224 | + mAccountManager.setUserData(account, KEY_USER_DATA_GENDER, userProfile.getGender()); | |
| 225 | + mAccountManager.setUserData(account, KEY_USER_DATA_MOBILE, userProfile.getMobile()); | |
| 226 | + mAccountManager.setUserData(account, KEY_USER_COUNTRY_CODE, userProfile.getCountryCode()); | |
| 227 | + mAccountManager.setUserData(account, KEY_USER_DATA_EMAIL, userProfile.getEmail()); | |
| 228 | + mAccountManager.setUserData(account, KEY_USER_FIRST_LOGIN, userProfile.isNewUser() ? "0" : "1"); | |
| 229 | + mAccountManager.setUserData(account, KEY_USER_DATA_LOCATION, userProfile.getLocation()); | |
| 230 | + mAccountManager.setUserData(account, KEY_USER_TOKEN, userProfile.getToken()); | |
| 231 | + setUserExt(userProfile.getExtInfo()); | |
| 232 | + } | |
| 233 | + | |
| 234 | + public void setUserExt(String ext) { | |
| 235 | + try { | |
| 236 | + CNLiveUserInfoExt extData = new Gson().fromJson(ext, CNLiveUserInfoExt.class); | |
| 237 | + | |
| 238 | + mAccountManager.setUserData(activeAccount, KEY_USER_SIGN, extData.getUserSign()); | |
| 239 | + } catch (Exception e) { | |
| 240 | + } | |
| 241 | + } | |
| 242 | + | |
| 243 | + public void setUserInfo(UserData userProfile) { | |
| 244 | + if (mAccountMap.containsKey(sharedPrefs.getValue(KEY_DEFAULT_ACCOUNT))) { | |
| 245 | + mAccountManager.setUserData(activeAccount, KEY_USER_DATA_USER_ID, userProfile.getUid()); | |
| 246 | + mAccountManager.setUserData(activeAccount, KEY_USER_DATA_NICKNAME, userProfile.getNickName()); | |
| 247 | + mAccountManager.setUserData(activeAccount, KEY_USER_DATA_FACEURL, userProfile.getFaceUrl()); | |
| 248 | + mAccountManager.setUserData(activeAccount, KEY_USER_DATA_BIGFACEURL, userProfile.getBigFaceUrl()); | |
| 249 | + mAccountManager.setUserData(activeAccount, KEY_USER_DATA_GENDER, userProfile.getGender()); | |
| 250 | + mAccountManager.setUserData(activeAccount, KEY_USER_DATA_MOBILE, userProfile.getMobile()); | |
| 251 | + mAccountManager.setUserData(activeAccount, KEY_USER_COUNTRY_CODE, userProfile.getCountryCode()); | |
| 252 | + mAccountManager.setUserData(activeAccount, KEY_USER_DATA_EMAIL, userProfile.getEmail()); | |
| 253 | + mAccountManager.setUserData(activeAccount, KEY_USER_FIRST_LOGIN, userProfile.isNewUser() ? "0" : "1"); | |
| 254 | + mAccountManager.setUserData(activeAccount, KEY_USER_DATA_LOCATION, userProfile.getLocation()); | |
| 255 | + setUserExt(userProfile.getExtInfo()); | |
| 256 | + | |
| 257 | + activeUserInfo = getAccountInfo(activeAccount); | |
| 258 | + } | |
| 259 | + } | |
| 260 | + | |
| 261 | + public void setUserSign(String userSign) { | |
| 262 | + if (mAccountMap.containsKey(sharedPrefs.getValue(KEY_DEFAULT_ACCOUNT))) { | |
| 263 | + activeUserInfo.setUserSign(userSign); | |
| 264 | + mAccountManager.setUserData(activeAccount, KEY_USER_SIGN, userSign); | |
| 265 | + } | |
| 266 | + } | |
| 267 | + | |
| 268 | + public void setUserFaceUrl(String faceUrl, String bigFaceUrl) { | |
| 269 | + if (mAccountMap.containsKey(sharedPrefs.getValue(KEY_DEFAULT_ACCOUNT))) { | |
| 270 | + activeUserInfo.setFaceUrl(faceUrl); | |
| 271 | + activeUserInfo.setBigFaceUrl(bigFaceUrl); | |
| 272 | + mAccountManager.setUserData(activeAccount, KEY_USER_DATA_FACEURL, faceUrl); | |
| 273 | + mAccountManager.setUserData(activeAccount, KEY_USER_DATA_BIGFACEURL, bigFaceUrl); | |
| 274 | + } | |
| 275 | + } | |
| 276 | + | |
| 277 | + public void setUserNickName(String nickName) { | |
| 278 | + if (mAccountMap.containsKey(sharedPrefs.getValue(KEY_DEFAULT_ACCOUNT))) { | |
| 279 | + activeUserInfo.setNickName(nickName); | |
| 280 | + mAccountManager.setUserData(activeAccount, KEY_USER_DATA_NICKNAME, nickName); | |
| 281 | + } | |
| 282 | + } | |
| 283 | + | |
| 284 | + public void setPhoneNumber(String phoneNumber, String countryCode) { | |
| 285 | + if (mAccountMap.containsKey(sharedPrefs.getValue(KEY_DEFAULT_ACCOUNT))) { | |
| 286 | + activeUserInfo.setMobile(phoneNumber); | |
| 287 | + mAccountManager.setUserData(activeAccount, KEY_USER_DATA_MOBILE, phoneNumber); | |
| 288 | + mAccountManager.setUserData(activeAccount, KEY_USER_COUNTRY_CODE, countryCode); | |
| 289 | + } | |
| 290 | + } | |
| 291 | + | |
| 292 | + /** | |
| 293 | + * 更新用户性别 | |
| 294 | + * | |
| 295 | + * @param sex | |
| 296 | + */ | |
| 297 | + public void setUserSex(String sex) { | |
| 298 | + if (mAccountMap.containsKey(sharedPrefs.getValue(KEY_DEFAULT_ACCOUNT))) { | |
| 299 | + activeUserInfo.setGender(sex); | |
| 300 | + mAccountManager.setUserData(activeAccount, KEY_USER_DATA_GENDER, sex); | |
| 301 | + } | |
| 302 | + } | |
| 303 | + | |
| 304 | + /** | |
| 305 | + * 更新 用户信息的地址 | |
| 306 | + * | |
| 307 | + * @param location | |
| 308 | + */ | |
| 309 | + public void setUserLocation(String location) { | |
| 310 | + if (mAccountMap.containsKey(sharedPrefs.getValue(KEY_DEFAULT_ACCOUNT))) { | |
| 311 | + activeUserInfo.setLocation(location); | |
| 312 | + mAccountManager.setUserData(activeAccount, KEY_USER_DATA_LOCATION, location); | |
| 313 | + } | |
| 314 | + } | |
| 315 | + | |
| 316 | + /** | |
| 317 | + * 通过系统账号获取用户账号信息 | |
| 318 | + * | |
| 319 | + * @param account 系统账号数据 | |
| 320 | + * @return 用户账号信息 | |
| 321 | + */ | |
| 322 | + public CNLiveUserInfo getAccountInfo(Account account) { | |
| 323 | + if (account == null) return null; | |
| 324 | + | |
| 325 | + CNLiveUserInfo user = new CNLiveUserInfo(); | |
| 326 | + user.setUid(mAccountManager.getUserData(account, KEY_USER_DATA_USER_ID)); | |
| 327 | + user.setNickName(mAccountManager.getUserData(account, KEY_USER_DATA_NICKNAME)); | |
| 328 | + user.setFaceUrl(mAccountManager.getUserData(account, KEY_USER_DATA_FACEURL)); | |
| 329 | + user.setBigFaceUrl(mAccountManager.getUserData(account, KEY_USER_DATA_BIGFACEURL)); | |
| 330 | + user.setGender(mAccountManager.getUserData(account, KEY_USER_DATA_GENDER)); | |
| 331 | + user.setMobile(mAccountManager.getUserData(account, KEY_USER_DATA_MOBILE)); | |
| 332 | + user.setCountryCode(mAccountManager.getUserData(account, KEY_USER_COUNTRY_CODE)); | |
| 333 | + user.setEmail(mAccountManager.getUserData(account, KEY_USER_DATA_EMAIL)); | |
| 334 | + user.setNewUser("0".equals(mAccountManager.getUserData(account, KEY_USER_FIRST_LOGIN))); | |
| 335 | + user.setLocation(mAccountManager.getUserData(account, KEY_USER_DATA_LOCATION)); | |
| 336 | + user.setToken(mAccountManager.getUserData(account, KEY_USER_TOKEN)); | |
| 337 | + user.setUserSign(mAccountManager.getUserData(account, KEY_USER_SIGN)); | |
| 338 | + | |
| 339 | + AppConfig.setSid(user.getUid()); | |
| 340 | + | |
| 341 | + return user; | |
| 342 | + } | |
| 343 | + | |
| 344 | + /** | |
| 345 | + * 获取系统账号列表 | |
| 346 | + * | |
| 347 | + * @return 用户列表 | |
| 348 | + */ | |
| 349 | + public Account[] getUserList() { | |
| 350 | + return mAccountManager.getAccountsByType(mAccountType); | |
| 351 | + } | |
| 352 | + | |
| 353 | + | |
| 354 | + public static boolean hasAppAccount(Context context) { | |
| 355 | + return UserService.getInstance(context).getAppAccount() != null; | |
| 356 | + } | |
| 357 | +} | ... | ... |
app_user/src/main/java/com/cnlive/strike/user/auth/UserSyncService.java
0 → 100644
| 1 | +package com.cnlive.strike.user.auth; | |
| 2 | + | |
| 3 | +import android.accounts.Account; | |
| 4 | +import android.app.Service; | |
| 5 | +import android.content.AbstractThreadedSyncAdapter; | |
| 6 | +import android.content.ContentProviderClient; | |
| 7 | +import android.content.Context; | |
| 8 | +import android.content.Intent; | |
| 9 | +import android.content.SyncResult; | |
| 10 | +import android.os.Bundle; | |
| 11 | +import android.os.IBinder; | |
| 12 | + | |
| 13 | +public class UserSyncService extends Service { | |
| 14 | + | |
| 15 | + private static final Object syncLock = new Object(); | |
| 16 | + private static SyncAdapter syncAdapter = null; | |
| 17 | + | |
| 18 | + @Override | |
| 19 | + public IBinder onBind(Intent intent) { | |
| 20 | + return syncAdapter.getSyncAdapterBinder(); | |
| 21 | + } | |
| 22 | + | |
| 23 | + @Override | |
| 24 | + public void onCreate() { | |
| 25 | + super.onCreate(); | |
| 26 | + synchronized (syncLock) { | |
| 27 | + if (syncAdapter == null) { | |
| 28 | + syncAdapter = new SyncAdapter(getApplicationContext(), true); | |
| 29 | + } | |
| 30 | + } | |
| 31 | + } | |
| 32 | + | |
| 33 | + | |
| 34 | + class SyncAdapter extends AbstractThreadedSyncAdapter { | |
| 35 | + | |
| 36 | + public SyncAdapter(Context context, boolean autoInitialize) { | |
| 37 | + super(context, autoInitialize); | |
| 38 | + } | |
| 39 | + | |
| 40 | + @Override | |
| 41 | + public void onPerformSync(Account account, Bundle extras, String authority, ContentProviderClient provider, SyncResult syncResult) { | |
| 42 | + } | |
| 43 | + | |
| 44 | + } | |
| 45 | +} | |
| 0 | 46 | \ No newline at end of file | ... | ... |
app_user/src/main/java/com/cnlive/strike/user/model/CNLiveUserInfo.java
0 → 100644
| 1 | +package com.cnlive.strike.user.model; | |
| 2 | + | |
| 3 | +import android.text.TextUtils; | |
| 4 | + | |
| 5 | +import java.io.Serializable; | |
| 6 | + | |
| 7 | +/** | |
| 8 | + * 开放平台-用户信息 | |
| 9 | + * | |
| 10 | + * @author Lynn | |
| 11 | + * @date 2017/12/22 | |
| 12 | + */ | |
| 13 | + | |
| 14 | +public class CNLiveUserInfo implements Serializable { | |
| 15 | + //用户id | |
| 16 | + private String uid; | |
| 17 | + //昵称 | |
| 18 | + private String nickName; | |
| 19 | + //性别 | |
| 20 | + private String gender; | |
| 21 | + //地址 | |
| 22 | + private String location; | |
| 23 | + //头像 | |
| 24 | + private String faceUrl; | |
| 25 | + //手机号 | |
| 26 | + private String mobile; | |
| 27 | + //邮箱 | |
| 28 | + private String email; | |
| 29 | + //平台TOKEN | |
| 30 | + private String token; | |
| 31 | + //新用户 | |
| 32 | + private boolean isNewUser; | |
| 33 | + //个性签名 | |
| 34 | + private String userSign; | |
| 35 | + //用户头像大图 | |
| 36 | + private String bigFaceUrl; | |
| 37 | + //手机号国家码 | |
| 38 | + private String countryCode; | |
| 39 | + | |
| 40 | + public String getUid() { | |
| 41 | + return uid; | |
| 42 | + } | |
| 43 | + | |
| 44 | + public void setUid(String uid) { | |
| 45 | + this.uid = uid; | |
| 46 | + } | |
| 47 | + | |
| 48 | + public String getNickName() { | |
| 49 | + return nickName; | |
| 50 | + } | |
| 51 | + | |
| 52 | + public void setNickName(String nickName) { | |
| 53 | + this.nickName = nickName; | |
| 54 | + } | |
| 55 | + | |
| 56 | + public String getGender() { | |
| 57 | + return gender; | |
| 58 | + } | |
| 59 | + | |
| 60 | + public void setGender(String gender) { | |
| 61 | + this.gender = gender; | |
| 62 | + } | |
| 63 | + | |
| 64 | + public String getLocation() { | |
| 65 | + return location; | |
| 66 | + } | |
| 67 | + | |
| 68 | + public void setLocation(String location) { | |
| 69 | + this.location = location; | |
| 70 | + } | |
| 71 | + | |
| 72 | + public String getFaceUrl() { | |
| 73 | + return faceUrl; | |
| 74 | + } | |
| 75 | + | |
| 76 | + public void setFaceUrl(String faceUrl) { | |
| 77 | + this.faceUrl = faceUrl; | |
| 78 | + } | |
| 79 | + | |
| 80 | + public String getBigFaceUrl() { | |
| 81 | + if (TextUtils.isEmpty(bigFaceUrl)) return faceUrl; | |
| 82 | + return bigFaceUrl; | |
| 83 | + } | |
| 84 | + | |
| 85 | + public void setBigFaceUrl(String bigFaceUrl) { | |
| 86 | + this.bigFaceUrl = bigFaceUrl; | |
| 87 | + } | |
| 88 | + | |
| 89 | + public String getMobile() { | |
| 90 | + return mobile; | |
| 91 | + } | |
| 92 | + | |
| 93 | + public void setMobile(String mobile) { | |
| 94 | + this.mobile = mobile; | |
| 95 | + } | |
| 96 | + | |
| 97 | + public String getEmail() { | |
| 98 | + return email; | |
| 99 | + } | |
| 100 | + | |
| 101 | + public void setEmail(String email) { | |
| 102 | + this.email = email; | |
| 103 | + } | |
| 104 | + | |
| 105 | + public String getToken() { | |
| 106 | + return token; | |
| 107 | + } | |
| 108 | + | |
| 109 | + public void setToken(String token) { | |
| 110 | + this.token = token; | |
| 111 | + } | |
| 112 | + | |
| 113 | + public boolean isNewUser() { | |
| 114 | + return isNewUser; | |
| 115 | + } | |
| 116 | + | |
| 117 | + public void setNewUser(boolean newUser) { | |
| 118 | + isNewUser = newUser; | |
| 119 | + } | |
| 120 | + | |
| 121 | + public String getUserSign() { | |
| 122 | + return userSign; | |
| 123 | + } | |
| 124 | + | |
| 125 | + public void setUserSign(String userSign) { | |
| 126 | + this.userSign = userSign; | |
| 127 | + } | |
| 128 | + | |
| 129 | + public String getCountryCode() { | |
| 130 | + return countryCode; | |
| 131 | + } | |
| 132 | + | |
| 133 | + public void setCountryCode(String countryCode) { | |
| 134 | + this.countryCode = countryCode; | |
| 135 | + } | |
| 136 | +} | ... | ... |
app_user/src/main/java/com/cnlive/strike/user/model/CNLiveUserInfoExt.java
0 → 100644
| 1 | +package com.cnlive.strike.user.model; | |
| 2 | + | |
| 3 | +/** | |
| 4 | + * Created by xiansong on 2018/4/3. | |
| 5 | + */ | |
| 6 | + | |
| 7 | +public class CNLiveUserInfoExt { | |
| 8 | + | |
| 9 | + | |
| 10 | + @Override | |
| 11 | + public String toString() { | |
| 12 | + return "CNLiveUserInfoExt{" + | |
| 13 | + "userSign='" + userSign + '\'' + | |
| 14 | + '}'; | |
| 15 | + } | |
| 16 | + | |
| 17 | + private String userSign ; | |
| 18 | + | |
| 19 | + public String getUserSign() { | |
| 20 | + return userSign; | |
| 21 | + } | |
| 22 | + | |
| 23 | + public void setUserSign(String userSign) { | |
| 24 | + this.userSign = userSign; | |
| 25 | + } | |
| 26 | + | |
| 27 | + | |
| 28 | +} | ... | ... |
app_user/src/main/res/values/strings.xml
0 → 100644
app_user/src/main/res/xml/account_preferences.xml
0 → 100644
app_user/src/main/res/xml/account_sync_adapter.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="utf-8"?> | |
| 2 | +<sync-adapter xmlns:android="http://schemas.android.com/apk/res/android" | |
| 3 | + android:accountType="@string/ACCOUNT_TYPE" | |
| 4 | + android:allowParallelSyncs="false" | |
| 5 | + android:contentAuthority="@string/ACCOUNT_PROVIDE" | |
| 6 | + android:isAlwaysSyncable="true" | |
| 7 | + android:supportsUploading="false" | |
| 8 | + android:userVisible="true" /> | |
| 0 | 9 | \ No newline at end of file | ... | ... |
app_user/src/main/res/xml/authenticator.xml
0 → 100644
| 1 | +<?xml version="1.0" encoding="utf-8"?> | |
| 2 | +<account-authenticator xmlns:android="http://schemas.android.com/apk/res/android" | |
| 3 | + android:accountType="@string/ACCOUNT_TYPE" | |
| 4 | + android:icon="@mipmap/icon_account" | |
| 5 | + android:smallIcon="@mipmap/icon_account" | |
| 6 | + android:label="@string/ACCOUNT_LABEL" | |
| 7 | + android:accountPreferences="@xml/account_preferences" /> | |
| 0 | 8 | \ No newline at end of file | ... | ... |
app_user/src/release/res/mipmap-hdpi/icon_account.png
0 → 100644
3.87 KB
app_user/src/release/res/mipmap-mdpi/icon_account.png
0 → 100644
2.94 KB
app_user/src/release/res/mipmap-xhdpi/icon_account.png
0 → 100644
5.19 KB
app_user/src/release/res/mipmap-xxhdpi/icon_account.png
0 → 100644
7.91 KB
app_user/src/release/res/mipmap-xxxhdpi/icon_account.png
0 → 100644
10.6 KB
build.gradle
| ... | ... | @@ -64,7 +64,7 @@ ext { |
| 64 | 64 | recyclerviewV7 = '28.0.0' |
| 65 | 65 | cardviewV7 = '28.0.0' |
| 66 | 66 | |
| 67 | - appArch = '1.0.3' | |
| 67 | + appArch = '1.1.0' | |
| 68 | 68 | //qmui |
| 69 | 69 | qmui = '1.1.5' |
| 70 | 70 | |
| ... | ... | @@ -96,4 +96,7 @@ ext { |
| 96 | 96 | easypermissions = '1.0.0' |
| 97 | 97 | TimePickerDialog = '1.0.1' |
| 98 | 98 | |
| 99 | + libCnUtil = '3.1.3' | |
| 100 | + libAnalytics = '1.0.8' | |
| 101 | + | |
| 99 | 102 | } | ... | ... |
config.gradle
lib_network/.gitignore
0 → 100644
| 1 | +/build | ... | ... |
lib_network/build.gradle
0 → 100644
| 1 | +apply plugin: 'com.android.library' | |
| 2 | +apply plugin: 'com.alibaba.arouter' | |
| 3 | + | |
| 4 | +android { | |
| 5 | + compileSdkVersion rootProject.ext.compileSdkVersion | |
| 6 | + buildToolsVersion rootProject.ext.buildToolsVersion | |
| 7 | + | |
| 8 | + defaultConfig { | |
| 9 | + minSdkVersion rootProject.ext.minSdkVersion | |
| 10 | + targetSdkVersion rootProject.ext.targetSdkVersion | |
| 11 | + versionCode rootProject.ext.versionCode | |
| 12 | + versionName rootProject.ext.versionName | |
| 13 | + | |
| 14 | + javaCompileOptions { | |
| 15 | + annotationProcessorOptions { | |
| 16 | + arguments = [AROUTER_MODULE_NAME: project.getName(), AROUTER_GENERATE_DOC: "enable"] | |
| 17 | + } | |
| 18 | + } | |
| 19 | + } | |
| 20 | + compileOptions { | |
| 21 | + sourceCompatibility JavaVersion.VERSION_1_8 | |
| 22 | + targetCompatibility JavaVersion.VERSION_1_8 | |
| 23 | + } | |
| 24 | + dataBinding { | |
| 25 | + enabled true | |
| 26 | + } | |
| 27 | +} | |
| 28 | + | |
| 29 | +dependencies { | |
| 30 | + implementation fileTree(dir: 'libs', include: ['*.jar']) | |
| 31 | + implementation "com.cnlive.libs:base:$rootProject.libBase" | |
| 32 | + api "com.cnlive.libs:network:$rootProject.libNetwork" | |
| 33 | + implementation 'com.alibaba:arouter-api:1.4.0' | |
| 34 | + annotationProcessor 'com.alibaba:arouter-compiler:1.2.1' | |
| 35 | +} | ... | ... |
lib_network/proguard-rules.pro
0 → 100644
| 1 | +# Add project specific ProGuard rules here. | |
| 2 | +# You can control the set of applied configuration files using the | |
| 3 | +# proguardFiles setting in build.gradle. | |
| 4 | +# | |
| 5 | +# For more details, see | |
| 6 | +# http://developer.android.com/guide/developing/tools/proguard.html | |
| 7 | + | |
| 8 | +# If your project uses WebView with JS, uncomment the following | |
| 9 | +# and specify the fully qualified class name to the JavaScript interface | |
| 10 | +# class: | |
| 11 | +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { | |
| 12 | +# public *; | |
| 13 | +#} | |
| 14 | + | |
| 15 | +# Uncomment this to preserve the line number information for | |
| 16 | +# debugging stack traces. | |
| 17 | +#-keepattributes SourceFile,LineNumberTable | |
| 18 | + | |
| 19 | +# If you keep the line number information, uncomment this to | |
| 20 | +# hide the original source file name. | |
| 21 | +#-renamesourcefileattribute SourceFile | ... | ... |
lib_network/src/main/AndroidManifest.xml
0 → 100644
lib_network/src/main/java/com/cnlive/strike/data/network/action/CoinRainAction.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.action; | |
| 2 | + | |
| 3 | +import android.annotation.SuppressLint; | |
| 4 | +import android.content.Context; | |
| 5 | +import android.content.SharedPreferences; | |
| 6 | +import android.text.TextUtils; | |
| 7 | + | |
| 8 | +import com.alibaba.android.arouter.launcher.ARouter; | |
| 9 | +import com.cnlive.libs.base.logic.Logic; | |
| 10 | +import com.cnlive.strike.data.network.api.ApiRequest; | |
| 11 | +import com.cnlive.strike.data.network.api.ApiServiceIntegra; | |
| 12 | +import com.cnlive.strike.data.network.model.AddIntegration; | |
| 13 | +import com.cnlive.strike.data.network.model.BaseInfo; | |
| 14 | + | |
| 15 | +import java.text.SimpleDateFormat; | |
| 16 | +import java.util.Calendar; | |
| 17 | +import java.util.HashMap; | |
| 18 | +import java.util.Map; | |
| 19 | + | |
| 20 | +public class CoinRainAction { | |
| 21 | + | |
| 22 | + @SuppressLint("SimpleDateFormat") | |
| 23 | + private static SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); | |
| 24 | + public static boolean isGo = true; | |
| 25 | + | |
| 26 | + public static void code(Context context, String uid, String taskId, String contentId, String addtype) { | |
| 27 | + if (context == null) return; | |
| 28 | + | |
| 29 | + Map<String, String> maps = new HashMap<>(); | |
| 30 | + maps.put("sid", uid); | |
| 31 | + maps.put("taskId", taskId); | |
| 32 | + maps.put("contentId", contentId); | |
| 33 | + Logic.create(maps) | |
| 34 | + .action((Logic.Action<Map<String, String>, BaseInfo<AddIntegration.DataBean>>) (data, callback) -> ApiRequest.service(ApiServiceIntegra.class, api -> api.addIntegration(data)).subscribe(context, callback)) | |
| 35 | + .<BaseInfo<AddIntegration.DataBean>>event() | |
| 36 | + .setSuccessCallback(data -> startCoinRain(context, uid, addtype, data)) | |
| 37 | + .start(); | |
| 38 | + } | |
| 39 | + | |
| 40 | + private static void startCoinRain(Context context, String uid, String addtype, BaseInfo<AddIntegration.DataBean> data) { | |
| 41 | + if (data == null) return; | |
| 42 | + if (data.getData() == null) return; | |
| 43 | + if (TextUtils.isEmpty(data.getData().getScore())) return; | |
| 44 | + | |
| 45 | + String score = data.getData().getScore(); | |
| 46 | + String desc = data.getData().getDesc(); | |
| 47 | + String descEnd = data.getData().getDescEnd(); | |
| 48 | + String currentTime = getCurrentTime(); | |
| 49 | + | |
| 50 | + SharedPreferences.Editor editor = context.getSharedPreferences(addtype, Context.MODE_PRIVATE).edit(); | |
| 51 | + | |
| 52 | + editor.putBoolean(uid, data.getData().isStatus()); | |
| 53 | + editor.putString(uid + "time", currentTime); | |
| 54 | + editor.apply(); | |
| 55 | + isGo = false; | |
| 56 | + ARouter.getInstance().build("/add/CoinRainActivity") | |
| 57 | + .withString("type", "addintegration") | |
| 58 | + .withString("score", score) | |
| 59 | + .withString("desc",desc) | |
| 60 | + .withString("descend",descEnd) | |
| 61 | + .navigation(context); | |
| 62 | + } | |
| 63 | + | |
| 64 | + public static String getCurrentTime() { | |
| 65 | + return format.format(Calendar.getInstance().getTime()); | |
| 66 | + } | |
| 67 | +} | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/api/ApiRequest.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.api; | |
| 2 | + | |
| 3 | +import android.content.Context; | |
| 4 | +import android.util.Log; | |
| 5 | + | |
| 6 | +import com.cnlive.libs.base.application.AppConfig; | |
| 7 | +import com.cnlive.libs.base.logic.callback.DataCallback; | |
| 8 | +import com.cnlive.libs.data.network.ApiBuild; | |
| 9 | +import com.cnlive.libs.data.network.Subscriber; | |
| 10 | +import com.cnlive.libs.data.network.interceptor.DESEncryptInterceptor; | |
| 11 | +import com.cnlive.libs.data.network.interceptor.DefaultEncryptInterceptor; | |
| 12 | +import com.cnlive.libs.data.network.interceptor.NetPPEncryptInterceptor; | |
| 13 | +import com.cnlive.libs.data.network.interceptor.NetPPPayEncryptInterceptor; | |
| 14 | +import com.cnlive.libs.data.network.interceptor.SignEncrypt2Interceptor; | |
| 15 | +import com.cnlive.libs.data.network.interceptor.SignEncryptInterceptor; | |
| 16 | +import com.cnlive.strike.data.network.model.BaseInfo; | |
| 17 | + | |
| 18 | +import io.reactivex.android.schedulers.AndroidSchedulers; | |
| 19 | +import io.reactivex.disposables.Disposable; | |
| 20 | +import io.reactivex.schedulers.Schedulers; | |
| 21 | +import okhttp3.Interceptor; | |
| 22 | +import okhttp3.OkHttpClient; | |
| 23 | +import okhttp3.Request; | |
| 24 | +import okhttp3.Response; | |
| 25 | +import retrofit2.adapter.rxjava2.Result; | |
| 26 | + | |
| 27 | +import static com.cnlive.libs.base.logic.Config.SUCCESS; | |
| 28 | + | |
| 29 | + | |
| 30 | +/** | |
| 31 | + * Created by xiansong on 2017/9/8. | |
| 32 | + */ | |
| 33 | + | |
| 34 | +public class ApiRequest<Observable extends io.reactivex.Observable<Result<BaseData>>, BaseData extends BaseInfo> { | |
| 35 | + | |
| 36 | + private static final int OKHTTP_KEEP_ALIVE_DURATION_SECONDS = 10; | |
| 37 | + | |
| 38 | + //网家家 接口域名 | |
| 39 | + public static final String BASE_URL = "https://apiwjj.cnlive.com/"; | |
| 40 | + //网家家 测试环境 接口域名 | |
| 41 | + public static final String DEBUG_URL = "http://apiwjjtest.cnlive.com/"; | |
| 42 | + //IM 接口域名 | |
| 43 | + private static final String IM_URL = "https://wjjim.cnlive.com/"; | |
| 44 | + //IM 测试环境 接口域名 | |
| 45 | + public static final String IM_DEBUG_URL = "http://imtest.cnlive.com/"; | |
| 46 | + //OPEN API 接口域名 | |
| 47 | + private static final String OPEN_URL = "https://api.cnlive.com/"; | |
| 48 | + //WJJ JSON | |
| 49 | + private static final String JSON_URL = "https://wjj.ys1.cnliveimg.com/"; | |
| 50 | + | |
| 51 | + private static final String DEBUG_CMS_URL = "http://cmstest.cnlive.com:8768/"; | |
| 52 | + // TODO: 2018/11/27 cms正式地址 | |
| 53 | + private static final String CMS_URL = "http://cms.cnlive.com:8768/"; | |
| 54 | + | |
| 55 | + public static <T> String baseEndpoint() { | |
| 56 | + return AppConfig.isDebug() ? DEBUG_URL : BASE_URL; | |
| 57 | + } | |
| 58 | + | |
| 59 | + public static <T> String baseIMEndpoint() { | |
| 60 | + return AppConfig.isDebug() ? IM_DEBUG_URL : IM_URL; | |
| 61 | + } | |
| 62 | + | |
| 63 | + public static <T> String baseCMSEndpoint() { | |
| 64 | + return AppConfig.isDebug() ? DEBUG_CMS_URL : CMS_URL; | |
| 65 | + } | |
| 66 | + | |
| 67 | + private static <T> String serviceEndpoint(Class<T> clazz) { | |
| 68 | + if (clazz == ApiServiceCNLiveIm.class) return baseIMEndpoint(); | |
| 69 | + else if (clazz == ApiServiceApplyRefundReason.class) return JSON_URL; | |
| 70 | + else if (clazz == ApiServiceOpen.class) return OPEN_URL; | |
| 71 | + else if (clazz == ApiServiceCms.class) return baseCMSEndpoint(); | |
| 72 | + else return baseEndpoint(); | |
| 73 | + } | |
| 74 | + | |
| 75 | + public static <Service, Observable extends io.reactivex.Observable<Result<BaseData>>, BaseData extends BaseInfo> | |
| 76 | + ApiRequest<Observable, BaseData> observable(Class<Service> clazz, ApiBuild.Api<Service, Observable, BaseData> api) { | |
| 77 | + return observable(clazz, false, api, null); | |
| 78 | + } | |
| 79 | + | |
| 80 | + public static <Service, Observable extends io.reactivex.Observable<Result<BaseData>>, BaseData extends BaseInfo> | |
| 81 | + ApiRequest<Observable, BaseData> observable(Class<Service> clazz, ApiBuild.Api<Service, Observable, BaseData> api, Interceptor interceptor) { | |
| 82 | + return observable(clazz, false, api, interceptor); | |
| 83 | + } | |
| 84 | + | |
| 85 | + public static <Service, Observable extends io.reactivex.Observable<Result<BaseData>>, BaseData extends BaseInfo> | |
| 86 | + ApiRequest<Observable, BaseData> observable(Class<Service> clazz, boolean decode, ApiBuild.Api<Service, Observable, BaseData> api, Interceptor interceptor) { | |
| 87 | + ApiRequest<Observable, BaseData> request = new ApiRequest<>(); | |
| 88 | + ApiBuild<Service, Observable, BaseData> build = ApiBuild.service(clazz, api); | |
| 89 | + build.setEndpoint(serviceEndpoint(clazz)); | |
| 90 | + if (interceptor != null) build.addInterceptor(interceptor); | |
| 91 | + request.observable = build.build(decode, OKHTTP_KEEP_ALIVE_DURATION_SECONDS); | |
| 92 | + return request; | |
| 93 | + } | |
| 94 | + | |
| 95 | + public static <Service> Service serviceNoSign(Class<Service> clazz) { | |
| 96 | + return service(clazz, (Interceptor) new DefaultEncryptInterceptor()); | |
| 97 | + } | |
| 98 | + | |
| 99 | + public static <Service> Service service(Class<Service> clazz) { | |
| 100 | + return service(clazz, new SignEncryptInterceptor()); | |
| 101 | + } | |
| 102 | + | |
| 103 | + public static <Service> Service service(Class<Service> clazz, boolean valueUrlencode, boolean responseUrldecode) { | |
| 104 | + return service(clazz, responseUrldecode, new SignEncryptInterceptor(valueUrlencode)); | |
| 105 | + } | |
| 106 | + | |
| 107 | + public static <Service> Service serviceDES(Class<Service> clazz) { | |
| 108 | + return service(clazz, new DESEncryptInterceptor()); | |
| 109 | + } | |
| 110 | + | |
| 111 | + public static <Service> Service serviceNetPP(Class<Service> clazz) { | |
| 112 | + return service(clazz, new NetPPEncryptInterceptor()); | |
| 113 | + } | |
| 114 | + | |
| 115 | + public static <Service> Service serviceNetPPPay(Class<Service> clazz) { | |
| 116 | + return service(clazz, new NetPPPayEncryptInterceptor()); | |
| 117 | + } | |
| 118 | + | |
| 119 | + | |
| 120 | + private static <Service> Service service(Class<Service> clazz, Interceptor... interceptor) { | |
| 121 | + return service(clazz, false, interceptor); | |
| 122 | + } | |
| 123 | + | |
| 124 | + private static <Service> Service service(Class<Service> clazz, boolean decode, Interceptor... interceptor) { | |
| 125 | + return ApiBuild.service(clazz, null) | |
| 126 | + .setEndpoint(serviceEndpoint(clazz)) | |
| 127 | + .addInterceptor(interceptor) | |
| 128 | + .service(decode, OKHTTP_KEEP_ALIVE_DURATION_SECONDS); | |
| 129 | + } | |
| 130 | + | |
| 131 | + public static <Service, Observable extends io.reactivex.Observable<Result<BaseData>>, BaseData extends BaseInfo> | |
| 132 | + ApiRequest<Observable, BaseData> serviceNoSign(Class<Service> clazz, ApiBuild.Api<Service, Observable, BaseData> api) { | |
| 133 | + return service(clazz, api, new DefaultEncryptInterceptor()); | |
| 134 | + } | |
| 135 | + | |
| 136 | + public static <Service, Observable extends io.reactivex.Observable<Result<BaseData>>, BaseData extends BaseInfo> | |
| 137 | + ApiRequest<Observable, BaseData> service(Class<Service> clazz, ApiBuild.Api<Service, Observable, BaseData> api) { | |
| 138 | + return service(clazz, api, new SignEncryptInterceptor()); | |
| 139 | + } | |
| 140 | + public static <Service, Observable extends io.reactivex.Observable<Result<BaseData>>, BaseData extends BaseInfo> | |
| 141 | + ApiRequest<Observable, BaseData> serviceNewVersion(Class<Service> clazz,long connectTimeout ,long readTimeout,ApiBuild.Api<Service, Observable, BaseData> api) { | |
| 142 | + return serviceNewVersion(clazz,false, api, connectTimeout,readTimeout,new SignEncryptInterceptor()); | |
| 143 | + } | |
| 144 | + | |
| 145 | + | |
| 146 | + public static <Service, Observable extends io.reactivex.Observable<Result<BaseData>>, BaseData extends BaseInfo> | |
| 147 | + ApiRequest<Observable, BaseData> service(Class<Service> clazz, ApiBuild.Api<Service, Observable, BaseData> api, boolean valueUrlencode, boolean responseUrldecode) { | |
| 148 | + return service(clazz, responseUrldecode, api, new SignEncryptInterceptor(valueUrlencode)); | |
| 149 | + } | |
| 150 | + | |
| 151 | + public static <Service, Observable extends io.reactivex.Observable<Result<BaseData>>, BaseData extends BaseInfo> | |
| 152 | + ApiRequest<Observable, BaseData> serviceDES(Class<Service> clazz, ApiBuild.Api<Service, Observable, BaseData> api) { | |
| 153 | + return service(clazz, api, new DESEncryptInterceptor()); | |
| 154 | + } | |
| 155 | + | |
| 156 | + public static <Service, Observable extends io.reactivex.Observable<Result<BaseData>>, BaseData extends BaseInfo> | |
| 157 | + ApiRequest<Observable, BaseData> service2encode(Class<Service> clazz, ApiBuild.Api<Service, Observable, BaseData> api) { | |
| 158 | + return service(clazz, api, new SignEncrypt2Interceptor()); | |
| 159 | + } | |
| 160 | + | |
| 161 | + public static <Service, Observable extends io.reactivex.Observable<Result<BaseData>>, BaseData extends BaseInfo> | |
| 162 | + ApiRequest<Observable, BaseData> serviceNetPP(Class<Service> clazz, ApiBuild.Api<Service, Observable, BaseData> api) { | |
| 163 | + return service(clazz, api, new NetPPEncryptInterceptor()); | |
| 164 | + } | |
| 165 | + | |
| 166 | + public static <Service, Observable extends io.reactivex.Observable<Result<BaseData>>, BaseData extends BaseInfo> | |
| 167 | + ApiRequest<Observable, BaseData> serviceNetPPPay(Class<Service> clazz, ApiBuild.Api<Service, Observable, BaseData> api) { | |
| 168 | + return service(clazz, api, new NetPPPayEncryptInterceptor()); | |
| 169 | + } | |
| 170 | + | |
| 171 | + private static <Service, Observable extends io.reactivex.Observable<Result<BaseData>>, BaseData extends BaseInfo> | |
| 172 | + ApiRequest<Observable, BaseData> service(Class<Service> clazz, ApiBuild.Api<Service, Observable, BaseData> api, Interceptor... interceptor) { | |
| 173 | + return service(clazz, false, api, interceptor); | |
| 174 | + } | |
| 175 | + | |
| 176 | + private static <Service, Observable extends io.reactivex.Observable<Result<BaseData>>, BaseData extends BaseInfo> | |
| 177 | + ApiRequest<Observable, BaseData> service(Class<Service> clazz, boolean decode, ApiBuild.Api<Service, Observable, BaseData> api, Interceptor... interceptor) { | |
| 178 | + | |
| 179 | + ApiRequest<Observable, BaseData> request = new ApiRequest<>(); | |
| 180 | + | |
| 181 | + request.observable = ApiBuild.service(clazz, api) | |
| 182 | + .setEndpoint(serviceEndpoint(clazz)) | |
| 183 | + .addInterceptor(interceptor) | |
| 184 | + .build(decode, OKHTTP_KEEP_ALIVE_DURATION_SECONDS); | |
| 185 | + | |
| 186 | + return request; | |
| 187 | + } | |
| 188 | + | |
| 189 | + | |
| 190 | + private static <Service, Observable extends io.reactivex.Observable<Result<BaseData>>, BaseData extends BaseInfo> | |
| 191 | + ApiRequest<Observable, BaseData> serviceNewVersion(Class<Service> clazz, boolean decode, ApiBuild.Api<Service, Observable, BaseData> api,long connectTimeout ,long readTimeout, Interceptor... interceptor) { | |
| 192 | + | |
| 193 | + ApiRequest<Observable, BaseData> request = new ApiRequest<>(); | |
| 194 | + | |
| 195 | + request.observable = ApiBuild.service(clazz, api) | |
| 196 | + .setEndpoint(serviceEndpoint(clazz)) | |
| 197 | + .setConnectTimeout(connectTimeout) | |
| 198 | + .setReadTimeout(readTimeout) | |
| 199 | + .addInterceptor(interceptor) | |
| 200 | + .build(decode); | |
| 201 | + | |
| 202 | + return request; | |
| 203 | + } | |
| 204 | + | |
| 205 | + private Observable observable; | |
| 206 | + | |
| 207 | + private ApiRequest() { | |
| 208 | + } | |
| 209 | + | |
| 210 | + public static <Observable extends io.reactivex.Observable<Result<BaseData>>, BaseData extends BaseInfo> | |
| 211 | + Disposable subscribe(Observable observable, Subscriber<BaseData> subscriber) { | |
| 212 | + return observable.take(1) | |
| 213 | + .subscribeOn(Schedulers.io()) | |
| 214 | + .observeOn(AndroidSchedulers.mainThread()) | |
| 215 | + .subscribe(subscriber.next, subscriber.error, subscriber.complete, subscriber.subscribe); | |
| 216 | + } | |
| 217 | + | |
| 218 | + public Disposable subscribe(Subscriber<BaseData> subscriber) { | |
| 219 | + return observable.take(1) | |
| 220 | + .subscribeOn(Schedulers.io()) | |
| 221 | + .observeOn(AndroidSchedulers.mainThread()) | |
| 222 | + .subscribe(subscriber.next, subscriber.error, subscriber.complete, subscriber.subscribe); | |
| 223 | + } | |
| 224 | + | |
| 225 | + public Disposable subscribe(Context context, DataCallback<BaseData> callback) { | |
| 226 | + Subscriber<BaseData> subscriber = new Subscriber<BaseData>(context) { | |
| 227 | + @Override | |
| 228 | + public void onCompleted(String s, String s1, BaseData data) { | |
| 229 | + if (callback == null) return; | |
| 230 | + callback.callback(SUCCESS, "", data); | |
| 231 | + } | |
| 232 | + | |
| 233 | + @Override | |
| 234 | + public void onError(String code, String message) { | |
| 235 | + if (callback == null) return; | |
| 236 | + int errorCode = -1; | |
| 237 | + try { | |
| 238 | + errorCode = Integer.valueOf(code); | |
| 239 | + } catch (Exception ignored) { | |
| 240 | + } | |
| 241 | + | |
| 242 | + Log.e("LynnTest read", code + " \n " + message); | |
| 243 | + callback.callback(errorCode, message, null); | |
| 244 | + } | |
| 245 | + }; | |
| 246 | + | |
| 247 | + return observable.take(1) | |
| 248 | + .subscribeOn(Schedulers.io()) | |
| 249 | + .observeOn(AndroidSchedulers.mainThread()) | |
| 250 | + .subscribe(subscriber.next, subscriber.error, subscriber.complete, subscriber.subscribe); | |
| 251 | + } | |
| 252 | + | |
| 253 | + public static Disposable loadData(String url, DataCallback<String> callback) { | |
| 254 | + return io.reactivex.Observable | |
| 255 | + .just(url) | |
| 256 | + .map(s -> { | |
| 257 | + Response response = null; | |
| 258 | + String data = null; | |
| 259 | + try { | |
| 260 | + OkHttpClient client = new OkHttpClient();//创建OkHttpClient对象 | |
| 261 | + Request request = new Request.Builder().url(url).build(); | |
| 262 | + response = client.newCall(request).execute();//得到Response 对 | |
| 263 | + if (response.isSuccessful()) data = response.body().string(); | |
| 264 | + } catch (Exception e) { | |
| 265 | + Log.e("Api", "", e); | |
| 266 | + } | |
| 267 | + | |
| 268 | + if (data != null) { | |
| 269 | +// Log.e("DemoView", "response.code()==" + response.code()); | |
| 270 | +// Log.e("DemoView", "response.message()==" + response.message()); | |
| 271 | +// Log.e("DemoView", "res==" + data); | |
| 272 | + //此时的代码执行在子线程,修改UI的操作请使用handler跳转到UI线程。 | |
| 273 | + } | |
| 274 | + return data; | |
| 275 | + }) | |
| 276 | + .subscribeOn(Schedulers.io()) | |
| 277 | + .observeOn(AndroidSchedulers.mainThread()) | |
| 278 | + .subscribe(s -> callback.callback(0, "", s)); | |
| 279 | + } | |
| 280 | +} | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/api/ApiServiceAnnouncementCheck.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.api; | |
| 2 | + | |
| 3 | + | |
| 4 | +import com.cnlive.strike.data.network.model.BaseInfo; | |
| 5 | + | |
| 6 | +import java.util.Map; | |
| 7 | + | |
| 8 | +import io.reactivex.Observable; | |
| 9 | +import retrofit2.adapter.rxjava2.Result; | |
| 10 | +import retrofit2.http.POST; | |
| 11 | +import retrofit2.http.QueryMap; | |
| 12 | + | |
| 13 | +/** | |
| 14 | + * 达人有关的接口 | |
| 15 | + */ | |
| 16 | +public interface ApiServiceAnnouncementCheck { | |
| 17 | + | |
| 18 | + /** | |
| 19 | + * 检查敏感词 | |
| 20 | + */ | |
| 21 | + @POST("Daren/announcementCheck/checkFeaturedGroup.action") | |
| 22 | + Observable<Result<BaseInfo>> checkSensitiveWord(@QueryMap() Map<String, String> maps); | |
| 23 | + | |
| 24 | +} | |
| 25 | + | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/api/ApiServiceApplyRefundReason.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.api; | |
| 2 | + | |
| 3 | + | |
| 4 | +import com.cnlive.strike.data.network.model.BaseInfo; | |
| 5 | +import com.cnlive.strike.data.network.model.GroupLimitInfo; | |
| 6 | +import com.cnlive.strike.data.network.model.GroupMemberConfig; | |
| 7 | +import com.cnlive.strike.data.network.model.LinkAddressModel; | |
| 8 | + | |
| 9 | +import java.util.List; | |
| 10 | + | |
| 11 | +import io.reactivex.Observable; | |
| 12 | +import retrofit2.Call; | |
| 13 | +import retrofit2.adapter.rxjava2.Result; | |
| 14 | +import retrofit2.http.GET; | |
| 15 | + | |
| 16 | +/** | |
| 17 | + * Created by Lynn on 2018/2/7. | |
| 18 | + */ | |
| 19 | + | |
| 20 | +public interface ApiServiceApplyRefundReason { | |
| 21 | + | |
| 22 | + @GET("json/refundReason.json") | |
| 23 | + Call<List<String>> getRefundReason(); | |
| 24 | + | |
| 25 | + @GET("json/wjj_user_terms.json") | |
| 26 | + Call<List<LinkAddressModel>> getDarenJson(); | |
| 27 | + | |
| 28 | + @GET("json/GroupMemberLimit.json") | |
| 29 | + Observable<Result<BaseInfo<GroupMemberConfig>>> getGroupMember(); | |
| 30 | + | |
| 31 | + @GET("json/GroupMemberLimit.json") | |
| 32 | + Observable<Result<BaseInfo<GroupLimitInfo>>> getGroupLimit(); | |
| 33 | + | |
| 34 | +} | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/api/ApiServiceBlackList.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.api; | |
| 2 | + | |
| 3 | +import com.cnlive.strike.data.network.model.BaseInfo; | |
| 4 | +import com.cnlive.strike.data.network.model.BlackListInfo; | |
| 5 | +import com.cnlive.strike.data.network.model.LetHimNoSee; | |
| 6 | +import com.cnlive.strike.data.network.model.LetHimNoSeeFlag; | |
| 7 | +import com.cnlive.strike.data.network.model.NoSeeHim; | |
| 8 | + | |
| 9 | +import java.util.List; | |
| 10 | +import java.util.Map; | |
| 11 | + | |
| 12 | +import io.reactivex.Observable; | |
| 13 | +import retrofit2.adapter.rxjava2.Result; | |
| 14 | +import retrofit2.http.FieldMap; | |
| 15 | +import retrofit2.http.FormUrlEncoded; | |
| 16 | +import retrofit2.http.POST; | |
| 17 | +import retrofit2.http.QueryMap; | |
| 18 | + | |
| 19 | +public interface ApiServiceBlackList { | |
| 20 | + | |
| 21 | + /** | |
| 22 | + * 加入黑名单 | |
| 23 | + * | |
| 24 | + * @param maps | |
| 25 | + * @return | |
| 26 | + */ | |
| 27 | + @FormUrlEncoded | |
| 28 | + @POST("Daren/blackList/blackListAdd.action") | |
| 29 | + Observable<Result<BaseInfo<BlackListInfo>>> addFriendInBlackList(@FieldMap Map<String, String> maps); | |
| 30 | + | |
| 31 | + /** | |
| 32 | + * 移除黑名单 | |
| 33 | + * | |
| 34 | + * @param maps | |
| 35 | + * @return | |
| 36 | + */ | |
| 37 | + @POST("Daren/blackList/blackListDelete.action") | |
| 38 | + Observable<Result<BaseInfo<BlackListInfo>>> deleteFriendInBlackList(@QueryMap() Map<String, String> maps); | |
| 39 | + | |
| 40 | + /** | |
| 41 | + * 拉取黑名单列表 | |
| 42 | + * | |
| 43 | + * @param maps | |
| 44 | + * @return | |
| 45 | + */ | |
| 46 | + @POST("Daren/blackList/blackListGet.action") | |
| 47 | + Observable<Result<BaseInfo<BlackListInfo>>> getFriendInBlackList(@QueryMap() Map<String, String> maps); | |
| 48 | + | |
| 49 | + /** | |
| 50 | + * 生活圈和视屏-不看他的 | |
| 51 | + * 杨帅 2019-4-23 | |
| 52 | + * sid String true sid | |
| 53 | + * appId String true appId | |
| 54 | + * friendIds String true 好友sid, 格式:[11111,2222,3333] | |
| 55 | + * | |
| 56 | + * @param maps | |
| 57 | + * @return | |
| 58 | + */ | |
| 59 | + @POST("Daren/moment/addNoLookFsids.action") | |
| 60 | + Observable<Result<BaseInfo>> addNoLookFsids(@QueryMap() Map<String, String> maps); | |
| 61 | + | |
| 62 | + /** | |
| 63 | + * 取消:生活圈和视屏-不看他的列表 | |
| 64 | + * 杨帅 2019-4-23 | |
| 65 | + * | |
| 66 | + * @param maps | |
| 67 | + * @return | |
| 68 | + */ | |
| 69 | + @POST("Daren/moment/getNoLookFsids.action") | |
| 70 | + Observable<Result<BaseInfo<NoSeeHim>>> getNoLookFsids(@QueryMap() Map<String, String> maps); | |
| 71 | + | |
| 72 | + /** | |
| 73 | + * 取消:生活圈和视屏-不看他的 | |
| 74 | + * 杨帅 2019-4-23 | |
| 75 | + * | |
| 76 | + * @param maps | |
| 77 | + * @return | |
| 78 | + */ | |
| 79 | + @POST("Daren/moment/delNoLookFsids.action") | |
| 80 | + Observable<Result<BaseInfo>> cancelNoLookFsids(@QueryMap() Map<String, String> maps); | |
| 81 | + | |
| 82 | + /** | |
| 83 | + * 取消:生活圈和视屏-不让他人看 按钮标志 | |
| 84 | + * 杨帅 2019-4-24 | |
| 85 | + * sid String true sid | |
| 86 | + * friendIds String true 好友id | |
| 87 | + * | |
| 88 | + * @param maps | |
| 89 | + * @return | |
| 90 | + */ | |
| 91 | + @POST("Daren/moment/doNotletFsidsType.action") | |
| 92 | + Observable<Result<BaseInfo<LetHimNoSeeFlag>>> getLetHimNoSeeFlag(@QueryMap() Map<String, String> maps); | |
| 93 | + | |
| 94 | + /** | |
| 95 | + * 生活圈和视屏-不让他人看 | |
| 96 | + * 杨帅 2019-4-23 | |
| 97 | + * sid String true sid | |
| 98 | + * friendIds String true 好友id 格式:[111,222,333] | |
| 99 | + * | |
| 100 | + * @param maps | |
| 101 | + * @return | |
| 102 | + */ | |
| 103 | + @POST("Daren/moment/addDoNotletFsids.action") | |
| 104 | + Observable<Result<BaseInfo>> addDoNotletFsids(@QueryMap() Map<String, String> maps); | |
| 105 | + | |
| 106 | + /** | |
| 107 | + * 取消:生活圈和视屏-不让他人看 | |
| 108 | + * 杨帅 2019-4-23 | |
| 109 | + * sid String true sid | |
| 110 | + * friendIds String true 好友id 格式:[111,222,333] | |
| 111 | + * | |
| 112 | + * @param maps | |
| 113 | + * @return | |
| 114 | + */ | |
| 115 | + @POST("Daren/moment/delDoNotletFsids.action") | |
| 116 | + Observable<Result<BaseInfo>> cancelDoNotletFsids(@QueryMap() Map<String, String> maps); | |
| 117 | + | |
| 118 | + /** | |
| 119 | + * 生活圈和视屏-不让他人看列表 | |
| 120 | + * 杨帅 2019-4-23 | |
| 121 | + * sid String true sid | |
| 122 | + * | |
| 123 | + * @param maps | |
| 124 | + * @return | |
| 125 | + */ | |
| 126 | + @POST("Daren/moment/getDoNotletFsids.action") | |
| 127 | + Observable<Result<BaseInfo<LetHimNoSee>>> getDoNotletFsids(@QueryMap() Map<String, String> maps); | |
| 128 | + | |
| 129 | + /** | |
| 130 | + * 取消:生活圈和视屏-不看他 按钮标志 | |
| 131 | + * 杨帅 2019-4-24 | |
| 132 | + * sid String true sid | |
| 133 | + * friendIds String true 好友id | |
| 134 | + * | |
| 135 | + * @param maps | |
| 136 | + * @return | |
| 137 | + */ | |
| 138 | + @POST("Daren/moment/noLookFsidsType.action") | |
| 139 | + Observable<Result<BaseInfo<LetHimNoSeeFlag>>> getNoSeeHimFlag(@QueryMap() Map<String, String> maps); | |
| 140 | +} | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/api/ApiServiceCNLiveIm.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.api; | |
| 2 | + | |
| 3 | + | |
| 4 | +import com.cnlive.strike.data.network.model.BaseInfo; | |
| 5 | +import com.cnlive.strike.data.network.model.CheckBlackListRelation; | |
| 6 | +import com.cnlive.strike.data.network.model.FriendListInfo; | |
| 7 | +import com.cnlive.strike.data.network.model.SearchByPhoneNumberData; | |
| 8 | +import com.cnlive.strike.data.network.model.UploadContactData; | |
| 9 | + | |
| 10 | +import java.util.List; | |
| 11 | +import java.util.Map; | |
| 12 | + | |
| 13 | +import io.reactivex.Observable; | |
| 14 | +import retrofit2.adapter.rxjava2.Result; | |
| 15 | +import retrofit2.http.FieldMap; | |
| 16 | +import retrofit2.http.FormUrlEncoded; | |
| 17 | +import retrofit2.http.POST; | |
| 18 | +import retrofit2.http.QueryMap; | |
| 19 | + | |
| 20 | +/** | |
| 21 | + * im有关的接口 | |
| 22 | + */ | |
| 23 | +public interface ApiServiceCNLiveIm { | |
| 24 | + | |
| 25 | + /** | |
| 26 | + * 上传通讯录接口 | |
| 27 | + * | |
| 28 | + * @param maps | |
| 29 | + * @return | |
| 30 | + */ | |
| 31 | + @POST("CnliveIM/notify/uploadContacts.action") | |
| 32 | + Observable<Result<BaseInfo<List<UploadContactData>>>> uploadContacts(@QueryMap Map<String, String> maps); | |
| 33 | + | |
| 34 | + /** | |
| 35 | + * 按手机号查找 | |
| 36 | + * | |
| 37 | + * @param maps | |
| 38 | + * @return | |
| 39 | + */ | |
| 40 | + @POST("CnliveIM/notify/searchByPhoneNumber.action") | |
| 41 | + Observable<Result<BaseInfo<SearchByPhoneNumberData>>> searchByPhoneNumber(@QueryMap() Map<String, String> maps); | |
| 42 | + | |
| 43 | + /** | |
| 44 | + * 我要催单 | |
| 45 | + * | |
| 46 | + * @param maps | |
| 47 | + * @return | |
| 48 | + */ | |
| 49 | + @POST("CnliveIM/notify/remind.action") | |
| 50 | + Observable<Result<BaseInfo>> remind(@QueryMap() Map<String, String> maps); | |
| 51 | + | |
| 52 | + /** | |
| 53 | + * 后台代替用户发送自定义消息 | |
| 54 | + * | |
| 55 | + * @param maps | |
| 56 | + * @return | |
| 57 | + */ | |
| 58 | + @FormUrlEncoded | |
| 59 | + @POST("CnliveIM/notify/custMsgPush.action") | |
| 60 | + Observable<Result<BaseInfo>> custMsgPush(@FieldMap Map<String, String> maps); | |
| 61 | + | |
| 62 | + /** | |
| 63 | + * 发送文本消息 | |
| 64 | + * | |
| 65 | + * @param maps | |
| 66 | + * @return | |
| 67 | + */ | |
| 68 | + @FormUrlEncoded | |
| 69 | + @POST("CnliveIM/notify/textMsgPush.action") | |
| 70 | + Observable<Result<BaseInfo>> textMsgPush(@FieldMap Map<String, String> maps); | |
| 71 | + | |
| 72 | + /** | |
| 73 | + * 同意进群 | |
| 74 | + * | |
| 75 | + * @param maps | |
| 76 | + * @return | |
| 77 | + */ | |
| 78 | + @POST("CnliveIM/notify/addGroup.action") | |
| 79 | + Observable<Result<BaseInfo<String>>> addGroup(@QueryMap() Map<String, String> maps); | |
| 80 | + | |
| 81 | + /** | |
| 82 | + * 发送消息撤回 | |
| 83 | + * | |
| 84 | + * @param maps | |
| 85 | + * @return | |
| 86 | + */ | |
| 87 | + @FormUrlEncoded | |
| 88 | + @POST("CnliveIM/notify/revokeBatchSendMsg.action") | |
| 89 | + Observable<Result<BaseInfo>> revokeBatchSendMsg(@FieldMap() Map<String, String> maps); | |
| 90 | + | |
| 91 | + /** | |
| 92 | + * 获取好友名单 | |
| 93 | + */ | |
| 94 | + @FormUrlEncoded | |
| 95 | + @POST("CnliveIM/notify/checkFriend.action") | |
| 96 | + Observable<Result<BaseInfo<FriendListInfo>>> getFriendsList(@FieldMap() Map<String, String> maps); | |
| 97 | + | |
| 98 | + /** | |
| 99 | + * 查询黑名单状态 | |
| 100 | + */ | |
| 101 | + @FormUrlEncoded | |
| 102 | + @POST("CnliveIM/notify/checkBlackList.action") | |
| 103 | + Observable<Result<BaseInfo<CheckBlackListRelation>>> checkBlackList(@FieldMap() Map<String, String> maps); | |
| 104 | + | |
| 105 | +} | |
| 106 | + | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/api/ApiServiceCenter.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.api; | |
| 2 | + | |
| 3 | +import com.cnlive.strike.data.network.model.BaseInfo; | |
| 4 | +import com.cnlive.strike.data.network.model.CategoryDarensData; | |
| 5 | +import com.cnlive.strike.data.network.model.CenterPageData; | |
| 6 | +import com.cnlive.strike.data.network.model.ChannelTabList; | |
| 7 | + | |
| 8 | +import java.util.Map; | |
| 9 | + | |
| 10 | +import io.reactivex.Observable; | |
| 11 | +import retrofit2.adapter.rxjava2.Result; | |
| 12 | +import retrofit2.http.Headers; | |
| 13 | +import retrofit2.http.POST; | |
| 14 | +import retrofit2.http.QueryMap; | |
| 15 | + | |
| 16 | +/** | |
| 17 | + * Created by Lynn on 2018/3/14. | |
| 18 | + */ | |
| 19 | + | |
| 20 | +public interface ApiServiceCenter { | |
| 21 | + | |
| 22 | + /** | |
| 23 | + * 分类首页 | |
| 24 | + * | |
| 25 | + * @return | |
| 26 | + */ | |
| 27 | + @Headers("cache:5") | |
| 28 | + @POST("Daren/classify/getNewCenterPage.action") | |
| 29 | + Observable<Result<BaseInfo<CenterPageData>>> getCenterPage(@QueryMap() Map<String, String> map); | |
| 30 | + | |
| 31 | + /** | |
| 32 | + * 分类二级页面达人列表 | |
| 33 | + * | |
| 34 | + * @return | |
| 35 | + */ | |
| 36 | + @Headers("cache:5") | |
| 37 | + @POST("Daren/classify/getNewDarensByCategory.action") | |
| 38 | + Observable<Result<BaseInfo<CategoryDarensData>>> getDarensByCategory(@QueryMap() Map<String, String> map); | |
| 39 | + | |
| 40 | + /** | |
| 41 | + * 分类 Tab List | |
| 42 | + * | |
| 43 | + * @return | |
| 44 | + */ | |
| 45 | + @Headers("cache:5") | |
| 46 | + @POST("Daren/center/getChannel.action") | |
| 47 | + Observable<Result<BaseInfo<ChannelTabList>>> getChannel(@QueryMap() Map<String, String> map); | |
| 48 | +} | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/api/ApiServiceCms.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.api; | |
| 2 | + | |
| 3 | +import com.cnlive.strike.data.network.model.AudioAlbumDetailsInfo; | |
| 4 | +import com.cnlive.strike.data.network.model.AudioChapterInfo; | |
| 5 | +import com.cnlive.strike.data.network.model.AudioHistoryInfo; | |
| 6 | +import com.cnlive.strike.data.network.model.BaseInfo; | |
| 7 | +import com.cnlive.strike.data.network.model.BaseVideoInfo; | |
| 8 | +import com.cnlive.strike.data.network.model.ClassifyChannelTabList; | |
| 9 | +import com.cnlive.strike.data.network.model.LivingPlayBackData; | |
| 10 | +import com.cnlive.strike.data.network.model.PlayAudioDetailData; | |
| 11 | +import com.cnlive.strike.data.network.model.PlayVodItemInfo; | |
| 12 | +import com.cnlive.strike.data.network.model.PlayerPgcLiveDetail; | |
| 13 | +import com.cnlive.strike.data.network.model.PlayerVodDetail; | |
| 14 | +import com.cnlive.strike.data.network.model.VideoInfo; | |
| 15 | + | |
| 16 | +import java.util.HashMap; | |
| 17 | +import java.util.List; | |
| 18 | +import java.util.Map; | |
| 19 | + | |
| 20 | +import io.reactivex.Observable; | |
| 21 | +import okhttp3.RequestBody; | |
| 22 | +import retrofit2.adapter.rxjava2.Result; | |
| 23 | +import retrofit2.http.Body; | |
| 24 | +import retrofit2.http.DELETE; | |
| 25 | +import retrofit2.http.FormUrlEncoded; | |
| 26 | +import retrofit2.http.GET; | |
| 27 | +import retrofit2.http.HTTP; | |
| 28 | +import retrofit2.http.Headers; | |
| 29 | +import retrofit2.http.POST; | |
| 30 | +import retrofit2.http.Path; | |
| 31 | +import retrofit2.http.QueryMap; | |
| 32 | +import retrofit2.http.Url; | |
| 33 | + | |
| 34 | +/** | |
| 35 | + * Created by Lynn on 2018/11/27. | |
| 36 | + */ | |
| 37 | + | |
| 38 | +public interface ApiServiceCms { | |
| 39 | + /** | |
| 40 | + * 分类 Tab List | |
| 41 | + * | |
| 42 | + * @return | |
| 43 | + */ | |
| 44 | + @GET("contentApi/app") | |
| 45 | + Observable<Result<BaseInfo<List<ClassifyChannelTabList>>>> getChannelTab(@QueryMap() Map<String, String> map); | |
| 46 | + | |
| 47 | + @GET("playApi/play") | |
| 48 | + Observable<Result<BaseInfo<PlayerVodDetail>>> getPlayerVodDetail(@QueryMap() Map<String, String> map); | |
| 49 | + | |
| 50 | + @GET("playApi/play") | |
| 51 | + Observable<Result<BaseInfo<PlayerPgcLiveDetail>>> getPlayerLiveDetail(@QueryMap() Map<String, String> map); | |
| 52 | + | |
| 53 | + @GET("playApi/play") | |
| 54 | + Observable<Result<BaseInfo<PlayAudioDetailData>>> getPlayAudioDetail(@QueryMap() Map<String, String> map); | |
| 55 | + | |
| 56 | + @GET("playApi/moreList") | |
| 57 | + Observable<Result<BaseInfo<PlayVodItemInfo>>> checkPlayItem(@QueryMap Map<String, String> maps); | |
| 58 | + | |
| 59 | + @GET("contentApi/{id}") | |
| 60 | + Observable<Result<BaseInfo<BaseVideoInfo>>> getVideoInfo(@Path("id") String id); | |
| 61 | + | |
| 62 | + | |
| 63 | + /** | |
| 64 | + * 获取 直播状态的视频 或者回放的视频列表 | |
| 65 | + * | |
| 66 | + * @param maps liveType 1 是直播 4 是回放 | |
| 67 | + * @return | |
| 68 | + */ | |
| 69 | + @GET("contentApi/playList") | |
| 70 | + Observable<Result<BaseInfo<VideoInfo>>> getVideoList(@QueryMap() Map<String, String> maps); | |
| 71 | + | |
| 72 | + /** | |
| 73 | + * 预约 | |
| 74 | + * | |
| 75 | + * @param maps | |
| 76 | + * @return | |
| 77 | + */ | |
| 78 | + @GET("contentApi/liveAppoint") | |
| 79 | + Observable<Result<BaseInfo<Object>>> reservationLive(@QueryMap() Map<String, Object> maps); | |
| 80 | + | |
| 81 | + /** | |
| 82 | + * 获取音频专辑详情页 | |
| 83 | + * | |
| 84 | + * @param maps | |
| 85 | + * @return | |
| 86 | + */ | |
| 87 | + @GET("contentApi/getAlbumMsg") | |
| 88 | + Observable<Result<BaseInfo<AudioAlbumDetailsInfo>>> getAlbumMsg(@QueryMap() Map<String, String> maps); | |
| 89 | + | |
| 90 | + /** | |
| 91 | + * 获取音频列表 | |
| 92 | + * | |
| 93 | + * @param maps | |
| 94 | + * @return | |
| 95 | + */ | |
| 96 | + @GET("contentApi/albumAudioList") | |
| 97 | + Observable<Result<BaseInfo<List<AudioChapterInfo>>>> getAlbumMsgList(@QueryMap() Map<String, Object> maps); | |
| 98 | + | |
| 99 | + /** | |
| 100 | + * 获取音频播放的历史纪录 | |
| 101 | + * | |
| 102 | + * @param maps | |
| 103 | + * @return | |
| 104 | + */ | |
| 105 | + @GET("recordApi/getRecords") | |
| 106 | + Observable<Result<BaseInfo<List<AudioHistoryInfo>>>> getRecords(@QueryMap() Map<String, String> maps); | |
| 107 | + | |
| 108 | + | |
| 109 | + // @DELETE("recordApi") | |
| 110 | + @POST("recordApi/delete") | |
| 111 | + Observable<Result<BaseInfo<Object>>> deleteAudioHistory(@QueryMap Map<String, String> body); | |
| 112 | + | |
| 113 | + /** | |
| 114 | + * contentId : 内容id | |
| 115 | + * schedule : 进度 double | |
| 116 | + * sid | |
| 117 | + * model 5 | |
| 118 | + * | |
| 119 | + * @return | |
| 120 | + */ | |
| 121 | + @POST("recordApi/end") | |
| 122 | + Observable<Result<BaseInfo<Object>>> audioPlayEnd(@QueryMap Map<String, String> body); | |
| 123 | + | |
| 124 | + /** | |
| 125 | + * 获取直播回放,短视频的数据 | |
| 126 | + * | |
| 127 | + * @param path | |
| 128 | + * @param body | |
| 129 | + * @return | |
| 130 | + */ | |
| 131 | + @GET() | |
| 132 | + Observable<Result<BaseInfo<LivingPlayBackData>>> getLivingPlayBackList(@Url String path, @QueryMap Map<String, String> body); | |
| 133 | + | |
| 134 | + | |
| 135 | +} | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/api/ApiServiceCommon.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.api; | |
| 2 | + | |
| 3 | +import com.cnlive.strike.data.network.model.AppVersionInfo; | |
| 4 | +import com.cnlive.strike.data.network.model.BaseInfo; | |
| 5 | +import com.cnlive.strike.data.network.model.CommonMsgInfo; | |
| 6 | +import com.cnlive.strike.data.network.model.ShareAppInfo; | |
| 7 | +import com.cnlive.strike.data.network.model.ShareDarenInfo; | |
| 8 | +import com.cnlive.strike.data.network.model.TRTCRoomInfo; | |
| 9 | + | |
| 10 | +import java.util.Map; | |
| 11 | + | |
| 12 | +import io.reactivex.Observable; | |
| 13 | +import retrofit2.Call; | |
| 14 | +import retrofit2.adapter.rxjava2.Result; | |
| 15 | +import retrofit2.http.POST; | |
| 16 | +import retrofit2.http.QueryMap; | |
| 17 | + | |
| 18 | +public interface ApiServiceCommon { | |
| 19 | + /** | |
| 20 | + * 版本更新 | |
| 21 | + * | |
| 22 | + * @return | |
| 23 | + */ | |
| 24 | + @POST("Daren/common/getNewestVersion.action") | |
| 25 | + Observable<Result<BaseInfo<AppVersionInfo>>> getVersion(@QueryMap() Map<String, String> map); | |
| 26 | + | |
| 27 | + /** | |
| 28 | + * 获取App分享地址 | |
| 29 | + * | |
| 30 | + * @return | |
| 31 | + */ | |
| 32 | + @POST("Daren/common/appDownLoadUrl.action") | |
| 33 | + Observable<Result<BaseInfo<ShareAppInfo>>> getAppShare(); | |
| 34 | + | |
| 35 | + /** | |
| 36 | + * 获取达人主页分享地址 | |
| 37 | + * | |
| 38 | + * @return | |
| 39 | + */ | |
| 40 | + @POST("Daren/common/shareDarenHomePage.action") | |
| 41 | + Observable<Result<BaseInfo<ShareDarenInfo>>> getDarenShare(@QueryMap() Map<String, String> map); | |
| 42 | + | |
| 43 | + @POST("Daren/common/getCommonMsg.action") | |
| 44 | + Observable<Result<BaseInfo<CommonMsgInfo>>> getCommonMsg(@QueryMap() Map<String, String> map); | |
| 45 | + | |
| 46 | + /** | |
| 47 | + * 获取音视频通话roomId | |
| 48 | + */ | |
| 49 | + @POST("Daren/common/getRoomId.action") | |
| 50 | + Observable<Result<BaseInfo<TRTCRoomInfo>>> getTRTCRoomInfo(@QueryMap() Map<String, String> map); | |
| 51 | + | |
| 52 | + | |
| 53 | + /** | |
| 54 | + * 版本更新 | |
| 55 | + * | |
| 56 | + * @return | |
| 57 | + */ | |
| 58 | + | |
| 59 | + @POST("Daren/common/getNewestVersion.action") | |
| 60 | + Observable<Result<BaseInfo<AppVersionInfo>>> getshotTimeVersion(@QueryMap() Map<String, String> map); | |
| 61 | + | |
| 62 | + | |
| 63 | + @POST("Daren/common/cancellationAccount.action") | |
| 64 | + Observable<Result<BaseInfo>> cancellationAccount(@QueryMap() Map<String, String> map); | |
| 65 | +} | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/api/ApiServiceContact.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.api; | |
| 2 | + | |
| 3 | + | |
| 4 | +import com.cnlive.strike.data.network.model.BaseInfo; | |
| 5 | +import com.cnlive.strike.data.network.model.ContactAddressData; | |
| 6 | + | |
| 7 | +import java.util.List; | |
| 8 | +import java.util.Map; | |
| 9 | + | |
| 10 | +import io.reactivex.Observable; | |
| 11 | +import retrofit2.adapter.rxjava2.Result; | |
| 12 | +import retrofit2.http.FieldMap; | |
| 13 | +import retrofit2.http.FormUrlEncoded; | |
| 14 | +import retrofit2.http.POST; | |
| 15 | +import retrofit2.http.QueryMap; | |
| 16 | + | |
| 17 | +/** | |
| 18 | + * 用户收获地址有关的接口 | |
| 19 | + */ | |
| 20 | +public interface ApiServiceContact { | |
| 21 | + | |
| 22 | + /** | |
| 23 | + * 更新联系人收货地址 | |
| 24 | + * | |
| 25 | + * @param maps | |
| 26 | + * @return | |
| 27 | + */ | |
| 28 | + @FormUrlEncoded | |
| 29 | + @POST("Daren/contact/updateContact.action") | |
| 30 | + Observable<Result<BaseInfo<Object>>> updateContact(@FieldMap Map<String, String> maps); | |
| 31 | + | |
| 32 | + /** | |
| 33 | + * 读取联系人收获地址 | |
| 34 | + * | |
| 35 | + * @param maps | |
| 36 | + * @return | |
| 37 | + */ | |
| 38 | + @POST("Daren/contact/readContacts.action") | |
| 39 | + Observable<Result<BaseInfo<List<ContactAddressData>>>> readContact(@QueryMap() Map<String, String> maps); | |
| 40 | + | |
| 41 | + /** | |
| 42 | + * 添加联系人收货地址 | |
| 43 | + * | |
| 44 | + * @param maps | |
| 45 | + * @return | |
| 46 | + */ | |
| 47 | + @FormUrlEncoded | |
| 48 | + @POST("Daren/contact/addContact.action") | |
| 49 | + Observable<Result<BaseInfo<ContactAddressData>>> addContact(@FieldMap Map<String, String> maps); | |
| 50 | + | |
| 51 | + /** | |
| 52 | + * 删除联系人某条收货地址 | |
| 53 | + * | |
| 54 | + * @param maps | |
| 55 | + * @return | |
| 56 | + */ | |
| 57 | + @POST("Daren/contact/deleteContact.action") | |
| 58 | + Observable<Result<BaseInfo<Object>>> deleteContact(@QueryMap() Map<String, String> maps); | |
| 59 | + | |
| 60 | +} | |
| 61 | + | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/api/ApiServiceDaren.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.api; | |
| 2 | + | |
| 3 | + | |
| 4 | +import com.cnlive.strike.data.network.model.BaseInfo; | |
| 5 | +import com.cnlive.strike.data.network.model.CheckApplyResultInfo; | |
| 6 | +import com.cnlive.strike.data.network.model.CheckTransferInfo; | |
| 7 | +import com.cnlive.strike.data.network.model.DarenApplyModel; | |
| 8 | +import com.cnlive.strike.data.network.model.GifEmojiItemData; | |
| 9 | +import com.cnlive.strike.data.network.model.GifListData; | |
| 10 | +import com.cnlive.strike.data.network.model.ShortLinkInfo; | |
| 11 | + | |
| 12 | +import java.util.List; | |
| 13 | +import java.util.Map; | |
| 14 | + | |
| 15 | +import io.reactivex.Observable; | |
| 16 | +import okhttp3.MultipartBody; | |
| 17 | +import okhttp3.RequestBody; | |
| 18 | +import retrofit2.adapter.rxjava2.Result; | |
| 19 | +import retrofit2.http.Multipart; | |
| 20 | +import retrofit2.http.POST; | |
| 21 | +import retrofit2.http.Part; | |
| 22 | +import retrofit2.http.PartMap; | |
| 23 | +import retrofit2.http.QueryMap; | |
| 24 | + | |
| 25 | +/** | |
| 26 | + * 达人有关的接口 | |
| 27 | + */ | |
| 28 | +public interface ApiServiceDaren { | |
| 29 | + | |
| 30 | + /** | |
| 31 | + * 检查达人审核状态 | |
| 32 | + */ | |
| 33 | + @POST("Daren/witness/checkWitness.action") | |
| 34 | + Observable<Result<CheckApplyResultInfo>> checkApplyWitness(@QueryMap() Map<String, String> maps); | |
| 35 | + | |
| 36 | + /** | |
| 37 | + * 达人申请接口 | |
| 38 | + */ | |
| 39 | + @Multipart | |
| 40 | + @POST("Daren/witness/applyWitness.action") | |
| 41 | + Observable<Result<DarenApplyModel>> applyWitness(@PartMap() Map<String, RequestBody> maps, | |
| 42 | + @Part List<MultipartBody.Part> params); | |
| 43 | + | |
| 44 | + /** | |
| 45 | + * 预约 | |
| 46 | + * | |
| 47 | + * @param maps | |
| 48 | + * @return | |
| 49 | + */ | |
| 50 | + @POST("Daren/announcementCheck/genShortLinks.action") | |
| 51 | + Observable<Result<BaseInfo<ShortLinkInfo>>> genShortLinks(@QueryMap() Map<String, String> maps); | |
| 52 | + | |
| 53 | + | |
| 54 | + /** | |
| 55 | + * 获取gif包的信息 | |
| 56 | + */ | |
| 57 | + @POST("Daren/section/getSectionDetail.action") | |
| 58 | + Observable<Result<BaseInfo<GifEmojiItemData>>> getGifEmojiData(@QueryMap() Map<String, String> maps); | |
| 59 | + | |
| 60 | + /** | |
| 61 | + * 获取表情包列表信息 | |
| 62 | + */ | |
| 63 | + @POST("Daren/section/getSectionList.action") | |
| 64 | + Observable<Result<BaseInfo<GifListData>>> getGifEmojiListData(); | |
| 65 | + | |
| 66 | + /** | |
| 67 | + * 关注达人 | |
| 68 | + */ | |
| 69 | + @POST("Daren/group/addFollows.action") | |
| 70 | + Observable<Result<BaseInfo<Object>>> addFollows(@QueryMap() Map<String, String> maps); | |
| 71 | + | |
| 72 | + /** | |
| 73 | + * 取消关注达人 | |
| 74 | + */ | |
| 75 | + @POST("Daren/group/userCancelFollow.action") | |
| 76 | + Observable<Result<BaseInfo<Object>>> userCancelFollow(@QueryMap() Map<String, String> maps); | |
| 77 | + | |
| 78 | + /** | |
| 79 | + * 查询群组转账结果 | |
| 80 | + */ | |
| 81 | + @POST("Daren/groupManagement/getQueryTransfer.action") | |
| 82 | + Observable<Result<BaseInfo<CheckTransferInfo>>> getQueryTransfer(@QueryMap() Map<String, String> maps); | |
| 83 | + | |
| 84 | + /** | |
| 85 | + * 单独加入群聊api | |
| 86 | + */ | |
| 87 | + @POST("Daren/group/userAddGroup.action") | |
| 88 | + Observable<Result<BaseInfo>> userAddGroup(@QueryMap Map<String, String> map); | |
| 89 | + | |
| 90 | + | |
| 91 | +} | |
| 92 | + | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/api/ApiServiceEyewitness.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.api; | |
| 2 | + | |
| 3 | +import com.cnlive.strike.data.network.model.BaseInfo; | |
| 4 | +import com.cnlive.strike.data.network.model.EyewitnessInfo; | |
| 5 | +import com.cnlive.strike.data.network.model.EyewitnessSuccessfullyInfo; | |
| 6 | + | |
| 7 | +import java.util.Map; | |
| 8 | + | |
| 9 | +import io.reactivex.Observable; | |
| 10 | +import retrofit2.adapter.rxjava2.Result; | |
| 11 | +import retrofit2.http.POST; | |
| 12 | +import retrofit2.http.QueryMap; | |
| 13 | + | |
| 14 | +/** | |
| 15 | + * 作者: 吴奎庆 | |
| 16 | + * <p> | |
| 17 | + * 时间: 2018/10/12 | |
| 18 | + * <p> | |
| 19 | + * 简介: | |
| 20 | + */ | |
| 21 | + | |
| 22 | +public interface ApiServiceEyewitness { | |
| 23 | + //检测目击者的状态(是否是目击者) | |
| 24 | + @POST("Daren/witness/checkWitness.action") | |
| 25 | + Observable<Result<BaseInfo<EyewitnessInfo>>> checkWitness(@QueryMap Map<String, String> maps); | |
| 26 | + | |
| 27 | + //获取目击者的发布内容 | |
| 28 | + @POST("Daren/witness/getWitnessPublishContent.action") | |
| 29 | + Observable<Result<BaseInfo<EyewitnessSuccessfullyInfo>>> getWitnessPublishContent(@QueryMap Map<String, String> maps); | |
| 30 | + | |
| 31 | + //删除or修改目击者发布内容 | |
| 32 | + @POST("Daren/witness/deleteOrUpdateWitnessPublish.action") | |
| 33 | + Observable<Result<BaseInfo>> deleteOrUpdateWitnessPublish(@QueryMap Map<String, String> maps); | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | +} | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/api/ApiServiceGroupManagement.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.api; | |
| 2 | + | |
| 3 | + | |
| 4 | +import com.cnlive.strike.data.network.model.ActivityRecordDetailsInfo; | |
| 5 | +import com.cnlive.strike.data.network.model.BaseInfo; | |
| 6 | +import com.cnlive.strike.data.network.model.CreateGroupPayMentInfo; | |
| 7 | +import com.cnlive.strike.data.network.model.GroupOwnerInfo; | |
| 8 | +import com.cnlive.strike.data.network.model.GroupPayOrderInfo; | |
| 9 | +import com.cnlive.strike.data.network.model.InitiatePaymentInfo; | |
| 10 | +import com.cnlive.strike.data.network.model.PaymentActivityRecordInfo; | |
| 11 | +import com.cnlive.strike.data.network.model.PaymentPreInfo; | |
| 12 | +import com.cnlive.strike.data.network.model.SuccessiveGroupListItem; | |
| 13 | +import com.cnlive.strike.data.network.model.TransferCheckKeyInfo; | |
| 14 | +import com.cnlive.strike.data.network.model.TransferKeyInfo; | |
| 15 | +import com.cnlive.strike.data.network.model.VoteMsgInfo; | |
| 16 | +import com.cnlive.strike.data.network.model.VotedHistoryInfo; | |
| 17 | +import com.cnlive.strike.data.network.model.VotedStopInfo; | |
| 18 | + | |
| 19 | +import java.util.List; | |
| 20 | +import java.util.Map; | |
| 21 | + | |
| 22 | +import io.reactivex.Observable; | |
| 23 | +import retrofit2.adapter.rxjava2.Result; | |
| 24 | +import retrofit2.http.FieldMap; | |
| 25 | +import retrofit2.http.FormUrlEncoded; | |
| 26 | +import retrofit2.http.POST; | |
| 27 | +import retrofit2.http.QueryMap; | |
| 28 | + | |
| 29 | +/** | |
| 30 | + * Created by gujun on 2018/5/23. | |
| 31 | + */ | |
| 32 | + | |
| 33 | +public interface ApiServiceGroupManagement { | |
| 34 | + | |
| 35 | + /** | |
| 36 | + * 后台发送通知邀请用户进群 | |
| 37 | + * | |
| 38 | + * @param maps | |
| 39 | + * @return | |
| 40 | + */ | |
| 41 | + @FormUrlEncoded | |
| 42 | + @POST("Daren/groupManagement/invitationAddGroup.action") | |
| 43 | + Observable<Result<BaseInfo<Object>>> invitationAddGroup(@FieldMap Map<String, String> maps); | |
| 44 | + | |
| 45 | + /** | |
| 46 | + * 活动投票付款 | |
| 47 | + * | |
| 48 | + * @param maps | |
| 49 | + * @return | |
| 50 | + */ | |
| 51 | + @POST("Daren/vote/addVote.action") | |
| 52 | + Observable<Result<BaseInfo<InitiatePaymentInfo>>> invitationPayment(@QueryMap Map<String, String> maps); | |
| 53 | + | |
| 54 | + /** | |
| 55 | + * 创建群 发起活动的接口 | |
| 56 | + * | |
| 57 | + * @return | |
| 58 | + */ | |
| 59 | + @POST("Daren/groupManagement/addGroupCharge.action") | |
| 60 | + Observable<Result<BaseInfo<CreateGroupPayMentInfo>>> createGroupPayMent(@QueryMap Map<String, String> maps); | |
| 61 | + | |
| 62 | + @POST("Daren/vote/getVoteMsg.action") | |
| 63 | + Observable<Result<BaseInfo<VoteMsgInfo>>> getVoteMsg(@QueryMap Map<String, String> maps); | |
| 64 | + | |
| 65 | + /** | |
| 66 | + * 投票 | |
| 67 | + * | |
| 68 | + * @param maps | |
| 69 | + * @return | |
| 70 | + */ | |
| 71 | + | |
| 72 | + @POST("Daren/vote/groupVote.action") | |
| 73 | + Observable<Result<BaseInfo<VoteMsgInfo>>> vote(@QueryMap Map<String, String> maps); | |
| 74 | + | |
| 75 | + /** | |
| 76 | + * 投票列表 | |
| 77 | + * | |
| 78 | + * @param maps | |
| 79 | + * @return | |
| 80 | + */ | |
| 81 | + @POST("Daren/vote/getVotes.action") | |
| 82 | + Observable<Result<BaseInfo<VotedHistoryInfo>>> votedHistory(@QueryMap Map<String, String> maps); | |
| 83 | + | |
| 84 | + /** | |
| 85 | + * 转账页面查询当前密钥 | |
| 86 | + * | |
| 87 | + * @param maps | |
| 88 | + * @return | |
| 89 | + */ | |
| 90 | + @POST("Daren/groupManagement/getCurrentKey.action") | |
| 91 | + Observable<Result<BaseInfo<TransferKeyInfo>>> getCurrentKey(@QueryMap Map<String, String> maps); | |
| 92 | + | |
| 93 | + /** | |
| 94 | + * 转账页面发送当前密钥 | |
| 95 | + * | |
| 96 | + * @param maps | |
| 97 | + * @return | |
| 98 | + */ | |
| 99 | + @POST("Daren/groupManagement/sendSecretKey.action") | |
| 100 | + Observable<Result<BaseInfo<TransferKeyInfo>>> sendKey(@QueryMap Map<String, String> maps); | |
| 101 | + | |
| 102 | + /** | |
| 103 | + * 转账页面验证当前密钥 | |
| 104 | + * | |
| 105 | + * @param maps | |
| 106 | + * @return | |
| 107 | + */ | |
| 108 | + @POST("Daren/groupManagement/checkKey.action") | |
| 109 | + Observable<Result<BaseInfo<TransferCheckKeyInfo>>> checkKey(@QueryMap Map<String, String> maps); | |
| 110 | + | |
| 111 | + /** | |
| 112 | + * @param maps | |
| 113 | + * @return | |
| 114 | + */ | |
| 115 | + @POST("Daren/groupManagement/groupFundsRecords.action") | |
| 116 | + Observable<Result<BaseInfo<List<PaymentActivityRecordInfo>>>> getPaymentRecord(@QueryMap Map<String, String> maps); | |
| 117 | + | |
| 118 | + /** | |
| 119 | + * @param maps | |
| 120 | + * @return | |
| 121 | + */ | |
| 122 | + @POST("Daren/vote/stopVote.action") | |
| 123 | + Observable<Result<BaseInfo<VotedStopInfo>>> stopVoted(@QueryMap Map<String, String> maps); | |
| 124 | + | |
| 125 | + /** | |
| 126 | + * 获取活动付款详情 | |
| 127 | + * | |
| 128 | + * @param maps | |
| 129 | + * @return | |
| 130 | + */ | |
| 131 | + @POST("Daren/groupManagement/queryActivityFee.action") | |
| 132 | + Observable<Result<BaseInfo<ActivityRecordDetailsInfo>>> getActivityRecordDetails(@QueryMap Map<String, String> maps); | |
| 133 | + /** | |
| 134 | + * 存储历任群主 | |
| 135 | + * | |
| 136 | + * @param maps | |
| 137 | + * @return | |
| 138 | + */ | |
| 139 | + @POST("Daren/groupManagement/saveSuccessiveGroup.action") | |
| 140 | + Observable<Result<BaseInfo<Object>>> saveSuccessiveGroup(@QueryMap Map<String, String> maps); | |
| 141 | + | |
| 142 | + | |
| 143 | + /** | |
| 144 | + * 生成预订单 | |
| 145 | + * | |
| 146 | + * @param maps | |
| 147 | + * @return | |
| 148 | + */ | |
| 149 | + @POST("Daren/groupManagement/payByGroupMembers.action") | |
| 150 | + Observable<Result<BaseInfo<GroupPayOrderInfo>>> payByGroupMembers(@QueryMap Map<String, String> maps); | |
| 151 | + | |
| 152 | + /** | |
| 153 | + * 获取历任群主列表 | |
| 154 | + * | |
| 155 | + * @param maps | |
| 156 | + * @return | |
| 157 | + */ | |
| 158 | + @POST("Daren/groupManagement/getSuccessiveGroupList.action") | |
| 159 | + Observable<Result<BaseInfo<List<SuccessiveGroupListItem>>>> getSuccessiveGroupList(@QueryMap Map<String, String> maps); | |
| 160 | + /** | |
| 161 | + * 获取历任群主列表 | |
| 162 | + * | |
| 163 | + * @param maps | |
| 164 | + * @return | |
| 165 | + */ | |
| 166 | + @POST("Daren/groupManagement/voteChoiceOwner.action") | |
| 167 | + Observable<Result<BaseInfo<GroupOwnerInfo>>> getGroupOwner(@QueryMap Map<String, String> maps); | |
| 168 | + | |
| 169 | + /** | |
| 170 | + * wjj预支付订单 | |
| 171 | + * @param map | |
| 172 | + * @return | |
| 173 | + */ | |
| 174 | + @POST("Daren/wjjPay/unifiedOrder.action") | |
| 175 | + Observable<Result<BaseInfo<PaymentPreInfo>>> getwjjPrePay(@QueryMap() Map<String, String> map); | |
| 176 | + /** | |
| 177 | + * wjj支付订单 | |
| 178 | + * @param map | |
| 179 | + * @return | |
| 180 | + */ | |
| 181 | + @POST("Daren/wjjPay/unifiedPay.action") | |
| 182 | + Observable<Result<BaseInfo<Object>>> getwjjPay(@QueryMap() Map<String, String> map); | |
| 183 | + | |
| 184 | + | |
| 185 | +} | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/api/ApiServiceH5.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.api; | |
| 2 | + | |
| 3 | +import com.cnlive.strike.data.network.model.BaseInfo; | |
| 4 | +import com.cnlive.strike.data.network.model.H5PGCVideoInfo; | |
| 5 | + | |
| 6 | +import java.util.Map; | |
| 7 | + | |
| 8 | +import io.reactivex.Observable; | |
| 9 | +import retrofit2.adapter.rxjava2.Result; | |
| 10 | +import retrofit2.http.FieldMap; | |
| 11 | +import retrofit2.http.FormUrlEncoded; | |
| 12 | +import retrofit2.http.POST; | |
| 13 | +import retrofit2.http.QueryMap; | |
| 14 | + | |
| 15 | +public interface ApiServiceH5 { | |
| 16 | + | |
| 17 | + /** | |
| 18 | + * 提交举报信息 | |
| 19 | + * | |
| 20 | + * @param maps sid 用户ID | |
| 21 | + * liveId 节目ID | |
| 22 | + * reason 举报信息 | |
| 23 | + */ | |
| 24 | + @FormUrlEncoded | |
| 25 | + @POST("/Daren/h5/report.action") | |
| 26 | + Observable<Result<BaseInfo>> commentReport(@FieldMap() Map<String, String> maps); | |
| 27 | + | |
| 28 | + /** | |
| 29 | + * 提交举报信息 | |
| 30 | + * | |
| 31 | + * @param maps sid 用户ID | |
| 32 | + * liveId 节目ID | |
| 33 | + * reason 举报信息 | |
| 34 | + */ | |
| 35 | + @POST("/Daren/h5/getLiveDetail.action") | |
| 36 | + Observable<Result<BaseInfo<H5PGCVideoInfo>>> getLiveDetail(@QueryMap() Map<String, String> maps); | |
| 37 | +} | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/api/ApiServiceHudong.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.api; | |
| 2 | + | |
| 3 | +import com.cnlive.strike.data.network.model.BaseInfo; | |
| 4 | +import com.cnlive.strike.data.network.model.FriendCommentState; | |
| 5 | +import com.cnlive.strike.data.network.model.GetDarenComment; | |
| 6 | + | |
| 7 | +import java.util.List; | |
| 8 | +import java.util.Map; | |
| 9 | + | |
| 10 | +import io.reactivex.Observable; | |
| 11 | +import okhttp3.MultipartBody; | |
| 12 | +import okhttp3.RequestBody; | |
| 13 | +import retrofit2.adapter.rxjava2.Result; | |
| 14 | +import retrofit2.http.FieldMap; | |
| 15 | +import retrofit2.http.FormUrlEncoded; | |
| 16 | +import retrofit2.http.Headers; | |
| 17 | +import retrofit2.http.Multipart; | |
| 18 | +import retrofit2.http.POST; | |
| 19 | +import retrofit2.http.Part; | |
| 20 | +import retrofit2.http.PartMap; | |
| 21 | +import retrofit2.http.QueryMap; | |
| 22 | + | |
| 23 | +/** | |
| 24 | + * Created by xiansong on 2018/2/28. | |
| 25 | + */ | |
| 26 | + | |
| 27 | +public interface ApiServiceHudong { | |
| 28 | + | |
| 29 | + /** | |
| 30 | + * 获取获得评论列表 | |
| 31 | + * | |
| 32 | + * @param maps darenId 达人ID | |
| 33 | + * plat 客户端平台 | |
| 34 | + * pageNo 页码 | |
| 35 | + * @return | |
| 36 | + */ | |
| 37 | + @Headers("cache:5") | |
| 38 | + @POST("Daren/hudong/getDarenComment.action") | |
| 39 | + Observable<Result<BaseInfo<GetDarenComment>>> getDarenComment(@QueryMap() Map<String, String> maps); | |
| 40 | + | |
| 41 | + /** | |
| 42 | + * 达人点评 | |
| 43 | + * | |
| 44 | + * @param maps sid 用户ID | |
| 45 | + * darenId 达人ID | |
| 46 | + * orderId 订单ID | |
| 47 | + * grade 分数 | |
| 48 | + * comment 评论内容 | |
| 49 | + * plat 客户端平台 | |
| 50 | + * @return | |
| 51 | + */ | |
| 52 | + @POST("Daren/hudong/commentDaren.action") | |
| 53 | + @Multipart | |
| 54 | + Observable<Result<BaseInfo>> commentDaren(@PartMap Map<String, RequestBody> maps, | |
| 55 | + @Part List<MultipartBody.Part> params); | |
| 56 | + | |
| 57 | + /** | |
| 58 | + * 达人点评 | |
| 59 | + * | |
| 60 | + * @param maps sid 用户ID | |
| 61 | + * darenId 达人ID | |
| 62 | + * orderId 订单ID | |
| 63 | + * grade 分数 | |
| 64 | + * comment 评论内容 | |
| 65 | + * plat 客户端平台 | |
| 66 | + * @return | |
| 67 | + */ | |
| 68 | + @POST("Daren/hudong/commentDaren.action") | |
| 69 | + @Multipart | |
| 70 | + Observable<Result<BaseInfo>> commentDaren(@PartMap Map<String, RequestBody> maps); | |
| 71 | + /** | |
| 72 | + * 朋友圈评论 | |
| 73 | + * | |
| 74 | + * @param maps appId 应用ID | |
| 75 | + * plat i=IOS客户端,a=Android客户端 | |
| 76 | + * id 主题ID | |
| 77 | + * fromSid 评论者ID(回复时是回复者ID) | |
| 78 | + * toSid 发布者ID(回复时是最后一个被回复者ID) | |
| 79 | + * comment 评论内容 | |
| 80 | + * type 评论类型(comment=评论;reply=回复) | |
| 81 | + * sign 签名规则 | |
| 82 | + * @return | |
| 83 | + */ | |
| 84 | + @FormUrlEncoded | |
| 85 | + @POST("Daren/hudong/commentMoment.action") | |
| 86 | + Observable<Result<BaseInfo<FriendCommentState>>> commentMoment(@FieldMap() Map<String, String> maps); | |
| 87 | + | |
| 88 | +} | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/api/ApiServiceIntegra.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.api; | |
| 2 | + | |
| 3 | +import com.cnlive.strike.data.network.model.AddIntegration; | |
| 4 | +import com.cnlive.strike.data.network.model.BaseInfo; | |
| 5 | +import com.cnlive.strike.data.network.model.CheckinData; | |
| 6 | +import com.cnlive.strike.data.network.model.IntegraContentData; | |
| 7 | +import com.cnlive.strike.data.network.model.IntegraData; | |
| 8 | + | |
| 9 | +import java.util.Map; | |
| 10 | + | |
| 11 | +import io.reactivex.Observable; | |
| 12 | +import retrofit2.adapter.rxjava2.Result; | |
| 13 | +import retrofit2.http.GET; | |
| 14 | +import retrofit2.http.POST; | |
| 15 | +import retrofit2.http.QueryMap; | |
| 16 | + | |
| 17 | +public interface ApiServiceIntegra { | |
| 18 | + /** | |
| 19 | + * 积分任务列表 | |
| 20 | + */ | |
| 21 | + @GET("Daren/integral/getTasks.action") | |
| 22 | + Observable<Result<BaseInfo<IntegraData>>> getIntegraList(@QueryMap() Map<String, String> map); | |
| 23 | + | |
| 24 | + /** | |
| 25 | + * 积分明细 | |
| 26 | + */ | |
| 27 | + @GET("Daren/integral/integralRecord.action") | |
| 28 | + Observable<Result<BaseInfo<IntegraContentData>>> getIntegraContentList(@QueryMap() Map<String, String> map); | |
| 29 | + | |
| 30 | + /** | |
| 31 | + * 签到 | |
| 32 | + */ | |
| 33 | + @POST("Daren/integral/checkIn.action") | |
| 34 | + Observable<Result<BaseInfo<CheckinData>>> getCheckIn(@QueryMap() Map<String, String> map); | |
| 35 | + | |
| 36 | + /** | |
| 37 | + * 增加积分 | |
| 38 | + */ | |
| 39 | + @POST("Daren/integral/addTask.action") | |
| 40 | + Observable<Result<BaseInfo<AddIntegration.DataBean>>> addIntegration(@QueryMap() Map<String, String> map); | |
| 41 | + | |
| 42 | +} | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/api/ApiServiceMember.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.api; | |
| 2 | + | |
| 3 | + | |
| 4 | +import com.cnlive.strike.data.network.model.BalanceDetailsInfo; | |
| 5 | +import com.cnlive.strike.data.network.model.BalanceInfo; | |
| 6 | +import com.cnlive.strike.data.network.model.BaseInfo; | |
| 7 | +import com.cnlive.strike.data.network.model.DarenInfo; | |
| 8 | +import com.cnlive.strike.data.network.model.EncryptKey; | |
| 9 | +import com.cnlive.strike.data.network.model.GroupBalanceInfo; | |
| 10 | +import com.cnlive.strike.data.network.model.RecordSourceMsgData; | |
| 11 | +import com.cnlive.strike.data.network.model.ViewTransferRecordData; | |
| 12 | + | |
| 13 | +import java.util.Map; | |
| 14 | + | |
| 15 | +import io.reactivex.Observable; | |
| 16 | +import retrofit2.adapter.rxjava2.Result; | |
| 17 | +import retrofit2.http.POST; | |
| 18 | +import retrofit2.http.QueryMap; | |
| 19 | + | |
| 20 | +/** | |
| 21 | + * 作者: 吴奎庆 | |
| 22 | + * <p> | |
| 23 | + * 时间: 2018/5/9 | |
| 24 | + * <p> | |
| 25 | + * 简介: | |
| 26 | + */ | |
| 27 | + | |
| 28 | +public interface ApiServiceMember { | |
| 29 | + | |
| 30 | + /** | |
| 31 | + * 余额 | |
| 32 | + * | |
| 33 | + * @param maps | |
| 34 | + * @return | |
| 35 | + */ | |
| 36 | + @POST("Daren/member/getBalance.action") | |
| 37 | + Observable<Result<BaseInfo<BalanceInfo>>> getBalance(@QueryMap() Map<String, String> maps); | |
| 38 | + | |
| 39 | + /** | |
| 40 | + * 检查达人审核状态 | |
| 41 | + */ | |
| 42 | + @POST("Daren/member/checkDaren.action") | |
| 43 | + Observable<Result<DarenInfo>> checkDaren(@QueryMap() Map<String, String> maps); | |
| 44 | + | |
| 45 | + | |
| 46 | + /** | |
| 47 | + * 获取余额的消费明细 | |
| 48 | + */ | |
| 49 | + @POST("Daren/transaction/getTransactionRecord.action") | |
| 50 | + Observable<Result<BaseInfo<BalanceDetailsInfo>>> getBalanceDetails(@QueryMap() Map<String, String> maps); | |
| 51 | + | |
| 52 | + | |
| 53 | + /** | |
| 54 | + * 设置修改支付密码 | |
| 55 | + * | |
| 56 | + * @param map | |
| 57 | + * @return | |
| 58 | + */ | |
| 59 | + @POST("Daren/wjjPay/setPassword.action") | |
| 60 | + Observable<Result<BaseInfo>> setPassword(@QueryMap() Map<String, String> map); | |
| 61 | + | |
| 62 | + /** | |
| 63 | + * 密码受否存在 顺带返回余额 | |
| 64 | + * | |
| 65 | + * @param map | |
| 66 | + * @return | |
| 67 | + */ | |
| 68 | + @POST("Daren/wjjPay/passwordIsExisting.action") | |
| 69 | + Observable<Result<BaseInfo<GroupBalanceInfo>>> passwordIsExisting(@QueryMap() Map<String, String> map); | |
| 70 | + | |
| 71 | + | |
| 72 | + /** | |
| 73 | + * 交易记录详情 | |
| 74 | + * | |
| 75 | + * @param map | |
| 76 | + * @return | |
| 77 | + */ | |
| 78 | + @POST("Daren/transaction/getRecordSourceDetail.action") | |
| 79 | + Observable<Result<BaseInfo<RecordSourceMsgData>>> getRecordSourceMsg(@QueryMap() Map<String, String> map); | |
| 80 | + | |
| 81 | + /** | |
| 82 | + * 查看与某一个商户的交易记录 | |
| 83 | + */ | |
| 84 | + @POST("Daren/groupManagement/viewTransferRecord.action") | |
| 85 | + Observable<Result<BaseInfo<ViewTransferRecordData>>> viewTransferRecord(@QueryMap() Map<String, String> map); | |
| 86 | + | |
| 87 | + /** | |
| 88 | + * 返回公钥&随机AESKey | |
| 89 | + * @return | |
| 90 | + */ | |
| 91 | + @POST("Daren/wjjPay/getKey.action") | |
| 92 | + Observable<Result<BaseInfo<EncryptKey>>> returnEncryptKey(@QueryMap() Map<String, String> map); | |
| 93 | + | |
| 94 | +} | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/api/ApiServiceMoment.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.api; | |
| 2 | + | |
| 3 | + | |
| 4 | +import com.cnlive.strike.data.network.model.BaseInfo; | |
| 5 | +import com.cnlive.strike.data.network.model.CircleData; | |
| 6 | +import com.cnlive.strike.data.network.model.FriendCircleNewMessage; | |
| 7 | +import com.cnlive.strike.data.network.model.LookUpMyMsgData; | |
| 8 | +import com.cnlive.strike.data.network.model.MomentData; | |
| 9 | +import com.cnlive.strike.data.network.model.SnowBannerData; | |
| 10 | +import com.cnlive.strike.data.network.model.StrangerAccessMomentInfo; | |
| 11 | + | |
| 12 | +import java.util.List; | |
| 13 | +import java.util.Map; | |
| 14 | + | |
| 15 | +import io.reactivex.Observable; | |
| 16 | +import okhttp3.MultipartBody; | |
| 17 | +import okhttp3.RequestBody; | |
| 18 | +import retrofit2.adapter.rxjava2.Result; | |
| 19 | +import retrofit2.http.FieldMap; | |
| 20 | +import retrofit2.http.FormUrlEncoded; | |
| 21 | +import retrofit2.http.Headers; | |
| 22 | +import retrofit2.http.Multipart; | |
| 23 | +import retrofit2.http.POST; | |
| 24 | +import retrofit2.http.Part; | |
| 25 | +import retrofit2.http.PartMap; | |
| 26 | +import retrofit2.http.Path; | |
| 27 | +import retrofit2.http.QueryMap; | |
| 28 | + | |
| 29 | +/** | |
| 30 | + * 达人有关的接口 | |
| 31 | + */ | |
| 32 | +public interface ApiServiceMoment { | |
| 33 | + | |
| 34 | + /* *//** | |
| 35 | + * 上传发布内容 | |
| 36 | + *//* | |
| 37 | + @POST("Daren/moment/releaseMoment.action") | |
| 38 | + @Multipart | |
| 39 | + Observable<Result<BaseInfo>> releaseMoment(@PartMap Map<String, RequestBody> maps, | |
| 40 | + @Part List<MultipartBody.Part> params); | |
| 41 | + | |
| 42 | + *//** | |
| 43 | + * 上传发布内容(图片传七牛) | |
| 44 | + *//* | |
| 45 | + @POST("Daren/moment/releaseMoment.action") | |
| 46 | + Observable<Result<BaseInfo>> releaseMomentNew(@QueryMap Map<String, Object> maps); | |
| 47 | +*/ | |
| 48 | + | |
| 49 | + /** | |
| 50 | + * 上传发布内容(图片传七牛) | |
| 51 | + */ | |
| 52 | + @POST("{user}") | |
| 53 | + Observable<Result<BaseInfo>> releaseMomentNe(@Path(value = "user", encoded = true) String path, @QueryMap Map<String, Object> maps); | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + /** | |
| 60 | + * 上传发布内容(不含图片) | |
| 61 | + */ | |
| 62 | + @POST("{user}") | |
| 63 | + Observable<Result<BaseInfo>> releaseMomentText(@Path(value = "user", encoded = true) String path, @QueryMap() Map<String, String> maps); | |
| 64 | + | |
| 65 | + /* *//** | |
| 66 | + * 上传目击者发布内容(图片传七牛) | |
| 67 | + *//* | |
| 68 | + @POST("Daren/witness/releaseWitness.action") | |
| 69 | + Observable<Result<BaseInfo>> releaseWitness(@QueryMap Map<String, Object> maps);*/ | |
| 70 | + | |
| 71 | + /** | |
| 72 | + * 上传目击者发布内容(图片传七牛) | |
| 73 | + */ | |
| 74 | + @POST("Daren/witness/releaseWitness.action") | |
| 75 | + Observable<Result<BaseInfo>> releaseWitnessnew(@QueryMap Map<String, String> maps); | |
| 76 | + | |
| 77 | + /** | |
| 78 | + * 获取生活圈渠道列表 | |
| 79 | + */ | |
| 80 | + @POST("Daren/publishType/getPublishTypeList.action") | |
| 81 | + Observable<Result<BaseInfo<CircleData>>> releaseCirclePath(@QueryMap() Map<String, String> maps); | |
| 82 | + | |
| 83 | + /** | |
| 84 | + * 冰雪活动上传发布内容 | |
| 85 | + */ | |
| 86 | + @POST("Daren/snow/releaseSnow.action") | |
| 87 | + @Multipart | |
| 88 | + Observable<Result<BaseInfo>> releaseSnow(@PartMap Map<String, RequestBody> maps, | |
| 89 | + @Part List<MultipartBody.Part> params); | |
| 90 | + | |
| 91 | + /** | |
| 92 | + * 冰雪活动上传发布内容(图片新接口格式) | |
| 93 | + */ | |
| 94 | + @POST("Daren/snow/releaseSnow.action") | |
| 95 | + Observable<Result<BaseInfo>> releaseSnow(@QueryMap() Map<String, Object> maps); | |
| 96 | + /** | |
| 97 | + * 冰雪活动上传发布内容(图片新接口格式) | |
| 98 | + */ | |
| 99 | + @POST("Daren/snow/releaseSnow.action") | |
| 100 | + Observable<Result<BaseInfo>> releaseSnowNew(@QueryMap() Map<String, String> maps); | |
| 101 | + | |
| 102 | + /** | |
| 103 | + * 冰雪活动上传发布内容(不含图片) | |
| 104 | + */ | |
| 105 | + @POST("Daren/snow/getSnowBanner.action") | |
| 106 | + Observable<Result<BaseInfo<List<SnowBannerData>>>> getSnowBanner(@QueryMap() Map<String, String> maps); | |
| 107 | + | |
| 108 | + /** | |
| 109 | + * 获取相册内容 | |
| 110 | + */ | |
| 111 | + @Headers("cache:5") | |
| 112 | + @POST("Daren/moment/myMoment.action") | |
| 113 | + Observable<Result<BaseInfo<MomentData>>> myMoment(@QueryMap() Map<String, String> maps); | |
| 114 | + | |
| 115 | + /** | |
| 116 | + * 获取朋友圈内容 | |
| 117 | + */ | |
| 118 | + @Headers("cache:5") | |
| 119 | + @POST("Daren/moment/friendMoment.action") | |
| 120 | + Observable<Result<BaseInfo<MomentData>>> friendMoment(@QueryMap() Map<String, String> maps); | |
| 121 | + | |
| 122 | + @POST("Daren/moment/deleteMyMoment.action") | |
| 123 | + Observable<Result<BaseInfo>> deleteMyMoment(@QueryMap() Map<String, String> maps); | |
| 124 | + | |
| 125 | + /** | |
| 126 | + * 获取新消息列表 | |
| 127 | + * | |
| 128 | + * @param maps sid 用户ID | |
| 129 | + * @return | |
| 130 | + */ | |
| 131 | + @POST("Daren/moment/getNewMsgList.action") | |
| 132 | + Observable<Result<BaseInfo<List<FriendCircleNewMessage>>>> getNewMsgList(@QueryMap() Map<String, String> maps); | |
| 133 | + | |
| 134 | + | |
| 135 | + @POST("Daren/moment/deleteNewMsg.action") | |
| 136 | + Observable<Result<BaseInfo>> deleteNewMsg(@QueryMap() Map<String, String> maps); | |
| 137 | + | |
| 138 | + | |
| 139 | + /** | |
| 140 | + * 查看个人中心 | |
| 141 | + */ | |
| 142 | + @POST("Daren/moment/lookUpMyMsg.action") | |
| 143 | + Observable<Result<BaseInfo<LookUpMyMsgData>>> lookUpMyMsg(@QueryMap() Map<String, String> maps); | |
| 144 | + | |
| 145 | + /** | |
| 146 | + * 点赞 | |
| 147 | + */ | |
| 148 | + @POST("Daren/moment/praiseMoment.action") | |
| 149 | + Observable<Result<BaseInfo>> praiseMoment(@QueryMap() Map<String, String> maps); | |
| 150 | + | |
| 151 | + /** | |
| 152 | + * 获取朋友圈内容 | |
| 153 | + * momentId | |
| 154 | + */ | |
| 155 | + @POST("Daren/moment/getMomentDetail.action") | |
| 156 | + Observable<Result<BaseInfo<MomentData.FriendItem>>> getMomentDetail(@QueryMap() Map<String, String> maps); | |
| 157 | + | |
| 158 | + /** | |
| 159 | + * 设置陌生人生活圈权限 | |
| 160 | + */ | |
| 161 | + @FormUrlEncoded | |
| 162 | + @POST("Daren/moment/strangerSwitch.action") | |
| 163 | + Observable<Result<BaseInfo>> setStrangerAccessMoment(@FieldMap() Map<String, String> maps); | |
| 164 | + | |
| 165 | + /** | |
| 166 | + * 检查陌生人生活圈权限状态 | |
| 167 | + */ | |
| 168 | + @FormUrlEncoded | |
| 169 | + @POST("Daren/moment/findStrangerSwitch.action") | |
| 170 | + Observable<Result<BaseInfo<StrangerAccessMomentInfo>>> getStrangerAccessMomentStatus(@FieldMap() Map<String, String> maps); | |
| 171 | + | |
| 172 | +} | |
| 173 | + | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/api/ApiServiceOpen.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.api; | |
| 2 | + | |
| 3 | +import com.cnlive.strike.data.network.model.BaseInfo; | |
| 4 | +import com.cnlive.strike.data.network.model.CommentListData; | |
| 5 | +import com.cnlive.strike.data.network.model.DataEntity; | |
| 6 | +import com.cnlive.strike.data.network.model.FaceData; | |
| 7 | +import com.cnlive.strike.data.network.model.FriendCommentState; | |
| 8 | +import com.cnlive.strike.data.network.model.FriendListData; | |
| 9 | +import com.cnlive.strike.data.network.model.InteractiveReadAllCommentData; | |
| 10 | +import com.cnlive.strike.data.network.model.LiveActivityPlayInfo; | |
| 11 | +import com.cnlive.strike.data.network.model.PlayerVodRates; | |
| 12 | +import com.cnlive.strike.data.network.model.StorageInfoData; | |
| 13 | +import com.cnlive.strike.data.network.model.TokenData; | |
| 14 | +import com.cnlive.strike.data.network.model.UploadAuthData; | |
| 15 | +import com.cnlive.strike.data.network.model.UserData; | |
| 16 | +import com.cnlive.strike.data.network.model.VideoUploadResult; | |
| 17 | + | |
| 18 | +import java.util.List; | |
| 19 | +import java.util.Map; | |
| 20 | + | |
| 21 | +import io.reactivex.Observable; | |
| 22 | +import okhttp3.MultipartBody; | |
| 23 | +import okhttp3.RequestBody; | |
| 24 | +import retrofit2.adapter.rxjava2.Result; | |
| 25 | +import retrofit2.http.FieldMap; | |
| 26 | +import retrofit2.http.FormUrlEncoded; | |
| 27 | +import retrofit2.http.GET; | |
| 28 | +import retrofit2.http.Multipart; | |
| 29 | +import retrofit2.http.POST; | |
| 30 | +import retrofit2.http.Part; | |
| 31 | +import retrofit2.http.PartMap; | |
| 32 | +import retrofit2.http.QueryMap; | |
| 33 | + | |
| 34 | +/** | |
| 35 | + * Created by xiansong on 2018/3/22. | |
| 36 | + */ | |
| 37 | + | |
| 38 | +public interface ApiServiceOpen { | |
| 39 | + | |
| 40 | + /** | |
| 41 | + * @param maps appId 应用ID | |
| 42 | + * plat i=IOS客户端,a=Android客户端 | |
| 43 | + * id 主题ID | |
| 44 | + * page 页号 | |
| 45 | + * pageSize 每页显示的条数 | |
| 46 | + * sign 签名 | |
| 47 | + * @return | |
| 48 | + */ | |
| 49 | + | |
| 50 | + @GET("open/api2/commentServices/services/commentForChat/readAll") | |
| 51 | + Observable<Result<BaseInfo<FriendListData>>> readAllComment(@QueryMap() Map<String, String> maps); | |
| 52 | + | |
| 53 | + /** | |
| 54 | + * 删除朋友圈评论 | |
| 55 | + * | |
| 56 | + * @param maps appId 应用ID | |
| 57 | + * plat i=IOS客户端,a=Android客户端 | |
| 58 | + * id 主题ID | |
| 59 | + * page 页号 | |
| 60 | + * pageSize 每页显示的条数 | |
| 61 | + * sign 签名 | |
| 62 | + * @return | |
| 63 | + */ | |
| 64 | + | |
| 65 | + @POST("open/api2/commentServices/services/commentForChat/delete") | |
| 66 | + Observable<Result<BaseInfo>> delete(@QueryMap() Map<String, String> maps); | |
| 67 | + | |
| 68 | + /** | |
| 69 | + * 读取点赞列表 | |
| 70 | + * | |
| 71 | + * @param maps | |
| 72 | + * @return | |
| 73 | + */ | |
| 74 | + @POST("open/api2/support/loadSupport") | |
| 75 | + Observable<Result<BaseInfo<FriendListData>>> loadSupport(@QueryMap() Map<String, String> maps); | |
| 76 | + | |
| 77 | + | |
| 78 | + /** | |
| 79 | + * 读取点赞列表 | |
| 80 | + * | |
| 81 | + * @param maps | |
| 82 | + * @return | |
| 83 | + */ | |
| 84 | + @POST("open/api2/support/readAll") | |
| 85 | + Observable<Result<BaseInfo<FriendListData>>> readAllLike(@QueryMap() Map<String, String> maps); | |
| 86 | + | |
| 87 | + /** | |
| 88 | + * 短视频入库点播云接口for app | |
| 89 | + * 创建短视频信息进行存储 | |
| 90 | + * | |
| 91 | + * @param maps md5 string true MD5 | |
| 92 | + * appId string true APPID | |
| 93 | + * videoKey string true 短视频相对路径(支持金山云存储) | |
| 94 | + * name string false 短视频名称 | |
| 95 | + * description string false 短视频的信息描述 | |
| 96 | + * isHorizontalScreen int true 屏幕方向,0:垂直即竖屏 /1:水平即横屏 ,默认为1 | |
| 97 | + * userId string false 短视频的信息用户标识 | |
| 98 | + * callBackUrl string false 短视频信息回调地址 | |
| 99 | + * platform_id string true APP bundleID 或者是包名,平台鉴权使用 | |
| 100 | + * extensions string false 扩展字段,格式 | |
| 101 | + * timestamp int true 精确到秒,当前Unix时间戳,请保证请求服务器时间正确 | |
| 102 | + * sign String true 签名规则 | |
| 103 | + * @return | |
| 104 | + */ | |
| 105 | + | |
| 106 | + @POST("open/api2/vod_epg/svInputMamForAPP") | |
| 107 | + Observable<Result<BaseInfo<VideoUploadResult>>> svInputMamForAPP(@QueryMap() Map<String, String> maps); | |
| 108 | + | |
| 109 | + /** | |
| 110 | + * 获取点播评论列表 | |
| 111 | + */ | |
| 112 | + @POST("open/api2/commentServices/services/commentForChat/loadComment") | |
| 113 | + Observable<Result<BaseInfo<FriendListData>>> releaseVideoPath(@QueryMap() Map<String, String> maps); | |
| 114 | + | |
| 115 | + /** | |
| 116 | + * 获取pgc评论列表,此接口不能对某人回复的 | |
| 117 | + */ | |
| 118 | + @GET("open/api2/commentServices/services/commentForHdBySpId/loadComment") | |
| 119 | + Observable<Result<BaseInfo<CommentListData>>> getAllComments(@QueryMap() Map<String, String> maps); | |
| 120 | + | |
| 121 | + /** | |
| 122 | + * 评论点播节目 | |
| 123 | + * | |
| 124 | + * @param map | |
| 125 | + * @return | |
| 126 | + */ | |
| 127 | + @POST("open/api2/commentServices/services/commentForChat/insert") | |
| 128 | + Observable<Result<BaseInfo<FriendCommentState>>> sendVideoComment(@QueryMap Map<String, String> map); | |
| 129 | + | |
| 130 | + /** | |
| 131 | + * 删除评论 | |
| 132 | + * | |
| 133 | + * @param map | |
| 134 | + * @return | |
| 135 | + */ | |
| 136 | + @POST("open/api2/commentServices/services/commentForChat/delete") | |
| 137 | + Observable<Result<BaseInfo>> deleteVideoComment(@QueryMap Map<String, String> map); | |
| 138 | + | |
| 139 | + /** | |
| 140 | + * 读取点赞列表 | |
| 141 | + * | |
| 142 | + * @param maps | |
| 143 | + * @return | |
| 144 | + */ | |
| 145 | + @POST("open/api2/user/readUserById") | |
| 146 | + Observable<Result<BaseInfo<DataEntity>>> readUserById(@QueryMap() Map<String, String> maps); | |
| 147 | + | |
| 148 | + /** | |
| 149 | + * 上传鉴权 | |
| 150 | + * | |
| 151 | + * @param maps | |
| 152 | + * @return | |
| 153 | + */ | |
| 154 | + @POST("open/api2/vod_epg/getUploadAuthForApp") | |
| 155 | + Observable<Result<BaseInfo<UploadAuthData>>> getUploadAuthForApp(@QueryMap Map<String, String> maps); | |
| 156 | + | |
| 157 | + /** | |
| 158 | + * 获取存储信息 | |
| 159 | + * | |
| 160 | + * @param map | |
| 161 | + * @return | |
| 162 | + */ | |
| 163 | + @POST("open/api2/storage/getStorageInfo") | |
| 164 | + Observable<Result<BaseInfo<List<StorageInfoData>>>> getStorageInfo(@QueryMap Map<String, String> map); | |
| 165 | + | |
| 166 | + /** | |
| 167 | + * 获取直播活动播放信息 | |
| 168 | + * | |
| 169 | + * @param map activityId string true 由开发者通过API创建接口或者在直播云管理端创建,保证唯一性 | |
| 170 | + */ | |
| 171 | + @FormUrlEncoded | |
| 172 | + @POST("open/api2/live_epg/getLiveActivityPlayInfo4App") | |
| 173 | + Observable<Result<BaseInfo<LiveActivityPlayInfo>>> getLiveActivityPlayInfo(@FieldMap Map<String, String> map); | |
| 174 | + | |
| 175 | + /** | |
| 176 | + * 互动云获取一条节目的评论列表 | |
| 177 | + * | |
| 178 | + * @param map | |
| 179 | + * @return | |
| 180 | + */ | |
| 181 | + @POST("open/api2/commentServices/commentForHdBySpId/readAllComment") | |
| 182 | + Observable<Result<BaseInfo<InteractiveReadAllCommentData>>> interactiveReadAllComment(@QueryMap Map<String, String> map); | |
| 183 | + | |
| 184 | + /** | |
| 185 | + * 评论一条节目 | |
| 186 | + * | |
| 187 | + * @param map | |
| 188 | + * @return | |
| 189 | + */ | |
| 190 | + @POST("open/api2/commentServices/commentForHdBySpId/insertComment") | |
| 191 | + Observable<Result<BaseInfo<FriendCommentState>>> insertComment(@QueryMap Map<String, String> map); | |
| 192 | + | |
| 193 | + /** | |
| 194 | + * 顶踩一条节目 0:踩 1:顶 | |
| 195 | + * | |
| 196 | + * @param map | |
| 197 | + * @return | |
| 198 | + */ | |
| 199 | + @POST("open/api2/ctServices/supportForHd/support") | |
| 200 | + Observable<Result<BaseInfo>> support(@QueryMap Map<String, String> map); | |
| 201 | + | |
| 202 | + | |
| 203 | + /** | |
| 204 | + * 快捷登录前发送验证码 | |
| 205 | + * | |
| 206 | + * @param map | |
| 207 | + * @return | |
| 208 | + */ | |
| 209 | + @POST("open/api2/user/sendVerifyCode") | |
| 210 | + Observable<Result<BaseInfo>> sendVerifyCodeBefQuickLogin(@QueryMap Map<String, String> map); | |
| 211 | + | |
| 212 | + /** | |
| 213 | + * 快捷登录 | |
| 214 | + * | |
| 215 | + * @param map | |
| 216 | + * @return | |
| 217 | + */ | |
| 218 | + @POST("open/api2/user/loginInQuickly") | |
| 219 | + Observable<Result<BaseInfo<UserData>>> quickLogin(@QueryMap Map<String, String> map); | |
| 220 | + | |
| 221 | + /** | |
| 222 | + * 登录 | |
| 223 | + * | |
| 224 | + * @param map | |
| 225 | + * @return | |
| 226 | + */ | |
| 227 | + @POST("open/api2/user/loginIn") | |
| 228 | + Observable<Result<BaseInfo<UserData>>> login(@QueryMap Map<String, String> map); | |
| 229 | + | |
| 230 | + /** | |
| 231 | + * 查询用户信息 | |
| 232 | + * | |
| 233 | + * @param map | |
| 234 | + * @return | |
| 235 | + */ | |
| 236 | + @POST("open/api2/user/readUserById") | |
| 237 | + Observable<Result<BaseInfo<UserData>>> queryUserInfo(@QueryMap Map<String, String> map); | |
| 238 | + | |
| 239 | + /** | |
| 240 | + * 更新用户附加信息 | |
| 241 | + * | |
| 242 | + * @param map | |
| 243 | + * @return | |
| 244 | + */ | |
| 245 | + @POST("open/api2/user/updateUserExtInfo") | |
| 246 | + Observable<Result<BaseInfo>> updateUserExtInfo(@QueryMap Map<String, String> map); | |
| 247 | + | |
| 248 | + /** | |
| 249 | + * 修改用户单项信息 | |
| 250 | + * | |
| 251 | + * @param map | |
| 252 | + * @return | |
| 253 | + */ | |
| 254 | + @POST("open/api2/user/updateUserById") | |
| 255 | + Observable<Result<BaseInfo>> modifyUserInfo(@QueryMap Map<String, String> map); | |
| 256 | + | |
| 257 | + | |
| 258 | + /** | |
| 259 | + * 注册或修改手机号前发手机验证码 | |
| 260 | + * | |
| 261 | + * @param map | |
| 262 | + * @return | |
| 263 | + */ | |
| 264 | + @POST("open/api2/user/sendVerifyCodeForUnRegistered") | |
| 265 | + Observable<Result<BaseInfo>> sendVerifyCodeForUnRegistered(@QueryMap Map<String, String> map); | |
| 266 | + | |
| 267 | + /** | |
| 268 | + * 更新手机号 | |
| 269 | + * | |
| 270 | + * @param map | |
| 271 | + * @return | |
| 272 | + */ | |
| 273 | + @POST("open/api2/user/updateMobileById") | |
| 274 | + Observable<Result<BaseInfo>> updateMobile(@QueryMap Map<String, String> map); | |
| 275 | + | |
| 276 | + /** | |
| 277 | + * 注册 | |
| 278 | + * | |
| 279 | + * @param map | |
| 280 | + * @return | |
| 281 | + */ | |
| 282 | + @POST("open/api2/user/register") | |
| 283 | + Observable<Result<BaseInfo<UserData>>> register(@QueryMap Map<String, String> map); | |
| 284 | + | |
| 285 | + | |
| 286 | + /** | |
| 287 | + * 获取access_token | |
| 288 | + * | |
| 289 | + * @param map | |
| 290 | + * @return | |
| 291 | + */ | |
| 292 | + @POST("open/api2/token") | |
| 293 | + Observable<Result<BaseInfo<TokenData>>> accessToken(@QueryMap Map<String, String> map); | |
| 294 | + | |
| 295 | + /** | |
| 296 | + * 上传头像 | |
| 297 | + * | |
| 298 | + * @param map | |
| 299 | + * @param params | |
| 300 | + * @return | |
| 301 | + */ | |
| 302 | + @Multipart | |
| 303 | + @POST("open/api2/user/updateUserFaceById") | |
| 304 | + Observable<Result<BaseInfo<FaceData>>> updateUserFace(@PartMap Map<String, RequestBody> map, | |
| 305 | + @Part List<MultipartBody.Part> params); | |
| 306 | + | |
| 307 | + /** | |
| 308 | + * 获取点播云视频的码率 | |
| 309 | + * | |
| 310 | + * @param map | |
| 311 | + * @return | |
| 312 | + */ | |
| 313 | + @GET("open/api2/vod_epg/getRates") | |
| 314 | + Observable<Result<BaseInfo<PlayerVodRates>>> getRates(@QueryMap Map<String, String> map); | |
| 315 | +} | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/api/ApiServiceOrder.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.api; | |
| 2 | + | |
| 3 | +import com.cnlive.strike.data.network.model.BaseInfo; | |
| 4 | +import com.cnlive.strike.data.network.model.GetOrderByStatusData; | |
| 5 | +import com.cnlive.strike.data.network.model.OrderInfoData; | |
| 6 | + | |
| 7 | +import java.util.List; | |
| 8 | +import java.util.Map; | |
| 9 | + | |
| 10 | +import io.reactivex.Observable; | |
| 11 | +import okhttp3.MultipartBody; | |
| 12 | +import okhttp3.RequestBody; | |
| 13 | +import retrofit2.adapter.rxjava2.Result; | |
| 14 | +import retrofit2.http.FieldMap; | |
| 15 | +import retrofit2.http.FormUrlEncoded; | |
| 16 | +import retrofit2.http.Multipart; | |
| 17 | +import retrofit2.http.POST; | |
| 18 | +import retrofit2.http.Part; | |
| 19 | +import retrofit2.http.PartMap; | |
| 20 | +import retrofit2.http.QueryMap; | |
| 21 | + | |
| 22 | +/** | |
| 23 | + * Created by gujun on 2018/2/6. | |
| 24 | + */ | |
| 25 | + | |
| 26 | +public interface ApiServiceOrder { | |
| 27 | + | |
| 28 | + /** | |
| 29 | + * 获取订单信息(更新) | |
| 30 | + * | |
| 31 | + * @param maps | |
| 32 | + * @return | |
| 33 | + */ | |
| 34 | + @FormUrlEncoded | |
| 35 | + @POST("Daren/order/getOrderItem.action") | |
| 36 | + Observable<Result<BaseInfo<OrderInfoData>>> getOrderItem(@FieldMap Map<String, String> maps); | |
| 37 | + | |
| 38 | + /** | |
| 39 | + * 生成订单 | |
| 40 | + * | |
| 41 | + * @param maps | |
| 42 | + * @return | |
| 43 | + */ | |
| 44 | + @POST("Daren/order/createOrder.action") | |
| 45 | + Observable<Result<BaseInfo<OrderInfoData>>> createOrder(@QueryMap Map<String, String> maps); | |
| 46 | + | |
| 47 | + /** | |
| 48 | + * 修改订单 | |
| 49 | + * | |
| 50 | + * @param maps | |
| 51 | + * @return | |
| 52 | + */ | |
| 53 | + @POST("Daren/order/modifyOrder.action") | |
| 54 | + Observable<Result<BaseInfo<OrderInfoData>>> modifyOrder(@QueryMap Map<String, String> maps); | |
| 55 | + | |
| 56 | + /** | |
| 57 | + * 确认订单 | |
| 58 | + * | |
| 59 | + * @param maps | |
| 60 | + * @return | |
| 61 | + */ | |
| 62 | + @FormUrlEncoded | |
| 63 | + @POST("Daren/order/submitOrder.action") | |
| 64 | + Observable<Result<BaseInfo<OrderInfoData>>> confirmOrder(@FieldMap Map<String, String> maps); | |
| 65 | + | |
| 66 | + /** | |
| 67 | + * 取消订单 | |
| 68 | + * | |
| 69 | + * @param maps | |
| 70 | + * @return | |
| 71 | + */ | |
| 72 | + @FormUrlEncoded | |
| 73 | + @POST("Daren/order/cancelOrder.action") | |
| 74 | + Observable<Result<BaseInfo<OrderInfoData>>> cancelOrder(@FieldMap Map<String, String> maps); | |
| 75 | + | |
| 76 | + /** | |
| 77 | + * 订单有误操作 | |
| 78 | + * | |
| 79 | + * @param maps | |
| 80 | + * @return | |
| 81 | + */ | |
| 82 | + @FormUrlEncoded | |
| 83 | + @POST("Daren/order/correctOrder.action") | |
| 84 | + Observable<Result<BaseInfo<OrderInfoData>>> correctOrder(@FieldMap Map<String, String> maps); | |
| 85 | + | |
| 86 | + /** | |
| 87 | + * 根据状态查询订单列表 | |
| 88 | + * | |
| 89 | + * @param maps | |
| 90 | + * @return | |
| 91 | + */ | |
| 92 | + @FormUrlEncoded | |
| 93 | + @POST("Daren/order/getOrdersByStatus.action") | |
| 94 | + Observable<Result<BaseInfo<GetOrderByStatusData>>> getOrdersByStatus(@FieldMap Map<String, String> maps); | |
| 95 | + | |
| 96 | + /** | |
| 97 | + * 申请退款 | |
| 98 | + */ | |
| 99 | + @POST("Daren/order/applyRefund.action") | |
| 100 | + @Multipart | |
| 101 | + Observable<Result<BaseInfo>> applyRefund(@PartMap Map<String, RequestBody> maps, | |
| 102 | + @Part List<MultipartBody.Part> params); | |
| 103 | + | |
| 104 | + /** | |
| 105 | + * 申请退款(不含图片) | |
| 106 | + */ | |
| 107 | + @POST("Daren/order/applyRefund.action") | |
| 108 | + @Multipart | |
| 109 | + Observable<Result<BaseInfo>> applyRefund(@PartMap() Map<String, RequestBody> maps); | |
| 110 | + | |
| 111 | + /** | |
| 112 | + * 确认收货 | |
| 113 | + * | |
| 114 | + * @param maps | |
| 115 | + * @return | |
| 116 | + */ | |
| 117 | + @FormUrlEncoded | |
| 118 | + @POST("Daren/order/confirmRecv.action") | |
| 119 | + Observable<Result<BaseInfo<Object>>> confirmRecv(@FieldMap Map<String, String> maps); | |
| 120 | + | |
| 121 | + /** | |
| 122 | + * 删除订单 | |
| 123 | + * | |
| 124 | + * @param maps | |
| 125 | + * @return | |
| 126 | + */ | |
| 127 | + @POST("Daren/order/deleteOrder.action") | |
| 128 | + Observable<Result<BaseInfo<Object>>> deleteOrder(@QueryMap() Map<String, String> maps); | |
| 129 | + | |
| 130 | +} | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/api/ApiServiceQrcode.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.api; | |
| 2 | + | |
| 3 | +import com.cnlive.strike.data.network.model.BaseInfo; | |
| 4 | +import com.cnlive.strike.data.network.model.CheckQrUrlInfo; | |
| 5 | +import com.cnlive.strike.data.network.model.CottonCandyInfo; | |
| 6 | +import com.cnlive.strike.data.network.model.CreateQrInfo; | |
| 7 | +import com.cnlive.strike.data.network.model.DarenInfoModel; | |
| 8 | +import com.cnlive.strike.data.network.model.QrActivityInfo; | |
| 9 | +import com.cnlive.strike.data.network.model.QrOrderInfo; | |
| 10 | +import com.cnlive.strike.data.network.model.QrSignInfo; | |
| 11 | + | |
| 12 | +import java.util.Map; | |
| 13 | + | |
| 14 | +import io.reactivex.Observable; | |
| 15 | +import retrofit2.adapter.rxjava2.Result; | |
| 16 | +import retrofit2.http.FieldMap; | |
| 17 | +import retrofit2.http.FormUrlEncoded; | |
| 18 | +import retrofit2.http.POST; | |
| 19 | +import retrofit2.http.QueryMap; | |
| 20 | + | |
| 21 | +public interface ApiServiceQrcode { | |
| 22 | + /** | |
| 23 | + * 获取生成二维码的数据 | |
| 24 | + * @param map | |
| 25 | + * @return | |
| 26 | + * appId | |
| 27 | + * sid | |
| 28 | + * type 生成或充值二维码 生成:gen 重置:reset | |
| 29 | + */ | |
| 30 | + @POST("Daren/qrcode/genOrResetQrCode.action") | |
| 31 | + Observable<Result<BaseInfo<CreateQrInfo>>> getQrContent(@QueryMap() Map<String, String> map); | |
| 32 | + | |
| 33 | + | |
| 34 | + @POST("Daren/qrcode/checkQrCode.action") | |
| 35 | + Observable<Result<BaseInfo<CreateQrInfo>>> checkQr(@QueryMap() Map<String, String> map); | |
| 36 | + | |
| 37 | + /** | |
| 38 | + * 获取达人信息 | |
| 39 | + * | |
| 40 | + * @param param | |
| 41 | + * @return | |
| 42 | + */ | |
| 43 | + @POST("Daren/member/getDarenById.action") | |
| 44 | + Observable<Result<BaseInfo<DarenInfoModel>>> getDarenBySid(@QueryMap Map<String, String> param); | |
| 45 | + | |
| 46 | + /** | |
| 47 | + * 获取达人信息 | |
| 48 | + * | |
| 49 | + * @param param | |
| 50 | + * @return | |
| 51 | + */ | |
| 52 | + @FormUrlEncoded | |
| 53 | + @POST("Daren/order/addOrder.action") | |
| 54 | + Observable<Result<BaseInfo<QrOrderInfo>>> getQrOrder(@FieldMap Map<String, String> param); | |
| 55 | + /** | |
| 56 | + * 扫码签到(临时) | |
| 57 | + * | |
| 58 | + * @param param | |
| 59 | + * @return | |
| 60 | + */ | |
| 61 | + @POST("Daren/sign/checkSignInfo.action") | |
| 62 | + Observable<Result<BaseInfo<QrSignInfo>>> checkSignInfo(@QueryMap Map<String, String> param); | |
| 63 | + | |
| 64 | + /** | |
| 65 | + * 扫码活动(临时) | |
| 66 | + * @param param | |
| 67 | + * @return | |
| 68 | + */ | |
| 69 | + @POST("Daren/sign/checkQrActivity.action") | |
| 70 | + Observable<Result<BaseInfo<QrActivityInfo>>> checkQrActivity(@QueryMap Map<String, String> param); | |
| 71 | + | |
| 72 | + /** | |
| 73 | + * 校验二维码数据 | |
| 74 | + * @param param | |
| 75 | + * @return | |
| 76 | + */ | |
| 77 | + @POST("Daren/qrcode/checkQrCodeUrl.action") | |
| 78 | + Observable<Result<BaseInfo<CheckQrUrlInfo>>> checkQrUrl(@QueryMap Map<String, String> param); | |
| 79 | + | |
| 80 | + | |
| 81 | + /** | |
| 82 | + * 生成棉花糖订单信息 | |
| 83 | + * @param param | |
| 84 | + * @return | |
| 85 | + */ | |
| 86 | + | |
| 87 | + @POST("Daren/order/addOrderMHT.action") | |
| 88 | + Observable<Result<BaseInfo<CottonCandyInfo>>> getCottonCandy(@QueryMap Map<String, String> param); | |
| 89 | + | |
| 90 | +} | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/api/ApiServiceReply.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.api; | |
| 2 | + | |
| 3 | + | |
| 4 | +import com.cnlive.strike.data.network.model.BaseInfo; | |
| 5 | +import com.cnlive.strike.data.network.model.QuickShortMessageData; | |
| 6 | + | |
| 7 | +import java.util.ArrayList; | |
| 8 | +import java.util.Map; | |
| 9 | + | |
| 10 | +import io.reactivex.Observable; | |
| 11 | +import retrofit2.adapter.rxjava2.Result; | |
| 12 | +import retrofit2.http.FieldMap; | |
| 13 | +import retrofit2.http.FormUrlEncoded; | |
| 14 | +import retrofit2.http.POST; | |
| 15 | +import retrofit2.http.QueryMap; | |
| 16 | + | |
| 17 | +/** | |
| 18 | + * 达人快捷短语有关的接口 | |
| 19 | + */ | |
| 20 | +public interface ApiServiceReply { | |
| 21 | + | |
| 22 | + /** | |
| 23 | + * 更新快捷短语 | |
| 24 | + * | |
| 25 | + * @param maps | |
| 26 | + * @return | |
| 27 | + */ | |
| 28 | + @FormUrlEncoded | |
| 29 | + @POST("Daren/reply/updateQuickReply.action") | |
| 30 | + Observable<Result<BaseInfo<Object>>> updateQuickReply(@FieldMap Map<String, String> maps); | |
| 31 | + | |
| 32 | + /** | |
| 33 | + * 读取快捷短语列表 | |
| 34 | + * | |
| 35 | + * @param maps | |
| 36 | + * @return | |
| 37 | + */ | |
| 38 | + @POST("Daren/reply/readQuickReply.action") | |
| 39 | + Observable<Result<BaseInfo<ArrayList<QuickShortMessageData>>>> readQuickReply(@QueryMap() Map<String, String> maps); | |
| 40 | + | |
| 41 | + /** | |
| 42 | + * 添加一条快捷短语 | |
| 43 | + * | |
| 44 | + * @param maps | |
| 45 | + * @return | |
| 46 | + */ | |
| 47 | + @FormUrlEncoded | |
| 48 | + @POST("Daren/reply/addQuickReply.action") | |
| 49 | + Observable<Result<BaseInfo<Object>>> addQuickReply(@FieldMap Map<String, String> maps); | |
| 50 | + | |
| 51 | + /** | |
| 52 | + * 删除某一条快捷短语 | |
| 53 | + * | |
| 54 | + * @param maps | |
| 55 | + * @return | |
| 56 | + */ | |
| 57 | + @POST("Daren/reply/deleteQuickReply.action") | |
| 58 | + Observable<Result<BaseInfo<Object>>> deleteQuickReply(@QueryMap() Map<String, String> maps); | |
| 59 | + | |
| 60 | +} | |
| 61 | + | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/api/ApiServiceSms.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.api; | |
| 2 | + | |
| 3 | +import com.cnlive.strike.data.network.model.BaseInfo; | |
| 4 | + | |
| 5 | +import java.util.Map; | |
| 6 | + | |
| 7 | +import io.reactivex.Observable; | |
| 8 | +import retrofit2.adapter.rxjava2.Result; | |
| 9 | +import retrofit2.http.POST; | |
| 10 | +import retrofit2.http.QueryMap; | |
| 11 | + | |
| 12 | +/** | |
| 13 | + * Created by Lynn on 2018/6/7. | |
| 14 | + */ | |
| 15 | + | |
| 16 | +public interface ApiServiceSms { | |
| 17 | + | |
| 18 | + | |
| 19 | + /** | |
| 20 | + * 发送验证码(修改支付密码) | |
| 21 | + */ | |
| 22 | + @POST("Daren/sms/sendSMS.action") | |
| 23 | + Observable<Result<BaseInfo>> sendSms(@QueryMap Map<String, String> map); | |
| 24 | + | |
| 25 | + /** | |
| 26 | + * 验证验证码(修改支付密码) | |
| 27 | + * | |
| 28 | + * @param map | |
| 29 | + * @return | |
| 30 | + */ | |
| 31 | + @POST("Daren/sms/checkVerifyCode.action") | |
| 32 | + Observable<Result<BaseInfo>> checkVerifyCode(@QueryMap Map<String, String> map); | |
| 33 | +} | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/api/ApiServiceStock.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.api; | |
| 2 | + | |
| 3 | +import com.cnlive.strike.data.network.model.BaseInfo; | |
| 4 | +import com.cnlive.strike.data.network.model.CollectionData; | |
| 5 | + | |
| 6 | +import java.util.Map; | |
| 7 | + | |
| 8 | +import io.reactivex.Observable; | |
| 9 | +import retrofit2.adapter.rxjava2.Result; | |
| 10 | +import retrofit2.http.POST; | |
| 11 | +import retrofit2.http.QueryMap; | |
| 12 | + | |
| 13 | +public interface ApiServiceStock { | |
| 14 | + | |
| 15 | + /** | |
| 16 | + * 收藏接口 | |
| 17 | + * | |
| 18 | + * @return | |
| 19 | + */ | |
| 20 | + @POST("Daren/stock/collection.action") | |
| 21 | + Observable<Result<BaseInfo>> collection(@QueryMap() Map<String, String> map); | |
| 22 | + | |
| 23 | + | |
| 24 | + /** | |
| 25 | + * 获取收藏的 列表 | |
| 26 | + * | |
| 27 | + * @param map | |
| 28 | + * @return | |
| 29 | + */ | |
| 30 | + @POST("Daren/stock/getCollectionList.action") | |
| 31 | + Observable<Result<BaseInfo<CollectionData>>> getCollection(@QueryMap() Map<String, String> map); | |
| 32 | + | |
| 33 | + /** | |
| 34 | + * 取消收藏 | |
| 35 | + * | |
| 36 | + * @param map | |
| 37 | + * @return | |
| 38 | + */ | |
| 39 | + @POST("Daren/stock/deleteCollection.action") | |
| 40 | + Observable<Result<BaseInfo<BaseInfo>>> cancleCollection(@QueryMap() Map<String, String> map); | |
| 41 | + | |
| 42 | + | |
| 43 | +} | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/api/ApiServiceSub.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.api; | |
| 2 | + | |
| 3 | + | |
| 4 | +import com.cnlive.strike.data.network.model.BaseInfo; | |
| 5 | +import com.cnlive.strike.data.network.model.GetDarenHomeData; | |
| 6 | +import com.cnlive.strike.data.network.model.GetDarensData; | |
| 7 | +import com.cnlive.strike.data.network.model.GroupNotificationListData; | |
| 8 | +import com.cnlive.strike.data.network.model.SearchDarenData; | |
| 9 | +import com.cnlive.strike.data.network.model.SysNumberSubsData; | |
| 10 | +import com.cnlive.strike.data.network.model.SystemNotificationListData; | |
| 11 | + | |
| 12 | +import java.util.List; | |
| 13 | +import java.util.Map; | |
| 14 | + | |
| 15 | +import io.reactivex.Observable; | |
| 16 | +import retrofit2.adapter.rxjava2.Result; | |
| 17 | +import retrofit2.http.FieldMap; | |
| 18 | +import retrofit2.http.FormUrlEncoded; | |
| 19 | +import retrofit2.http.Headers; | |
| 20 | +import retrofit2.http.POST; | |
| 21 | +import retrofit2.http.QueryMap; | |
| 22 | + | |
| 23 | +/** | |
| 24 | + * 达人有关的接口 | |
| 25 | + */ | |
| 26 | +public interface ApiServiceSub { | |
| 27 | + | |
| 28 | + /** | |
| 29 | + * 获取达人号列表接口 | |
| 30 | + * | |
| 31 | + * @param maps | |
| 32 | + * @return | |
| 33 | + */ | |
| 34 | + @Headers("cache:2") | |
| 35 | + @POST("Daren/sub/getDarenSubs.action") | |
| 36 | + Observable<Result<BaseInfo<List<SysNumberSubsData>>>> getDarenSubs(@QueryMap() Map<String, String> maps); | |
| 37 | + | |
| 38 | + /** | |
| 39 | + * 获取生活号列表接口 | |
| 40 | + * | |
| 41 | + * @param maps | |
| 42 | + * @return | |
| 43 | + */ | |
| 44 | + @POST("Daren/sub/getLifeSubs.action") | |
| 45 | + Observable<Result<BaseInfo<List<SysNumberSubsData>>>> getLifeSubs(@QueryMap() Map<String, String> maps); | |
| 46 | + | |
| 47 | + /** | |
| 48 | + * 获取关注列表接口 | |
| 49 | + * | |
| 50 | + * @param maps | |
| 51 | + * @return | |
| 52 | + */ | |
| 53 | + @POST("Daren/sub/getDarens.action") | |
| 54 | + Observable<Result<BaseInfo<GetDarensData>>> getDarens(@QueryMap() Map<String, String> maps); | |
| 55 | + | |
| 56 | + /** | |
| 57 | + * 获取未关注列表接口 | |
| 58 | + * | |
| 59 | + * @param maps | |
| 60 | + * @return | |
| 61 | + */ | |
| 62 | + @POST("Daren/classify/getUnFansOrDarenBean.action") | |
| 63 | + Observable<Result<BaseInfo<GetDarensData>>> getUnFollowDarens(@QueryMap() Map<String, String> maps); | |
| 64 | + | |
| 65 | + /** | |
| 66 | + * 获取关注列表接口(分类页面) | |
| 67 | + * | |
| 68 | + * @param maps | |
| 69 | + * @return | |
| 70 | + */ | |
| 71 | + @POST("Daren/classify/getDarenList.action") | |
| 72 | + Observable<Result<BaseInfo<GetDarensData>>> getDarenList(@QueryMap() Map<String, String> maps); | |
| 73 | + | |
| 74 | + /** | |
| 75 | + * 分类页面--搜索 | |
| 76 | + * | |
| 77 | + * @param maps | |
| 78 | + * @return | |
| 79 | + */ | |
| 80 | + @FormUrlEncoded | |
| 81 | + @POST("Daren/search/searchDaren.action") | |
| 82 | + Observable<Result<BaseInfo<List<SearchDarenData>>>> searchDaren(@FieldMap() Map<String, String> maps); | |
| 83 | + | |
| 84 | + @Headers("cache:5") | |
| 85 | + @POST("Daren/sub/getFans.action") | |
| 86 | + Observable<Result<BaseInfo<GetDarensData>>> getFans(@QueryMap() Map<String, String> map); | |
| 87 | + | |
| 88 | + @Headers("cache:5") | |
| 89 | + @POST("Daren/sub/getDarenHome.action") | |
| 90 | + Observable<Result<BaseInfo<GetDarenHomeData>>> getDarenHome(@QueryMap() Map<String, String> maps); | |
| 91 | + | |
| 92 | + /** | |
| 93 | + * 获取系统通知列表或订单通知列表 | |
| 94 | + * | |
| 95 | + * @param maps | |
| 96 | + * @return | |
| 97 | + */ | |
| 98 | + @POST("Daren/sub/getLifeHome.action") | |
| 99 | + Observable<Result<BaseInfo<SystemNotificationListData>>> getLifeSystemHome(@QueryMap() Map<String, String> maps); | |
| 100 | + | |
| 101 | + /** | |
| 102 | + * 关注 | |
| 103 | + * | |
| 104 | + * @param map appId 应用Id | |
| 105 | + * sid 用户Id | |
| 106 | + * darenIds 达人Id,多个用逗号分隔 | |
| 107 | + * @return | |
| 108 | + */ | |
| 109 | + @POST("Daren/sub/addDarenSub.action") | |
| 110 | + Observable<Result<BaseInfo>> addDaren(@QueryMap() Map<String, String> map); | |
| 111 | + | |
| 112 | + | |
| 113 | + /** | |
| 114 | + * 取消关注 | |
| 115 | + * | |
| 116 | + * @param map appId 应用Id | |
| 117 | + * sid 用户Id | |
| 118 | + * darenIds 达人Id,多个用逗号分隔 | |
| 119 | + * @return | |
| 120 | + */ | |
| 121 | + @POST("Daren/sub/cancelDarenSub.action") | |
| 122 | + Observable<Result<BaseInfo>> cancelDaren(@QueryMap() Map<String, String> map); | |
| 123 | + | |
| 124 | + @POST("Daren/sub/deleteFriend.action") | |
| 125 | + Observable<Result<BaseInfo>> deleteFriend(@QueryMap() Map<String, String> maps); | |
| 126 | + | |
| 127 | + /** | |
| 128 | + * 从达人号列表删除某达人 | |
| 129 | + * | |
| 130 | + * @return | |
| 131 | + */ | |
| 132 | + @POST("Daren/sub/deleteDarenSubs.action") | |
| 133 | + Observable<Result<BaseInfo>> deleteDarenSubs(@QueryMap() Map<String, String> map); | |
| 134 | + | |
| 135 | + /** | |
| 136 | + * 删除生活号列表中的订单通知和系统通知的item | |
| 137 | + * | |
| 138 | + * @return | |
| 139 | + */ | |
| 140 | + @POST("Daren/sub/deleteLifeSubs.action") | |
| 141 | + Observable<Result<BaseInfo>> deleteLifeSubs(@QueryMap() Map<String, String> map); | |
| 142 | + | |
| 143 | + /** | |
| 144 | + * 获取通知号的列表数据 | |
| 145 | + * | |
| 146 | + * @return | |
| 147 | + */ | |
| 148 | + @POST("Daren/sub/getNoticeSubs.action") | |
| 149 | + Observable<Result<BaseInfo<GroupNotificationListData>>> getNoticeSubs(@QueryMap() Map<String, String> map); | |
| 150 | + | |
| 151 | + /** | |
| 152 | + * 从群组通知列表删除某条通知 | |
| 153 | + * | |
| 154 | + * @return | |
| 155 | + */ | |
| 156 | + @POST("Daren/sub/deleteNotice.action") | |
| 157 | + Observable<Result<BaseInfo>> deleteNotice(@QueryMap() Map<String, String> map); | |
| 158 | + | |
| 159 | +} | |
| 160 | + | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/api/ApiSubscriber.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.api; | |
| 2 | + | |
| 3 | + | |
| 4 | +import com.cnlive.libs.data.network.Subscriber; | |
| 5 | + | |
| 6 | +/** | |
| 7 | + * Created by xiansong on 2017/9/8. | |
| 8 | + */ | |
| 9 | + | |
| 10 | +public class ApiSubscriber { | |
| 11 | + | |
| 12 | + private static final String success_code = "0"; | |
| 13 | + private static final String success_message = "数据加载成功"; | |
| 14 | + | |
| 15 | + public static final Subscriber.Config subscriberBuild = Subscriber.newConfig() | |
| 16 | + .putInfo(Subscriber.Config.response_success, success_code, success_message) ; | |
| 17 | + | |
| 18 | + public static String getSuccessCode(){ | |
| 19 | + return success_code; | |
| 20 | + } | |
| 21 | +} | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/model/ActivityRecordDetailsInfo.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.model; | |
| 2 | + | |
| 3 | +import java.util.List; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * 作者: 吴奎庆 | |
| 7 | + * <p> | |
| 8 | + * 时间: 2018/5/29 | |
| 9 | + * <p> | |
| 10 | + * 简介: | |
| 11 | + */ | |
| 12 | + | |
| 13 | +public class ActivityRecordDetailsInfo { | |
| 14 | + | |
| 15 | + | |
| 16 | + /** | |
| 17 | + * createTime : 2018-05-29 13:42:15 | |
| 18 | + * description : | |
| 19 | + * endTime : 2018-05-29 15:40:00 | |
| 20 | + * fundsId : 68f31cc1e5ec4dd793297facd72358af | |
| 21 | + * groupId : @TGS#1CEBXTHFD | |
| 22 | + * ownerMsg : {"image":"http://cnlive-yweb.ks3-cn-beijing.ksyun.com/images/headImg/2018/0504/1525422551146_small.jpg","nickName":"牛道健","userId":"10505015"} | |
| 23 | + * groupMembers : [{"payTime":"","type":false,"user":{"image":"http://cnlive-yweb.ks3-cn-beijing.ksyun.com/images/headImg/2018/0513/1526178128533_small.jpg","nickName":"张旭","userId":"10499533"}},{"payTime":"","type":false,"user":{"image":"http://cnlive-yweb.ks3-cn-beijing.ksyun.com/images/headImg/2018/0417/1523951343993_small.jpg","nickName":"写bug的程序猿","userId":"10458139"}},{"payTime":"","type":false,"user":{"image":"http://cnlive-yweb.ks3-cn-beijing.ksyun.com/images/headImg/2018/0504/1525422551146_small.jpg","nickName":"牛道健","userId":"10505015"}},{"payTime":"","type":false,"user":{"image":"http://cnlive-yweb.ks3-cn-beijing.ksyun.com/images/headImg/2018/0511/1526003358652_small.jpg","nickName":"牛道健","userId":"10504908"}}] | |
| 24 | + * payList : [{"payTime":"","type":false,"user":{"image":"http://cnlive-yweb.ks3-cn-beijing.ksyun.com/images/headImg/2018/0513/1526178128533_small.jpg","nickName":"张旭","userId":"10499533"}}] | |
| 25 | + * price : 0.1 | |
| 26 | + * type : 1 | |
| 27 | + */ | |
| 28 | + | |
| 29 | + private String createTime; | |
| 30 | + | |
| 31 | + public String getTotalPrice() { | |
| 32 | + return totalPrice; | |
| 33 | + } | |
| 34 | + | |
| 35 | + public void setTotalPrice(String totalPrice) { | |
| 36 | + this.totalPrice = totalPrice; | |
| 37 | + } | |
| 38 | + | |
| 39 | + private String totalPrice; | |
| 40 | + private String description; | |
| 41 | + private String endTime; | |
| 42 | + private String fundsId; | |
| 43 | + private String groupId; | |
| 44 | + private OwnerMsgBean ownerMsg; | |
| 45 | + private double price; | |
| 46 | + private int type; | |
| 47 | + private List<GroupMembersBean> groupMembers; | |
| 48 | + private List<GroupMembersBean> payList; | |
| 49 | + | |
| 50 | + public String getCreateTime() { | |
| 51 | + return createTime; | |
| 52 | + } | |
| 53 | + | |
| 54 | + public void setCreateTime(String createTime) { | |
| 55 | + this.createTime = createTime; | |
| 56 | + } | |
| 57 | + | |
| 58 | + public String getDescription() { | |
| 59 | + return description; | |
| 60 | + } | |
| 61 | + | |
| 62 | + public void setDescription(String description) { | |
| 63 | + this.description = description; | |
| 64 | + } | |
| 65 | + | |
| 66 | + public String getEndTime() { | |
| 67 | + return endTime; | |
| 68 | + } | |
| 69 | + | |
| 70 | + public void setEndTime(String endTime) { | |
| 71 | + this.endTime = endTime; | |
| 72 | + } | |
| 73 | + | |
| 74 | + public String getFundsId() { | |
| 75 | + return fundsId; | |
| 76 | + } | |
| 77 | + | |
| 78 | + public void setFundsId(String fundsId) { | |
| 79 | + this.fundsId = fundsId; | |
| 80 | + } | |
| 81 | + | |
| 82 | + public String getGroupId() { | |
| 83 | + return groupId; | |
| 84 | + } | |
| 85 | + | |
| 86 | + public void setGroupId(String groupId) { | |
| 87 | + this.groupId = groupId; | |
| 88 | + } | |
| 89 | + | |
| 90 | + public OwnerMsgBean getOwnerMsg() { | |
| 91 | + return ownerMsg; | |
| 92 | + } | |
| 93 | + | |
| 94 | + public void setOwnerMsg(OwnerMsgBean ownerMsg) { | |
| 95 | + this.ownerMsg = ownerMsg; | |
| 96 | + } | |
| 97 | + | |
| 98 | + public double getPrice() { | |
| 99 | + return price; | |
| 100 | + } | |
| 101 | + | |
| 102 | + public void setPrice(double price) { | |
| 103 | + this.price = price; | |
| 104 | + } | |
| 105 | + | |
| 106 | + public int getType() { | |
| 107 | + return type; | |
| 108 | + } | |
| 109 | + | |
| 110 | + public void setType(int type) { | |
| 111 | + this.type = type; | |
| 112 | + } | |
| 113 | + | |
| 114 | + public List<GroupMembersBean> getGroupMembers() { | |
| 115 | + return groupMembers; | |
| 116 | + } | |
| 117 | + | |
| 118 | + public void setGroupMembers(List<GroupMembersBean> groupMembers) { | |
| 119 | + this.groupMembers = groupMembers; | |
| 120 | + } | |
| 121 | + | |
| 122 | + public List<GroupMembersBean> getPayList() { | |
| 123 | + return payList; | |
| 124 | + } | |
| 125 | + | |
| 126 | + public void setPayList(List<GroupMembersBean> payList) { | |
| 127 | + this.payList = payList; | |
| 128 | + } | |
| 129 | + | |
| 130 | + public static class OwnerMsgBean { | |
| 131 | + /** | |
| 132 | + * image : http://cnlive-yweb.ks3-cn-beijing.ksyun.com/images/headImg/2018/0504/1525422551146_small.jpg | |
| 133 | + * nickName : 牛道健 | |
| 134 | + * userId : 10505015 | |
| 135 | + */ | |
| 136 | + | |
| 137 | + private String image; | |
| 138 | + private String nickName; | |
| 139 | + private String userId; | |
| 140 | + | |
| 141 | + public String getImage() { | |
| 142 | + return image; | |
| 143 | + } | |
| 144 | + | |
| 145 | + public void setImage(String image) { | |
| 146 | + this.image = image; | |
| 147 | + } | |
| 148 | + | |
| 149 | + public String getNickName() { | |
| 150 | + return nickName; | |
| 151 | + } | |
| 152 | + | |
| 153 | + public void setNickName(String nickName) { | |
| 154 | + this.nickName = nickName; | |
| 155 | + } | |
| 156 | + | |
| 157 | + public String getUserId() { | |
| 158 | + return userId; | |
| 159 | + } | |
| 160 | + | |
| 161 | + public void setUserId(String userId) { | |
| 162 | + this.userId = userId; | |
| 163 | + } | |
| 164 | + } | |
| 165 | + | |
| 166 | + public static class GroupMembersBean { | |
| 167 | + /** | |
| 168 | + * payTime : | |
| 169 | + * type : false | |
| 170 | + * user : {"image":"http://cnlive-yweb.ks3-cn-beijing.ksyun.com/images/headImg/2018/0513/1526178128533_small.jpg","nickName":"张旭","userId":"10499533"} | |
| 171 | + */ | |
| 172 | + | |
| 173 | + private String payTime; | |
| 174 | + private boolean type; | |
| 175 | + private UserBean user; | |
| 176 | + | |
| 177 | + public String getPayTime() { | |
| 178 | + return payTime; | |
| 179 | + } | |
| 180 | + | |
| 181 | + public void setPayTime(String payTime) { | |
| 182 | + this.payTime = payTime; | |
| 183 | + } | |
| 184 | + | |
| 185 | + public boolean isType() { | |
| 186 | + return type; | |
| 187 | + } | |
| 188 | + | |
| 189 | + public void setType(boolean type) { | |
| 190 | + this.type = type; | |
| 191 | + } | |
| 192 | + | |
| 193 | + public UserBean getUser() { | |
| 194 | + return user; | |
| 195 | + } | |
| 196 | + | |
| 197 | + public void setUser(UserBean user) { | |
| 198 | + this.user = user; | |
| 199 | + } | |
| 200 | + | |
| 201 | + public static class UserBean { | |
| 202 | + /** | |
| 203 | + * image : http://cnlive-yweb.ks3-cn-beijing.ksyun.com/images/headImg/2018/0513/1526178128533_small.jpg | |
| 204 | + * nickName : 张旭 | |
| 205 | + * userId : 10499533 | |
| 206 | + */ | |
| 207 | + | |
| 208 | + private String image; | |
| 209 | + private String nickName; | |
| 210 | + private String userId; | |
| 211 | + | |
| 212 | + public String getImage() { | |
| 213 | + return image; | |
| 214 | + } | |
| 215 | + | |
| 216 | + public void setImage(String image) { | |
| 217 | + this.image = image; | |
| 218 | + } | |
| 219 | + | |
| 220 | + public String getNickName() { | |
| 221 | + return nickName; | |
| 222 | + } | |
| 223 | + | |
| 224 | + public void setNickName(String nickName) { | |
| 225 | + this.nickName = nickName; | |
| 226 | + } | |
| 227 | + | |
| 228 | + public String getUserId() { | |
| 229 | + return userId; | |
| 230 | + } | |
| 231 | + | |
| 232 | + public void setUserId(String userId) { | |
| 233 | + this.userId = userId; | |
| 234 | + } | |
| 235 | + } | |
| 236 | + } | |
| 237 | + | |
| 238 | +} | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/model/AddIntegration.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.model; | |
| 2 | + | |
| 3 | +import java.io.Serializable; | |
| 4 | + | |
| 5 | +public class AddIntegration implements Serializable { | |
| 6 | + | |
| 7 | + | |
| 8 | + public static class DataBean { | |
| 9 | + /** | |
| 10 | + * status : false | |
| 11 | + * score : 100 | |
| 12 | + */ | |
| 13 | + | |
| 14 | + private boolean status; | |
| 15 | + private String score; | |
| 16 | + private String desc; | |
| 17 | + private String descEnd; | |
| 18 | + | |
| 19 | + public String getDescEnd() { | |
| 20 | + return descEnd; | |
| 21 | + } | |
| 22 | + | |
| 23 | + public void setDescEnd(String descEnd) { | |
| 24 | + this.descEnd = descEnd; | |
| 25 | + } | |
| 26 | + | |
| 27 | + public String getDesc() { | |
| 28 | + return desc; | |
| 29 | + } | |
| 30 | + | |
| 31 | + public void setDesc(String desc) { | |
| 32 | + this.desc = desc; | |
| 33 | + } | |
| 34 | + | |
| 35 | + | |
| 36 | + public boolean isStatus() { | |
| 37 | + return status; | |
| 38 | + } | |
| 39 | + | |
| 40 | + public void setStatus(boolean status) { | |
| 41 | + this.status = status; | |
| 42 | + } | |
| 43 | + | |
| 44 | + public String getScore() { | |
| 45 | + return score; | |
| 46 | + } | |
| 47 | + | |
| 48 | + public void setScore(String score) { | |
| 49 | + this.score = score; | |
| 50 | + } | |
| 51 | + } | |
| 52 | +} | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/model/AppVersionInfo.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.model; | |
| 2 | + | |
| 3 | +/** | |
| 4 | + * 创建:wukuiqing | |
| 5 | + * <p> | |
| 6 | + * 时间:2018/4/2 | |
| 7 | + * <p> | |
| 8 | + * 描述: | |
| 9 | + */ | |
| 10 | + | |
| 11 | +public class AppVersionInfo { | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + /** | |
| 16 | + * deviceType : IOS | |
| 17 | + * msg : 达人端1.0 | |
| 18 | + * createTime : 2018-04-02 00:00:00 | |
| 19 | + * id : aaaaa | |
| 20 | + * type : B | |
| 21 | + * version : 1.0 | |
| 22 | + * strongUpdate | |
| 23 | + */ | |
| 24 | + | |
| 25 | + public String deviceType; | |
| 26 | + public String msg; | |
| 27 | + public String createTime; | |
| 28 | + public String id; | |
| 29 | + public String type; | |
| 30 | + public String version; | |
| 31 | + public String versionCode; | |
| 32 | + public String downLoadUrl; | |
| 33 | + public boolean forceUpdating; | |
| 34 | + | |
| 35 | + public boolean isForceUpdating() { | |
| 36 | + return forceUpdating; | |
| 37 | + } | |
| 38 | + | |
| 39 | + public void setForceUpdating(boolean forceUpdating) { | |
| 40 | + this.forceUpdating = forceUpdating; | |
| 41 | + } | |
| 42 | + | |
| 43 | + public String getVersionCode() { | |
| 44 | + return versionCode; | |
| 45 | + } | |
| 46 | + | |
| 47 | + public void setVersionCode(String versionCode) { | |
| 48 | + this.versionCode = versionCode; | |
| 49 | + } | |
| 50 | + | |
| 51 | + public String getDownLoadUrl() { | |
| 52 | + return downLoadUrl; | |
| 53 | + } | |
| 54 | + | |
| 55 | + public void setDownLoadUrl(String downLoadUrl) { | |
| 56 | + this.downLoadUrl = downLoadUrl; | |
| 57 | + } | |
| 58 | + | |
| 59 | + public String getDeviceType() { | |
| 60 | + return deviceType; | |
| 61 | + } | |
| 62 | + | |
| 63 | + public void setDeviceType(String deviceType) { | |
| 64 | + this.deviceType = deviceType; | |
| 65 | + } | |
| 66 | + | |
| 67 | + public String getMsg() { | |
| 68 | + return msg; | |
| 69 | + } | |
| 70 | + | |
| 71 | + public void setMsg(String msg) { | |
| 72 | + this.msg = msg; | |
| 73 | + } | |
| 74 | + | |
| 75 | + public String getCreateTime() { | |
| 76 | + return createTime; | |
| 77 | + } | |
| 78 | + | |
| 79 | + public void setCreateTime(String createTime) { | |
| 80 | + this.createTime = createTime; | |
| 81 | + } | |
| 82 | + | |
| 83 | + public String getId() { | |
| 84 | + return id; | |
| 85 | + } | |
| 86 | + | |
| 87 | + public void setId(String id) { | |
| 88 | + this.id = id; | |
| 89 | + } | |
| 90 | + | |
| 91 | + public String getType() { | |
| 92 | + return type; | |
| 93 | + } | |
| 94 | + | |
| 95 | + public void setType(String type) { | |
| 96 | + this.type = type; | |
| 97 | + } | |
| 98 | + | |
| 99 | + public String getVersion() { | |
| 100 | + return version; | |
| 101 | + } | |
| 102 | + | |
| 103 | + public void setVersion(String version) { | |
| 104 | + this.version = version; | |
| 105 | + } | |
| 106 | +} | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/model/AudioAlbumDetailsInfo.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.model; | |
| 2 | + | |
| 3 | +/** | |
| 4 | + * 作者: 吴奎庆 | |
| 5 | + * <p> | |
| 6 | + * 时间: 2019/2/22 | |
| 7 | + * <p> | |
| 8 | + * 简介: | |
| 9 | + */ | |
| 10 | +public class AudioAlbumDetailsInfo { | |
| 11 | + | |
| 12 | + /** | |
| 13 | + * albumId : 67 | |
| 14 | + * albumImg : http://ffyl.ys1.cnliveimg.com/223/img/2018/1119/181119100131652_957.png@base@tag=imgScale&q=20 | |
| 15 | + * albumName : 音频第一个专辑2 | |
| 16 | + * desc : 123123 | |
| 17 | + * actor : 123 | |
| 18 | + * time : 1551061851000 | |
| 19 | + * sp : {"spName":null,"spId":60,"spIcon":null,"desc":null,"subscriptions":null,"subscribe":false} | |
| 20 | + * episodeNow : 3 | |
| 21 | + * subscriptions : null | |
| 22 | + * subscribe : false | |
| 23 | + * episodeLast : null | |
| 24 | + */ | |
| 25 | + | |
| 26 | + private int albumId; | |
| 27 | + private String albumImg; | |
| 28 | + private String albumName; | |
| 29 | + private String desc; | |
| 30 | + private String actor; | |
| 31 | + private long time; | |
| 32 | + private SpBean sp; | |
| 33 | + private int episodeNow; | |
| 34 | + private String subscriptions; | |
| 35 | + | |
| 36 | + public String getContentIdLast() { | |
| 37 | + return contentIdLast; | |
| 38 | + } | |
| 39 | + | |
| 40 | + public void setContentIdLast(String contentIdLast) { | |
| 41 | + this.contentIdLast = contentIdLast; | |
| 42 | + } | |
| 43 | + | |
| 44 | + private String contentIdLast; | |
| 45 | + private boolean subscribe; | |
| 46 | + private int episodeLast; | |
| 47 | + | |
| 48 | + public int getAlbumId() { | |
| 49 | + return albumId; | |
| 50 | + } | |
| 51 | + | |
| 52 | + public void setAlbumId(int albumId) { | |
| 53 | + this.albumId = albumId; | |
| 54 | + } | |
| 55 | + | |
| 56 | + public String getAlbumImg() { | |
| 57 | + return albumImg; | |
| 58 | + } | |
| 59 | + | |
| 60 | + public void setAlbumImg(String albumImg) { | |
| 61 | + this.albumImg = albumImg; | |
| 62 | + } | |
| 63 | + | |
| 64 | + public String getAlbumName() { | |
| 65 | + return albumName; | |
| 66 | + } | |
| 67 | + | |
| 68 | + public void setAlbumName(String albumName) { | |
| 69 | + this.albumName = albumName; | |
| 70 | + } | |
| 71 | + | |
| 72 | + public String getDesc() { | |
| 73 | + return desc; | |
| 74 | + } | |
| 75 | + | |
| 76 | + public void setDesc(String desc) { | |
| 77 | + this.desc = desc; | |
| 78 | + } | |
| 79 | + | |
| 80 | + public String getActor() { | |
| 81 | + return actor; | |
| 82 | + } | |
| 83 | + | |
| 84 | + public void setActor(String actor) { | |
| 85 | + this.actor = actor; | |
| 86 | + } | |
| 87 | + | |
| 88 | + public long getTime() { | |
| 89 | + return time; | |
| 90 | + } | |
| 91 | + | |
| 92 | + public void setTime(long time) { | |
| 93 | + this.time = time; | |
| 94 | + } | |
| 95 | + | |
| 96 | + public SpBean getSp() { | |
| 97 | + return sp; | |
| 98 | + } | |
| 99 | + | |
| 100 | + public void setSp(SpBean sp) { | |
| 101 | + this.sp = sp; | |
| 102 | + } | |
| 103 | + | |
| 104 | + public int getEpisodeNow() { | |
| 105 | + return episodeNow; | |
| 106 | + } | |
| 107 | + | |
| 108 | + public void setEpisodeNow(int episodeNow) { | |
| 109 | + this.episodeNow = episodeNow; | |
| 110 | + } | |
| 111 | + | |
| 112 | + public String getSubscriptions() { | |
| 113 | + return subscriptions; | |
| 114 | + } | |
| 115 | + | |
| 116 | + public void setSubscriptions(String subscriptions) { | |
| 117 | + this.subscriptions = subscriptions; | |
| 118 | + } | |
| 119 | + | |
| 120 | + public boolean isSubscribe() { | |
| 121 | + return subscribe; | |
| 122 | + } | |
| 123 | + | |
| 124 | + public void setSubscribe(boolean subscribe) { | |
| 125 | + this.subscribe = subscribe; | |
| 126 | + } | |
| 127 | + | |
| 128 | + public int getEpisodeLast() { | |
| 129 | + return episodeLast; | |
| 130 | + } | |
| 131 | + | |
| 132 | + public void setEpisodeLast(int episodeLast) { | |
| 133 | + this.episodeLast = episodeLast; | |
| 134 | + } | |
| 135 | + | |
| 136 | + public static class SpBean { | |
| 137 | + /** | |
| 138 | + * spName : null | |
| 139 | + * spId : 60 | |
| 140 | + * spIcon : null | |
| 141 | + * desc : null | |
| 142 | + * subscriptions : null | |
| 143 | + * subscribe : false | |
| 144 | + */ | |
| 145 | + | |
| 146 | + private Object spName; | |
| 147 | + private int spId; | |
| 148 | + private Object spIcon; | |
| 149 | + private Object desc; | |
| 150 | + private Object subscriptions; | |
| 151 | + private boolean subscribe; | |
| 152 | + | |
| 153 | + public Object getSpName() { | |
| 154 | + return spName; | |
| 155 | + } | |
| 156 | + | |
| 157 | + public void setSpName(Object spName) { | |
| 158 | + this.spName = spName; | |
| 159 | + } | |
| 160 | + | |
| 161 | + public int getSpId() { | |
| 162 | + return spId; | |
| 163 | + } | |
| 164 | + | |
| 165 | + public void setSpId(int spId) { | |
| 166 | + this.spId = spId; | |
| 167 | + } | |
| 168 | + | |
| 169 | + public Object getSpIcon() { | |
| 170 | + return spIcon; | |
| 171 | + } | |
| 172 | + | |
| 173 | + public void setSpIcon(Object spIcon) { | |
| 174 | + this.spIcon = spIcon; | |
| 175 | + } | |
| 176 | + | |
| 177 | + public Object getDesc() { | |
| 178 | + return desc; | |
| 179 | + } | |
| 180 | + | |
| 181 | + public void setDesc(Object desc) { | |
| 182 | + this.desc = desc; | |
| 183 | + } | |
| 184 | + | |
| 185 | + public Object getSubscriptions() { | |
| 186 | + return subscriptions; | |
| 187 | + } | |
| 188 | + | |
| 189 | + public void setSubscriptions(Object subscriptions) { | |
| 190 | + this.subscriptions = subscriptions; | |
| 191 | + } | |
| 192 | + | |
| 193 | + public boolean isSubscribe() { | |
| 194 | + return subscribe; | |
| 195 | + } | |
| 196 | + | |
| 197 | + public void setSubscribe(boolean subscribe) { | |
| 198 | + this.subscribe = subscribe; | |
| 199 | + } | |
| 200 | + } | |
| 201 | +} | ... | ... |
lib_network/src/main/java/com/cnlive/strike/data/network/model/AudioChapterInfo.java
0 → 100644
| 1 | +package com.cnlive.strike.data.network.model; | |
| 2 | + | |
| 3 | +import java.io.Serializable; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * 作者: 吴奎庆 | |
| 7 | + * <p> | |
| 8 | + * 时间: 2019/2/22 | |
| 9 | + * <p> | |
| 10 | + * 简介: | |
| 11 | + */ | |
| 12 | +public class AudioChapterInfo implements Serializable { | |
| 13 | + | |
| 14 | + /** | |
| 15 | + * title : 20181030aaa | |
| 16 | + * modelId : 5 | |
| 17 | + * time : 1550567051000 | |
| 18 | + * img : null | |
| 19 | + * viewCounts : 66666 | |
| 20 | + * schedule : null | |
| 21 | + * activityId : 604_42d8ee17506445c792dba348c1e794c1 | |
| 22 | + * contentId : 25675 | |
| 23 | + * duration : 146 | |
| 24 | + */ | |
| 25 | + | |
| 26 | + private String title; | |
| 27 | + private String albumId; | |
| 28 | + private String albumName; | |
| 29 | + private String actor; | |
| 30 | + private int modelId; | |
| 31 | + private long time; | |
| 32 | + private String img; | |
| 33 | + private int counts; | |
| 34 | + private double viewCounts; | |
| 35 | + private double schedule; | |
| 36 | + private String activityId; | |
| 37 | + private int contentId; | |
| 38 | + private long duration; | |
| 39 | + private int comments; | |
| 40 | + private String shareUrl; | |
| 41 | + | |
| 42 | + public String getTitle() { | |
| 43 | + return title; | |
| 44 | + } | |
| 45 | + | |
| 46 | + public void setTitle(String title) { | |
| 47 | + this.title = title; | |
| 48 | + } | |
| 49 | + | |
| 50 | + public String getAlbumId() { | |
| 51 | + return albumId; | |
| 52 | + } | |
| 53 | + | |
| 54 | + public void setAlbumId(String albumId) { | |
| 55 | + this.albumId = albumId; | |
| 56 | + } | |
| 57 | + | |
| 58 | + public String getAlbumName() { | |
| 59 | + return albumName; | |
| 60 | + } | |
| 61 | + | |
| 62 | + public void setAlbumName(String albumName) { | |
| 63 | + this.albumName = albumName; | |
| 64 | + } | |
| 65 | + | |
| 66 | + public String getActor() { | |
| 67 | + return actor; | |
| 68 | + } | |
| 69 | + | |
| 70 | + public void setActor(String actor) { | |
| 71 | + this.actor = actor; | |
| 72 | + } | |
| 73 | + | |
| 74 | + public int getModelId() { | |
| 75 | + return modelId; | |
| 76 | + } | |
| 77 | + | |
| 78 | + public void setModelId(int modelId) { | |
| 79 | + this.modelId = modelId; | |
| 80 | + } | |
| 81 | + | |
| 82 | + public long getTime() { | |
| 83 | + return time; | |
| 84 | + } | |
| 85 | + | |
| 86 | + public void setTime(long time) { | |
| 87 | + this.time = time; | |
| 88 | + } | |
| 89 | + | |
| 90 | + public String getImg() { | |
| 91 | + return img; | |
| 92 | + } | |
| 93 | + | |
| 94 | + public void setImg(String img) { | |
| 95 | + this.img = img; | |
| 96 | + } | |
| 97 | + | |
| 98 | + public int getCounts() { | |
| 99 | + return counts; | |
| 100 | + } | |
| 101 | + | |
| 102 | + public void setCounts(int counts) { | |
| 103 | + this.counts = counts; | |
| 104 | + } | |
| 105 | + | |
| 106 | + public double getViewCounts() { | |
| 107 | + return viewCounts; | |
| 108 | + } | |
| 109 | + | |
| 110 | + public void setViewCounts(double viewCounts) { | |
| 111 | + this.viewCounts = viewCounts; | |
| 112 | + } | |
| 113 | + | |
| 114 | + public double getSchedule() { | |
| 115 | + return schedule; | |
| 116 | + } | |
| 117 | + | |
| 118 | + public void setSchedule(double schedule) { | |
| 119 | + this.schedule = schedule; | |
| 120 | + } | |
| 121 | + | |
| 122 | + public String getActivityId() { | |
| 123 | + return activityId; | |
| 124 | + } | |
| 125 | + | |
| 126 | + public void setActivityId(String activityId) { | |
| 127 | + this.activityId = activityId; | |
| 128 | + } | |
| 129 | + | |
| 130 | + public int getContentId() { | |
| 131 | + return contentId; | |
| 132 | + } | |
| 133 | + | |
| 134 | + public void setContentId(int contentId) { | |
| 135 | + this.contentId = contentId; | |
| 136 | + } | |
| 137 | + | |
| 138 | + public long getDuration() { | |
| 139 | + return duration; | |
| 140 | + } | |
| 141 | + | |
| 142 | + public void setDuration(long duration) { | |
| 143 | + this.duration = duration; | |
| 144 | + } | |
| 145 | + | |
| 146 | + public int getComments() { | |
| 147 | + return comments; | |
| 148 | + } | |
| 149 | + | |
| 150 | + public void setComments(int comments) { | |
| 151 | + this.comments = comments; | |
| 152 | + } | |
| 153 | + | |
| 154 | + public String getShareUrl() { | |
| 155 | + return shareUrl; | |
| 156 | + } | |
| 157 | + | |
| 158 | + public void setShareUrl(String shareUrl) { | |
| 159 | + this.shareUrl = shareUrl; | |
| 160 | + } | |
| 161 | + | |
| 162 | + @Override | |
| 163 | + public boolean equals( Object obj) { | |
| 164 | + if(obj instanceof AudioChapterInfo){ | |
| 165 | + return ((AudioChapterInfo)obj).getActivityId().equals(activityId); | |
| 166 | + } | |
| 167 | + return super.equals(obj); | |
| 168 | + } | |
| 169 | +} | ... | ... |