# `naisi_get_current_user_code`

返回由已验证 Access Token 或用户签名建立的当前可信用户代码；没有可信用户上下文时返回 0。

可选引用参数 act_user_code 输出代理登录用户 UID：仅已验证 Token 同时包含合法 act_uid 与 is_imp=true 时输出。
普通登录、仅用户签名、未授权或失败时 act_user_code 为 null。原返回值仍是当前用户 UID。
参数按引用写回，并遵守 PHP 类型化属性规则。

## 函数签名

```php
function naisi_get_current_user_code(?int &$act_user_code = null): int
```

## 调用前提

应用入口先调用 [naisi_is_ext_license_valid](/web/developers/naisilib/naisi-is-ext-license-valid) 并确认返回 `true`。只验证同一请求内已有的有效 FULL/BASIC 证明；没有证明或证明失效时立即返回失败值，不现场补做完整校验。

授权类别：`TRUSTED_USER`；执行模式：`PROOF`。许可不代替登录、租户或权限上下文；身份与数据要求见本页参数及用途说明。

## 参数

### `$act_user_code`

- 类型：`?int`
- 必填：否
- 默认值：`null`
- 方向：引用输出参数；失败时清空，仅在成功后包含有效结果。

可选代理登录用户 UID 输出；已验证 Token 包含合法 act_uid 且 is_imp=true 时写入 int，其他情况写入 null。原函数返回值仍为当前用户 UID。 该参数按引用传递，调用结束后可能被写入输出结果。

## 返回值

类型：`int`

返回计算得到的整数；未授权或处理失败时按接口契约返回 0。

## 调用示例

当前请求须满足上方调用前提；请检查实际返回值和引用输出，随机结果及数据包内容以运行环境为准。

```php
// 前提：本请求已完成许可验证，并成功验证 Access Token。
// Token 中 uid=100000006、act_uid=100000009、is_imp=true。
$actUserCode = null;
$userCode = naisi_get_current_user_code($actUserCode);
var_dump($userCode, $actUserCode);

// 原有无参调用继续可用。
$sameUserCode = naisi_get_current_user_code();

// 可选命名参数写法。
$sameUserCode = naisi_get_current_user_code(act_user_code: $actUserCode);
```

## 版本信息

- 自版本：`1.0.6`
- 实现模块：`auth`
- 授权类别：`TRUSTED_USER` / `PROOF`
- 失败回退：`0`
- 文档同步：`2026-10-18`
