ls / client-assistant
Requires
- anhskohbo/no-captcha: ^3.5
- firebase/php-jwt: ^6.8
- guzzlehttp/guzzle: ^7.0
- hekmatinasser/verta: ^2.1
- illuminate/collections: ^8.83
- illuminate/routing: ^8.83
- illuminate/view: ^8.83
- larapack/dd: ^1.1
- nyholm/psr7: ^1.8
- phpfastcache/phpfastcache: ^8.1
- predis/predis: ^2.2
- respect/validation: ^2.2
- sentry/sdk: ^3.5
- symfony/http-foundation: ^5.4
- vlucas/phpdotenv: ^5.5
Requires (Dev)
- dev-main
- v1.39.2
- v1.39.1
- v1.39.0
- v1.38.5
- v1.38.4
- v1.38.3
- v1.38.2
- v1.38.1
- v1.38.0
- v1.37.2
- v1.37.1
- v1.37.0
- v1.36.48
- v1.36.47
- v1.36.46
- v1.36.45
- v1.36.44
- v1.36.43
- v1.36.42
- v1.36.41
- v1.36.40
- v1.36.26
- v1.36.25
- v1.36.24
- v1.36.23
- v1.36.22
- v1.36.21
- v1.36.20
- v1.36.19
- v1.36.18
- v1.36.17
- v1.36.16
- v1.36.15
- v1.36.14
- v1.36.12
- v1.36.11
- v1.36.10
- v1.36.9
- v1.36.8
- v1.36.7
- v1.36.6
- v1.36.5
- v1.36.4
- v1.36.3
- v1.36.2
- v1.36.1
- v1.36.0
- v1.33.94
- v1.33.93
- v1.33.92
- v1.33.91
- v1.33.9
- v1.33.8
- v1.33.7
- v1.33.6
- v1.33.5
- v1.33.4
- v1.33.3
- v1.33.2
- v1.33.1
- v1.33.0
- v1.31.10
- v1.31.9
- v1.31.8
- v1.31.7
- v1.31.6
- v1.31.5
- v1.31.4
- v1.31.3
- v1.31.2
- v1.31.1
- v1.31.0
- v1.30.81
- v1.30.8
- v1.30.7
- v1.30.6
- v1.30.5
- v1.30.4
- v1.30.3
- v1.30.2
- v1.30.1
- v1.30.0
- v1.29.9
- v1.29.8
- v1.29.7
- v1.29.6
- 1.29.5
- v1.29.4
- v1.29.3
- v1.29.2
- v1.28.54
- v1.28.53
- v1.28.52
- v1.28.51
- v1.28.50
- v1.28.49
- v1.28.48
- v1.28.47
- v1.28.46
- v1.28.45
- v1.28.44
- v1.28.43
- v1.28.41
- v1.28.40
- v1.28.39
- v1.28.38
- v1.28.37
- v1.28.36
- v1.28.35
- v1.28.34
- v1.28.33
- v1.28.32
- v1.28.31
- v1.28.30
- v1.28.29
- v1.28.28
- v1.28.27
- v1.28.26
- v1.28.25
- v1.28.24
- v1.28.23
- v1.28.22
- v1.28.21
- v1.28.20
- v1.28.19
- v1.28.18
- v1.28.17
- v1.28.16
- v1.28.15
- v1.28.14
- v1.28.13
- v1.28.12
- v1.28.11
- v1.28.10
- v1.28.9
- v1.28.8
- v1.28.7
- v1.28.5
- v1.28.3
- v1.28.1
- v1.28.0
- v1.27.12
- v1.27.11
- v1.27.10
- v1.27.9
- v1.21.8
- v1.21.7
- v1.21.6
- v1.21.5
- v1.21.4
- v1.21.3
- v1.21.2
- v1.21.1
- v1.21.0
- v1.20.31
- v1.20.30
- v1.20.29
- v1.20.28
- v1.20.27
- v1.20.26
- v1.20.25
- v1.20.24
- v1.20.23
- v1.20.22
- v1.20.21
- v1.20.20
- v1.20.19
- v1.20.18
- v1.20.17
- v1.20.16
- v1.20.15
- v1.20.14
- v1.20.13
- v1.20.12
- v1.20.11
- v1.20.10
- v1.20.9
- v1.20.8
- v1.20.7
- v1.20.6
- v1.20.5
- v1.20.4
- v1.20.3
- v1.20.1
- v1.19.14
- v1.19.13
- v1.19.12
- v1.19.11
- v1.19.10
- v1.19.9
- v1.19.8
- v1.19.7
- 1.19.6
- v1.19.5
- 1.19.4
- 1.19.3
- 1.19.2
- v1.19.1
- v1.19.0
- v1.18.13
- v1.18.12
- v1.18.11
- v1.18.10
- v1.18.9
- v1.18.8
- v1.18.7
- v1.18.6
- v1.18.5
- v1.18.4
- v1.18.3
- v1.18.2
- v1.18.1
- v1.18.0
- v1.17.11
- v1.17.10
- v1.17.9
- v1.17.8
- v1.17.7
- v1.17.6
- v1.17.5.1
- v1.17.5
- v1.17.4
- v1.17.3
- v1.17.2
- v1.17.1
- v1.17.0
- v1.16.19
- v1.16.18
- v1.16.17
- v1.16.16
- v1.16.15
- v1.16.14
- v1.16.13
- v1.16.12
- v1.16.11
- v1.16.10
- v1.16.9
- v1.16.8
- v1.16.7
- v1.16.6
- v1.16.5
- v1.16.4
- v1.16.3
- v1.16.2
- v1.16.1
- v1.16.0
- v1.15.9
- v1.15.8
- v1.15.7
- v1.15.6
- v1.15.5
- v1.15.4
- v1.15.3
- v1.15.2
- v1.15.1
- v1.15.0
- v1.14.12
- v1.14.11
- v1.14.10
- v1.14.9
- v1.14.8
- v1.14.7
- v1.14.6
- v1.14.5
- v1.14.4
- v1.14.3
- v1.14.2
- v1.14.1
- v1.14.0
- v1.13.37
- v1.13.36
- v1.13.35
- v1.13.34
- v1.13.33
- v1.13.32
- v1.13.31
- v1.13.30
- v1.13.29
- v1.13.28
- v1.13.27
- v1.13.26
- v1.13.25
- v1.13.24
- v1.13.23
- v1.13.22
- v1.13.21
- v1.13.20
- v1.13.19
- v1.13.18
- v1.13.17
- v1.13.16
- v1.13.15
- v1.13.14
- v1.13.13
- v1.13.12
- v1.13.11
- v1.13.10
- v1.13.9
- v1.13.8
- v1.13.7
- v1.13.6
- v1.13.5
- v1.13.4
- v1.13.3
- v1.13.2
- v1.13.1
- v1.13.0
- v1.12.9
- v1.12.8
- v1.12.7
- v1.12.6
- v1.12.5
- v1.12.4
- v1.12.3
- v1.12.2
- v1.12.1
- v1.12.0
- v1.11.1
- v1.11.0
- v1.10.19
- v1.10.18
- v1.10.17
- v1.10.16
- v1.10.15
- v1.10.14
- v1.10.13
- v1.10.12
- v1.10.11
- v1.10.10
- v1.10.9
- v1.10.8
- v1.10.7
- v1.10.6
- v1.10.5
- v1.10.4
- v1.10.3
- v1.10.2
- v1.10.1
- v1.10.0
- v1.9.19
- v1.9.18
- v1.9.17
- v1.9.16
- v1.9.15
- v1.9.14
- v1.9.13
- v1.9.12
- v1.9.11
- v1.9.10
- v1.9.9
- v1.9.8
- v1.9.7
- v1.9.6
- v1.9.5
- v1.9.4
- v1.9.3
- v1.9.2
- v1.9.1
- v1.9.0
- v1.8.71
- v1.8.8
- v1.8.7
- v1.8.6
- v1.8.5
- v1.8.4
- v1.8.3
- v1.8.2
- v1.8.1
- v1.8.0
- v1.7.3
- v1.7.2
- v1.7.1
- v1.7.0
- v1.6.16
- v1.6.15
- v1.6.14
- v1.6.13
- v1.6.12
- v1.6.11
- v1.6.10
- v1.6.9
- v1.6.8
- v1.6.7
- v1.6.6
- v1.6.5
- v1.6.4
- v1.6.3
- v1.6.2
- v1.6.1
- v1.6.0
- v1.5.18
- v1.5.17
- v1.5.16
- v1.5.15.1
- v1.5.15
- v1.5.14
- v1.5.13
- v1.5.12
- v1.5.11
- v1.5.10
- v1.5.9
- v1.5.8
- v1.5.7
- v1.5.6
- v1.5.5
- v1.5.4
- v1.5.3
- v1.5.2
- v1.5.1
- v1.5.0
- v1.4.17
- v1.4.16
- v1.4.15
- v1.4.14
- v1.4.13
- v1.4.12
- v1.4.11
- v1.4.10
- v1.4.9
- v1.4.8
- v1.4.7
- v1.4.6
- v1.4.5
- v1.4.4
- v1.4.3
- v1.4.2
- v1.4.1
- v1.4.0
- v1.3.2
- v1.3.1
- v1.3.0
- v1.2.3
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.1
- v1.0.1
- v1.0.0
- dev-fix/api-response-integrated
- dev-feature/media_transformer
- dev-develop
- dev-fix/abort-env
- dev-addCMS
- dev-hotfix/pathname
- dev-fix/authRedirect
- dev-dr/search-and-single-pi
- dev-dr/course-performance
- dev-improvement/project-name
- dev-dr/enrolls2pwa-dashboard
- dev-dr/pwa-dashboard
- dev-refactor-and-profile-page
- dev-pageSeoMeta
- dev-fix-cache-flush
- dev-ignore-post-request-in-static-cache
- dev-fix/updateAxios
- dev-changeGatewayCopyright
- dev-pwa/fixManifest
- dev-dr/pwa4
- dev-dr/pwa-3
- dev-dr/pwa-changes2
- dev-change/crm-tasks
- dev-dr/cache-changes
- dev-fix/clear-cache
- dev-dr/workflow-forms-new-mode
- dev-dr/fix-static-cache
- dev-fix/task-source
- dev-fix/addErrorMsg
- dev-hotfix/remove-unused-enrollment-var
- dev-fix/consult-form
- dev-feature/transferAuthToSdk
- dev-pages
- dev-ui/snappPayBanks-2
- dev-change/snap-pay
- dev-ui/quick-pay
- dev-ui/minimal-landing-b
- dev-ui/minimal-landing
- dev-bug-fix
- dev-feature/addAuthVuejs
- dev-fix/verify-auth
- dev-fix/pageEditorModalStyle
- dev-m-landdind
- dev-seo
- dev-fix/gateways
- dev-test
- dev-theme
- dev-revert-248-theme
- dev-mini/video-cover
- dev-practic
- dev-hook/landing-logo
- dev-hook-default-image
- dev-hooksClients
- dev-fix/ckeditor
- dev-clientStructure
- dev-cart-payment
- dev-fix/token-nullable
- dev-abortNotification/supportSubdomains
This package is auto-updated.
Last update: 2024-09-30 13:21:02 UTC
README
常用方法
大多数工具包括三个方法:get、list、search,您可以使用这些方法进行静态调用。
get
get 方法用于获取单个项目,请参考以下示例
参数
- id 或 slug
- with(可选 - 当您想要与其相关联的内容时,例如您想获取产品及其创建者的数据,则传递如下:['user'])
LMSProduct::get(1, ['user']);
list
要获取某物的列表,只需轻松调用 list 方法,list 方法包含四个可选参数
参数
- with(可选)
- keyValues(可选 - 用于过滤)
- perPage(可选 - 用于分页,默认数量为 20,表示每页 20 项)
- orderBy(可选 - 您可以设置返回集合的顺序,默认为 OrderByEnum::LATEST)
LMSProduct::list();
search
要搜索项目,可以使用 search 方法进行静态调用,并且它包含四个可选参数。
参数
- keyword(可选 - 您要搜索的关键词)
- columns(可选 - 您要返回的列名)
- with(可选)
- perPage(可选)
LMSProduct::search();
queryParams
某些工具具有名为 queryParams 的方法,用于处理通过 URL 查询参数传递的参数,这些参数可以通过 PHP 中的 $_GET 访问。
参数
- 参数
- with
- perPage
LMSProduct::queryParams();
方法返回类型
所有来自工具的结果都是Collection
类型,它包含一些您可以在项目中使用的有用功能。要获取有关集合的更多信息,请点击下面的链接。
身份验证
您可以使用两种不同的身份验证方法,分别是PasswordBasedAuth
和TwoFaBasedAuth
。
当用户成功登录或注册时,将返回一个令牌,您可以将该令牌存储在用户浏览器cookie中,以保持用户登录状态。
基于密码
登录
使用您的(手机,电子邮件)和密码进行登录。
PasswordBasedAuth::login($mobileOrEmail, $password);
如果用户已存在,则结果将返回一个令牌。
注册
要注册,您需要传递以下参数
- mobileOrEmail
- password
- 密码确认
PasswordBasedAuth::register($mobileOrEmail, $password, $passwordConfirmation);
在调用register
方法后,将向用户发送一个OTP,您必须验证它。
verifyVerificationCode
验证OTP。
参数
- mobileOrEmail
- 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
,例如seconds
、minutes
、hours
、days
和weeks
。
您也可以删除令牌。
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
用于上传用户简历的横幅。
参数
- file(上传文件的响应内容)
- userToken
- 标题(可选)
- 附件ID(可选 - 用于更新简历横幅)
User::uploadResumeBanner($file, $userToken, $title, $attachmentId);
updatePassword
用于更新用户密码。
参数
- 当前密码
- 新密码
- 密码确认
- 用户令牌
User::updatePassword($currentPassword, $newPassword, $passwordConfirmation, $userToken);
uploadProfileImage
用于上传个人头像
- file(上传文件的响应内容)
- userToken
- 标题(可选)
- 附件ID(可选 - 用于更新用户头像)
User::uploadProfileImage($file, $userToken, $title, $attachmentId);
更新用户手机号
在更新用户手机号的情况下,您首先需要发送一个OTP给用户,然后验证它。
sendOtpForMobileNumber
User::sendOtpForMobileNumber($mobile, $userToken);
verifyCodeForUpdatingMobileNumber
User::verifyCodeForUpdatingMobileNumber($mobile, $otp, $userToken);
CMS
CMS类包括五个功能,其中四个是通用方法
,首先进行解释(get
、list
、search
)。
Signal
Signal包括(访问、点赞、不喜欢、评分、书签)等操作,例如要保存对一条新帖子的点赞,只需编写以下代码
参数
- 帖子ID
- 类型(访问、点赞、不喜欢、评分、书签)
- 值
CMS::signal($postId, 'like', 1);
购物车
购物车包括通用方法
(get
、list
、search
)。基本上,购物车是您网站中的购物篮。
章节报名
用户可能只报名了某些章节,您可以通过这个类获取已购买的课程。
ChapterEnrollment::forUser($userToken);
评论
产品评论
获取产品所有评论。
参数
- 产品ID
- perPage(可选 - 分页,默认值为20)
Comment::getLMSProductComments($productId, $perPage);
帖子评论
获取帖子所有评论。
参数
- 帖子ID
- perPage(可选 - 分页,默认值为20)
Comment::getPostComments($postId, $perPage);
商店产品评论
获取商店产品所有评论。
参数
- 商店ID
- perPage(可选 - 分页,默认值为20)
Comment::getShopProductComments($shopId, $perPage);
优惠券
优惠券有三个通用方法
,首先进行说明。基本上,您可以通过这个类使用该类获取平台上存在的优惠券信息。
报名
报名有三个通用方法
,首先进行说明(get
、list
、search
)。但它还附带两个新方法,称为logs
和signal
。
logs
要获取报名的日志,只需静态调用logs
方法即可。日志包括用户查看、播放或完成的每个单独会话的所有信息。
首先,您需要在代码的第一行使用Enrollment
类。
use Ls\ClientAssistant\Utilities\Modules\Enrollment;
只需使用以下代码,您就可以获取所有注册记录的日志。
参数
- 注册ID
- 用户令牌
Enrollment::logs(4, $userToken);
信号
信号是该框架中的注释模式,您可以用它执行一些小操作,例如,您可以通过信号通知用户刚刚播放了视频或查看了会话页面。为此,您可以使用以下示例代码。
参数
- 注册ID
- 产品ID
- 类型(访问、播放、完成)
- 用户令牌
Enrollment::signal(1, 1, 'visited', $userToken);
礼物
礼物用于游戏化部分,该部分具有三个在最初提到的常用方法
(get
、list
、search
)。
LMS产品
LMS产品功能丰富,其中一些是之前提到的常用方法
(get
、list
、search
、queryParams
)。
章节
获取产品的所有章节。
LMSProduct::chapters($productId);
章节统计
获取关于章节的统计信息,包括(章节完成百分比)。
参数
- 产品ID
- 章节ID
- 用户令牌
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);
创建主题
为产品的项目(会话)创建一个主题。
参数
- 数据(包括:item_id、标题、内容、附件(可选)、匿名(可选)、部分(可选)、社区(可选)、部门(可选))
- 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);
质量检查
质量检查包含三个之前提到的常用方法
(get
、list
、search
)。
添加评论
为产品添加评论。
参数
- 产品ID
- 项目ID
- 评分
- 评论(可选)
- userToken
QC::addReview([ 'product_id' => 1, 'item_id' => 1, 'rate' => 5, ], $userToken);
支持
支持部分包含三个部分:社区、主题和回复。
社区
列表
获取社区列表。
参数
- with(可选)
- keyValue(可选)
- perPage(可选)
- orderBy(可选)
SupportCommunity::list();
统计
获取有关社区的信息,如(活跃学生数、主题数量、社区数量)。
SupportCommunity::stats();
主题
主题包括三个最初提到的常用方法
(get
、list
、search
)。
回复
回复
回复主题。
参数
- 数据(topic_id,内容,附件(可选))
- userToken
SupportReply::reply([ 'topic_id' => 1, 'content' => 'this is a reply', ], $userToken);
更新
更新回复。
参数
- 数据(topic_id,replye_id,内容,附件(可选))
- userToken
SupportReply::update([ 'topic_id' => 1, 'reply_id' => 1, 'content' => 'this is a reply', ], $userToken);
点赞
点赞回复。
参数
- 主题 ID
- 回复 ID
- userToken
SupportReply::like($topicId, $replyId, $userToken);
删除
删除回复。
参数
- 主题 ID
- 回复 ID
- userToken
SupportReply::delete($topicId, $replyId, $userToken);
调查
调查包括最初提到的三个常用方法
(get
、list
、search
)。
术语
术语包括最初提到的三个常用方法
(get
、list
、search
)。
工具
实现了一些有用的工具,以提供更好的使用此框架的工作体验。
日期时间
将英文日期时间转换为波斯文。
DateTime::toPersianDate($enDate);
IP
获取用户 IP。
IP::get();
获取 IP 信息。
IP::info($ip);
语言
将波斯文数字转换为英文。
Lang::persianNumbers($number);
将英文数字转换为波斯文。
Lang::latinNumbers($number);
价格
将价格转换为波斯文价格。
Price::toPersianPrice($price);