TaoLer/view/taoler/index/article/add.html

356 lines
14 KiB
HTML
Raw Normal View History

2020-01-01 13:17:19 +08:00
{extend name="public/base" /}
{block name="title"}发表帖子{/block}
2022-08-02 21:13:36 +08:00
{block name="link"}<link rel="stylesheet" href="{$Request.domain}/static/res/css/plyr.css" charset="utf-8"/>{/block}
2020-01-01 13:17:19 +08:00
{block name="column"}{/block}
{block name="content"}
<div class="layui-container fly-marginTop">
2022-08-02 21:13:36 +08:00
<div class="fly-panel" pad20 style="padding-top: 5px">
2020-01-01 13:17:19 +08:00
<!--<div class="fly-none">没有权限</div>-->
<div class="layui-form layui-form-pane">
<div class="layui-tab layui-tab-brief" lay-filter="user">
<ul class="layui-tab-title">
2020-11-23 17:03:25 +08:00
<li class="layui-this">{:lang('add post')}<!-- 编辑帖子 --></li>
2020-01-01 13:17:19 +08:00
</ul>
2022-08-02 21:13:36 +08:00
<div class="layui-tab-content" id="LAY_ucm" style="padding: 20px 0">
2020-01-01 13:17:19 +08:00
<div class="layui-tab-item layui-show">
2022-08-02 21:13:36 +08:00
{if config('taoler.config.is_post') == 1}
<div class="layui-row layui-col-space15 layui-form-item">
<div class="layui-col-md3">
<label class="layui-form-label">{:lang('special column')}</label>
<div class="layui-input-block">
<select lay-verify="required" name="cate_id" lay-filter="column">
<option></option>
{volist name="cateList" id="cate"}
<option value="{$cate.id}" {if($Request.param.cate == $cate.ename)} selected {/if}>{:cookie('think_lang') == 'en-us' ? $cate.ename : $cate.catename}</option>
{/volist}
</select>
2020-01-01 13:17:19 +08:00
</div>
2022-08-02 21:13:36 +08:00
</div>
<div class="layui-col-md8">
<label for="L_title" class="layui-form-label">{:lang('title')}</label>
<div class="layui-input-block">
<input type="text" id="L_title" name="title" required lay-verify="required" autocomplete="off" class="layui-input" style="position:relative;" value=""/>
<input type="hidden" id="L_title_color" name="title_color" autocomplete="off" class="layui-input" />
<input type="hidden" name="user_id" value="{:session('user_id')}" />
<div class="layui-input bdsug layui-hide">
<ul class="wordlist">
</ul>
2020-01-01 13:17:19 +08:00
</div>
</div>
2022-08-02 21:13:36 +08:00
</div>
2022-04-17 17:09:19 +08:00
{if ($user.auth == 1)}
<div class="layui-col-md1">
2022-08-02 21:13:36 +08:00
<div id="color"></div>
2022-04-17 17:09:19 +08:00
</div>
{/if}
2022-08-02 21:13:36 +08:00
</div>
<div class="layui-row layui-col-space15 layui-form-item layui-hide" id="LAY_quiz">
<div class="layui-col-md3">
<label class="layui-form-label">所属产品</label>
<div class="layui-input-block">
<select name="project">
<option></option>
<option value="layui">layui</option>
<option value="独立版layer">独立版layer</option>
<option value="独立版layDate">独立版layDate</option>
<option value="LayIM">LayIM</option>
<option value="Fly社区模板">Fly社区模板</option>
</select>
2020-01-01 13:17:19 +08:00
</div>
2022-08-02 21:13:36 +08:00
</div>
<div class="layui-col-md3">
<label class="layui-form-label" for="L_version">版本号</label>
<div class="layui-input-block">
<input type="text" id="L_version" value="" name="version" autocomplete="off" class="layui-input" />
2020-01-01 13:17:19 +08:00
</div>
</div>
2022-08-02 21:13:36 +08:00
<div class="layui-col-md6">
<label class="layui-form-label" for="L_browser">浏览器</label>
2020-01-01 13:17:19 +08:00
<div class="layui-input-block">
2022-08-02 21:13:36 +08:00
<input type="text" id="L_browser" value="" name="browser" placeholder="浏览器名称及版本IE 11" autocomplete="off" class="layui-input" />
2020-01-01 13:17:19 +08:00
</div>
</div>
2022-08-02 21:13:36 +08:00
</div>
<div class="layui-form-item layui-form-text">
<div class="layui-input-block">
<textarea
id="L_content"
name="content"
required
lay-verify="required"
placeholder="{:lang('please input the content')}"
class="layui-textarea fly-editor"
style="height: 260px">
</textarea>
</div>
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">{:lang('enclosure')}</label>
<div class="layui-input-inline" style="width: 190px">
<input type="text" class="layui-input" name="upzip" value="" placeholder="zip,image文件" title="上传附件" />
2020-01-01 13:17:19 +08:00
</div>
2022-08-02 21:13:36 +08:00
<button type="button" class="layui-btn" id="zip-button"><i class="layui-icon"></i>{:lang('uploads')}</button>
2020-01-01 13:17:19 +08:00
</div>
2022-08-02 21:13:36 +08:00
</div>
<div class="layui-form-item">
<label class="layui-form-label">{:lang('描述')}</label>
<div class="layui-input-block">
<textarea name="description" class="layui-textarea" placeholder="SEO描述"></textarea>
2022-04-17 17:09:19 +08:00
</div>
2022-08-02 21:13:36 +08:00
</div>
<div class="layui-form-item">
<div class="layui-inline">
<label class="layui-form-label">{:lang('add tags')}</label>
<div class="layui-input-inline" style="width: 190px">
<input type="text" class="layui-input" name="tags" value="" placeholder="多个用空格隔开" title="添加标签" />
2020-02-17 16:35:51 +08:00
</div>
2022-08-02 21:13:36 +08:00
<button type="button" class="layui-btn" id="article-tags-button">{:lang('add')}</button>
2020-02-17 16:35:51 +08:00
</div>
2022-04-17 17:09:19 +08:00
</div>
2022-08-02 21:13:36 +08:00
<div class="layui-form-item">
<div class="layui-btn-container"></div>
</div>
<!--div class="layui-form-item">
2020-01-01 13:17:19 +08:00
<div class="layui-inline">
<label class="layui-form-label">悬赏飞吻</label>
<div class="layui-input-inline" style="width: 190px;">
<select name="experience">
<option value="20">20</option>
<option value="30">30</option>
<option value="50">50</option>
<option value="60">60</option>
<option value="80">80</option>
</select>
</div>
<div class="layui-form-mid layui-word-aux">发表后无法更改飞吻</div>
</div>
</div-->
2022-04-17 17:09:19 +08:00
2022-08-02 21:13:36 +08:00
{if config('taoler.config.post_captcha') == 1}
<div class="layui-form-item">
<label for="L_vercode" class="layui-form-label">{:lang('captcha')}</label>
<div class="layui-input-inline">
<input
type="text"
id="L_vercode"
name="captcha"
required
lay-verify="required"
placeholder="{:lang('please input the captcha')}"
autocomplete="off"
class="layui-input"
/>
2020-01-01 13:17:19 +08:00
</div>
2022-08-02 21:13:36 +08:00
<div class="layui-form-mid layui-word-aux" style="padding-top: 0px !important">
<img
id="captcha"
src="{:captcha_src()}"
onclick="this.src='{:captcha_src()}?'+Math.random();"
style="float: left; cursor: pointer"
alt="captcha"
/>
2020-01-01 13:17:19 +08:00
</div>
2022-08-02 21:13:36 +08:00
</div>
{/if}
<div class="layui-form-item">
<button type="submit" class="layui-btn" lay-filter="article-add" lay-submit id="add">{:lang('post now')}</button>
</div>
2020-01-01 13:17:19 +08:00
</div>
2022-08-02 21:13:36 +08:00
{else /}
<div class="layui-form-item">抱歉,系统维护中,暂时禁止发帖!</div>
{/if}
2020-01-01 13:17:19 +08:00
</div>
</div>
</div>
</div>
</div>
2022-08-02 21:13:36 +08:00
{include file="public/menu" /} {/block}
2020-01-01 13:17:19 +08:00
{block name="script"}
2022-08-02 21:13:36 +08:00
{:hook('taonyeditor')}
2020-01-01 13:17:19 +08:00
<script>
2022-08-02 21:13:36 +08:00
layui.use(["fly", "form", "colorpicker", "upload", "plyr"], function () {
var $ = layui.jquery,
fly = layui.fly,
form = layui.form,
colorpicker = layui.colorpicker,
upload = layui.upload,
plyr = layui.plyr;
2020-04-13 15:51:24 +08:00
2022-08-02 21:13:36 +08:00
// 改变标题颜色
2022-04-17 17:09:19 +08:00
colorpicker.render({
2022-08-02 21:13:36 +08:00
elem: "#color",
color: "#393d49",
predefine: true, // 开启预定义颜色
done: function (color) {
2022-04-17 17:09:19 +08:00
//譬如你可以在回调中把得到的 color 赋值给表单
2022-08-02 21:13:36 +08:00
$("#L_title_color").val(color);
$("#L_title").css("color", color);
},
});
//上传附件
upload.render({
elem: "#zip-button",
url: "{:url('article/uploads')}", //改成您自己的上传接口
data: { type: "zip" },
accept: "file", //普通文件
done: function (res) {
if (res.status == 0) {
$('input[name="upzip"]').val(res.url);
layer.msg("上传成功");
} else {
layer.msg(res.msg);
}
},
2022-04-17 17:09:19 +08:00
});
// 发布文章
2022-08-02 21:13:36 +08:00
form.on("submit(article-add)", function (data) {
2022-04-17 17:09:19 +08:00
var field = data.field;
var numArr = new Array();
2022-08-02 21:13:36 +08:00
$(".layui-btn-container").children("button").each(function () {
numArr.push($(this).val()); //添加至数组
});
tags = numArr.lenth ? "" : numArr.join(",");
2022-04-17 17:09:19 +08:00
var index = layer.load(1);
$.ajax({
2022-08-02 21:13:36 +08:00
type: "post",
url: "{:url('article/add')}",
data: field,
dataType: "json",
success: function (data) {
2022-04-17 17:09:19 +08:00
if (data.code == 0) {
2022-08-02 21:13:36 +08:00
layer.msg(data.msg, { icon: 6, time: 2000 }, function () {
2022-04-17 17:09:19 +08:00
location.href = data.url;
});
} else {
2022-08-02 21:13:36 +08:00
layer.open({ title: "发布失败", content: data.msg, icon: 5, anim: 6 });
layui.jquery("#captcha").attr("src", "{:captcha_src()}?" + Math.random());
2022-04-17 17:09:19 +08:00
}
2022-08-02 21:13:36 +08:00
layer.close(index);
},
2022-04-17 17:09:19 +08:00
});
return false;
});
2022-08-02 21:13:36 +08:00
// 从详情页自动调用端口过滤,获取描述信息
$("#L_content").mouseleave(function() {
var content = $(this).val().replace(/[\r\n]/g,"").replace(/\n/g, '').replace(/\s/g, '').replace(/\t/g, '');
$.post("{:url('article/getDescription')}", { content: content }, function(data){
if (data.code == 0) {
$('[name="description"]').val(data.data);
2022-04-17 17:09:19 +08:00
}
2022-08-02 21:13:36 +08:00
});
});
2022-04-17 17:09:19 +08:00
// 手动添加tags
2022-08-02 21:13:36 +08:00
$("#article-tags-button").on("click", function () {
2020-04-24 15:07:26 +08:00
var tags = $("input[name='tags']").val();
2022-08-02 21:13:36 +08:00
var flag = "off";
getTags(tags, flag);
2022-04-17 17:09:19 +08:00
});
2022-08-02 21:13:36 +08:00
// 获取tag的内容
var conf = "{:empty(config('taoler.baidu.client_id'))}";
if (conf !== "1") {
$("#L_title").on("blur", function () {
var title = $(this).val();
var flag = "on";
// 清空上次生成的tag button
$(".layui-btn-container")
.children("button")
.each(function () {
$(this).remove();
});
getTags(title, flag);
});
}
// 百度词条
var baidu_title_switch = "{:config('taoler.config.baidu_title_switch')}";
if(baidu_title_switch == 1) {
$("#L_title").bind('input propertychange',function () {
var title = $(this).val();
var str = '';
if(title.length > 0 ) {
$.post("{:url('article/getWordList')}",{title:title},function(res){
// 动态生成ur>li内容
if (res.code == 0) {
// 显示动态框
$(".bdsug").removeClass('layui-hide');
for (var i = 0; i < res.data.length; i++) {
//str += '<li data-key=' + res.data[i].q + '><b>' + res.data[i].q.replace(title,'') + '</b></li>';
str += '<li data-key=' + res.data[i].q + '><b>' + res.data[i].q + '</b></li>';
}
// 清空ul并追加li
$('.wordlist').empty().append(str);
// 点击李获取li值并复制给#L_title input的value
$(".bdsug li").on('click',function(){
var word = $(this).attr('data-key');
var words = title + '(' + word + ')';
$("#L_title").val(words);
// 关闭动态框
$(".bdsug").addClass('layui-hide');
});
} else {
$(".bdsug").addClass('layui-hide');
}
});
} else {
$(".bdsug").addClass('layui-hide');
}
});
}
2022-04-17 17:09:19 +08:00
2022-08-02 21:13:36 +08:00
// 添加关键词button
function getTags(tags, flag) {
if (tags == "") {
layer.msg("tag不能为空");
return false;
2020-04-24 15:07:26 +08:00
}
2022-08-02 21:13:36 +08:00
2020-04-24 15:07:26 +08:00
//把得到的tags放进数组
var numArr = new Array();
2022-08-02 21:13:36 +08:00
$(".layui-btn-container")
.children("button")
.each(function () {
numArr.push($(this).val()); //添加至数组
});
2020-04-13 15:51:24 +08:00
2022-04-17 17:09:19 +08:00
$.ajax({
2022-08-02 21:13:36 +08:00
type: "post",
url: "{:url('article/tags')}",
data: { tags: tags, flag: flag },
daType: "json",
success: function (data) {
if (data.code == 0) {
for (var i = 0; i < data.data.length; i++) {
if ($.inArray(data.data[i], numArr) < 0) {
$(".layui-btn-container").append(
'<button type="button" class="layui-btn layui-btn-sm layui-btn-danger" value=' + data.data[i] + ">" + data.data[i] + " x" + "</button>"
);
}
2022-04-17 17:09:19 +08:00
}
2022-08-02 21:13:36 +08:00
$("input[name='tags']").val("");
}
},
2022-04-17 17:09:19 +08:00
});
}
// 删除tag
2022-08-02 21:13:36 +08:00
$(document).ready(function () {
$(".layui-btn-container").on("click", "button", function () {
$(this).remove();
2022-04-17 17:09:19 +08:00
});
2020-04-24 15:07:26 +08:00
});
2020-04-10 15:01:38 +08:00
2022-08-02 21:13:36 +08:00
//加载播放器
plyr.setup();
});
2020-01-01 13:17:19 +08:00
</script>
2022-08-02 21:13:36 +08:00
{/block}