主题
按激活码登录 - LoginEx
函数简介
用机器码 + 激活码登录这一条单独授权。同一台机器可以同时持有多条不同到期时间的授权:普通 Login 只认设备授权,LoginEx 只认这一张激活码。
登录成功会自动注册插件,不需要再调 Reg。成功之后,进程内的定时心跳和到期复查继续调用 LoginEx,不会改走 Login。
返回数据格式与 Login 相同:
json
{
"EndTime": "2026-01-30 11:40:41.193",
"LastVersion": "",
"LicenseType": 3,
"LicenseTypeStr": "月卡",
"Message": "",
"RemainingCount": 0,
"ServerTime": "2025-12-30 11:40:41.714",
"Status": 1
}| 字段名 | 说明 |
|---|---|
| EndTime | 这一张激活码对应授权的到期时间。 |
| LicenseType | 授权类型:0次卡,1小时卡,2日卡,3月卡,4年卡,5永久卡。 |
| LicenseTypeStr | 授权类型中文描述。 |
| Message | 提示信息;失败时多为 错误码:中文描述。完整对照见 客户端错误码说明。 |
| Status | 授权状态:1正常,0失败。 |
常见错误码(Message 字段)
| Message | 含义 |
|---|---|
2001:未激活 | 这张激活码在当前机器上没有可用的单独授权 |
2003:参数无效 | 未传激活码,或激活码格式不合法 |
2004:用户不存在 | 用户不存在 |
2018:权限不合法,请检查FeatureList参数 | FeatureList 不合法 |
接口名称
LoginExDLL调用
long LoginEx(string userCode, string softCode, string featureList, string softVersion, string dealerCode, string licenseKey);参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| userCode | 字符串 | 用户码。 |
| softCode | 字符串 | 软件码。 |
| featureList | 字符串 | 功能列表。为空时只使用授权系统,不注册插件。多个特性用 | 分割,如 OLA|YOLO。 |
| softVersion | 字符串 | 软件版本,可传空串。 |
| dealerCode | 字符串 | 经销商码,可传空串。 |
| licenseKey | 字符串 | 激活码。必填。 |
示例
SDK 调用
cpp
#include "OLAPlugServer.h"
OLAPlugServer ola;
OlaAuthLoginReturn result = ola.LoginEx("userCode", "softCode", "OLA|YOLO", "1.0.0", "dealerCode", "XXXX-XXXX");
// result.Status == 1 表示这一张激活码登录成功csharp
using OLAPlug;
var ola = new OLAPlugServer();
OlaAuthLoginReturn result = ola.LoginEx("userCode", "softCode", "OLA|YOLO", "1.0.0", "dealerCode", "XXXX-XXXX");python
from OLAPlugServer import OLAPlugServer
ola = OLAPlugServer()
json_result = ola.LoginEx("userCode", "softCode", "OLA|YOLO", "1.0.0", "dealerCode", "XXXX-XXXX")原生 DLL 调用
cpp
long resultPtr = LoginEx("userCode", "softCode", "OLA|YOLO", "1.0.0", "dealerCode", "XXXX-XXXX");
if (resultPtr != 0) {
char result[512] = {0};
GetStringFromPtr(resultPtr, result, sizeof(result));
FreeStringPtr(resultPtr);
}csharp
[DllImport("OLAPlug_x64.dll", CallingConvention = CallingConvention.StdCall)]
static extern long LoginEx(string userCode, string softCode, string featureList, string softVersion, string dealerCode, string licenseKey);返回值
| 调用方式 | 返回值 | 说明 |
|---|---|---|
| SDK | OlaAuthLoginReturn | Status == 1 表示这一张激活码登录成功 |
| 原生 DLL | 非 0 | 成功,返回 JSON 字符串 |
| 原生 DLL | 0 | 失败 |
注意事项
| 项目 | 说明 |
|---|---|
| 和 Login 的关系 | Login 只登录普通设备授权。只有单独授权时,Login 返回 2001:未激活。两种授权并存时,Login 返回普通授权的到期时间。 |
| 定时任务 | LoginEx 成功后,心跳和到期复查继续请求 LoginEx,并带上这次的激活码。之后若改调 Login 并成功,定时任务改回 Login。 |
| 解绑 | 结束这一条授权请调用 UnBindEx。 |
| 释放内存 | 返回的字符串指针需要调用 FreeStringPtr。 |
