Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
街头小贩
Jforum2
提交
9a6e2d3a
J
Jforum2
项目概览
街头小贩
/
Jforum2
通知
2
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
1
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
Jforum2
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
1
合并请求
1
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
9a6e2d3a
编写于
10月 05, 2020
作者:
街头小贩
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
js代码更新
上级
368e31b1
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
273 addition
and
130 deletion
+273
-130
thrones/src/main/webapp/static/lib/forum/jForum.js
thrones/src/main/webapp/static/lib/forum/jForum.js
+2
-0
thrones/src/main/webapp/static/lib/forum/jForum.member.js
thrones/src/main/webapp/static/lib/forum/jForum.member.js
+34
-0
thrones/src/main/webapp/static/lib/forum/jForum.message.js
thrones/src/main/webapp/static/lib/forum/jForum.message.js
+68
-54
thrones/src/main/webapp/static/lib/forum/jForum.pagination.js
...nes/src/main/webapp/static/lib/forum/jForum.pagination.js
+1
-1
thrones/src/main/webapp/static/lib/forum/jForum.socket.js
thrones/src/main/webapp/static/lib/forum/jForum.socket.js
+44
-3
thrones/src/main/webapp/static/lib/forum/jForum.template.js
thrones/src/main/webapp/static/lib/forum/jForum.template.js
+47
-0
thrones/src/main/webapp/static/lib/forum/jForum.threads.js
thrones/src/main/webapp/static/lib/forum/jForum.threads.js
+77
-72
未找到文件。
thrones/src/main/webapp/static/lib/forum/jForum.js
浏览文件 @
9a6e2d3a
...
...
@@ -137,6 +137,8 @@ var jForum = (function ($) {
}).
trigger
(
'
initEvent
'
);
//member
jForum
.
member
.
init
();
jForum
.
threads
.
init
();
jForum
.
message
.
init
();
//ajax
$
(
'
[data-result="loader.jsonp"]
'
).
on
(
'
loadDataEvent
'
,
function
(
e
)
{
//topic/move
var
_b
=
$
(
e
.
target
);
...
...
thrones/src/main/webapp/static/lib/forum/jForum.member.js
浏览文件 @
9a6e2d3a
...
...
@@ -48,6 +48,8 @@ jForum.member = (function ($) {
setMemberVerify
(
data
.
verify
);
//[HMP]生成会员面板
jForum
.
template
.
drawMemberPanel
(
data
,
_mp
);
//怎么显示由drawMemberPanel负责
//开始消息通知
$
(
'
#notification
'
).
bind
(
'
initDataEvent
'
,
noticeHandler
).
trigger
(
'
initDataEvent
'
);
}
}
});
...
...
@@ -91,6 +93,8 @@ jForum.member = (function ($) {
jForum
.
template
.
drawMemberInfo
(
responseMsg
,
$
(
'
#right_member_info
'
));
// 重新设置客户端缓存的标记
setMemberVerify
(
responseMsg
.
verify
);
//开始消息通知
$
(
'
#notification
'
).
bind
(
'
initDataEvent
'
,
noticeHandler
).
trigger
(
'
initDataEvent
'
);
}
return
;
};
...
...
@@ -117,5 +121,35 @@ jForum.member = (function ($) {
var
verify
=
Cookies
.
get
(
'
msa
'
)
||
-
1
;
return
verify
;
};
var
noticeHandler
=
function
(
e
){
try
{
//$('#header_member_panel').letterSocket({"callFunctionExp": 'updateUnReadMessages', 'remote': $('#topmenu').attr('data-socket-uri')}, 30000);
var
s
=
new
jForum
.
socket
(
$
(
'
#topmenu
'
).
attr
(
'
data-socket-uri
'
),
$
(
'
#header_member_panel
'
),
{
sendDataFun
:
function
(
jqEle
){
var
data
=
{};
data
.
id
=
jqEle
.
attr
(
'
data-ux
'
);
data
.
cmd
=
1
;
data
.
ux
=
jqEle
.
attr
(
'
data-ux
'
);
return
data
;
},
callbackFun
:
updateUnReadMessages
});
s
.
init
(
'
letterNotice
'
);
s
.
start
(
30000
);
}
catch
(
e
){
console
.
log
(
'
letter socket file lost
'
);}
};
function
updateUnReadMessages
(
sockplaindata
){
var
json
=
$
.
parseJSON
(
sockplaindata
);
if
(
jQuery
.
isEmptyObject
(
json
)){
return
;
}
if
(
parseInt
(
json
.
result
)
>
0
){
$
(
'
#notification
'
).
removeClass
(
'
d-none
'
);
$
(
'
#notification
'
).
html
(
json
.
result
);
}
else
{
$
(
'
#notification
'
).
addClass
(
'
d-none
'
);
}
$
(
'
#header_member_panel
'
).
attr
(
'
data-ux
'
,
getUnixStamp
());
};
return
{
init
:
init
,
get
:
getCurrentActiveMemberInfo
};
})(
jQuery
);
thrones/src/main/webapp/static/lib/forum/jForum.message.js
浏览文件 @
9a6e2d3a
jForum
.
message
=
(
function
(
$
){
function
init
(){
var
template
=
jForum
.
template
;
var
util
=
jForum
.
utils
;
// 收件箱内容页中的加载更多
$
(
'
.letter-more-action
'
).
on
(
'
click
'
,
function
(){
var
pbx
=
$
(
this
).
parents
(
'
.letter-item-collect
'
);
...
...
@@ -10,21 +12,23 @@ jForum.message = (function($){
//
var
self
=
$
(
this
);
self
.
addClass
(
'
disabled
'
).
html
(
'
正在玩命加载
'
);
$
.
getJSON
(
rawdata
.
uri
+
'
&p=
'
+
rawdata
.
page
,
function
(
data
){
//self是否显示
if
(
jQuery
.
isEmptyObject
(
data
)){
return
;
}
//遍历data.result
$
.
each
(
data
.
result
,
function
(
index
,
item
){
jForum
.
template
.
drawLetterHistoryMessage
(
item
,
rawdata
.
ele
);
});
pbx
.
attr
(
'
data-page
'
,
rawdata
.
page
).
scrollTop
();
var
letter
=
$
.
parseJSON
(
data
.
letter
);
if
(
letter
.
more
){
self
.
removeClass
(
'
disabled
'
).
html
(
'
更多历史消息
'
);
}
else
{
self
.
hide
();
jForum
.
xhr
.
jsonGet
(
rawdata
.
uri
+
'
&p=
'
+
rawdata
.
page
,
{
jsonCallback
:
function
(
data
){
//self是否显示
if
(
jQuery
.
isEmptyObject
(
data
)){
return
;
}
//遍历data.result
$
.
each
(
data
.
result
,
function
(
index
,
item
){
template
.
drawLetterHistoryMessage
(
item
,
rawdata
.
ele
);
});
pbx
.
attr
(
'
data-page
'
,
rawdata
.
page
).
scrollTop
();
var
letter
=
$
.
parseJSON
(
data
.
letter
);
if
(
letter
.
more
){
self
.
removeClass
(
'
disabled
'
).
html
(
'
更多历史消息
'
);
}
else
{
self
.
hide
();
}
}
});
});
...
...
@@ -32,29 +36,28 @@ jForum.message = (function($){
$
(
'
.send-message-action
'
).
on
(
'
click
'
,
function
(
e
){
var
self
=
$
(
this
);
var
callFun
=
self
.
attr
(
'
data-function
'
)
||
'
drawMessageItem
'
;
var
requestParam
=
parseQueryJson
(
self
.
attr
(
'
data-query
'
));
var
requestParam
=
util
.
parseQueryJson
(
self
.
attr
(
'
data-query
'
));
requestParam
.
content
=
self
.
parents
(
'
form
'
).
find
(
'
.form-control
'
).
val
();
if
(
isBlank
(
requestParam
.
content
)){
if
(
util
.
isBlank
(
requestParam
.
content
)){
self
.
parents
(
'
form
'
).
find
(
'
.form-control
'
).
focus
();
return
false
;
}
self
.
addClass
(
'
disabled
'
);
$
.
ajax
({
url
:
self
.
attr
(
'
data-handler
'
),
dataType
:
'
json
'
,
method
:
'
POST
'
,
data
:
requestParam
}).
done
(
function
(
response
)
{
window
[
callFun
].
call
(
this
,
response
,
self
);
}).
fail
(
function
(
jqXHR
,
textStatus
,
errorThrown
){
if
(
textStatus
===
'
error
'
){
var
err
=
$
.
parseJSON
(
jqXHR
.
responseText
);
if
(
err
.
level
&&
err
.
level
===
'
err
'
){
return
errorMessage
(
err
.
message
);
jForum
.
xhr
.
jsonPost
(
self
.
attr
(
'
data-handler
'
),
{
data
:
requestParam
,
jsonCallback
:
function
(
response
){
template
[
callFun
].
call
(
this
,
response
,
self
);
},
failCallback
:
function
(
jqXHR
,
textStatus
,
errorThrown
){
if
(
textStatus
===
'
error
'
){
var
err
=
$
.
parseJSON
(
jqXHR
.
responseText
);
if
(
err
.
level
&&
err
.
level
===
'
err
'
){
return
util
.
errorMessage
(
err
.
message
);
}
}
util
.
errorMessage
(
'
当前操作因错误而异外中止
'
);
}
errorMessage
(
'
当前操作因错误而异外中止
'
);
});
return
false
;
});
...
...
@@ -62,24 +65,27 @@ jForum.message = (function($){
$
(
'
body
'
).
on
(
'
click
'
,
'
#suggest-btn
'
,
function
(
e
){
var
self
=
$
(
'
#suggest-uid
'
);
var
p
=
self
.
parents
(
'
.form-group
'
);
if
(
isBlank
(
self
.
val
())){
if
(
util
.
isBlank
(
self
.
val
())){
self
.
attr
(
'
placeholder
'
,
'
输入收件人的UID
'
).
focus
();
return
;
}
self
.
attr
(
"
disabled
"
,
"
disabled
"
);
$
.
getJSON
(
self
.
attr
(
'
data-handler
'
),
'
value=
'
+
self
.
val
(),
function
(
data
){
if
(
data
.
level
===
'
acc
'
){
uidDetectionHandler
(
data
.
message
,
p
);
}
else
{
$
(
'
input[name=snames]
'
).
val
(
''
);
self
.
addClass
(
'
is-invalid
'
).
removeAttr
(
"
disabled
"
).
focus
();
jForum
.
xhr
.
jsonGet
(
self
.
attr
(
'
data-handler
'
),
{
data
:
{
'
value
'
:
self
.
val
()},
jsonCallback
:
function
(
data
){
if
(
data
.
level
===
'
acc
'
){
uidDetectionHandler
(
data
.
message
,
p
);
}
else
{
$
(
'
input[name=snames]
'
).
val
(
''
);
self
.
addClass
(
'
is-invalid
'
).
removeAttr
(
"
disabled
"
).
focus
();
}
}
});
});
//会员主页的发送消息|话题会员弹出层的消息[NW]
$
(
'
body
'
).
on
(
'
click
'
,
'
.message-transmit
'
,
function
(
e
){
//在线吗
var
cam
=
getCurrentActiveMemberInfo
();
var
cam
=
jForum
.
member
.
get
();
if
(
jQuery
.
isEmptyObject
(
cam
)
||
parseInt
(
cam
.
id
)
<
1
){
return
errorMessage
(
'
暂不支持游客发送消息
'
);
}
...
...
@@ -95,28 +101,24 @@ jForum.message = (function($){
btnClass
:
'
btn-blue
'
,
action
:
function
()
{
var
content
=
this
.
$content
.
find
(
'
textarea[name=content]
'
).
val
();
if
(
isBlank
(
content
)){
if
(
util
.
isBlank
(
content
)){
this
.
$content
.
find
(
'
textarea[name=content]
'
).
focus
();
return
false
;
}
var
requestParam
=
{};
requestParam
.
content
=
content
;
$
.
ajax
({
url
:
requestURI
,
dataType
:
'
json
'
,
method
:
'
POST
'
,
data
:
requestParam
}).
done
(
function
(
response
)
{
transmitMessageResult
(
response
);
}).
fail
(
function
(
jqXHR
,
textStatus
,
errorThrown
){
if
(
textStatus
===
'
error
'
){
var
err
=
$
.
parseJSON
(
jqXHR
.
responseText
);
if
(
err
.
level
&&
err
.
level
===
'
err
'
){
return
errorMessage
(
err
.
message
);
requestParam
.
content
=
content
;
jForum
.
xhr
.
jsonPost
(
requestURI
,
{
data
:
requestParam
,
jsonCallback
:
transmitMessageResult
,
failCallback
:
function
(
jqXHR
,
textStatus
,
errorThrown
){
if
(
textStatus
===
'
error
'
){
var
err
=
$
.
parseJSON
(
jqXHR
.
responseText
);
if
(
err
.
level
&&
err
.
level
===
'
err
'
){
return
util
.
errorMessage
(
err
.
message
);
}
}
util
.
errorMessage
(
'
当前操作因错误而异外中止
'
);
}
errorMessage
(
'
当前操作因错误而异外中止
'
);
});
}
}
...
...
@@ -137,5 +139,17 @@ jForum.message = (function($){
jqEle
.
find
(
'
input[name=uid]
'
).
removeAttr
(
"
disabled
"
).
removeClass
(
'
is-invalid
'
);
$
(
'
#suggest-uid
'
).
parents
(
'
form
'
).
find
(
'
input[name=snames]
'
).
val
(
nickname
);
};
//私信的响应
function
transmitMessageResult
(
json
){
if
(
jQuery
.
isEmptyObject
(
json
)){
jForum
.
utils
.
errorMessage
(
"
操作因异常而中止
"
);
return
;
}
if
(
parseInt
(
json
.
id
)
>
0
){
jForum
.
utils
.
tipDialog
({
"
message
"
:
"
发送成功
"
,
"
level
"
:
"
acc
"
,
"
refresh
"
:
false
});
return
;
}
jForum
.
utils
.
errorMessage
(
"
消息发送失败
"
);
};
return
{
init
:
init
};
})(
jQuery
);
\ No newline at end of file
thrones/src/main/webapp/static/lib/forum/jForum.pagination.js
浏览文件 @
9a6e2d3a
...
...
@@ -76,7 +76,7 @@ jForum.pagination = (function ($) {
_curIns
.
config
.
ajaxComplete
(
xhr
,
textStatus
);
}
//记入历史
//recordHistory(page,
pageSize);
recordHistory
(
page
,
postData
.
pageSize
);
console
.
log
(
'
[pagination] ajax is complete
'
);
};
$
.
ajax
(
formatAjaxParams
);
...
...
thrones/src/main/webapp/static/lib/forum/jForum.socket.js
浏览文件 @
9a6e2d3a
jForum
.
socket
=
(
function
()
{
})();
\ No newline at end of file
jForum
.
socket
=
(
function
(
$
)
{
class
ForumSocket
{
constructor
(
reqUri
,
jqEle
,
option
)
{
this
.
sock
=
new
SockJS
(
reqUri
);
this
.
requestDataFun
=
option
.
sendDataFun
||
null
;
this
.
messageCallback
=
option
.
callbackFun
||
null
;
this
.
jqEle
=
jqEle
;
}
init
(
name
){
var
t
=
name
||
'
20201005
'
;
this
.
sock
.
onopen
=
function
()
{
console
.
log
(
t
+
'
Socket opened!
'
);
};
this
.
sock
.
onmessage
=
function
(
e
)
{
if
(
$
.
isFunction
(
this
.
messageCallback
)){
this
.
messageCallback
(
e
.
data
);
}
};
this
.
sock
.
onclose
=
function
()
{
console
.
log
(
t
+
'
Socket close
'
);
};
this
.
sock
.
onerror
=
function
(
e
)
{
console
.
log
(
t
+
'
Socket has Error:
'
+
e
);
};
}
_send
(){
if
(
!
$
.
isFunction
(
this
.
requestDataFun
)){
return
;
}
var
jsonData
=
this
.
requestDataFun
(
this
.
jqEle
);
var
t
=
JSON
.
stringify
(
jsonData
);
this
.
sock
.
send
(
t
);
//消息数量,
}
start
(
loopUnit
){
var
_curIns
=
this
;
setInterval
(
function
(){
_curIns
.
_send
();
},
loopUnit
);
//毫秒
}
}
return
ForumSocket
;
})(
jQuery
);
\ No newline at end of file
thrones/src/main/webapp/static/lib/forum/jForum.template.js
浏览文件 @
9a6e2d3a
...
...
@@ -774,6 +774,53 @@ jForum.template = (function ($) {
});
jqEle
.
popover
(
'
show
'
);
};
//快速回复的异步回调函数
tmp
.
quickReplyFillPosts
=
function
(
json
){
var
T
=
''
+
'
<div class="topic_posts dynamic-posts-record fadeout-anim">
'
+
'
<div class="topic_posts_item">
'
+
'
<dl class="topic_posts_item_left" data-handler="{APP}/member/profile.json?id={author}">
'
+
'
<dt style="padding-top: 20px;padding-left: 20px;width:180px">
'
+
'
<div class="posts-member-avatar">
'
+
'
<a href="javascript:;" class="avatar poper-member-menu">
'
+
'
<img class="avatar" src="{APP}/member/avatar/{author}.png" alt="User avatar" />
'
+
'
</a>
'
+
'
</div>
'
+
'
<a href="{APP}/member/{author}.xhtml" class="member-info"> <span class="member-{author}-label member-{authorStyle}">{authorNames}</span></a>
'
+
'
</dt>
'
+
'
<dd>{authorGroup}</dd>
'
+
'
{#master}<dd><small class="badge badge-dark">楼主</small></dd>{/master}
'
+
'
</dl>
'
+
'
<div class="topic_posts_item_right">
'
+
'
<div id="posts-{id}" class="posts-body">
'
+
'
<ul class="posts-buttons">
'
+
'
<li><a href="javascript:;" class="action-cmd delete-post" data-handler="{APP}/posts/delete" data-query="id:{id}"><i class="ico-sm mdi mdi-delete" aria-hidden="true"></i><span>删除</span></a></li>
'
+
'
<li><a href="javascript:;" class="post-action-quote" data-handler="{APP}/posts/quote/data.json" data-query="id:{id}"><i class="ico-sm mdi mdi-quote"></i><span>回复</span></a></li>
'
+
'
<li><a href="javascript:;" class="post-action-report" data-handler="{APP}/posts/report" data-query="id:{id}"><i class="ico-sm mdi mdi-flag"></i><span>举报</span></a></li>
'
+
'
<li><a name="#posts-{id}">{floor}<sup>#</sup></a></li>
'
+
'
</ul>
'
+
'
<p class="posts-member">
'
+
'
<a href="{APP}/member/{author}.xhtml">{authorNames} @u{author}</a> »
'
+
'
<i class="ico-sm mdi mdi-time" aria-hidden="true"></i> {date}
'
+
'
</p>
'
+
'
<div class="posts-body-content">
'
+
'
{&content}
'
+
'
<div class="mood-section" data-mood="{id}">
'
+
'
<a href="javascript:;" title="支持" role="button" class="btn-light btn-sm mood-action" data-action="1" id="{id}-likes"><i class="mdi mdi-thumb-up" aria-hidden="true"></i></a>
'
+
'
<a href="javascript:;" title="不赞同" role="button" class="btn-light btn-sm mood-action" data-action="2" id="{id}-hates"><i class="mdi mdi-thumb-down" aria-hidden="true"></i></a>
'
+
'
</div>
'
+
'
</div>
'
+
'
<div class="posts-member-signature member-{author}-signature">{authorSignature}</div>
'
+
'
</div>
'
+
'
</div>
'
+
'
</div>
'
+
'
</div>
'
;
Mustache
.
parse
(
T
,
[
'
{
'
,
'
}
'
]);
var
rs
=
$
.
extend
(
json
,
{
"
APP
"
:
BASE
});
$
(
'
#topic_posts_collect
'
).
append
(
Mustache
.
render
(
T
,
rs
));
//图片的懒加载
$
(
'
#posts-
'
+
json
.
id
).
find
(
'
img.lazyload
'
).
lazyload
();
};
tmp
.
poperNotice
=
function
(
json
){
if
(
jQuery
.
isEmptyObject
(
json
)){
return
;
...
...
thrones/src/main/webapp/static/lib/forum/jForum.threads.js
浏览文件 @
9a6e2d3a
jForum
.
threads
=
(
function
(
$
)
{
function
init
()
{
var
template
=
jForum
.
template
;
var
util
=
jForum
.
utils
;
//话题内容页中会员信息弹出菜单
$
(
'
body
'
).
on
(
'
click
'
,
'
a.poper-member-menu
'
,
function
(
e
)
{
e
.
preventDefault
();
var
self
=
$
(
this
);
var
rawdata
=
{};
rawdata
.
uri
=
self
.
parents
(
'
.topic_posts_item_left
'
).
attr
(
'
data-handler
'
);
//本地缓存命中
rawdata
.
member
=
$
.
url
(
rawdata
.
uri
).
param
(
'
id
'
);
rawdata
.
uri
=
self
.
parents
(
'
.topic_posts_item_left
'
).
attr
(
'
data-handler
'
);
//本地缓存命中
rawdata
.
member
=
$
.
url
(
rawdata
.
uri
).
param
(
'
id
'
);
var
cacheData
=
store
.
get
(
'
member_profile#
'
+
rawdata
.
member
);
//本人的不缓存[20200118]
if
(
!
jQuery
.
isEmptyObject
(
cacheData
))
{
buildMemberProfileMenu
(
cacheData
,
self
);
template
.
buildMemberProfileMenu
(
cacheData
,
self
);
return
;
}
//
console
.
log
(
'
[MP]不存在缓存去拉取数据
'
);
$
.
getJSON
(
rawdata
.
uri
,
function
(
data
)
{
store
.
set
(
'
member_profile#
'
+
rawdata
.
member
,
data
);
buildMemberProfileMenu
(
data
,
self
);
jForum
.
xhr
.
jsonGet
(
rawdata
.
uri
,
{
jsonCallback
:
function
(
data
){
store
.
set
(
'
member_profile#
'
+
rawdata
.
member
,
data
);
template
.
buildMemberProfileMenu
(
data
,
self
);
}
});
});
//引用回复@20200506
$
(
'
body
'
).
on
(
'
click
'
,
'
.post-action-quote
'
,
function
()
{
var
self
=
$
(
this
);
var
options
=
parseQueryJson
(
self
.
attr
(
'
data-query
'
));
$
.
getJSON
(
self
.
attr
(
'
data-handler
'
),
'
id=
'
+
options
.
id
,
function
(
json
)
{
if
(
jQuery
.
isEmptyObject
(
json
))
{
return
errorMessage
(
'
读取原文内容失败
'
);
}
if
(
json
.
level
===
'
err
'
)
{
return
errorMessage
(
json
.
message
);
}
if
(
json
.
infoTip
)
{
insertEditorHtml
(
''
);
$
(
'
#reply-tip-message
'
).
html
(
'
<strong>提示!</strong>
'
+
json
.
infoTip
);
//插入到表单中@20200506
$
(
'
#quick_reply_form
'
).
find
(
'
input[name=quote]
'
).
val
(
json
.
quote
);
$
(
'
#quick_reply_form
'
).
find
(
'
input[name=scale]
'
).
val
(
json
.
scale
);
}
}).
fail
(
function
(
jqXHR
,
textStatus
,
errorThrown
)
{
if
(
textStatus
===
'
error
'
)
{
var
err
=
$
.
parseJSON
(
jqXHR
.
responseText
);
if
(
err
.
level
&&
err
.
level
===
'
err
'
)
{
return
errorMessage
(
err
.
message
);
var
options
=
util
.
parseQueryJson
(
self
.
attr
(
'
data-query
'
));
jForum
.
xhr
.
jsonGet
(
self
.
attr
(
'
data-handler
'
),
{
data
:
{
'
id
'
:
options
.
id
},
jsonCallback
:
function
(
json
){
if
(
jQuery
.
isEmptyObject
(
json
))
{
return
util
.
errorMessage
(
'
读取原文内容失败
'
);
}
if
(
json
.
level
===
'
err
'
)
{
return
util
.
errorMessage
(
json
.
message
);
}
if
(
json
.
infoTip
)
{
util
.
insertEditorHtml
(
''
);
$
(
'
#reply-tip-message
'
).
html
(
'
<strong>提示!</strong>
'
+
json
.
infoTip
);
//插入到表单中@20200506
$
(
'
#quick_reply_form
'
).
find
(
'
input[name=quote]
'
).
val
(
json
.
quote
);
$
(
'
#quick_reply_form
'
).
find
(
'
input[name=scale]
'
).
val
(
json
.
scale
);
}
},
failCallback
:
function
(
jqXHR
,
textStatus
,
errorThrown
){
if
(
textStatus
===
'
error
'
)
{
var
err
=
$
.
parseJSON
(
jqXHR
.
responseText
);
if
(
err
.
level
&&
err
.
level
===
'
err
'
)
{
return
util
.
errorMessage
(
err
.
message
);
}
}
util
.
errorMessage
(
'
当前操作因错误而异外中止
'
);
}
errorMessage
(
'
当前操作因错误而异外中止
'
);
});
return
false
;
});
//举报回复[NW]
$
(
'
body
'
).
on
(
'
click
'
,
'
.post-action-report
'
,
function
()
{
var
self
=
$
(
this
);
var
requestParam
=
parseQueryJson
(
self
.
attr
(
'
data-query
'
));
var
requestParam
=
util
.
parseQueryJson
(
self
.
attr
(
'
data-query
'
));
//
$
.
confirm
({
title
:
''
,
...
...
@@ -77,29 +85,27 @@ jForum.threads = (function ($) {
btnClass
:
'
btn-blue
'
,
action
:
function
()
{
var
reason
=
this
.
$content
.
find
(
'
textarea[name=reason]
'
).
val
();
if
(
isBlank
(
reason
))
{
if
(
util
.
isBlank
(
reason
))
{
this
.
$content
.
find
(
'
textarea[name=reason]
'
).
focus
();
return
false
;
}
requestParam
.
reason
=
reason
;
requestParam
.
type
=
this
.
$content
.
find
(
"
select[name=type]
"
).
val
();
$
.
ajax
({
url
:
self
.
attr
(
'
data-handler
'
),
dataType
:
'
json
'
,
method
:
'
POST
'
,
data
:
requestParam
}).
done
(
function
(
response
)
{
response
.
refresh
=
false
;
tipDialog
(
response
);
}).
fail
(
function
(
jqXHR
,
textStatus
,
errorThrown
)
{
if
(
textStatus
===
'
error
'
)
{
var
err
=
$
.
parseJSON
(
jqXHR
.
responseText
);
if
(
err
.
level
&&
err
.
level
===
'
err
'
)
{
return
errorMessage
(
err
.
message
);
jForum
.
xhr
.
jsonPost
(
self
.
attr
(
'
data-handler
'
),
{
data
:
requestParam
,
jsonCallback
:
function
(
response
){
response
.
refresh
=
false
;
util
.
tipDialog
(
response
);
},
failCallback
:
function
(
jqXHR
,
textStatus
,
errorThrown
){
if
(
textStatus
===
'
error
'
){
var
err
=
$
.
parseJSON
(
jqXHR
.
responseText
);
if
(
err
.
level
&&
err
.
level
===
'
err
'
){
return
util
.
errorMessage
(
err
.
message
);
}
}
util
.
errorMessage
(
'
当前操作因错误而异外中止
'
);
}
errorMessage
(
'
当前操作因错误而异外中止
'
);
});
}
}
...
...
@@ -128,39 +134,38 @@ jForum.threads = (function ($) {
}
catch
(
e
)
{
requestData
.
content
=
$
(
this
).
find
(
'
input[name=content]
'
).
val
();
}
if
(
isBlank
(
requestData
.
content
))
{
if
(
util
.
isBlank
(
requestData
.
content
))
{
$
.
alert
(
'
请输入回复的内容
'
);
return
false
;
}
// 同步操作
$
.
ajax
({
type
:
'
POST
'
,
url
:
self
.
attr
(
'
action
'
),
data
:
requestData
,
dataType
:
'
json
'
}).
done
(
function
(
response
)
{
if
(
response
.
level
===
'
err
'
&&
!
isBlank
(
response
.
message
))
{
//出错了
response
.
refresh
=
false
;
tipDialog
(
response
);
}
else
{
quickReplyFillPosts
(
response
);
//清空表单的元素
self
.
find
(
'
input[name=content]
'
).
val
(
''
);
self
.
find
(
'
input[name=quote]
'
).
val
(
''
);
self
.
find
(
'
input[name=scale]
'
).
val
(
''
);
$
(
'
#reply-tip-message
'
).
html
(
''
);
//清空编辑器的内容
CKEDITOR
.
instances
[
'
content
'
].
setData
(
''
);
}
}).
fail
(
function
(
jqXHR
,
textStatus
,
errorThrown
)
{
if
(
textStatus
===
'
error
'
)
{
var
err
=
$
.
parseJSON
(
jqXHR
.
responseText
);
if
(
err
.
level
&&
err
.
level
===
'
err
'
)
{
return
errorMessage
(
err
.
message
);
jForum
.
xhr
.
jsonPost
(
self
.
attr
(
'
action
'
),
{
data
:
requestData
,
jsonCallback
:
function
(
response
){
if
(
response
.
level
===
'
err
'
&&
!
util
.
isBlank
(
response
.
message
))
{
//出错了
response
.
refresh
=
false
;
util
.
tipDialog
(
response
);
}
else
{
template
.
quickReplyFillPosts
(
response
);
//清空表单的元素
self
.
find
(
'
input[name=content]
'
).
val
(
''
);
self
.
find
(
'
input[name=quote]
'
).
val
(
''
);
self
.
find
(
'
input[name=scale]
'
).
val
(
''
);
$
(
'
#reply-tip-message
'
).
html
(
''
);
//清空编辑器的内容
CKEDITOR
.
instances
[
'
content
'
].
setData
(
''
);
}
},
failCallback
:
function
(
jqXHR
,
textStatus
,
errorThrown
){
if
(
textStatus
===
'
error
'
){
var
err
=
$
.
parseJSON
(
jqXHR
.
responseText
);
if
(
err
.
level
&&
err
.
level
===
'
err
'
){
return
util
.
errorMessage
(
err
.
message
);
}
}
util
.
errorMessage
(
'
当前操作因错误而异外中止
'
);
}
errorMessage
(
'
当前操作因错误而异外中止
'
);
});
return
false
;
});
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录