ls / client-assistant

该软件包最新版本(v1.39.2)没有提供许可证信息。

v1.39.2 2024-09-23 08:24 UTC

This package is auto-updated.

Last update: 2024-09-30 13:21:02 UTC


README

常用方法

大多数工具包括三个方法:get、list、search,您可以使用这些方法进行静态调用。

get

get 方法用于获取单个项目,请参考以下示例

参数

  1. id 或 slug
  2. with(可选 - 当您想要与其相关联的内容时,例如您想获取产品及其创建者的数据,则传递如下:['user'])
LMSProduct::get(1, ['user']);

list

要获取某物的列表,只需轻松调用 list 方法,list 方法包含四个可选参数

参数

  1. with(可选)
  2. keyValues(可选 - 用于过滤)
  3. perPage(可选 - 用于分页,默认数量为 20,表示每页 20 项)
  4. orderBy(可选 - 您可以设置返回集合的顺序,默认为 OrderByEnum::LATEST)
LMSProduct::list();

search

要搜索项目,可以使用 search 方法进行静态调用,并且它包含四个可选参数。

参数

  1. keyword(可选 - 您要搜索的关键词)
  2. columns(可选 - 您要返回的列名)
  3. with(可选)
  4. perPage(可选)
LMSProduct::search();

queryParams

某些工具具有名为 queryParams 的方法,用于处理通过 URL 查询参数传递的参数,这些参数可以通过 PHP 中的 $_GET 访问。

参数

  1. 参数
  2. with
  3. perPage
LMSProduct::queryParams();

方法返回类型

所有来自工具的结果都是Collection类型,它包含一些您可以在项目中使用的有用功能。要获取有关集合的更多信息,请点击下面的链接。

Laravel 集合

身份验证

您可以使用两种不同的身份验证方法,分别是PasswordBasedAuthTwoFaBasedAuth

当用户成功登录或注册时,将返回一个令牌,您可以将该令牌存储在用户浏览器cookie中,以保持用户登录状态。

基于密码

登录

使用您的(手机,电子邮件)和密码进行登录。

PasswordBasedAuth::login($mobileOrEmail, $password);

如果用户已存在,则结果将返回一个令牌。

注册

要注册,您需要传递以下参数

  1. mobileOrEmail
  2. password
  3. 密码确认
PasswordBasedAuth::register($mobileOrEmail, $password, $passwordConfirmation);

在调用register方法后,将向用户发送一个OTP,您必须验证它。

verifyVerificationCode

验证OTP。

参数

  1. mobileOrEmail
  2. otp
PasswordBasedAuth::verifyVerificationCode($mobileOrEmail, $otp);

如果OTP有效,则将返回一个令牌。

sendVerificationCode

再次发送OTP。

PasswordBasedAuth::sendVerificationCode($mobileOrEmail);

基于双因素认证

login

登录或注册。

TwoFaBasedAuth::login($mobileOrEmail);

将向用户发送OTP,然后用户必须验证它以获取登录令牌。

verifyVerificationCode

TwoFaBasedAuth::verifyVerificationCode($mobileOrEmail, $otp);

如果OTP有效,则结果将返回一个令牌。

sendVerificationCode

再次发送OTP。

TwoFaBasedAuth::sendVerificationCode($mobileOrEmail);

logout

TwoFaBasedAuth::logout($userToken);

在用户浏览器中存储令牌

要在身份验证场景中存储返回的令牌,我们提供了Token类。

Token::token($token)->setCookie()->weeks(2);

我们只将令牌存储在用户浏览器中2周,您还可以使用其他方法代替weeks,例如secondsminuteshoursdaysweeks

您也可以删除令牌。

Token::token($token)->remove();

就像这样。

用户

me

要获取有关用户的所有信息,您只需将用户令牌传递给me方法。

User::me($userToken);

loggedIn

如果您想检查是否有用户登录,只需调用loggedIn方法并传递userToken。

User::loggedIn($userToken);

logout

User::logout($userToken);

updateUserInfo

要更新用户信息(例如,真实姓名、显示名称、性别、出生日期),您只需将提到的数据作为数组传递,并将userToken作为第二个参数。

User::updateUserInfo($data, $userToken);

一个实际示例可能是

User::updateUserInfo([
    'real_name' => 'Amir Salehi',
    'display_name' => 'Amir',
    'gender' => 'male',
    'birth_date' => '2001-09-27',
], $userToken);

courses

获取用户已购买的所有课程。

User::courses($userToken);

stats

统计数据包括(课程数量、问题数量、评论数量、平台使用天数)

User::stats($userToken);

uploadResumeBanner

用于上传用户简历的横幅。

参数

  1. file(上传文件的响应内容)
  2. userToken
  3. 标题(可选)
  4. 附件ID(可选 - 用于更新简历横幅)
User::uploadResumeBanner($file, $userToken, $title, $attachmentId);

updatePassword

用于更新用户密码。

参数

  1. 当前密码
  2. 新密码
  3. 密码确认
  4. 用户令牌
User::updatePassword($currentPassword, $newPassword, $passwordConfirmation, $userToken);

uploadProfileImage

用于上传个人头像

  1. file(上传文件的响应内容)
  2. userToken
  3. 标题(可选)
  4. 附件ID(可选 - 用于更新用户头像)
User::uploadProfileImage($file, $userToken, $title, $attachmentId);

更新用户手机号

在更新用户手机号的情况下,您首先需要发送一个OTP给用户,然后验证它。

sendOtpForMobileNumber

User::sendOtpForMobileNumber($mobile, $userToken);

verifyCodeForUpdatingMobileNumber

User::verifyCodeForUpdatingMobileNumber($mobile, $otp, $userToken);

CMS

CMS类包括五个功能,其中四个是通用方法,首先进行解释(getlistsearch)。

Signal

Signal包括(访问、点赞、不喜欢、评分、书签)等操作,例如要保存对一条新帖子的点赞,只需编写以下代码

参数

  1. 帖子ID
  2. 类型(访问、点赞、不喜欢、评分、书签)
CMS::signal($postId, 'like', 1);

购物车

购物车包括通用方法getlistsearch)。基本上,购物车是您网站中的购物篮。

章节报名

用户可能只报名了某些章节,您可以通过这个类获取已购买的课程。

ChapterEnrollment::forUser($userToken);

评论

产品评论

获取产品所有评论。

参数

  1. 产品ID
  2. perPage(可选 - 分页,默认值为20)
Comment::getLMSProductComments($productId, $perPage);

帖子评论

获取帖子所有评论。

参数

  1. 帖子ID
  2. perPage(可选 - 分页,默认值为20)
Comment::getPostComments($postId, $perPage);

商店产品评论

获取商店产品所有评论。

参数

  1. 商店ID
  2. perPage(可选 - 分页,默认值为20)
Comment::getShopProductComments($shopId, $perPage);

优惠券

优惠券有三个通用方法,首先进行说明。基本上,您可以通过这个类使用该类获取平台上存在的优惠券信息。

报名

报名有三个通用方法,首先进行说明(getlistsearch)。但它还附带两个新方法,称为logssignal

logs

要获取报名的日志,只需静态调用logs方法即可。日志包括用户查看、播放或完成的每个单独会话的所有信息。

首先,您需要在代码的第一行使用Enrollment类。

use Ls\ClientAssistant\Utilities\Modules\Enrollment;

只需使用以下代码,您就可以获取所有注册记录的日志。

参数

  1. 注册ID
  2. 用户令牌
Enrollment::logs(4, $userToken);

信号

信号是该框架中的注释模式,您可以用它执行一些小操作,例如,您可以通过信号通知用户刚刚播放了视频或查看了会话页面。为此,您可以使用以下示例代码。

参数

  1. 注册ID
  2. 产品ID
  3. 类型(访问、播放、完成)
  4. 用户令牌
Enrollment::signal(1, 1, 'visited', $userToken);

礼物

礼物用于游戏化部分,该部分具有三个在最初提到的常用方法getlistsearch)。

LMS产品

LMS产品功能丰富,其中一些是之前提到的常用方法getlistsearchqueryParams)。

章节

获取产品的所有章节。

LMSProduct::chapters($productId);

章节统计

获取关于章节的统计信息,包括(章节完成百分比)。

参数

  1. 产品ID
  2. 章节ID
  3. 用户令牌
LMSProduct::chapterStats($productId, $chapterId, $userToken);

下一个项目

获取项目的下一个数据项(例如用户正在观看的会话视频)。

LMSProduct::nextItem($productId, $itemId);

上一个项目

获取项目的上一个数据项(例如用户正在观看的会话视频)。

LMSProduct::prevItem($productId, $itemId);

下一个章节

获取下一个章节的数据。

LMSProduct::nextChapter($productId, $chapterId);

上一个章节

获取上一个章节的数据。

LMSProduct::prevChapter($productId, $chapterId);

教师

获取产品中所有教师和导师的信息。

LMSProduct::faculty($productId);

演示

获取产品中已知为演示的免费项目。

LMSProduct::demo($productId);

创建主题

为产品的项目(会话)创建一个主题。

参数

  1. 数据(包括:item_id、标题、内容、附件(可选)、匿名(可选)、部分(可选)、社区(可选)、部门(可选))
  2. userToken
LMSProduct::createTopic([
    'title' => 'How to print a hello world in javascript?',
    'content' => 'The long content of How to print a hello world in javascript?'
], $userToken);

质量检查

质量检查包含三个之前提到的常用方法getlistsearch)。

添加评论

为产品添加评论。

参数

  1. 产品ID
  2. 项目ID
  3. 评分
  4. 评论(可选)
  5. userToken
QC::addReview([
   'product_id' => 1,
    'item_id' => 1,
    'rate' => 5,
], $userToken);

支持

支持部分包含三个部分:社区、主题和回复。

社区

列表

获取社区列表。

参数

  1. with(可选)
  2. keyValue(可选)
  3. perPage(可选)
  4. orderBy(可选)
SupportCommunity::list();

统计

获取有关社区的信息,如(活跃学生数、主题数量、社区数量)。

SupportCommunity::stats();

主题

主题包括三个最初提到的常用方法getlistsearch)。

回复

回复

回复主题。

参数

  1. 数据(topic_id,内容,附件(可选))
  2. userToken
SupportReply::reply([
    'topic_id' => 1,
    'content' => 'this is a reply',
], $userToken);

更新

更新回复。

参数

  1. 数据(topic_id,replye_id,内容,附件(可选))
  2. userToken
SupportReply::update([
    'topic_id' => 1,
    'reply_id' => 1,
    'content' => 'this is a reply',
], $userToken);

点赞

点赞回复。

参数

  1. 主题 ID
  2. 回复 ID
  3. userToken
SupportReply::like($topicId, $replyId, $userToken);

删除

删除回复。

参数

  1. 主题 ID
  2. 回复 ID
  3. userToken
SupportReply::delete($topicId, $replyId, $userToken);

调查

调查包括最初提到的三个常用方法getlistsearch)。

术语

术语包括最初提到的三个常用方法getlistsearch)。

工具

实现了一些有用的工具,以提供更好的使用此框架的工作体验。

日期时间

将英文日期时间转换为波斯文。

DateTime::toPersianDate($enDate);

IP

获取用户 IP。

IP::get();

获取 IP 信息。

IP::info($ip);

语言

将波斯文数字转换为英文。

Lang::persianNumbers($number);

将英文数字转换为波斯文。

Lang::latinNumbers($number);

价格

将价格转换为波斯文价格。

Price::toPersianPrice($price);