Need help with Coolapk-kotlin?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

bjzhou
137 Stars 35 Forks GNU General Public License v2.0 46 Commits 2 Opened issues

Description

酷安开源版.....

Services available

!
?

Need anything else?

Contributors list

# 15,689
macOS
Swift
Shell
Objecti...
12 commits

Coolapk

酷安开源版

酷市场开源版 Demo

点此下载 Demo apk

screenshot

酷市场 V7 版 API 相关

所有接口使用统一的前缀: https://api.coolapk.com/v6/

所有接口使用统一的 HTTP 头:

User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; Nexus 4 Build/LMY48T) (#Build; google; Nexus 4; LMY48T; 5.1.1) +CoolMarket/7.3
X-Requested-With: XMLHttpRequest
X-Sdk-Int: 22
X-Sdk-Locale: zh-CN
X-App-Id: coolmarket
X-App-Token: 2a6e2adc2897c8d8133db17c2cd3b1045834ce58-d7d5-38eb-95d5-563167a1983d0x588f16cd
X-App-Version: 7.3
X-App-Code: 1701135
X-Api-Version: 7

具体参数获取方式可参考ApiManager.java,其中X-App-Token的生成是c++写的,直接引用了酷市场的 so 文件,不清楚具体算法,组合方式应该是

校验和+uuid+时间戳

本项目介绍了

main/init
picture/list
两个接口的具体使用方法,分别是获取启动图和所有酷图的,其他接口可参考下面的 retrofit 接口文件:
public interface CoolMarketService {
        @POST("feed/favorite")
        Observable> m3639A(@Query("id") String str);

    @POST("user/follow")
    Observable<result>&gt; m3640B(@Query("uid") String str);

    @POST("user/unfollow")
    Observable<result>&gt; m3641C(@Query("uid") String str);

    @POST("feed/cancelRecommend")
    Observable<result>&gt; m3642D(@Query("id") String str);

    @POST("feed/Recommend")
    Observable<result>&gt; m3643E(@Query("id") String str);

    @POST("discovery/loadDiscoveryInfo")
    Observable<result>&gt; m3644F(@Query("query") String str);

    @GET("topic/tagDetail")
    Observable<result>&gt; m3645G(@Query("tag") String str);

    @GET("feed/followTag")
    Observable<result>&gt; m3646H(@Query("tag") String str);

    @GET("feed/unFollowTag")
    Observable<result>&gt; m3647I(@Query("tag") String str);

    @GET("message/receive")
    Observable<result>&gt; m3648J(@Query("id") String str);

    @GET("message/read")
    Observable<result>&gt; m3649K(@Query("ukey") String str);

    @GET("cloudInstall/task")
    Observable<result>&gt; m3650L(@Query("id") String str);

    @GET("apk/qr")
    Observable<result>&gt; m3651M(@Query("id") String str);

    @GET("main/index")
    Observable<result>&gt;&gt; m3652a();

    @GET("main/headline")
    Observable<result>&gt;&gt; m3653a(@Query("page") int i, @Query("firstItem") String str, @Query("lastItem") String str2);

    @GET("album/list")
    Observable<result>&gt;&gt; m3654a(@Query("page") int i, @Query("firstItem") String str, @Query("lastItem") String str2, @Query("listType") String str3);

    @POST("account/changeAvatar")
    Observable<result>&gt; m3655a(@Body RequestBody requestBody);

    @GET("main/checkHeadlineCount")
    Observable<result>&gt; m3656a(@Query("firstItem") String str);

    @GET("apk/detail")
    Observable<result>&gt; m3657a(@Query("id") String str, @Query("installed") int i);

    @POST("message/send")
    @Multipart
    Observable<result>&gt; m3658a(@Query("uid") String str, @Query("quick_reply") int i, @Part("message") String str2);

    @GET("apk/index")
    Observable<result>&gt;&gt; m3659a(@Query("apkType") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3);

    @GET("feed/replyList")
    Observable<result>&gt;&gt; m3660a(@Query("id") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3, @Query("discussMode") int i2, @Query("feedType") String str4);

    @GET("topic/tagFeedList")
    Observable<result>&gt;&gt; m3661a(@Query("tag") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3, @Query("listType") String str4);

    @POST("album/addApk")
    Observable<result>&gt; m3662a(@Query("id") String str, @Body RequestBody requestBody);

    @POST("apk/checkUpdate")
    @Multipart
    Observable<result>&gt;&gt; m3663a(@Part("pkgs") String str, @Query("coolmarket_beta") String str2);

    @GET("apk/search")
    Observable<result>&gt;&gt; m3664a(@Query("q") String str, @Query("apkType") String str2, @Query("page") int i, @Query("firstItem") String str3, @Query("lastItem") String str4);

    @POST("feed/uploadImage")
    Observable<result>&gt; m3665a(@Query("fieldName") String str, @Query("uploadDir") String str2, @Body RequestBody requestBody);

    @GET("album/index")
    Observable<result>&gt;&gt; m3666a(@Query("page") String str, @Query("firstItem") String str2, @Query("lastItem") String str3);

    @GET("apk/index?listType=cat")
    Observable<result>&gt;&gt; m3667a(@Query("catId") String str, @Query("apkType") String str2, @Query("rankType") String str3, @Query("page") int i, @Query("firstItem") String str4, @Query("lastItem") String str5);

    @GET("apk/recommendList")
    Observable<result>&gt;&gt; m3668a(@Query("apkType") String str, @Query("title") String str2, @Query("subTitle") String str3, @Query("action") String str4, @Query("page") int i, @Query("firstItem") String str5, @Query("lastItem") String str6);

    @GET("apk/downloadStat")
    Observable<result>&gt; m3669a(@Query("pn") String str, @Query("aid") String str2, @Query("extra") String str3, @Query("ni") String str4, @Query("uninstall") String str5);

    @FormUrlEncoded
    @POST("album/addApk")
    Observable<result>&gt; m3670a(@Query("id") String str, @Field("packageName") String str2, @Field("title") String str3, @Field("url") String str4, @Field("note") String str5, @Field("displayOrder") int i, @Field("logo") String str6);

    @GET("main/init")
    Observable<result>&gt;&gt; init();

    @GET("main/updateList")
    Observable<result>&gt;&gt; m3672b(@Query("page") int i, @Query("firstItem") String str, @Query("lastItem") String str2);

    @POST("feed/newFeed")
    Observable<result>&gt; m3673b(@Body RequestBody requestBody);

    @GET("apk/realRankList")
    Observable<result>&gt;&gt; m3674b(@Query("apkType") String str);

    @GET("apk/rating")
    Observable<result string>&gt;&gt; m3675b(@Query("id") String str, @Query("value") int i);

    @GET("apk/search?searchType=developer")
    Observable<result>&gt;&gt; m3676b(@Query("developer") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3);

    @POST("apk/comment")
    Observable<result>&gt; m3677b(@Query("id") String str, @Body RequestBody requestBody);

    @FormUrlEncoded
    @POST("apk/unFavorite")
    Observable<result>&gt; m3678b(@Field("id") String str, @Field("targetType") String str2);

    @GET("picture/list")
    Observable<result>&gt;&gt; m3679b(@Query("tag") @NonNull String str, @Query("type") @NonNull String str2, @Query("page") int i, @Query("firstItem") String str3, @Query("lastItem") String str4);

    @POST("feed/reply")
    Observable<result>&gt; m3680b(@Query("id") String str, @Query("type") String str2, @Body RequestBody requestBody);

    @FormUrlEncoded
    @POST("album/edit")
    Observable<result>&gt; m3681b(@Query("id") String str, @Field("title") String str2, @Field("intro") String str3);

    @GET("apk/search")
    Observable<result>&gt;&gt; m3682b(@Query("q") String str, @Query("apkType") String str2, @Query("rankType") String str3, @Query("page") int i, @Query("firstItem") String str4, @Query("lastItem") String str5);

    @GET("device/ip")
    Observable<result>&gt; m3683c();

    @GET("apk/newestList")
    Observable<result>&gt;&gt; m3684c(@Query("page") int i, @Query("firstItem") String str, @Query("lastItem") String str2);

    @POST("picture/newPicture")
    Observable<result>&gt; m3685c(@Body RequestBody requestBody);

    @GET("apk/categoryList")
    Observable<result>&gt;&gt; m3686c(@Query("apkType") String str);

    @GET("user/albumlist")
    Observable<result>&gt;&gt; m3687c(@Query("uid") String str, @Query("pageSize") int i);

    @GET("apk/discovererList")
    Observable<result>&gt;&gt; m3688c(@Query("id") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3);

    @GET("user/delGift")
    Observable<result>&gt; m3689c(@Query("docId") String str, @Query("gift") String str2);

    @GET("apk/commentList")
    Observable<result>&gt;&gt; m3690c(@Query("id") String str, @Query("listType") String str2, @Query("page") int i, @Query("firstItem") String str3, @Query("lastItem") String str4);

    @POST("user/block")
    Observable<result>&gt; m3691c(@Query("uid") String str, @Query("action") String str2, @Query("clearTypes") String str3);

    @GET("apk/search?searchType=tag")
    Observable<result>&gt;&gt; m3692c(@Query("tag") String str, @Query("apkType") String str2, @Query("rankType") String str3, @Query("page") int i, @Query("firstItem") String str4, @Query("lastItem") String str5);

    @GET("notification/checkCount")
    Observable<result>&gt; m3693d();

    @GET("discovery/index")
    Observable<result>&gt;&gt; m3694d(@Query("page") int i, @Query("firstItem") String str, @Query("lastItem") String str2);

    @POST("discovery/newDiscovery")
    Observable<result>&gt; m3695d(@Body RequestBody requestBody);

    @GET("apk/offline")
    Observable<result>&gt; m3696d(@Query("id") String str);

    @FormUrlEncoded
    @POST("user/deleteAvatar")
    Observable<result>&gt; m3697d(@Query("uid") String str, @Field("lock") int i);

    @GET("apk/ratingUserList")
    Observable<result>&gt;&gt; m3698d(@Query("id") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3);

    @POST("album/create")
    @Multipart
    Observable<result>&gt; m3699d(@Part("title") String str, @Part("intro") String str2);

    @GET("{feedType}/search")
    Observable<result>&gt;&gt; m3700d(@Path("feedType") String str, @Query("q") String str2, @Query("page") int i, @Query("firstItem") String str3, @Query("lastItem") String str4);

    @GET("apk/giftList")
    Observable<result>&gt;&gt; m3701e(@Query("page") int i, @Query("firstItem") String str, @Query("lastItem") String str2);

    @GET("picture/addToSplash")
    Observable<result>&gt; m3702e(@Query("id") String str);

    @POST("feed/like")
    Observable<result>&gt; m3703e(@Query("id") String str, @Query("detail") int i);

    @GET("picture/userPictures")
    Observable<result>&gt;&gt; m3704e(@Query("uid") @NonNull String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3);

    @POST("album/delApk")
    @Multipart
    Observable<result>&gt; m3705e(@Query("id") String str, @Part("packageName") String str2);

    @GET("user/blackList")
    Observable<result>&gt;&gt; m3706f(@Query("page") int i, @Query("firstItem") String str, @Query("lastItem") String str2);

    @GET("apk/downloadVersionList")
    Observable<result>&gt;&gt; m3707f(@Query("id") String str);

    @POST("feed/unlike")
    Observable<result>&gt; m3708f(@Query("id") String str, @Query("detail") int i);

    @GET("apk/developerAppList")
    Observable<result>&gt;&gt; m3709f(@Query("uid") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3);

    @FormUrlEncoded
    @POST("album/editApkDisplayOrder")
    Observable<result>&gt; m3710f(@Query("id") String str, @Field("displayOrder") String str2);

    @GET("user/ignoreList")
    Observable<result>&gt;&gt; m3711g(@Query("page") int i, @Query("firstItem") String str, @Query("lastItem") String str2);

    @GET("apk/follow")
    Observable<result string>&gt;&gt; m3712g(@Query("id") String str);

    @POST("feed/deleteFeed")
    Observable<result>&gt; m3713g(@Query("id") String str, @Query("notNotify") int i);

    @GET("apk/giftList")
    Observable<result>&gt;&gt; m3714g(@Query("apkId") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3);

    @POST("album/unFavorite")
    Observable<result>&gt; m3715g(@Query("id") String str, @Query("targetType") String str2);

    @GET("user/limitList")
    Observable<result>&gt;&gt; m3716h(@Query("page") int i, @Query("firstItem") String str, @Query("lastItem") String str2);

    @GET("apk/url")
    Observable<result>&gt; m3717h(@Query("id") String str);

    @POST("feed/deleteReply")
    Observable<result>&gt; m3718h(@Query("id") String str, @Query("notNotify") int i);

    @GET("user/giftList")
    Observable<result>&gt;&gt; m3719h(@Query("uid") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3);

    @GET("feed/detail")
    Observable<result>&gt; m3720h(@Query("id") String str, @Query("rid") String str2);

    @GET("topic/recentFeedList")
    Observable<result>&gt;&gt; m3721i(@Query("page") int i, @Query("firstItem") String str, @Query("lastItem") String str2);

    @GET("apk/unfollow")
    Observable<result string>&gt;&gt; m3722i(@Query("id") String str);

    @GET("album/search")
    Observable<result>&gt;&gt; m3723i(@Query("q") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3);

    @POST("feed/unFavorite")
    Observable<result>&gt; m3724i(@Query("id") String str, @Query("targetType") String str2);

    @GET("topic/hotFeedList")
    Observable<result>&gt;&gt; m3725j(@Query("page") int i, @Query("firstItem") String str, @Query("lastItem") String str2);

    @FormUrlEncoded
    @POST("apk/favorite")
    Observable<result>&gt; m3726j(@Field("id") String str);

    @GET("user/albumlist")
    Observable<result>&gt;&gt; m3727j(@Query("uid") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3);

    @POST("message/send")
    @Multipart
    Observable<result>&gt; m3728j(@Query("uid") String str, @Part("message") String str2);

    @GET("topic/tagList")
    Observable<result>&gt;&gt; m3729k(@Query("page") int i, @Query("firstItem") String str, @Query("lastItem") String str2);

    @GET("apk/unrating")
    Observable<result string>&gt;&gt; m3730k(@Query("id") String str);

    @GET("album/replyList")
    Observable<result>&gt;&gt; m3731k(@Query("id") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3);

    @POST("account/changeProfile")
    @Multipart
    Observable<result>&gt; m3732k(@Part("key") String str, @Part("value") String str2);

    @GET("user/replyToMeList")
    Observable<result>&gt;&gt; m3733l(@Query("page") int i, @Query("firstItem") String str, @Query("lastItem") String str2);

    @GET("apk/getGift")
    Observable<result>&gt; m3734l(@Query("docId") String str);

    @GET("user/apkRatingList")
    Observable<result>&gt;&gt; m3735l(@Query("uid") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3);

    @GET("feed/editorChoiceList")
    Observable<result>&gt;&gt; m3736m(@Query("page") int i, @Query("firstItem") String str, @Query("lastItem") String str2);

    @GET("album/detail")
    Observable<result>&gt; m3737m(@Query("id") String str);

    @GET("topic/tagFeedList")
    Observable<result>&gt;&gt; m3738m(@Query("tag") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3);

    @GET("user/followTagList")
    Observable<result>&gt;&gt; m3739n(@Query("page") int i, @Query("firstItem") String str, @Query("lastItem") String str2);

    @POST("album/recommend")
    Observable<result>&gt; m3740n(@Query("id") String str);

    @GET("user/feedList")
    Observable<result>&gt;&gt; m3741n(@Query("uid") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3);

    @GET("notification/list")
    Observable<result>&gt;&gt; m3742o(@Query("page") int i, @Query("firstItem") String str, @Query("lastItem") String str2);

    @FormUrlEncoded
    @POST("album/favorite")
    Observable<result>&gt; m3743o(@Field("id") String str);

    @GET("topic/feedList")
    Observable<result>&gt;&gt; m3744o(@Query("type") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3);

    @GET("notification/atCommentMeList")
    Observable<result>&gt;&gt; m3745p(@Query("page") int i, @Query("firstItem") String str, @Query("lastItem") String str2);

    @GET("account/accessToken")
    Observable<result>&gt; m3746p(@Query("code") String str);

    @GET("user/likeList")
    Observable<result>&gt;&gt; m3747p(@Query("uid") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3);

    @GET("notification/atMeList")
    Observable<result>&gt;&gt; m3748q(@Query("page") int i, @Query("firstItem") String str, @Query("lastItem") String str2);

    @GET("user/profile")
    Observable<result>&gt; m3749q(@Query("uid") String str);

    @GET("user/apkCommentList")
    Observable<result>&gt;&gt; m3750q(@Query("uid") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3);

    @GET("notification/commentMeList")
    Observable<result>&gt;&gt; m3751r(@Query("page") int i, @Query("firstItem") String str, @Query("lastItem") String str2);

    @POST("user/addToBlackList")
    Observable<result>&gt; m3752r(@Query("uid") String str);

    @GET("user/discoveryList")
    Observable<result>&gt;&gt; m3753r(@Query("uid") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3);

    @GET("notification/feedLikeList")
    Observable<result>&gt;&gt; m3754s(@Query("page") int i, @Query("firstItem") String str, @Query("lastItem") String str2);

    @POST("user/removeFromBlackList")
    Observable<result>&gt; m3755s(@Query("uid") String str);

    @GET("user/apkFollowList")
    Observable<result>&gt;&gt; m3756s(@Query("uid") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3);

    @GET("message/list")
    Observable<result>&gt;&gt; m3757t(@Query("page") int i, @Query("firstItem") String str, @Query("lastItem") String str2);

    @POST("user/addToIgnoreList")
    Observable<result>&gt; m3758t(@Query("uid") String str);

    @GET("user/replyList")
    Observable<result>&gt;&gt; m3759t(@Query("uid") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3);

    @GET("feed/newestList")
    Observable<result>&gt;&gt; m3760u(@Query("page") int i, @Query("firstItem") String str, @Query("lastItem") String str2);

    @POST("user/removeFromIgnoreList")
    Observable<result>&gt; m3761u(@Query("uid") String str);

    @GET("user/followList")
    Observable<result>&gt;&gt; m3762u(@Query("uid") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3);

    @GET("feed/newestReplyList")
    Observable<result>&gt;&gt; m3763v(@Query("page") int i, @Query("firstItem") String str, @Query("lastItem") String str2);

    @POST("user/addToLimitList")
    Observable<result>&gt; m3764v(@Query("uid") String str);

    @GET("user/fansList")
    Observable<result>&gt;&gt; m3765v(@Query("uid") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3);

    @POST("user/removeFromLimitList")
    Observable<result>&gt; m3766w(@Query("uid") String str);

    @GET("user/search")
    Observable<result>&gt;&gt; m3767w(@Query("q") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3);

    @GET("feed/replyDetail")
    Observable<result>&gt; m3768x(@Query("id") String str);

    @GET("message/chat")
    Observable<result>&gt;&gt; m3769x(@Query("ukey") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3);

    @GET("feed/addToHeadline")
    Observable<result>&gt; m3770y(@Query("feedId") String str);

    @GET("favorite/list")
    Observable<result>&gt;&gt; m3771y(@Query("type") String str, @Query("page") int i, @Query("firstItem") String str2, @Query("lastItem") String str3);

    @GET("feed/removeFromHeadline")
    Observable<result>&gt; m3772z(@Query("feedId") String str);

}

TODO

  • 全部使用新版 API
  • 分类
  • 排行
  • UI

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.