Skip to content

用户功能

创建用户

php
\FresnsCmdWord::plugin('Fresns')->createUser($wordBody);
参数名类型是否必传说明
aidStringYES关联字段 accounts->aid
aidTokenStringNO不传则不验证账号身份,直接为该账号添加用户
appIdStringNOApp ID,传 aidToken 时必传
platformIdNumberNO平台编号,传 aidToken 时必传
versionStringNO语义化版本号,传 aidToken 时必传
usernameStringNO用户名,关联字段 users->username
不传则随机生成一个 6~8 位字符,需要避免使用禁用名(键名 user_ban_names 禁用值)
nicknameStringNO昵称,关联字段 users->nickname
不传则随机生成一个 8 位字符
pinStringNO登录密码,关联字段 users->pin
avatarFidStringNO头像 fid,存储时转换成 files->id
关联字段 users->avatar_file_id
avatarUrlStringNO头像 URL,关联字段 users->avatar_file_url
bannerFidStringNO条幅图 fid,存储时转换成 files->id
关联字段 users->banner_file_id
bannerUrlStringNO条幅图 URL,关联字段 users->banner_file_url
genderNumberNO性别,关联字段 users->gender
genderPronounNumberNO性别代称,关联字段 users->gender_pronoun
genderCustomStringNO性别自定义,关联字段 users->gender_custom
结果示例
json
{
    "code": 0,
    "message": "ok",
    "data": {
        "aid": "accounts->aid",
        "aidToken": "aidToken",
        "uid": "users->uid",
        "username": "users->username",
        "nickname": "users->nickname"
    }
}
查看注册逻辑
  • 注册时需要生成的数据清单
    • 用户主表 users
    • 用户数据统计表 user_stats
    • 用户角色关联表 user_roles:初始角色来自配置表 default_role 键值。
    • 其余传参有值时直接录入,无值时留空。

校验用户

php
\FresnsCmdWord::plugin('Fresns')->verifyUser($wordBody);
参数名类型是否必传说明
appIdStringYESApp ID
platformIdNumberYES平台编号(配置表 platforms 键名的键值)
versionStringYES语义化版本号
aidStringYES账号 AID accounts->aid
aidTokenStringYES账号 Token
uidNumberYES用户 UID users->uid
pinStringNO密码 users->pin
结果示例
json
{
    "code": 0,
    "message": "ok",
    "data": {
        "aid": "accounts->aid",
        "aidToken": "aidToken",
        "uid": "users->uid",
    }
}

创建用户凭证

php
\FresnsCmdWord::plugin('Fresns')->createUserToken($wordBody);
参数名类型是否必传说明
appIdStringYESApp ID
platformIdNumberYES平台编号(配置表 platforms 键名的键值)
versionStringYES语义化版本号
aidStringYES账号参数 session_tokens->account_id
存储时由 aid 转换成 accounts->id
aidTokenStringYES账号身份凭证(凭证表 session_tokens->token 字段)
uidNumberYES用户参数 session_tokens->user_id
存储时由 uid 转换成 users->id
deviceTokenStringNO交互设备 Token
例如 iOS Device Token 或 Android Device Token
可应用于推送消息
expiredTimeNumberNO过期时间,单位:小时(为空代表永久有效)
结果示例
json
{
    "code": 0,
    "message": "ok",
    "data": {
        "aid": "aid",
        "aidToken": "aidToken",
        "uid": "users->uid",
        "uidToken": "session_tokens->token",
        "uidTokenId": "session_tokens->id",
        "expiredHours": "有效期小时数", // 没有则输出 null
        "expiredDays": "有效期天数", // 没有则输出 null
        "expiredDateTime": "session_tokens->expired_at 留空代表永久有效,格式为 Y-m-d H:i:s", // 没有则输出 null
    }
}

校验用户凭证

php
\FresnsCmdWord::plugin('Fresns')->verifyUserToken($wordBody);
参数名类型是否必传说明
platformIdNumberYES平台编号(配置表 platforms 键名的键值)
aidStringYES账号参数 session_tokens->account_id
查验时由 aid 转换成 accounts->id
aidTokenStringYES账号身份凭证(凭证表 session_tokens->token 字段)
uidNumberYES用户参数 session_tokens->user_id
查验时由 uid 转换成 users->id
uidTokenStringYES用户身份凭证(凭证表 session_tokens->token 字段)

获取用户设备 Token

php
\FresnsCmdWord::plugin('Fresns')->getUserDeviceToken($wordBody);
参数名类型是否必传说明
uidNumberYES
platformIdNumberNO平台编号(配置表 platforms 键名的键值)
留空则输出全部
  • 结果为数组列表,根据创建时间倒序排列,最新创建的在前面。
结果示例
json
{
    "code": 0,
    "message": "ok",
    "data": [
        {
            "platformId": 5,
            "deviceToken": "",
            "datetime": ""
        }
    ]
}

逻辑删除用户

php
\FresnsCmdWord::plugin('Fresns')->logicalDeletionUser($wordBody);
参数名类型是否必传说明
uidNumberYES用户 UID users->uid

物理删除用户

php
\FresnsCmdWord::plugin('Fresns')->physicalDeletionUser($wordBody);
参数名类型是否必传说明
uidNumberYES用户 UID users->uid
  • 物理删除涉及内容很多,所以删除功能使用队列执行,请配置 Fresns 队列

设置用户扩展分值

php
\FresnsCmdWord::plugin('Fresns')->setUserExtcredits($wordBody);
参数名类型是否必传说明
uidNumberYES用户 UID users->uid
extcreditsIdNumberYESextcredits id 1-5
fskeyStringYES操作者
operationStringYES操作类型 incrementdecrement
amountNumberNO留空则默认为 1
remarkStringNO备注

设置用户有效期

php
\FresnsCmdWord::plugin('Fresns')->setUserExpiryDatetime($wordBody);
参数名类型是否必传说明
uidNumberYES用户 UID users->uid
datetimeStringNOY-m-d H:i:s 日期时间值,时区为数据库时区
clearDatetimeBooleanNO是否清空用户有效期
  • datetimeclearDatetime 二选一传参。
  • 该功能仅对站点私有模式有效。

设置用户的小组有效期

php
\FresnsCmdWord::plugin('Fresns')->setUserGroupExpiryDatetime($wordBody);
参数名类型是否必传说明
uidNumberYES用户 UID users->uid
gidStringYES小组 GID groups->gid
datetimeStringNOY-m-d H:i:s 日期时间值,时区为数据库时区
clearDatetimeBooleanNO是否清空用户有效期
  • datetimeclearDatetime 二选一传参。
  • 该功能仅对小组私有模式有效。
  • 如果用户未加入小组,则自动加入小组并设置有效期。

设置用户徽章

php
\FresnsCmdWord::plugin('Fresns')->setUserBadge($wordBody);
参数名类型是否必传说明
uidNumberYES用户 UID users->uid
fskeyStringYES插件 fskey
typeNumberYES1.红点 / 2.数字 / 3.文字
badgeNumberNumberNOtype=2 必传,显示的数字,如果有旧数字存在,则会累加
badgeTextStringNOtype=3 必传,显示的文字内容,最长支持 8 字符

清除用户徽章

php
\FresnsCmdWord::plugin('Fresns')->clearUserBadge($wordBody);
参数名类型是否必传说明
uidNumberYES用户 UID users->uid
fskeyStringYES插件 fskey

清除用户所有徽章

php
\FresnsCmdWord::plugin('Fresns')->clearUserAllBadges($wordBody);
参数名类型是否必传说明
uidNumberYES用户 UID users->uid

Released under the Apache-2.0 License