基于客户端授权码的功能

功能描述

验证码客户端版,用于安卓端程序中验证码验证,类似于激活码的功能,通过激活码可以随时控制程序是否可用。这个是安卓客户端的工程,已经可以使用,配套的后台管理端的工程并未在本文中描述。之后回单独再写一篇文章描述后台管理的工程。

修改记录

版本 修改记录 修改时间 修改人
1.0 创建文档,aar版本号:1.0 2020-09-23 天河归来
1.1 增加查询aar版本号的接口,aar版本号:1.1
验证码接口增加设备id参数
2020-09-24 天河归来

1. 配置和使用方法

1.1 配置环境

建议使用开发环境:Android studio,版本号为4.0或以上进行开发;
建议gradle版本:建议使用6.1.1或以上版本进行开发;
建议android版本:建议使用(SDKVersion 29)或以上版本进行开发;
aar中使用的SDK版本:SDKVersion 29,minSDKVersion 21;
aar中使用的kotlin版本:1.3.50。

1.2 使用方法

将aar放到libs目录下;
在gradle中添加aar和相关源的引用,具体见demo;
在使用前需要对lib进行初始化,具体代码见第二章。
注1:本文中方法和示例代码均用kotlin标注。
具体使用方法可参见Demo。
Demo说明:

Demo分别展示了aar中的各项功能使用和调用方法。

1.3 权限获取

使用aar建议添加如下权限:
必要权限:
网络权限。

2. 初始化

2.1 初始化操作

新建InitLibCore类的对象,传入上下文,并调用该对象的init方法进行初始化。

val initLibAuthCode = InitLibAuthCode()
    
initLibAuthCode.init(context)

注:初始化操作必不可少,否则无法使用本aar库,传入的context建议使用应用Application的context。此操作建议在Application中完成。

3. 具体方法

使用AuthCodeAb类进行具体操作,其中封装的方法如下。

3.1 AuthCodeAb对象初始化

新建AuthCodeAb对象,并初始化:

private var mAuthCodeAb: AuthCodeAb? = null

mAuthCodeAb = AuthCode(this)//传入上下文content

3.2 查询版本号方法

调用AuthCodeAb的getVersion方法查询aar的版本号:
abstract fun getVersion():String
返回aar的版本号。

3.2 验证码验证方法

调用AuthCodeAb的checkAuthCode方法验证:
abstract fun checkAuthCode(authCode: String, deviceId:String, pAuthCodeCallback: AuthCodeCallback)

参数名称 参数说明
authCode 验证码
deviceId 设备Id
pAuthCodeCallback 验证结果回调,AuthCodeAb.AuthCodeCallback

具体使用方法:
在使用定位的Activity实现LocationAb.LocationCallback接口,或者在使用时创建LocationAb.LocationCallback,以下示例代码使用传入回调方式:

mAuthCodeAb?.checkAuthCode("88e8a57c58d7ea088e1b32881338aaab", "your device Id", object : AuthCodeAb.AuthCodeCallback {
    override fun onError(code: Int, msg: String) {
        LogDebug.d(TAG, "checkAuthCode onError,code:$code,msg:$msg")
        tvMsg!!.text = msg
    }

    override fun onSuccess(msg: String) {
        LogDebug.d(TAG, "checkAuthCode onSuccess,msg:$msg")
        tvMsg!!.text = msg
    }
})

注:如不用传入回调实现接口方式,可以使用Activity实现接口代替。

3.4 回调方法

验证码结果回调方法

3.4.1 验证通过回调

验证码验证成功时回调
fun onSuccess(msg: String)

参数名称 参数说明
msg 操作成功

3.4.2 验证失败回调

验证码验证失败时回调。
注:失败情况比如:验证码不存在,验证码已过期,联网超时等,具体看code和msg。
onError(code: Int, msg: String)

参数名称 参数说明
code 错误码
msg 错误信息

4. 下载地址

具体实现方式看源码吧,将APP程序源码上传,有需要的请下载: 源码下载地址.

Guess you like

Origin blog.csdn.net/nhx900317/article/details/109310004