签到优化,编辑器添加视频音频组
This commit is contained in:
parent
4d55dc434f
commit
4988394f0d
@ -123,7 +123,7 @@ class Article extends Model
|
||||
'user' => function($query){
|
||||
$query->field('id,name,nickname,user_img,area_id,vip');
|
||||
} ])
|
||||
->withCount(['comments'])->where(['status'=>1,'delete_time'=>0])->order('create_time','desc')->limit($num)->select();
|
||||
->withCount(['comments'])->where(['status'=>1,'is_top'=>0])->order('create_time','desc')->limit($num)->select();
|
||||
Cache::tag('tagArt')->set('artlist',$artList,60);
|
||||
}
|
||||
return $artList;
|
||||
|
@ -290,6 +290,28 @@ class Article extends BaseController
|
||||
return json($res);
|
||||
}
|
||||
|
||||
//上传附件
|
||||
public function upVideo()
|
||||
{
|
||||
$file = request()->file('file');
|
||||
try {
|
||||
validate(['file'=>'fileSize:10240000|fileExt:mp4,jpg,png,jpeg'])
|
||||
->check(['file'=>$file]);
|
||||
$savename = \think\facade\Filesystem::disk('public')->putFile('video',$file);
|
||||
} catch (ValidateException $e) {
|
||||
return json(['status'=>-1,'msg'=>$e->getMessage()]);
|
||||
}
|
||||
$upload = Config::get('filesystem.disks.public.url');
|
||||
|
||||
if($savename){
|
||||
$name_path =str_replace('\\',"/",$upload.'/'.$savename);
|
||||
$res = ['status'=>0,'msg'=>'上传成功','url'=> $name_path];
|
||||
}else{
|
||||
$res = ['status'=>-1,'msg'=>'上传错误'];
|
||||
}
|
||||
return json($res);
|
||||
}
|
||||
|
||||
//附件下载
|
||||
public function download($id)
|
||||
{
|
||||
|
@ -5,9 +5,6 @@ use app\common\controller\BaseController;
|
||||
use app\common\model\User;
|
||||
use think\facade\Session;
|
||||
use think\facade\Db;
|
||||
use think\facade\View;
|
||||
use think\Collection;
|
||||
use think\Response;
|
||||
use taoler\com\Level;
|
||||
|
||||
class Sign extends BaseController
|
||||
@ -22,7 +19,7 @@ class Sign extends BaseController
|
||||
$res = [];
|
||||
$res['status'] = 0;
|
||||
|
||||
//最新
|
||||
//最新签到
|
||||
$newlist = Db::name('user_sign')->alias('s')->join('user u', 's.uid=u.id')->field('s.*,u.name as name,u.user_img as user_img')->order('id desc')->limit(20)->select();
|
||||
|
||||
if(count($newlist)){
|
||||
@ -45,11 +42,11 @@ class Sign extends BaseController
|
||||
$res['data'][1] = [];
|
||||
}
|
||||
|
||||
//总榜
|
||||
//签到排行榜
|
||||
$totallist = Db::name('user_sign')->alias('s')->leftJoin('user u', 's.uid=u.id')->field('uid,s.id as id,max(days) as days,name,user_img')->group('uid')->order('days desc')->limit(20)->select();
|
||||
if(count($totallist)){
|
||||
foreach($totallist as $t){
|
||||
$total = ['uid'=>$t['uid'],'days'=>$f['days'],'user'=>['username'=>$t['name'],'avatar'=>$t['user_img']]];
|
||||
$total = ['uid'=>$t['uid'],'days'=>$t['days'],'user'=>['username'=>$t['name'],'avatar'=>$t['user_img']]];
|
||||
$res['data'][2][] = $total;
|
||||
}
|
||||
} else {
|
||||
@ -58,44 +55,48 @@ class Sign extends BaseController
|
||||
|
||||
return json($res);
|
||||
}
|
||||
|
||||
//签到状态
|
||||
|
||||
/**
|
||||
* @return \think\response\Json
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public function status()
|
||||
{
|
||||
if(session('user_id')){
|
||||
$res = $this->todayData()->getData();
|
||||
|
||||
if($res['is_sign'] == 1){
|
||||
return json(['status'=>0,'msg'=>'已签到','data'=>['signed'=>$res['is_sign'],'token'=>'1111','experience'=>$res['score'],'days'=>$res['days']]]);
|
||||
} else {
|
||||
return json(['status'=>0,'msg'=>'未签到','data'=>['signed'=>0,'token'=>'1111','experience'=>$res['will_getscore'],'days'=>$res['days']]]);
|
||||
return json(['status'=>0,'msg'=>'未签到','data'=>['signed'=>0,'experience'=>$res['will_getscore'],'days'=>$res['days']]]);
|
||||
}
|
||||
} else {
|
||||
return json(['status'=>0,'msg'=>'未登陆']);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//执行签到
|
||||
|
||||
/**
|
||||
* 执行当天签到
|
||||
* @return json 签到成功返回 {status:1,info:'已签到'}
|
||||
* 执行签到,返回json status 0成功
|
||||
* @return \think\response\Json
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public function sign()
|
||||
{
|
||||
if (!Session::has('user_id') || !Session::has('user_name')) {
|
||||
return json(['status'=>1,'code' => -1, 'msg' => '亲,登陆后才能签到哦','url' => url('Login/index')]);
|
||||
return json(['status'=>1,'code' => -1, 'msg' => '亲,登陆后才能签到哦']);
|
||||
} else {
|
||||
$uid = $this->uid;
|
||||
$todayData = $this->todayData()->getData();
|
||||
//var_dump($todayData);
|
||||
|
||||
if ($todayData['is_sign'] == 1) { //数组中是返回的是一个对象,不能直接用[]来显示,正确的输出方法是:$pic[0]->title问题解决!
|
||||
//exit('{"code":-1,"msg":"你今天已经签过到了"}');
|
||||
return json(['status'=>1,'code'=>-1,'msg'=>'你今天已签过到!']);
|
||||
if ($todayData['is_sign'] == 1) {
|
||||
return json(['status'=>1,'code'=>1,'msg'=>'你今天已签过到!']);
|
||||
} else {
|
||||
$data = $this->getInsertData($uid);
|
||||
|
||||
$days = $data['days'];
|
||||
// 无今天数据
|
||||
$data['uid'] = $uid;
|
||||
@ -126,15 +127,16 @@ class Sign extends BaseController
|
||||
//point_note($score, $uid, $id);
|
||||
|
||||
//到达积分值升级Vip等级
|
||||
$viplv = Level::writeLv($uid);
|
||||
Level::writeLv($uid);
|
||||
}
|
||||
return json(['status'=>0,'code'=>200,'msg'=>$msg,'data'=>['signed'=>1,'experience'=>$score,'days'=>$days]]);
|
||||
} else {
|
||||
return json(['status'=>1,'code'=>-1,'msg'=>'签到失败,请刷新后重试!']);
|
||||
return json(['status'=>1,'code'=>1,'msg'=>'签到失败,请刷新后重试!']);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回每次签到要插入的数据
|
||||
*
|
||||
@ -150,7 +152,7 @@ class Sign extends BaseController
|
||||
// 昨天的连续签到天数
|
||||
$start_time = strtotime(date('Y-m-d 0:0:0', time() - 86400)) - 1;
|
||||
$end_time = strtotime(date('Y-m-d 23:59:59', time() - 86400)) + 1;
|
||||
$days = Db::name('user_sign')->where("uid = $uid and stime > $start_time and stime < $end_time")->value('days');
|
||||
$days = Db::name('user_sign')->where('uid', $uid)->whereBetweenTime('stime', $start_time, $end_time)->value('days');
|
||||
if ($days) {
|
||||
$days++;
|
||||
$is_sign = 1;
|
||||
@ -170,16 +172,20 @@ class Sign extends BaseController
|
||||
'stime' => $time,
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* 用户当天签到的数据
|
||||
* @return array 签到信息 is_sign,stime 等
|
||||
* 用户当天签到的数据 返回Array
|
||||
* @return \think\response\Json
|
||||
* @throws \think\db\exception\DataNotFoundException
|
||||
* @throws \think\db\exception\DbException
|
||||
* @throws \think\db\exception\ModelNotFoundException
|
||||
*/
|
||||
public function todayData()
|
||||
{
|
||||
$time = time();
|
||||
$start_stime = strtotime(date('Y-m-d 0:0:0', $time)) - 1;
|
||||
$end_stime = strtotime(date('Y-m-d 23:59:59', $time)) + 1;
|
||||
$res = Db::name('user_sign')->where('uid',session('user_id'))->where('stime', '>', $start_stime and 'stime', '<', $end_stime)->find();
|
||||
$res = Db::name('user_sign')->where('uid',session('user_id'))->whereTime('stime', 'between', [$start_stime,$end_stime])->find();
|
||||
$score = 0;
|
||||
if ($res) {
|
||||
$is_sign = 1;
|
||||
@ -295,12 +301,11 @@ class Sign extends BaseController
|
||||
$start_stime = strtotime("$year-$month-1 0:0:0") - 1;
|
||||
$end_stime = strtotime("$year-$month-$day 23:59:59") + 1;
|
||||
$list = Db::name('user_sign')->where("uid = {$this->uid} and stime > $start_stime and stime < $end_stime")->order('stime asc')->column('stime');
|
||||
//if(is_array($list)){
|
||||
|
||||
foreach ($list as $key => $value) {
|
||||
$list[$key] = date('j', $value);
|
||||
}
|
||||
//}
|
||||
//return $list;
|
||||
|
||||
return json_encode($list);
|
||||
}
|
||||
|
||||
|
@ -56,9 +56,9 @@ return [
|
||||
'finished' => '已结',
|
||||
'end' => '已结',
|
||||
'no finished' => '未结',
|
||||
'hot' => '热贴',
|
||||
'top' => '精贴',
|
||||
'cancel hoting' => '取消精贴',
|
||||
'hot' => '加精',
|
||||
'top' => '置顶',
|
||||
'cancel hoting' => '取消加精',
|
||||
'cancel topping' => '取消置顶',
|
||||
'go sign' => '去签到',
|
||||
'more post' => '更多帖子',
|
||||
|
@ -56,9 +56,9 @@ return [
|
||||
'finished' => '已結',
|
||||
'end' => '已結',
|
||||
'no finished' => '未結',
|
||||
'hot' => '熱貼',
|
||||
'top' => '精貼',
|
||||
'cancel hoting' => '取消精貼',
|
||||
'hot' => '加精',
|
||||
'top' => '置頂',
|
||||
'cancel hoting' => '取消加精',
|
||||
'cancel topping' => '取消置頂',
|
||||
'go sign' => '去簽到',
|
||||
'more post' => '更多帖子',
|
||||
|
1
public/static/res/css/plyr.css
Normal file
1
public/static/res/css/plyr.css
Normal file
File diff suppressed because one or more lines are too long
@ -3,7 +3,6 @@
|
||||
@Name: Fly社区主入口
|
||||
2021-5.21
|
||||
*/
|
||||
|
||||
|
||||
layui.define(['layer', 'laytpl', 'form', 'element', 'upload', 'util'], function(exports){
|
||||
|
||||
@ -37,7 +36,6 @@ layui.define(['layer', 'laytpl', 'form', 'element', 'upload', 'util'], function(
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
//数字前置补零
|
||||
layui.laytpl.digit = function(num, length, end){
|
||||
var str = '';
|
||||
@ -102,6 +100,8 @@ layui.define(['layer', 'laytpl', 'form', 'element', 'upload', 'util'], function(
|
||||
,'<span type="quote" title="引用"><i class="iconfont icon-yinyong" style="top: 1px;"></i></span>'
|
||||
,'<span type="code" title="插入代码" class="layui-hide-xs"><i class="iconfont icon-emwdaima" style="top: 1px;"></i></span>'
|
||||
,'<span type="hr" title="水平线">hr</span>'
|
||||
,'<span type="video" title="视频"><i class="layui-icon layui-icon-video"></i></span>'
|
||||
,'<span type="audio" title="音频"><i class="layui-icon layui-icon-headset"></i></span>'
|
||||
,'<span type="preview" title="预览"><i class="iconfont icon-yulan1"></i></span>'
|
||||
,'</div>'].join('');
|
||||
|
||||
@ -244,6 +244,105 @@ layui.define(['layer', 'laytpl', 'form', 'element', 'upload', 'util'], function(
|
||||
layui.focusInsert(editor[0], '[hr]\n');
|
||||
editor.trigger('keyup');
|
||||
}
|
||||
,video: function(editor){ //插入视频
|
||||
layer.open({
|
||||
type: 1
|
||||
,id: 'fly-jie-video-upload'
|
||||
,title: '插入视频'
|
||||
,shade: false
|
||||
,area: '465px'
|
||||
,skin: 'layui-layer-border'
|
||||
,content: ['<ul class="layui-form layui-form-pane" style="margin: 20px;">'
|
||||
,'<li class="layui-form-item">'
|
||||
,'<label class="layui-form-label">封面</label>'
|
||||
,'<div class="layui-input-inline">'
|
||||
,'<input type="text" required name="cover" placeholder="支持直接粘贴远程图片地址" value="" class="layui-input">'
|
||||
,'</div>'
|
||||
,'<input required type="file" name="file" lay-type="image" class="layui-upload-file" value="">'
|
||||
,'</li>'
|
||||
,'<li class="layui-form-item">'
|
||||
,'<label class="layui-form-label">URL</label>'
|
||||
,'<div class="layui-input-inline">'
|
||||
,'<input type="text" required name="video" placeholder="支持直接粘贴远程视频地址" value="" class="layui-input">'
|
||||
,'</div>'
|
||||
,'<input required type="file" name="file" lay-type="video" class="layui-upload-file" value="上传文件">'
|
||||
,'</li>'
|
||||
,'<li class="layui-form-item" style="text-align: center;">'
|
||||
,'<button type="button" lay-submit lay-filter="uploadImages" class="layui-btn">确认</button>'
|
||||
,'</li>'
|
||||
,'</ul>'].join('')
|
||||
,success: function(layero, index){
|
||||
var loding, video = layero.find('input[name="video"]'), cover = layero.find('input[name="cover"]');
|
||||
upload.render({
|
||||
url: '/article/upVideo/'
|
||||
,before: function(input){ loding = layer.msg('文件上传中,请稍等哦', { icon: 16 ,shade:0.3,time:0 }); }
|
||||
,elem: '#fly-jie-video-upload .layui-upload-file'
|
||||
,success: function(res,input){
|
||||
layer.close(loding);
|
||||
if(res.status == 0){
|
||||
if($(input).attr('lay-type') == 'image'){
|
||||
cover.val(res.data);
|
||||
}else{
|
||||
video.val(res.data);
|
||||
}
|
||||
} else {
|
||||
layer.msg(res.msg, {icon: 5});
|
||||
}
|
||||
}
|
||||
});
|
||||
form.on('submit(uploadImages)', function(data){
|
||||
var field = data.field;
|
||||
if(!field.video) return video.focus();
|
||||
layui.focusInsert(editor[0], 'video('+field.cover+')['+ field.video + '] ');
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
,audio: function(editor){ //插入音频
|
||||
layer.open({
|
||||
type: 1
|
||||
,id: 'fly-jie-audio-upload'
|
||||
,title: '插入音频'
|
||||
,shade: false
|
||||
,area: '465px'
|
||||
,skin: 'layui-layer-border'
|
||||
,content: ['<ul class="layui-form layui-form-pane" style="margin: 20px;">'
|
||||
,'<li class="layui-form-item">'
|
||||
,'<label class="layui-form-label">URL</label>'
|
||||
,'<div class="layui-input-inline">'
|
||||
,'<input required name="audio" placeholder="支持直接粘贴远程音频地址" value="" class="layui-input">'
|
||||
,'</div>'
|
||||
,'<input required type="file" name="file" lay-type="audio" class="layui-upload-file" value="">'
|
||||
,'</li>'
|
||||
,'<li class="layui-form-item" style="text-align: center;">'
|
||||
,'<button type="button" lay-submit lay-filter="uploadImages" class="layui-btn">确认</button>'
|
||||
,'</li>'
|
||||
,'</ul>'].join('')
|
||||
,success: function(layero, index){
|
||||
var loding,image = layero.find('input[name="audio"]');
|
||||
|
||||
upload.render({
|
||||
url: '/Ajax/ThreadUpload/',elem: '#fly-jie-audio-upload .layui-upload-file'
|
||||
,before: function(input){ loding = layer.msg('文件上传中,请稍等哦', { icon: 16 ,shade:0.3,time:0 }); }
|
||||
,success: function(res){
|
||||
layer.close(loding);
|
||||
if(res.status == 1){
|
||||
image.val(res.data);
|
||||
} else {
|
||||
layer.msg(res.msg, {icon: 5});
|
||||
}
|
||||
}
|
||||
});
|
||||
form.on('submit(uploadImages)', function(data){
|
||||
var field = data.field;
|
||||
if(!field.audio) return image.focus();
|
||||
layui.focusInsert(editor[0], 'audio['+ field.audio + '] ');
|
||||
layer.close(index);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
,preview: function(editor, span){ //预览
|
||||
var othis = $(span), getContent = function(){
|
||||
var content = editor.val();
|
||||
@ -388,6 +487,18 @@ layui.define(['layer', 'laytpl', 'form', 'element', 'upload', 'util'], function(
|
||||
//转义换行
|
||||
.replace(/\n/g, '<br>')
|
||||
|
||||
//转义视频
|
||||
.replace(/video\(.*?\)\[([^\s]+?)\]/g, function(str){
|
||||
var cover = (str.match(/video\(([\s\S]+?)\)\[/)||[])[1];
|
||||
var video = (str.match(/\)\[([^\s]+?)\]/)||[])[1];
|
||||
cover = cover ? cover : '/Public/Topic/images/video_cover.jpg';
|
||||
return '<video poster="'+ cover + '" controls crossorigin><source src="'+ video + '" type="video/mp4"></video>';
|
||||
})
|
||||
//转义音频
|
||||
.replace(/audio\[([^\s]+?)\]/g, function(audio){
|
||||
return '<audio controls><source src="'+ audio.replace(/(^audio\[)|(\]$)/g, '')+ '" type="audio/mp3"></audio>';
|
||||
})
|
||||
|
||||
return content;
|
||||
}
|
||||
|
||||
@ -475,8 +586,10 @@ layui.define(['layer', 'laytpl', 'form', 'element', 'upload', 'util'], function(
|
||||
}
|
||||
|
||||
//刷新图形验证码
|
||||
$('body').on('click', '.fly-imagecode', function(){
|
||||
this.src = '/index/captcha?id='+ new Date().getTime();
|
||||
$('body').on('click', '#captcha111', function(){
|
||||
var othis = $(this);
|
||||
othis.attr('src', othis.attr('src')+'?'+ new Date().getTime());
|
||||
//console.log(othis.attr('src'));
|
||||
});
|
||||
|
||||
//头条轮播
|
||||
@ -543,7 +656,7 @@ layui.define(['layer', 'laytpl', 'form', 'element', 'upload', 'util'], function(
|
||||
|
||||
if(elemSigninMain[0]){
|
||||
|
||||
fly.json('/sign/status', function(res){
|
||||
fly.json(signStatusUrl, function(res){
|
||||
if(!res.data) return;
|
||||
signRender.token = res.data.token;
|
||||
signRender(res.data);
|
||||
@ -551,10 +664,20 @@ layui.define(['layer', 'laytpl', 'form', 'element', 'upload', 'util'], function(
|
||||
|
||||
}
|
||||
$('body').on('click', '#LAY_signin', function(){
|
||||
//登录判断
|
||||
var uid = layui.cache.user.uid;
|
||||
if(uid == -1){
|
||||
console.log(uid);
|
||||
layer.msg('请登录再评论', {icon: 6}, function(){
|
||||
location.href = login;
|
||||
})
|
||||
return false;
|
||||
}
|
||||
|
||||
var othis = $(this);
|
||||
if(othis.hasClass(DISABLED)) return;
|
||||
|
||||
fly.json('/sign/sign/', {
|
||||
fly.json(signInUrl, {
|
||||
token: signRender.token || 1
|
||||
}, function(res){
|
||||
signRender(res.data);
|
||||
@ -570,7 +693,7 @@ layui.define(['layer', 'laytpl', 'form', 'element', 'upload', 'util'], function(
|
||||
//签到说明
|
||||
elemSigninHelp.on('click', function(){
|
||||
|
||||
$.getJSON('/sign/getsignrule', function(data) {
|
||||
$.getJSON(signRuleUrl, function(data) {
|
||||
|
||||
//拼接表格字符串
|
||||
var $str = '';
|
||||
@ -611,10 +734,12 @@ layui.define(['layer', 'laytpl', 'form', 'element', 'upload', 'util'], function(
|
||||
,'<img src="{{item.user.avatar}}">'
|
||||
,'<cite class="fly-link">{{item.user.username}}</cite>'
|
||||
,'</a>'
|
||||
,'{{# var date = new Date(item.time); if(d.index < 2){ }}'
|
||||
,'<span class="fly-grey">签到于 {{ layui.laytpl.digit(date.getHours()) + ":" + layui.laytpl.digit(date.getMinutes()) + ":" + layui.laytpl.digit(date.getSeconds()) }}</span>'
|
||||
,'{{# var date = new Date(item.time); if(d.index === 0) { }}'
|
||||
,'<span class="fly-grey"> {{ layui.laytpl.digit(date.getFullYear()) + "-" + layui.laytpl.digit(date.getMonth()+1) + "-" + layui.laytpl.digit(date.getDate())}} 签到 <i class="layui-icon layui-icon-ok"></i></span>'
|
||||
,'{{# } else if(d.index == 1) { }}'
|
||||
,'<span class="fly-grey">签到于 {{ layui.laytpl.digit(date.getHours()) + ":" + layui.laytpl.digit(date.getMinutes()) + ":" + layui.laytpl.digit(date.getSeconds()) }} <i class="layui-icon layui-icon-flag"></i></span>'
|
||||
,'{{# } else { }}'
|
||||
,'<span class="fly-grey">已连续签到 <i>{{ item.days }}</i> 天</span>'
|
||||
,'<span class="fly-grey">已连续签到 <i>{{ item.days }}</i> 天 <i class="layui-icon layui-icon-face-smile"></i></span>'
|
||||
,'{{# } }}'
|
||||
,'</li>'
|
||||
,'{{# }); }}'
|
||||
@ -628,7 +753,7 @@ layui.define(['layer', 'laytpl', 'form', 'element', 'upload', 'util'], function(
|
||||
|
||||
elemSigninTop.on('click', function(){
|
||||
var loadIndex = layer.load(1, {shade: 0.8});
|
||||
fly.json('/sign/signJson', function(res){ //实际使用,请将 url 改为真实接口
|
||||
fly.json(signJsonUrl, function(res){ //实际使用,请将 url 改为真实接口
|
||||
var tpl = $(['<div class="layui-tab layui-tab-brief" style="margin: 5px 0 0;">'
|
||||
,'<ul class="layui-tab-title">'
|
||||
,'<li class="layui-this">最新签到</li>'
|
||||
@ -801,6 +926,10 @@ layui.define(['layer', 'laytpl', 'form', 'element', 'upload', 'util'], function(
|
||||
fly.layEditor({
|
||||
elem: '.fly-editor'
|
||||
});
|
||||
//加载播放器
|
||||
layui.use('plyr', function(plyr){
|
||||
plyr.setup();
|
||||
});
|
||||
|
||||
//手机设备的简单适配
|
||||
var treeMobile = $('.site-tree-mobile')
|
||||
|
4
public/static/res/mods/plyr.js
Normal file
4
public/static/res/mods/plyr.js
Normal file
File diff suppressed because one or more lines are too long
@ -105,6 +105,10 @@
|
||||
{block name="script"}
|
||||
<script>
|
||||
var replyUrl = "{:url('index/reply')}";
|
||||
var signStatusUrl = "{:url('sign/status')}";
|
||||
var signInUrl = "{:url('sign/sign')}";
|
||||
var signRuleUrl = "{:url('sign/getsignrule')}";
|
||||
var signJsonUrl = "{:url('sign/signJson')}";
|
||||
|
||||
$('#friend-link').on('click', function(){
|
||||
layer.open({
|
||||
|
@ -37,4 +37,11 @@
|
||||
{/block}
|
||||
|
||||
{block name="script"}
|
||||
<script>
|
||||
var replyUrl = "{:url('index/reply')}";
|
||||
var signStatusUrl = "{:url('sign/status')}";
|
||||
var signInUrl = "{:url('sign/sign')}";
|
||||
var signRuleUrl = "{:url('sign/getsignrule')}";
|
||||
var signJsonUrl = "{:url('sign/signJson')}";
|
||||
</script>
|
||||
{/block}
|
Loading…
x
Reference in New Issue
Block a user