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

331 lines
13 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 20:47:28 +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">
<div class="fly-panel" pad20 style="padding-top: 5px;">
<!--<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>
2020-02-17 16:35:51 +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">
2020-02-17 16:35:51 +08:00
2020-01-01 13:17:19 +08:00
<div class="layui-row layui-col-space15 layui-form-item">
<div class="layui-col-md3">
2020-11-23 17:03:25 +08:00
<label class="layui-form-label">{:lang('special column')}</label>
2020-01-01 13:17:19 +08:00
<div class="layui-input-block">
<select lay-verify="required" name="cate_id" lay-filter="column">
<option></option>
2022-04-17 17:09:19 +08:00
{volist name="cateList" id="cate"}
2020-11-23 17:03:25 +08:00
<option value="{$cate.id}">{:cookie('think_lang') == 'en-us' ? $cate.ename : $cate.catename}</option>
2022-04-17 17:09:19 +08:00
{/volist}
2020-01-01 13:17:19 +08:00
</select>
</div>
</div>
2020-04-13 15:51:24 +08:00
<div class="layui-col-md8">
2020-11-23 17:03:25 +08:00
<label for="L_title" class="layui-form-label">{:lang('title')}</label>
2020-01-01 13:17:19 +08:00
<div class="layui-input-block">
<input type="text" id="L_title" name="title" required lay-verify="required" autocomplete="off" class="layui-input">
2022-04-17 17:09:19 +08:00
<input type="hidden" id="L_title_color" name="title_color" autocomplete="off" class="layui-input">
2020-01-01 13:17:19 +08:00
<input type="hidden" name="user_id" value="{:session('user_id')}">
</div>
</div>
2022-04-17 17:09:19 +08:00
{if ($user.auth == 1)}
<div class="layui-col-md1">
<div id="color"></div>
</div>
{/if}
2020-01-01 13:17:19 +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>
</div>
</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">
</div>
</div>
<div class="layui-col-md6">
<label class="layui-form-label" for="L_browser">浏览器</label>
<div class="layui-input-block">
<input type="text" id="L_browser" value="" name="browser" placeholder="浏览器名称及版本IE 11" autocomplete="off" class="layui-input">
</div>
</div>
</div>
<div class="layui-form-item layui-form-text">
<div class="layui-input-block">
2020-11-23 17:03:25 +08:00
<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>
2020-01-01 13:17:19 +08:00
</div>
</div>
2022-04-17 17:09:19 +08:00
<div class="layui-form-item">
2020-01-01 13:17:19 +08:00
<div class="layui-inline">
2020-11-23 17:03:25 +08:00
<label class="layui-form-label">{:lang('enclosure')}</label>
2020-01-01 13:17:19 +08:00
<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-04-17 17:09:19 +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>
</div>
2022-04-17 17:09:19 +08:00
<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>
</div>
</div>
<div class="layui-form-item">
2020-02-17 16:35:51 +08:00
<div class="layui-inline">
2020-11-23 17:03:25 +08:00
<label class="layui-form-label">{:lang('add tags')}</label>
2020-02-17 16:35:51 +08:00
<div class="layui-input-inline" style="width: 190px;">
2022-04-17 17:09:19 +08:00
<input type="text" class="layui-input" name="tags" value="" placeholder="多个用空格隔开" title="添加标签"/>
2020-02-17 16:35:51 +08:00
</div>
2020-11-23 17:03:25 +08:00
<button type="button" class="layui-btn" id="article-tags-button">{:lang('add')}</button>
2020-02-17 16:35:51 +08:00
</div>
</div>
2022-04-17 17:09:19 +08:00
<div class="layui-form-item">
2020-02-17 16:35:51 +08:00
<div class="layui-btn-container">
2022-04-17 17:09:19 +08:00
</div>
</div>
2020-02-17 16:35:51 +08:00
2020-01-01 13:17:19 +08:00
<!--div class="layui-form-item">
<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
{if config('taoler.config.post_captcha') == 1}
2020-01-01 13:17:19 +08:00
<div class="layui-form-item">
2020-11-23 17:03:25 +08:00
<label for="L_vercode" class="layui-form-label">{:lang('captcha')}</label>
2020-01-01 13:17:19 +08:00
<div class="layui-input-inline">
2020-11-23 17:03:25 +08:00
<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-04-17 17:09:19 +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>
</div>
2022-04-17 17:09:19 +08:00
{/if}
2020-01-01 13:17:19 +08:00
<div class="layui-form-item">
2020-11-23 17:03:25 +08:00
<button type="submit" class="layui-btn" lay-filter="article-add" lay-submit id="add">{:lang('post now')}</button>
2020-01-01 13:17:19 +08:00
</div>
2020-02-17 16:35:51 +08:00
2020-01-01 13:17:19 +08:00
</div>
</div>
</div>
</div>
</div>
</div>
{include file="public/menu" /}
2020-01-01 13:17:19 +08:00
{/block}
{block name="script"}
<script>
2021-05-24 15:05:30 +08:00
layui.use(['fly','form','colorpicker','upload','plyr'], function(){
2022-04-17 17:09:19 +08:00
var $ = layui.jquery
,fly = layui.fly
,form = layui.form
,colorpicker = layui.colorpicker
,upload = layui.upload
,plyr = layui.plyr;
2020-07-10 16:39:21 +08:00
2022-04-17 17:09:19 +08:00
// 如果你是采用模版自带的编辑器,你需要开启以下语句来解析。
$('.layui-textarea').each(function(){
2020-07-10 16:39:21 +08:00
var othis = $(this), html = othis.html();
othis.html(fly.content(html));
2022-04-17 17:09:19 +08:00
});
2020-04-13 15:51:24 +08:00
2022-04-17 17:09:19 +08:00
// 预定义颜色项
colorpicker.render({
elem: '#color'
,color: '#393d49'
,predefine: true // 开启预定义颜色
,done: function(color){
//譬如你可以在回调中把得到的 color 赋值给表单
$('#L_title_color').val(color);
//改变标题颜色
$('#L_title').css("color", color);
}
});
//上传附件
2022-04-17 17:09:19 +08:00
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
// 发布文章
form.on('submit(article-add)', function(data){
var field = data.field;
var numArr = new Array();
$('.layui-btn-container').children('button').each(function(){
numArr.push($(this).val());//添加至数组
});
tags = numArr.lenth ? '' : numArr.join(',');
var index = layer.load(1);
$.ajax({
type:"post",
url:"{:url('article/add')}",
data:{"cate_id":field.cate_id,"title":field.title,"title_color":field.title_color,"user_id":field.user_id,"content":field.content,"upzip":field.upzip,"tags":tags,"description":field.description,"captcha":field.captcha},
dataType:"json",
success:function (data){
if (data.code == 0) {
layer.msg(data.msg,{icon:6,time:2000}, function(){
location.href = data.url;
});
} else {
layer.open({title:'发布失败',content:data.msg,icon:5,anim:6});
layui.jquery('#captcha').attr('src', '{:captcha_src()}?'+Math.random());
}
layer.close(index);
}
});
return false;
});
// 获取描述的内容
2022-08-02 20:48:54 +08:00
// $("#L_content111").bind('input propertychange', function(){
// var content = $(this).val();
// setTimeout(function(){
// $.ajax({
// type:"post",
// url:"{:url('article/getDescription')}",
// data:{"content":content},
// daType:"json",
// success:function (data){
// if (data.code == 0) {
// $('[name="description"]').val(data.data);
// }
// }
// })
// }, 5000)
// return false;
// })
// 获取描述的内容 非实时获取,停止输入后获取
var flag = false;
var othis = $('#L_content');
othis.on('compositionstart',function(){
flag = true;
})
othis.on('compositionend',function(){
flag = false;
desc(othis.val());
})
// othis.on('input', function (event) {
// // 忽略一切非直接输入,不做逻辑处理
// if (!flag) todo(event.target.value);
// });
function desc(content){
2022-04-17 17:09:19 +08:00
$.ajax({
type:"post",
url:"{:url('article/getDescription')}",
data:{"content":content},
daType:"json",
success:function (data){
if (data.code == 0) {
$('[name="description"]').val(data.data);
}
}
2022-08-02 20:48:54 +08:00
})
}
2022-04-17 17:09:19 +08:00
// 手动添加tags
$('#article-tags-button').on('click',function(){
2020-04-24 15:07:26 +08:00
var tags = $("input[name='tags']").val();
2022-04-17 17:09:19 +08:00
var flag = 'off';
getTags(tags,flag);
});
// 获取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);
})
}
// 添加关键词button
function getTags(tags,flag)
{
2020-04-24 15:07:26 +08:00
if(tags == ''){
2022-04-17 17:09:19 +08:00
layer.msg('tag不能为空');
2020-04-24 15:07:26 +08:00
return false;
}
2022-04-17 17:09:19 +08:00
2020-04-24 15:07:26 +08:00
//把得到的tags放进数组
var numArr = new Array();
$('.layui-btn-container').children('button').each(function(){
2022-04-17 17:09:19 +08:00
numArr.push($(this).val());//添加至数组
2020-04-24 15:07:26 +08:00
});
2020-04-13 15:51:24 +08:00
2022-04-17 17:09:19 +08:00
$.ajax({
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>');
}
2020-04-24 15:07:26 +08:00
}
2022-04-17 17:09:19 +08:00
$("input[name='tags']").val("");
}
}
});
}
// 删除tag
$(document).ready(function(){
$('.layui-btn-container').on('click','button',function(){
$(this).remove();
});
2020-04-24 15:07:26 +08:00
});
2021-05-24 15:05:30 +08:00
//加载播放器
plyr.setup();
2020-04-10 15:01:38 +08:00
2020-04-24 15:07:26 +08:00
});
2020-01-01 13:17:19 +08:00
</script>
2021-05-20 11:52:40 +08:00
{/block}