package com.qmth.boot.core.solar.api;

import com.qmth.boot.core.retrofit.annotatioin.RetrofitClient;
import com.qmth.boot.core.solar.config.SolarApiConfiguration;
import com.qmth.boot.core.solar.model.*;
import retrofit2.http.POST;
import retrofit2.http.Query;

import java.util.List;

@RetrofitClient(configuration = SolarApiConfiguration.class)
public interface SolarApiClient {

    /**
     * 获取当前访问应用部署信息接口
     *
     * @return
     */
    @POST("app/deploy/info")
    AppInfo getAppInfo();

    /**
     * 获取当前应用部署可访问机构列表
     *
     * @param pageNumber
     * @param pageSize
     * @return
     */
    @POST("org/query")
    List<OrgInfo> listOrgInfo(@Query("pageNumber") int pageNumber, @Query("pageSize") int pageSize);

    /**
     * 通过appId获取微信访问令牌接口
     *
     * @param appId
     * @return
     */
    @POST("wxapp/access_token")
    WxappAccessToken getWxappAccessToken(@Query("appId") String appId);

    /**
     * 通过appId及临时凭证获取微信登录密钥接口
     *
     * @param appId
     * @param code
     * @return
     */
    @POST("wxapp/session_by_code")
    WxappSession getWxappSessionByCode(@Query("appId") String appId, @Query("code") String code);

    /**
     * 通过appId及手机号快速验证code获取真实手机号
     *
     * @param appId
     * @param code
     * @return
     */
    @POST("wxapp/get_phone_number")
    WxappPhoneNumber getWxappPhoneNumber(@Query("appId") String appId, @Query("code") String code);
}
