使用方式

  1. wordCaptchaDialog.show()//"字符校验"

事件

请求处理

  1. CommonInterceptor.kt
  2. 请求参数和请求结果处理的过滤器
  3. Configuration.kt
  4. 网络请求基类
  5. ServerApi.kt
  6. 网络请求接口

二次校验传参

  1. BlockPuzzleDialog.kt/WordCaptchaDialog.kt
  2. val result = token + "---" + pointListStr
  3. mOnResultsListener!!.onResultsClick(AESUtil.encode(result, key))
  4. LoginActivity.kt
  5. blockPuzzleDialog.setOnResultsListener(object : BlockPuzzleDialog.OnResultsListener{
  6. override fun onResultsClick(result: String) {
  7. //todo 二次校验回调结果
  8. }
  9. })
  10. wordCaptchaDialog.setOnResultsListener(object : WordCaptchaDialog.OnResultsListener{
  11. override fun onResultsClick(result: String) {
  12. //todo 二次校验回调结果
  13. val s = result
  14. }
  15. })

Android Java

引入依賴包

  1. implementation 'com.squareup.retrofit2:retrofit:2.8.1'
  2. implementation 'com.squareup.retrofit2:converter-gson:2.8.1'
  3. implementation 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'
  4. implementation 'io.reactivex.rxjava2:rxandroid:2.0.2'
  5. implementation 'io.reactivex.rxjava2:rxjava:2.1.6'
  6. implementation 'com.squareup.okhttp3:logging-interceptor:4.7.1'

使用方式

参数说明
OnSeekBarChangeListener回调函数,可自定义回调内容,根据自己服务定制
OnResultsListener回调函数,二次校验回调

请求处理

  1. RetrofitUtils.java
  2. 网络请求基类
  3. ServerApi.java
  4. BaseObserver.java
  5. 请求结果处理
  6. RxExceptionUtil
  7. 异常结果处理

校验注意事项

  1. 请求验证码接口中会有secretKey参数,当secretKey有值, 进行aes加密, 加密key
  2. secretKey,不加密情况下pointJsonjson系列化为字符串
  3. //secretKey有值 代表需要进行加密,否则不加密
  4. key = data.getSecretKey();
  5. Map<String, Object> params = new HashMap<>();
  6. params.put("captchaType", "blockPuzzle");
  7. params.put("token", token);
  8. params.put("pointJson", AESUtil.encode(pointStr, key));
  9. JSONObject jsonObject = new JSONObject(params);
  10. RequestBody body = RequestBody.create(MediaType.parse("application/json"), jsonObject.toString());
  11. AESUtilaes加密工具类

二次校验传参