package com.edufound.reader.apiserver; import android.app.Activity; import com.edufound.reader.bean.UserEventBean; import com.edufound.reader.botsdk.BotConstants; import com.edufound.reader.util.Consts; import com.edufound.reader.util.DeviceUuidFactory; import com.edufound.reader.util.EfunboxCallBack; import com.edufound.reader.util.OkHttpClient; import com.okhttplib.HttpInfo; import com.okhttplib.callback.Callback; import com.orhanobut.logger.Logger; public class UserApiServerImpl implements userApiServer { private String API = Consts.getFinalApi(); /** * 用户是否登录 */ @Override public void isLogin(Activity activity, String deviceCode, Callback callback) { OkHttpClient.doGetAsync(activity, HttpInfo.Builder().setUrl(API + "/user/isLogin").addParam("deviceCode", deviceCode), callback); } @Override public void MiSoundIsLogin(String deviceCode, Callback callback) { OkHttpClient.doGetAsync(HttpInfo.Builder().setUrl(API + "/user/isLogin").addParam("deviceCode", deviceCode), callback); } /** * 获取用户信息 */ @Override public void getUserInfo(Activity activity, Callback callback) { OkHttpClient.doGetAsync(activity, HttpInfo.Builder().setUrl(API + "/user"), callback); } /** * 注册用户 */ @Override public void registerUser(Activity activity, String userJson, Callback callback) { OkHttpClient.doPostAsync(activity, HttpInfo.Builder().addParamJson(userJson).setUrl(API + "/user/register"), callback); } /** * 不用验证码的手机号注册 */ @Override public void registerMobile(Activity activity, String userJson, Callback callback) { OkHttpClient.doPostAsync(activity, HttpInfo.Builder().addParamJson(userJson).setUrl(API + "/user/registerMobile"), callback); } /** * 根据百度UID注册 */ @Override public void registerUserId(Activity activity, String userJson, Callback callback) { OkHttpClient.doPostAsync(activity, HttpInfo.Builder().addParamJson(userJson).setUrl(API + "/user/registerUserId"), callback); } /** * 更新用户信息 */ @Override public void updateUserInfo(Activity activity, String userJson, Callback callback) { OkHttpClient.doPutAsync(activity, HttpInfo.Builder().addParamJson(userJson).setUrl(API + "/user"), callback); } /** * 退出登录 */ @Override public void exitLogin(Activity activity, String deviceCode, Callback callback) { OkHttpClient.doDeleteAsync(activity, HttpInfo.Builder().addParam("deviceCode", deviceCode).setUrl(API + "/member"), callback); } @Override public void getOtherUserInfo(Activity activity, String uid, Callback callback) { OkHttpClient.doGetAsync(activity, new HttpInfo.Builder().setUrl(API + "/user/info").addParam("uid", uid), callback); } @Override public void loginSign(Activity activity, Callback callback) { if (activity == null) { OkHttpClient.doPostAsync(new HttpInfo.Builder().setUrl(API + "/loginLog"), callback); } else { OkHttpClient.doPostAsync(activity, new HttpInfo.Builder().setUrl(API + "/loginLog"), callback); } } @Override public void getBaiDuUserPhone(Activity activity, String token, Callback callback) { OkHttpClient.doPostAsync(activity, new HttpInfo.Builder().setUrl(BotConstants.GET_USER_PHONE).addHead("Authorization", "Bearer " + token), callback); } @Override public void getBindWeChatPath(Activity activity, Callback callback) { OkHttpClient.doGetAsync(activity, new HttpInfo.Builder().setUrl(API + "/user/bindWxQrCode"), callback); } @Override public void getSignInfo(Activity activity, Callback callback) { OkHttpClient.doGetAsync(activity, HttpInfo.Builder().setUrl(API + "/loginLog/signIn"), callback); } @Override public void getMyInfo(Activity activity, Callback callback) { OkHttpClient.doGetAsync(activity, new HttpInfo.Builder().setUrl(API + "/user/my"), callback); } @Override public void postUserEvent(Activity activity, String action) { OkHttpClient.doPostAsync(activity, new HttpInfo.Builder().setUrl(API + "/userEvent").addParamJson(new UserEventBean(action).toJson()), new EfunboxCallBack(null)); } @Override public void userCancellation(Activity activity, Callback callback) { OkHttpClient.doPostAsync(activity, new HttpInfo.Builder().setUrl(API + "/user/logout"), callback); } @Override public void userLoginOut(Activity activity, Callback callback) { OkHttpClient.doGetAsync(activity, new HttpInfo.Builder().setUrl(API + "/user/logOut"), callback); } /** * 手机号验证码登录 */ @Override public void registerMobileByVCode(Activity activity, String userJson, Callback callback) { OkHttpClient.doPostAsync(activity, HttpInfo.Builder().addParamJson(userJson).setUrl(API + "/user/mobile"), callback); } @Override public void getTMailPhone(String json, Callback callback) { OkHttpClient.doPostAsync(HttpInfo.Builder().addParamJson(json).setUrl(API + "/user/getMobile"), callback); } /** * 获取登录二维码 */ @Override public void getLoginQRCode(Callback callback) { Logger.e("deviceCode:" + DeviceUuidFactory.getUuid()); OkHttpClient.doGetAsync(HttpInfo.Builder().addParam("channelCode", Consts.getUMengChannel()).addParam("deviceCode", DeviceUuidFactory.getUuid()).setUrl(API + "/user/qrCode"), callback); } @Override public void bindPhoneNum(String phoneNum, Callback callback) { OkHttpClient.doPostAsync(HttpInfo.Builder().setUrl(API + "/user/mobileBind").addParamJson("{\"mobileNo\":\"" + phoneNum + "\",\"uid\":\"" + Consts.getUID() + "\"}"), callback); } /** * 获取排行榜 */ @Override public void getRankList(String id, Callback callback) { OkHttpClient.doGetAsync(HttpInfo.Builder().addParam("channelCode", Consts.getUMengChannel()).addParam("deviceCode", DeviceUuidFactory.getUuid()).addParam("activityRaceReadId", id).setUrl(API + "/activity/rank"), callback); } @Override public void postFirstEnter(Callback callback) { OkHttpClient.doGetAsync(HttpInfo.Builder().addParam("channelCode", Consts.getUMengChannel()).addParam("deviceCode", DeviceUuidFactory.getUuid()).setUrl(API + "/userEvent/enter"), callback); } } interface userApiServer { /** * 用户是否登录 */ void isLogin(Activity activity, String deviceCode, Callback callback); /** * 用户是否登录 */ void MiSoundIsLogin(String deviceCode, Callback callback); /* * 获取用户信息 * */ void getUserInfo(Activity activity, Callback callback); /* * 注册用户 * */ void registerUser(Activity activity, String userJson, Callback callback); void registerMobile(Activity activity, String userJson, Callback callback); /** * 根据百度UID注册 */ void registerUserId(Activity activity, String userJson, Callback callback); /* * 更新用户信息 * */ void updateUserInfo(Activity activity, String userJson, Callback callback); /** * 退出登录 */ void exitLogin(Activity activity, String deviceCode, Callback callback); /** * 根据他人UID获取他人信息 */ void getOtherUserInfo(Activity activity, String uid, Callback callback); void loginSign(Activity activity, Callback callback); void getBaiDuUserPhone(Activity activity, String token, Callback callback); void getBindWeChatPath(Activity activity, Callback callback); /** * 签到 */ void getSignInfo(Activity activity, Callback callback); /** * 根据uid获取用户个人中心 */ void getMyInfo(Activity activity, Callback callback); /** * 用户操作event */ void postUserEvent(Activity activity, String action); /** * 注销账号 */ void userCancellation(Activity activity, Callback callback); /** * 退出登录 */ void userLoginOut(Activity activity, Callback callback); /** * 手机号验证码注册 */ void registerMobileByVCode(Activity activity, String userJson, Callback callback); void getTMailPhone(String json, Callback callback); /** * 获取登录二维码 */ void getLoginQRCode(Callback callback); /** * 绑定手机号 */ void bindPhoneNum(String phoneNum, Callback callback); /** * 获取排行榜 */ void getRankList(String id, Callback callback); /** * 统计设备首次访问 */ void postFirstEnter(Callback callback); }