liangjingkanji / Net

Android 基于协程/OkHttp网络请求工具
http://liangjingkanji.github.io/Net/
MIT License
1.8k stars 209 forks source link

此框架会请求2次接口问题 #215

Closed stars-one closed 6 months ago

stars-one commented 6 months ago

问题描述

对接微信登录,因为此框架会请求2次接口导致无法获取微信登录的access_token

对应微信接口文档: https://developers.weixin.qq.com/doc/oplatform/Mobile_App/WeChat_Login/Authorized_API_call_UnionID.html

val url  = ""
scope {
                    val gson = Gson()

                    try {
                        //get请求,返回数据
                        val url =
                            "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appId&secret=$appSecret&code=${code}&grant_type=authorization_code"

                       val resp = Get<String>(url).await()
}

返回resp数据:

{
  "errcode": 40163,
  "errmsg": "code been used"
}

我自己改用了okhttp去请求就解决了问题

期望行为

如何复现

fork仓库并复现问题可以快速解决, 猜测只会让问题晦涩难懂, 耽误所有人时间

截图

异常堆栈信息或者手机截图/视频(拖拽到输入框即可上传)

版本

liangjingkanji commented 6 months ago
  1. 请求两次, 你是写了什么拦截器吗? 可能拦截器中进行了二次请求
  2. 你能在demo复现2次请求吗?
  3. Net本身就是使用的OkHttp作为请求, 你可以尝试debug排查下, 这是开源框架每个使用者有义务排查和解决问题

我认为开源达到5年, 这么多人使用, 不应该存在请求2次这么严重的bug吧

stars-one commented 6 months ago

加了拦截器的原因