使用方式

    1. //import 'package:captcha/captcha/click_word_captcha.dart';
    2. static void loadingClickWord(BuildContext context, {barrierDismissible = true}) {
    3. showDialog<Null>(
    4. context: context,
    5. barrierDismissible: barrierDismissible,
    6. builder: (BuildContext context) {
    7. return ClickWordCaptcha(
    8. onSuccess: (v){//成功回调(回调为加密后内容,依据项目而定)
    9. },
    10. },
    11. );
    12. },
    13. );
    14. }
    15. //滑动拼图
    16. //import 'package:captcha/captcha/block_puzzle_captcha.dart';
    17. static void loadingBlockPuzzle(BuildContext context, {barrierDismissible = true}) {
    18. showDialog<Null>(
    19. context: context,
    20. barrierDismissible: barrierDismissible,
    21. builder: (BuildContext context) {
    22. return BlockPuzzleCaptchaPage(
    23. onSuccess: (v){ //成功回调(回调为加密后内容,依据项目而定)
    24. onFail: (){
    25. },
    26. );
    27. },
    28. );

    请求处理

    1. {
    2. "pointJson": cryptedStr,
    3. "captchaType": "clickWord",
    4. "token": _clickWordCaptchaModel.token
    5. }

    二次校验传出的参数

    1. //如果不加密 将 token 和 坐标序列化 通过 --- 链接成字符串
    2. var captchaVerification = "$captchaToken---$pointStr";
    3. if(!ObjectUtils.isEmpty(secretKey)){
    4. //如果加密 将 token 和 坐标序列化 通过 --- 链接成字符串 进行加密 加密密钥为 _clickWordCaptchaModel.secretKey
    5. captchaVerification = EncryptUtil.aesEncode(key: secretKey, content: captchaVerification);