mirror of
https://gitee.com/koogua/course-tencent-cloud.git
synced 2025-07-24 00:41:43 +08:00
Merge branch 'koogua/v1.5.2'
This commit is contained in:
commit
450b4c5210
@ -1,3 +1,12 @@
|
||||
### [v1.5.2](https://gitee.com/koogua/course-tencent-cloud/releases/v1.5.2)(2022-04-17)
|
||||
|
||||
- 补充话题列表课程数据结构
|
||||
- 调整发送验证码相关样式
|
||||
- 优化套餐和话题下拉课程数据显示
|
||||
- 去除礼物详情中多出来的"}}"标签
|
||||
- 修正关闭秒杀订单时没有回填库存的问题
|
||||
- vditor编辑器切换为七牛cdn加速
|
||||
|
||||
### [v1.5.1](https://gitee.com/koogua/course-tencent-cloud/releases/v1.5.1)(2022-03-17)
|
||||
|
||||
- 推荐课程等列表补充属性
|
||||
|
@ -45,7 +45,7 @@ class CourseTopicList extends Builder
|
||||
'id', 'title', 'cover',
|
||||
'market_price', 'vip_price',
|
||||
'rating', 'model', 'level', 'attrs',
|
||||
'user_count', 'lesson_count',
|
||||
'user_count', 'lesson_count', 'review_count', 'favorite_count',
|
||||
];
|
||||
|
||||
$courses = $courseRepo->findByIds($ids, $columns);
|
||||
|
@ -8,6 +8,7 @@
|
||||
namespace App\Console\Tasks;
|
||||
|
||||
use App\Models\Order as OrderModel;
|
||||
use App\Repos\FlashSale as FlashSaleRepo;
|
||||
use App\Services\Logic\FlashSale\Queue as FlashSaleQueue;
|
||||
use App\Services\Logic\FlashSale\UserOrderCache;
|
||||
use Phalcon\Mvc\Model\Resultset;
|
||||
@ -27,6 +28,7 @@ class CloseFlashSaleOrderTask extends Task
|
||||
echo '------ start close order task ------' . PHP_EOL;
|
||||
|
||||
foreach ($orders as $order) {
|
||||
$this->incrFlashSaleStock($order->promotion_id);
|
||||
$this->pushFlashSaleQueue($order->promotion_id);
|
||||
$this->deleteUserOrderCache($order->owner_id, $order->promotion_id);
|
||||
$order->status = OrderModel::STATUS_CLOSED;
|
||||
@ -36,6 +38,17 @@ class CloseFlashSaleOrderTask extends Task
|
||||
echo '------ end close order task ------' . PHP_EOL;
|
||||
}
|
||||
|
||||
protected function incrFlashSaleStock($saleId)
|
||||
{
|
||||
$flashSaleRepo = new FlashSaleRepo();
|
||||
|
||||
$flashSale = $flashSaleRepo->findById($saleId);
|
||||
|
||||
$flashSale->stock += 1;
|
||||
|
||||
$flashSale->update();
|
||||
}
|
||||
|
||||
protected function pushFlashSaleQueue($saleId)
|
||||
{
|
||||
$queue = new FlashSaleQueue();
|
||||
|
@ -15,7 +15,6 @@ use App\Repos\Chapter as ChapterRepo;
|
||||
use App\Repos\Course as CourseRepo;
|
||||
use App\Services\ChapterVod as ChapterVodService;
|
||||
use App\Services\CourseStat as CourseStatService;
|
||||
use App\Services\Vod as VodService;
|
||||
use App\Validators\ChapterLive as ChapterLiveValidator;
|
||||
use App\Validators\ChapterOffline as ChapterOfflineValidator;
|
||||
use App\Validators\ChapterRead as ChapterReadValidator;
|
||||
@ -134,28 +133,14 @@ class ChapterContent extends Service
|
||||
|
||||
$vod = $chapterRepo->findChapterVod($chapter->id);
|
||||
|
||||
/**
|
||||
* 无新文件上传
|
||||
*/
|
||||
if ($fileId == $vod->file_id) return;
|
||||
|
||||
/**
|
||||
* 删除旧文件
|
||||
*/
|
||||
if ($vod->file_id) {
|
||||
$this->deleteVodFile($vod->file_id);
|
||||
}
|
||||
|
||||
$vod->file_id = $fileId;
|
||||
$vod->file_transcode = [];
|
||||
|
||||
$vod->update();
|
||||
|
||||
$attrs = $chapter->attrs;
|
||||
$attrs['duration'] = 0;
|
||||
$attrs['file']['status'] = ChapterModel::FS_UPLOADED;
|
||||
$chapter->attrs = $attrs;
|
||||
|
||||
$chapter->update();
|
||||
|
||||
$this->updateCourseVodAttrs($vod->course_id);
|
||||
@ -331,13 +316,6 @@ class ChapterContent extends Service
|
||||
$statService->updateOfflineAttrs($courseId);
|
||||
}
|
||||
|
||||
protected function deleteVodFile($fileId)
|
||||
{
|
||||
$vodService = new VodService();
|
||||
|
||||
$vodService->deleteMedia($fileId);
|
||||
}
|
||||
|
||||
protected function rebuildCatalogCache(ChapterModel $chapter)
|
||||
{
|
||||
$cache = new CatalogCache();
|
||||
|
@ -59,8 +59,9 @@ class Package extends Service
|
||||
$result = [];
|
||||
|
||||
foreach ($items as $item) {
|
||||
$price = $item->market_price > 0 ? sprintf("¥%0.2f", $item->market_price) : '免费';
|
||||
$result[] = [
|
||||
'name' => sprintf('%s - %s(¥%0.2f)', $item->id, $item->title, $item->market_price),
|
||||
'name' => sprintf('%s - %s(¥%0.2f)', $item->id, $item->title, $price),
|
||||
'value' => $item->id,
|
||||
'selected' => in_array($item->id, $courseIds),
|
||||
];
|
||||
|
@ -34,8 +34,9 @@ class Slide extends Service
|
||||
$result = [];
|
||||
|
||||
foreach ($items as $item) {
|
||||
$price = $item->market_price > 0 ? sprintf("¥%0.2f", $item->market_price) : '免费';
|
||||
$result[] = [
|
||||
'name' => sprintf('%s(¥%0.2f)', $item->title, $item->market_price),
|
||||
'name' => sprintf('%s- %s(%s)', $item->id, $item->title, $price),
|
||||
'value' => $item->id,
|
||||
];
|
||||
}
|
||||
|
@ -45,8 +45,9 @@ class Topic extends Service
|
||||
$result = [];
|
||||
|
||||
foreach ($items as $item) {
|
||||
$price = $item->market_price > 0 ? sprintf("¥%0.2f", $item->market_price) : '免费';
|
||||
$result[] = [
|
||||
'name' => sprintf('%s - %s(¥%0.2f)', $item->id, $item->title, $item->market_price),
|
||||
'name' => sprintf('%s - %s(¥%0.2f)', $item->id, $item->title, $price),
|
||||
'value' => $item->id,
|
||||
'selected' => in_array($item->id, $courseIds),
|
||||
];
|
||||
|
@ -29,13 +29,13 @@
|
||||
|
||||
{% block link_css %}
|
||||
|
||||
{{ css_link('https://cdn.jsdelivr.net/npm/vditor/dist/index.css', false) }}
|
||||
{{ css_link('https://cdn.staticfile.org/vditor/3.8.13/index.css', false) }}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
{{ js_include('https://cdn.jsdelivr.net/npm/vditor/dist/index.min.js', false) }}
|
||||
{{ js_include('https://cdn.staticfile.org/vditor/3.8.13/index.min.js', false) }}
|
||||
{{ js_include('admin/js/vditor.js') }}
|
||||
|
||||
{% endblock %}
|
@ -28,13 +28,13 @@
|
||||
|
||||
{% block link_css %}
|
||||
|
||||
{{ css_link('https://cdn.jsdelivr.net/npm/vditor/dist/index.css', false) }}
|
||||
{{ css_link('https://cdn.staticfile.org/vditor/3.8.13/index.css', false) }}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
{{ js_include('https://cdn.jsdelivr.net/npm/vditor/dist/index.min.js', false) }}
|
||||
{{ js_include('https://cdn.staticfile.org/vditor/3.8.13/index.min.js', false) }}
|
||||
{{ js_include('admin/js/vditor.js') }}
|
||||
|
||||
{% endblock %}
|
@ -25,13 +25,13 @@
|
||||
|
||||
{% block link_css %}
|
||||
|
||||
{{ css_link('https://cdn.jsdelivr.net/npm/vditor/dist/index.css', false) }}
|
||||
{{ css_link('https://cdn.staticfile.org/vditor/3.8.13/index.css', false) }}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
{{ js_include('https://cdn.jsdelivr.net/npm/vditor/dist/index.min.js', false) }}
|
||||
{{ js_include('https://cdn.staticfile.org/vditor/3.8.13/index.min.js', false) }}
|
||||
{{ js_include('lib/xm-select.js') }}
|
||||
{{ js_include('admin/js/vditor.js') }}
|
||||
|
||||
|
@ -50,7 +50,7 @@
|
||||
{% block link_css %}
|
||||
|
||||
{% if chapter.model == 3 %}
|
||||
{{ css_link('https://cdn.jsdelivr.net/npm/vditor/dist/index.css', false) }}
|
||||
{{ css_link('https://cdn.staticfile.org/vditor/3.8.13/index.css', false) }}
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
||||
@ -59,7 +59,7 @@
|
||||
|
||||
{% if chapter.model == 3 %}
|
||||
|
||||
{{ js_include('https://cdn.jsdelivr.net/npm/vditor/dist/index.min.js', false) }}
|
||||
{{ js_include('https://cdn.staticfile.org/vditor/3.8.13/index.min.js', false) }}
|
||||
{{ js_include('admin/js/vditor.js') }}
|
||||
|
||||
{% elseif chapter.model == 1 %}
|
||||
|
@ -41,13 +41,13 @@
|
||||
|
||||
{% block link_css %}
|
||||
|
||||
{{ css_link('https://cdn.jsdelivr.net/npm/vditor/dist/index.css', false) }}
|
||||
{{ css_link('https://cdn.staticfile.org/vditor/3.8.13/index.css', false) }}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
{{ js_include('https://cdn.jsdelivr.net/npm/vditor/dist/index.min.js', false) }}
|
||||
{{ js_include('https://cdn.staticfile.org/vditor/3.8.13/index.min.js', false) }}
|
||||
{{ js_include('lib/xm-select.js') }}
|
||||
{{ js_include('admin/js/cover.upload.js') }}
|
||||
{{ js_include('admin/js/vditor.js') }}
|
||||
|
@ -49,13 +49,13 @@
|
||||
|
||||
{% block link_css %}
|
||||
|
||||
{{ css_link('https://cdn.jsdelivr.net/npm/vditor/dist/index.css', false) }}
|
||||
{{ css_link('https://cdn.staticfile.org/vditor/3.8.13/index.css', false) }}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
{{ js_include('https://cdn.jsdelivr.net/npm/vditor/dist/index.min.js', false) }}
|
||||
{{ js_include('https://cdn.staticfile.org/vditor/3.8.13/index.min.js', false) }}
|
||||
{{ js_include('admin/js/vditor.js') }}
|
||||
|
||||
{% endblock %}
|
@ -56,13 +56,13 @@
|
||||
|
||||
{% block link_css %}
|
||||
|
||||
{{ css_link('https://cdn.jsdelivr.net/npm/vditor/dist/index.css', false) }}
|
||||
{{ css_link('https://cdn.staticfile.org/vditor/3.8.13/index.css', false) }}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
{{ js_include('https://cdn.jsdelivr.net/npm/vditor/dist/index.min.js', false) }}
|
||||
{{ js_include('https://cdn.staticfile.org/vditor/3.8.13/index.min.js', false) }}
|
||||
{{ js_include('admin/js/vditor.js') }}
|
||||
|
||||
{% endblock %}
|
@ -32,13 +32,13 @@
|
||||
|
||||
{% block link_css %}
|
||||
|
||||
{{ css_link('https://cdn.jsdelivr.net/npm/vditor/dist/index.css', false) }}
|
||||
{{ css_link('https://cdn.staticfile.org/vditor/3.8.13/index.css', false) }}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
{{ js_include('https://cdn.jsdelivr.net/npm/vditor/dist/index.min.js', false) }}
|
||||
{{ js_include('https://cdn.staticfile.org/vditor/3.8.13/index.min.js', false) }}
|
||||
{{ js_include('admin/js/vditor.js') }}
|
||||
|
||||
{% endblock %}
|
@ -45,13 +45,13 @@
|
||||
|
||||
{% block link_css %}
|
||||
|
||||
{{ css_link('https://cdn.jsdelivr.net/npm/vditor/dist/index.css', false) }}
|
||||
{{ css_link('https://cdn.staticfile.org/vditor/3.8.13/index.css', false) }}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
{{ js_include('https://cdn.jsdelivr.net/npm/vditor/dist/index.min.js', false) }}
|
||||
{{ js_include('https://cdn.staticfile.org/vditor/3.8.13/index.min.js', false) }}
|
||||
{{ js_include('admin/js/vditor.js') }}
|
||||
|
||||
{% endblock %}
|
@ -15,7 +15,7 @@
|
||||
{% block link_css %}
|
||||
|
||||
{% if gift.type == 2 %}
|
||||
{{ css_link('https://cdn.jsdelivr.net/npm/vditor/dist/index.css', false) }}
|
||||
{{ css_link('https://cdn.staticfile.org/vditor/3.8.13/index.css', false) }}
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
||||
@ -23,7 +23,7 @@
|
||||
{% block include_js %}
|
||||
|
||||
{% if gift.type == 2 %}
|
||||
{{ js_include('https://cdn.jsdelivr.net/npm/vditor/dist/index.min.js', false) }}
|
||||
{{ js_include('https://cdn.staticfile.org/vditor/3.8.13/index.min.js', false) }}
|
||||
{{ js_include('admin/js/cover.upload.js') }}
|
||||
{{ js_include('admin/js/vditor.js') }}
|
||||
{% endif %}
|
||||
|
@ -25,13 +25,13 @@
|
||||
|
||||
{% block link_css %}
|
||||
|
||||
{{ css_link('https://cdn.jsdelivr.net/npm/vditor/dist/index.css', false) }}
|
||||
{{ css_link('https://cdn.staticfile.org/vditor/3.8.13/index.css', false) }}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
{{ js_include('https://cdn.jsdelivr.net/npm/vditor/dist/index.min.js', false) }}
|
||||
{{ js_include('https://cdn.staticfile.org/vditor/3.8.13/index.min.js', false) }}
|
||||
{{ js_include('lib/xm-select.js') }}
|
||||
{{ js_include('admin/js/vditor.js') }}
|
||||
|
||||
|
@ -7,6 +7,8 @@
|
||||
|
||||
namespace App\Http\Home\Services;
|
||||
|
||||
use App\Models\Course as CourseModel;
|
||||
use App\Repos\Chapter as ChapterRepo;
|
||||
use App\Traits\Client as ClientTrait;
|
||||
|
||||
class FullH5Url extends Service
|
||||
@ -118,7 +120,19 @@ class FullH5Url extends Service
|
||||
|
||||
public function getChapterInfoUrl($id)
|
||||
{
|
||||
return sprintf('%s/chapter/info?id=%s', $this->baseUrl, $id);
|
||||
$chapterRepo = new ChapterRepo();
|
||||
|
||||
$chapter = $chapterRepo->findById($id);
|
||||
|
||||
if ($chapter->model == CourseModel::MODEL_VOD) {
|
||||
return sprintf('%s/chapter/vod?id=%s', $this->baseUrl, $id);
|
||||
} elseif ($chapter->model == CourseModel::MODEL_LIVE) {
|
||||
return sprintf('%s/chapter/live?id=%s', $this->baseUrl, $id);
|
||||
} elseif ($chapter->model == CourseModel::MODEL_READ) {
|
||||
return sprintf('%s/chapter/read?id=%s', $this->baseUrl, $id);
|
||||
} else {
|
||||
return $this->getHomeUrl();
|
||||
}
|
||||
}
|
||||
|
||||
public function getUserIndexUrl($id)
|
||||
|
@ -23,7 +23,7 @@
|
||||
<input class="layui-input" type="text" name="verify_code" autocomplete="off" placeholder="验证码" lay-verify="required">
|
||||
</div>
|
||||
<div class="layui-input-inline verify-btn-inline">
|
||||
<button id="cv-emit-btn" class="layui-btn layui-btn-primary layui-btn-disabled" type="button" disabled="disabled">获取验证码</button>
|
||||
<button id="cv-emit-btn" class="layui-btn layui-btn-disabled" type="button" disabled="disabled">获取验证码</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
|
@ -38,7 +38,7 @@
|
||||
<input class="layui-input" type="text" name="verify_code" placeholder="验证码" lay-verify="required">
|
||||
</div>
|
||||
<div class="layui-input-inline verify-btn-inline">
|
||||
<button id="cv-emit-btn" class="layui-btn layui-btn-primary layui-btn-disabled" type="button" disabled="disabled">获取验证码</button>
|
||||
<button id="cv-emit-btn" class="layui-btn layui-btn-disabled" type="button" disabled="disabled">获取验证码</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
|
@ -41,13 +41,13 @@
|
||||
|
||||
{% block link_css %}
|
||||
|
||||
{{ css_link('https://cdn.jsdelivr.net/npm/vditor/dist/index.css', false) }}
|
||||
{{ css_link('https://cdn.staticfile.org/vditor/3.8.13/index.css', false) }}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
{{ js_include('https://cdn.jsdelivr.net/npm/vditor/dist/index.min.js', false) }}
|
||||
{{ js_include('https://cdn.staticfile.org/vditor/3.8.13/index.min.js', false) }}
|
||||
{{ js_include('home/js/answer.edit.js') }}
|
||||
{{ js_include('home/js/vditor.js') }}
|
||||
|
||||
|
@ -36,13 +36,13 @@
|
||||
|
||||
{% block link_css %}
|
||||
|
||||
{{ css_link('https://cdn.jsdelivr.net/npm/vditor/dist/index.css', false) }}
|
||||
{{ css_link('https://cdn.staticfile.org/vditor/3.8.13/index.css', false) }}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
{{ js_include('https://cdn.jsdelivr.net/npm/vditor/dist/index.min.js', false) }}
|
||||
{{ js_include('https://cdn.staticfile.org/vditor/3.8.13/index.min.js', false) }}
|
||||
{{ js_include('home/js/answer.edit.js') }}
|
||||
{{ js_include('home/js/vditor.js') }}
|
||||
|
||||
|
@ -76,13 +76,13 @@
|
||||
|
||||
{% block link_css %}
|
||||
|
||||
{{ css_link('https://cdn.jsdelivr.net/npm/vditor/dist/index.css', false) }}
|
||||
{{ css_link('https://cdn.staticfile.org/vditor/3.8.13/index.css', false) }}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
{{ js_include('https://cdn.jsdelivr.net/npm/vditor/dist/index.min.js', false) }}
|
||||
{{ js_include('https://cdn.staticfile.org/vditor/3.8.13/index.min.js', false) }}
|
||||
{{ js_include('lib/xm-select.js') }}
|
||||
{{ js_include('home/js/article.edit.js') }}
|
||||
{{ js_include('home/js/vditor.js') }}
|
||||
|
@ -96,7 +96,7 @@
|
||||
<div class="course-meta wrap clearfix">
|
||||
<div class="cover">
|
||||
<span class="model layui-badge layui-bg-green">{{ model_type(course.model) }}</span>
|
||||
<img src="{{ course.cover }}!cover_270" alt="{{ course.title }}">
|
||||
<img src="{{ course.cover }}" alt="{{ course.title }}">
|
||||
</div>
|
||||
<div class="info">
|
||||
{% if course.model == 1 %}
|
||||
|
@ -32,7 +32,7 @@
|
||||
<a href="{{ course_url }}">{{ gift.name }}</a>
|
||||
</p>
|
||||
{% else %}
|
||||
<p class="item">{{ gift.name }} }}</p>
|
||||
<p class="item">{{ gift.name }}</p>
|
||||
{% endif %}
|
||||
<p class="item stats">
|
||||
<span class="key">兑换人次</span>
|
||||
|
@ -56,13 +56,13 @@
|
||||
|
||||
{% block link_css %}
|
||||
|
||||
{{ css_link('https://cdn.jsdelivr.net/npm/vditor/dist/index.css', false) }}
|
||||
{{ css_link('https://cdn.staticfile.org/vditor/3.8.13/index.css', false) }}
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block include_js %}
|
||||
|
||||
{{ js_include('https://cdn.jsdelivr.net/npm/vditor/dist/index.min.js', false) }}
|
||||
{{ js_include('https://cdn.staticfile.org/vditor/3.8.13/index.min.js', false) }}
|
||||
{{ js_include('lib/xm-select.js') }}
|
||||
{{ js_include('home/js/question.edit.js') }}
|
||||
{{ js_include('home/js/vditor.js') }}
|
||||
|
@ -28,7 +28,7 @@
|
||||
<input class="layui-input" type="text" name="verify_code" lay-verify="required">
|
||||
</div>
|
||||
<div class="layui-input-inline verify-btn-inline">
|
||||
<button id="cv-emit-btn" class="layui-btn layui-btn-primary layui-btn-disabled" type="button" disabled="disabled">获取验证码</button>
|
||||
<button id="cv-emit-btn" class="layui-btn layui-btn-disabled" type="button" disabled="disabled">获取验证码</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
|
@ -28,7 +28,7 @@
|
||||
<input class="layui-input" type="text" name="verify_code" lay-verify="required">
|
||||
</div>
|
||||
<div class="layui-input-inline verify-btn-inline">
|
||||
<button id="cv-emit-btn" class="layui-btn layui-btn-primary layui-btn-disabled" type="button" disabled="disabled">获取验证码</button>
|
||||
<button id="cv-emit-btn" class="layui-btn layui-btn-disabled" type="button" disabled="disabled">获取验证码</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
|
@ -16,7 +16,7 @@ class AppInfo
|
||||
|
||||
protected $link = 'https://koogua.com';
|
||||
|
||||
protected $version = '1.5.1';
|
||||
protected $version = '1.5.2';
|
||||
|
||||
public function __get($name)
|
||||
{
|
||||
|
@ -52,7 +52,7 @@ $error['account.login_pwd_incorrect'] = '登录密码不正确';
|
||||
$error['account.invalid_login_name'] = '无效的登录名';
|
||||
$error['account.invalid_email'] = '无效的电子邮箱';
|
||||
$error['account.invalid_phone'] = '无效的手机号';
|
||||
$error['account.invalid_pwd'] = '无效的密码(字母或数字6-16位)';
|
||||
$error['account.invalid_pwd'] = '无效的密码(字母|数字|特殊字符6-16位)';
|
||||
$error['account.email_taken'] = '邮箱被占用';
|
||||
$error['account.phone_taken'] = '手机号被占用';
|
||||
$error['account.pwd_not_match'] = '密码不匹配';
|
||||
|
@ -1,6 +1,7 @@
|
||||
layui.use(['jquery', 'util'], function () {
|
||||
layui.use(['jquery', 'layer', 'util'], function () {
|
||||
|
||||
var $ = layui.jquery;
|
||||
var layer = layui.layer;
|
||||
var util = layui.util;
|
||||
|
||||
var timeCounting = false;
|
||||
@ -62,6 +63,9 @@ layui.use(['jquery', 'util'], function () {
|
||||
type: 'POST',
|
||||
url: postUrl,
|
||||
data: postData,
|
||||
success: function () {
|
||||
layer.msg('发送验证码成功', {icon: 1});
|
||||
}
|
||||
});
|
||||
$submit.removeClass('layui-btn-disabled').removeAttr('disabled');
|
||||
$emit.addClass('layui-btn-disabled').attr('disabled', 'disabled');
|
||||
|
Loading…
x
Reference in New Issue
Block a user