package com.cardvalue.sys.mode; import android.content.Context; import com.cardvalue.sys.activity.LoginActivity; import com.cardvalue.sys.cache.LocalCache; import com.cardvalue.sys.entity.Address; import com.cardvalue.sys.entity.Auth; import com.cardvalue.sys.entity.CheckMobileRegisterAuth; import com.cardvalue.sys.entity.Login; import com.cardvalue.sys.entity.PostCreateAuth; import com.cardvalue.sys.entity.User; import com.cardvalue.sys.entity.VerifyImgCode; import org.json.JSONObject; import retrofit2.Call; import retrofit2.http.Body; import retrofit2.http.GET; import retrofit2.http.Header; import retrofit2.http.Headers; import retrofit2.http.POST; import retrofit2.http.PUT; import retrofit2.http.Path; import retrofit2.http.Query; /** * Created by cardvalue on 2016/4/8. */ public class Service { /** * <p>获取地理位置</p> */ public interface GetAddress{ @Headers({ "X-CRM-Application-Id: "+"android", "X-CRM-Version: " + "2.0.1", "Content-Type: application/json" }) @GET("new/m/getMultiLngAndLat?address") Call<Address> attemAddress(@Query("address") String address); } /** * <p>修改用户</p> */ public interface UpdateInfo{ @Headers({ "X-CRM-Application-Id: "+"android", "X-CRM-Version: " + "2.0.1", "Content-Type: application/json" }) @PUT("merchants/{userId}") Call<User> attempUpdateInfo (@Header("X-CRM-Merchant-Id") String objectId, @Header("X-CRM-Access-Token") String accessToken, @Path("userId") String userId, @Body User updataInfo); } /** * <P>获取用户</P> */ public interface getUserInfo{ @Headers({ "X-CRM-Application-Id: "+"android", "X-CRM-Version: " + "2.0.1", "Content-Type: application/json" }) @GET("merchants/{userId}") Call<User> attempGetUserInfo (@Header("X-CRM-Merchant-Id") String objectId, @Header("X-CRM-Access-Token") String accessToken, @Path("userId") String userId); } /*** * <p>修改密码</p> */ public interface UpdatePassword{ @Headers({ "X-CRM-Application-Id: "+"android", "X-CRM-Version: " + "2.0.1", "Content-Type: application/json" }) @PUT("merchants/{userId}/updatePassword") Call<Login> attempUpdatePassword (@Header("X-CRM-Merchant-Id") String objectId, @Header("X-CRM-Access-Token") String accessToken, @Path("userId") String userId, @Body Login updataPwd); } /** * <p>登录的接口</p> */ public interface LoginService{ @Headers({ "X-CRM-Application-Id: " +"android", "X-CRM-Version: " + "2.0.1" }) @GET("login") Call<Login> attemptLogin(@Query("mobilePhone") String mobilePhone,@Query("password") String password); } /** * <p>检查手机号是否已注册授权</p> */ public interface CheckMobile{ @Headers({ "X-CRM-Application-Id: " +"android", "X-CRM-Version: " + "2.0.1" }) @GET("checkMobilePhoneRegisterAuth/{mobilePhone}") Call<CheckMobileRegisterAuth> attemptCheckMobile(@Path("mobilePhone") String mobilePhone); } /** * <P>创建授权 同意注册授权</P> */ public interface CreateAuthorization{ @Headers({ "X-CRM-Application-Id: " +"android", "X-CRM-Version: " + "2.0.1", "Content-Type: application/json" }) @POST("authorizations") Call<PostCreateAuth> attemptCreateAuthorization (@Body PostCreateAuth task); } /** * <P>获取图形验验证码 获取手机验证码</P> */ public interface GetImgCode{ @Headers({ "X-CRM-Application-Id: " +"android", "X-CRM-Version: " + "2.0.1", "Content-Type: application/json" }) @POST("mobilePhoneVerifyCode") Call<VerifyImgCode> attemptVerifyImgCode(@Body VerifyImgCode code); } /** * <p>注册</p> */ public interface Register{ @Headers({ "X-CRM-Application-Id: " +"android", "X-CRM-Version: " + "2.0.1", "Content-Type: application/json" }) @POST("merchantsByMobilePhone") Call<Login> attempRegister (@Body Login login); } }
<pre name="code" class="java">package com.cardvalue.sys.tool; import android.content.Context; import java.io.IOException; import java.lang.annotation.Annotation; import java.lang.reflect.Type; import okhttp3.Call; import okhttp3.Callback; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; import okhttp3.ResponseBody; import retrofit2.Converter; import retrofit2.Retrofit; /** * Created by cardvalue on 2016/4/15. */ public class Ip { private Retrofit retrofit; private Context context; private Request request; OkHttpClient client=new OkHttpClient(); public Ip(Context context){ this.context=context; request=new Request.Builder() .url("http://ip.cn/") .build(); } public void Ip(){ retrofit = new Retrofit.Builder() .baseUrl("http://ip.cn/") .client(new OkHttpClient()) .addConverterFactory(new Converter.Factory() { @Override public Converter<ResponseBody, ?> responseBodyConverter(Type type, Annotation[] annotations, Retrofit retrofit) { return new Converter<ResponseBody, String>() { @Override public String convert(ResponseBody value) throws IOException { Utiltools.printE("==IP=",value.string()+""); return value.string(); } }; } }) .build(); } public void IpService(){ client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException { String respo=response.body().string(); String ip= respo.substring(respo.indexOf("<code>") +6, respo.indexOf("</code>")); Utiltools.printE("=====","======"+ip); } }); } }