Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
御承扬
Campus
提交
77006a27
C
Campus
项目概览
御承扬
/
Campus
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
Campus
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
77006a27
编写于
5月 22, 2020
作者:
7
7wc98#14
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update
上级
3e461fc3
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
440 addition
and
8 deletion
+440
-8
src/main/java/com/pyc/campus/controller/WebController.java
src/main/java/com/pyc/campus/controller/WebController.java
+64
-5
src/main/java/com/pyc/campus/dao/StudentRepository.java
src/main/java/com/pyc/campus/dao/StudentRepository.java
+8
-0
src/main/resources/templates/page/Home.html
src/main/resources/templates/page/Home.html
+2
-3
src/main/resources/templates/page/UpdateUserInfo.html
src/main/resources/templates/page/UpdateUserInfo.html
+63
-0
src/main/resources/templates/page/UserCenter.html
src/main/resources/templates/page/UserCenter.html
+303
-0
未找到文件。
src/main/java/com/pyc/campus/controller/WebController.java
浏览文件 @
77006a27
...
...
@@ -13,13 +13,13 @@ import com.pyc.campus.domain.Msg;
import
com.pyc.campus.domain.Student
;
import
com.pyc.campus.domain.SysRole
;
import
com.pyc.campus.domain.SysUser
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.repository.query.Param
;
import
org.springframework.security.core.context.SecurityContextImpl
;
import
org.springframework.security.core.userdetails.UserDetails
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.Model
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
javax.servlet.http.HttpSession
;
import
java.util.ArrayList
;
...
...
@@ -28,30 +28,89 @@ import java.util.List;
@Controller
public
class
WebController
{
@Autowired
final
StudentRepository
studentRepository
;
@Autowired
final
SysUserRepository
sysUserRepository
;
public
WebController
(
StudentRepository
studentRepository
,
SysUserRepository
sysUserRepository
)
{
this
.
studentRepository
=
studentRepository
;
this
.
sysUserRepository
=
sysUserRepository
;
}
@RequestMapping
(
"/home"
)
public
String
home
(
Model
model
,
HttpSession
session
){
SecurityContextImpl
securityContext
=
(
SecurityContextImpl
)
session
.
getAttribute
(
"SPRING_SECURITY_CONTEXT"
);
String
currentStudentId
=
((
UserDetails
)
securityContext
.
getAuthentication
().
getPrincipal
()).
getUsername
();
Student
s
=
studentRepository
.
findNameByStudentID
(
currentStudentId
);
Msg
msg
=
new
Msg
(
"欢迎"
,
currentStudentId
+
",同学,欢迎使用 Campus!"
,
s
.
getName
()
+
",同学,欢迎使用 Campus!"
,
""
);
model
.
addAttribute
(
"msg"
,
msg
);
model
.
addAttribute
(
"curUse"
,
s
);
return
"page/Home"
;
}
@RequestMapping
(
"/userCenter"
)
public
String
userCenter
(
Model
model
,
HttpSession
session
){
SecurityContextImpl
securityContext
=
(
SecurityContextImpl
)
session
.
getAttribute
(
"SPRING_SECURITY_CONTEXT"
);
String
currentStudentId
=
((
UserDetails
)
securityContext
.
getAuthentication
().
getPrincipal
()).
getUsername
();
Student
s
=
studentRepository
.
findNameByStudentID
(
currentStudentId
);
Msg
msg
=
new
Msg
(
""
,
""
,
""
);
model
.
addAttribute
(
"msg"
,
msg
);
model
.
addAttribute
(
"curUse"
,
s
);
return
"page/UserCenter"
;
}
@RequestMapping
(
"/updateUserInfo"
)
public
String
updateUserInfo
(
Model
model
,
HttpSession
session
){
SecurityContextImpl
securityContext
=
(
SecurityContextImpl
)
session
.
getAttribute
(
"SPRING_SECURITY_CONTEXT"
);
String
currentStudentId
=
((
UserDetails
)
securityContext
.
getAuthentication
().
getPrincipal
()).
getUsername
();
Student
s
=
studentRepository
.
findNameByStudentID
(
currentStudentId
);
model
.
addAttribute
(
"curUse"
,
s
);
Msg
msg
=
new
Msg
(
"提示!"
,
"学号作为用户标识ID,不允许更改"
,
""
);
model
.
addAttribute
(
"msg"
,
msg
);
return
"page/UpdateUserInfo"
;
}
@RequestMapping
(
"/updateUInfo"
)
public
String
updateUInfo
(
Model
model
,
HttpSession
session
,
@Param
(
"username"
)
String
username
,
@Param
(
"weChat"
)
String
weChat
,
@RequestParam
(
value
=
"TencentQQ"
,
required
=
false
)
String
qq
){
SecurityContextImpl
securityContext
=
(
SecurityContextImpl
)
session
.
getAttribute
(
"SPRING_SECURITY_CONTEXT"
);
String
currentStudentId
=
((
UserDetails
)
securityContext
.
getAuthentication
().
getPrincipal
()).
getUsername
();
System
.
out
.
println
(
"QQ:"
+
qq
);
int
result
=
studentRepository
.
update
(
username
,
weChat
,
qq
,
currentStudentId
);
if
(
result
==
0
){
Msg
msg
=
new
Msg
(
"提示"
,
"对不起,是我们的错,信息没有成功更新,请再试几次,或者连续网站管理员"
,
""
);
model
.
addAttribute
(
"msg"
,
msg
);
return
"page/UpdateUserInfo"
;
}
Msg
msg
=
new
Msg
(
"提示"
,
"信息更新成功!"
,
""
);
Student
s
=
studentRepository
.
findNameByStudentID
(
currentStudentId
);
model
.
addAttribute
(
"curUse"
,
s
);
model
.
addAttribute
(
"msg"
,
msg
);
return
"page/UserCenter"
;
}
@RequestMapping
(
"/signUP"
)
public
String
signUP
(
Model
model
,
@Param
(
"studentID"
)
String
studentID
,
@Param
(
"password"
)
String
password
,
@Param
(
"username"
)
String
username
,
@Param
(
"weChat"
)
String
weChat
,
@
Param
(
"QQ"
)
String
qq
)
{
@
RequestParam
(
value
=
"QQ"
,
required
=
false
)
String
qq
)
{
Student
student
=
studentRepository
.
findPasswordByStudentID
(
studentID
);
if
(
student
!=
null
)
{
return
"page/SignError"
;
...
...
src/main/java/com/pyc/campus/dao/StudentRepository.java
浏览文件 @
77006a27
...
...
@@ -9,8 +9,16 @@ package com.pyc.campus.dao;
import
com.pyc.campus.domain.Student
;
import
org.springframework.data.jpa.repository.JpaRepository
;
import
org.springframework.data.jpa.repository.Modifying
;
import
org.springframework.data.jpa.repository.Query
;
import
org.springframework.transaction.annotation.Transactional
;
public
interface
StudentRepository
extends
JpaRepository
<
Student
,
Long
>
{
Student
findByNameAndStudentID
(
String
name
,
String
studentID
);
Student
findPasswordByStudentID
(
String
studentID
);
Student
findNameByStudentID
(
String
studentID
);
@Modifying
@Transactional
@Query
(
"update Student s set s.name=?1,s.weChat=?2, s.QQ=?3 where s.studentID=?4"
)
int
update
(
String
name
,
String
WeChat
,
String
QQ
,
String
studentID
);
}
src/main/resources/templates/page/Home.html
浏览文件 @
77006a27
...
...
@@ -67,8 +67,6 @@
<div
class=
"tel"
>
150-1436-6986
</div>
</div>
<ul
class=
"right"
>
<li><a
href=
"/login"
>
登录
</a></li>
<li><a
href=
"/sign"
>
注册
</a></li>
<li>
<form
th:action=
"@{/logout}"
method=
"post"
>
<input
type=
"submit"
class=
"btn btn-link"
th:value=
"安全退出"
>
...
...
@@ -87,8 +85,9 @@
<li><a
href=
"#"
>
Home
</a></li>
<li><a
href=
"#"
>
学习资源
</a></li>
<li><a
href=
"#"
>
校内新闻
</a></li>
<li
sec:authorize=
"hasRole('ROLE_USER')"
><a
href=
"
#"
>
用户中心
</a></li>
<li
sec:authorize=
"hasRole('ROLE_USER')"
><a
href=
"
/userCenter"
style=
"color: red"
th:text=
"${curUse.getName()}"
>
</a></li>
<li
sec:authorize=
"hasRole('ROLE_ADMIN')"
><a
href=
"#"
>
网站管理
</a></li>
<li
sec:authorize=
"hasRole('ROLE_ADMIN')"
><a
href=
"/userCenter"
style=
"color: red"
th:text=
"${curUse.getName()}"
></a></li>
</ul>
</div>
</div>
...
...
src/main/resources/templates/page/UpdateUserInfo.html
0 → 100644
浏览文件 @
77006a27
<!DOCTYPE html>
<html
xmlns:th=
"http://www.thymeleaf.org"
lang=
"en"
>
<head>
<meta
http-equiv=
"Content-Type"
content=
"text/html; charset=UTF-8"
/>
<title>
用户信息更新
</title>
<link
rel=
"stylesheet"
href=
"https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"
integrity=
"sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u"
crossorigin=
"anonymous"
>
<!-- 可选的 Bootstrap 主题文件(一般不用引入) -->
<link
rel=
"stylesheet"
href=
"https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap-theme.min.css"
integrity=
"sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp"
crossorigin=
"anonymous"
>
<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script
src=
"https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"
integrity=
"sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"
crossorigin=
"anonymous"
></script>
<style
type=
"text/css"
>
.starter-template
{
padding
:
40px
15px
;
text-align
:
center
;
}
</style>
</head>
<body>
<div
style=
"margin: 20% 25%"
>
<p
th:if=
"${param.error}"
class=
"bg-danger"
>
有错误,请重试!
</p>
<div
class=
"starter-template"
>
<h1
th:text=
"${msg.title}"
></h1>
<p
class=
"bg-primary"
th:text=
"${msg.content}"
></p>
</div>
<form
class=
"form-horizontal"
name=
"form"
method=
"post"
th:action=
"@{/updateUInfo}"
onsubmit=
"return check(form.studentID,form.username,form.weChat,form.TencentQQ)"
>
<div
class=
"input-group input-group-lg"
>
<span
class=
"input-group-addon"
id=
"sizing-addon1"
>
ID
</span>
<input
type=
"text"
name=
"studentID"
class=
"form-control"
th:value=
"${curUse.getStudentID()}"
readonly=
"readonly"
aria-describedby=
"sizing-addon1"
>
</div>
<div
class=
"input-group input-group-lg"
>
<span
class=
"input-group-addon"
id=
"sizing-addon4"
>
U
</span>
<input
type=
"text"
name=
"username"
class=
"form-control"
th:value=
"${curUse.getName()}"
aria-describedby=
"sizing-addon4"
>
</div>
<div
class=
"input-group input-group-lg"
>
<span
class=
"input-group-addon"
id=
"sizing-addon5"
>
W
</span>
<input
type=
"text"
name=
"weChat"
class=
"form-control"
th:value=
"${curUse.getWeChat()}"
aria-describedby=
"sizing-addon5"
>
</div>
<div
class=
"input-group input-group-lg"
>
<span
class=
"input-group-addon"
id=
"sizing-addon"
>
Q
</span>
<input
type=
"text"
name=
"TencentQQ"
class=
"form-control"
th:value=
"${curUse.getQQ()}"
aria-describedby=
"sizing-addon"
>
</div>
<div
class=
"form-group"
>
<div
class=
"col-sm-offset-2 col-sm-10"
>
<input
type=
"submit"
value=
"更新"
class=
"btn btn-lg btn-primary"
/>
</div>
</div>
</form>
<script
type=
"text/javascript"
>
function
check
(
ID
,
Name
,
W
,
Q
)
{
if
(
ID
.
value
!==
""
&&
Name
.
value
!==
""
&&
W
.
value
!==
""
&&
Q
.
value
!==
""
){
return
true
;
}
else
{
alert
(
"
请将每个信息项的信息填写完整
"
);
return
false
;
}
}
</script>
</div>
</body>
\ No newline at end of file
src/main/resources/templates/page/UserCenter.html
0 → 100644
浏览文件 @
77006a27
<!DOCTYPE html>
<html
xmlns:th=
"http://www.thymeleaf.org"
xmlns:sec=
"http://www.thymeleaf.org/thymeleaf-extras-springsecurity4"
lang=
"en"
>
<head>
<meta
charset=
"UTF-8"
>
<title>
用户中心
</title>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"../../static/css/swiper.css"
>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"../../static/css/animate.min.css"
>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"../../static/css/oppo.css"
>
<!-- 最新版本的 Bootstrap 核心 CSS 文件 -->
<link
rel=
"stylesheet"
href=
"https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css"
integrity=
"sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u"
crossorigin=
"anonymous"
>
<!-- 可选的 Bootstrap 主题文件(一般不用引入) -->
<link
rel=
"stylesheet"
href=
"https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap-theme.min.css"
integrity=
"sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp"
crossorigin=
"anonymous"
>
<!-- 最新的 Bootstrap 核心 JavaScript 文件 -->
<script
src=
"https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"
integrity=
"sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"
crossorigin=
"anonymous"
></script>
<style>
body
{
background
:
#eee
;
font-family
:
Helvetica
Neue
,
Helvetica
,
Arial
,
sans-serif
;
font-size
:
14px
;
color
:
#000
;
margin
:
0
;
padding
:
0
;
}
caption
{
font-size
:
26px
;
}
td
{
font-size
:
28px
;
}
table
{
font-family
:
verdana
,
arial
,
sans-serif
;
font-size
:
11px
;
color
:
#333333
;
border-width
:
2px
;
border-color
:
black
;
border-style
:
solid
;
border-collapse
:
collapse
;
}
table
th
{
background-color
:
#c3dde0
;
border-width
:
1px
;
padding
:
8px
;
border-style
:
solid
;
border-color
:
#a9c6c9
;
}
tr
:hover
{
background-color
:
#d4e3e5
;
}
td
:hover
{
border-width
:
1px
;
padding
:
8px
;
border-style
:
solid
;
border-color
:
#a9c6c9
;
}
.starter-template
{
padding
:
40px
15px
;
text-align
:
center
;
}
</style>
</head>
<body>
<!--页面顶部-->
<div
id=
"top"
>
<div
class=
"container"
></div>
</div>
<!-- 页面的头部 -->
<div
id=
"header"
>
<div
class=
"container"
>
<div
class=
"header_left left"
>
<div
class=
"xlwb"
></div>
<div
class=
"txwb"
></div>
<div
class=
"tel"
>
150-1436-6986
</div>
</div>
<ul
class=
"right"
>
<li>
<form
th:action=
"@{/logout}"
method=
"post"
>
<input
type=
"submit"
class=
"btn btn-link"
th:value=
"安全退出"
>
</form>
</li>
</ul>
</div>
</div>
<!-- 页面的导航 -->
<div
id=
"nav"
>
<div
class=
"container"
>
<div
class=
"logo left"
>
<h1>
Campus
</h1>
</div>
<ul
class=
"right"
>
<li><a
href=
"/home"
>
Home
</a></li>
<li><a
href=
"#"
>
学习资源
</a></li>
<li><a
href=
"#"
>
校内新闻
</a></li>
<li
sec:authorize=
"hasRole('ROLE_USER')"
><a
href=
"#"
style=
"color: red"
th:text=
"${curUse.getName()}"
></a>
</li>
<li
sec:authorize=
"hasRole('ROLE_ADMIN')"
><a
href=
"#"
>
网站管理
</a></li>
<li
sec:authorize=
"hasRole('ROLE_ADMIN')"
><a
href=
"#"
style=
"color: red"
th:text=
"${curUse.getName()}"
></a>
</li>
</ul>
</div>
</div>
<div
style=
"margin: 20%"
>
<div
class=
"starter-template"
>
<h1
th:text=
"${msg.title}"
></h1>
<p
class=
"bg-primary"
th:text=
"${msg.content}"
></p>
</div>
<table
style=
"margin: 10% 40%; width: 200px;"
>
<caption>
用户信息
</caption>
<tbody>
<tr>
<td>
Name:
</td>
<td
th:text=
"${curUse.getName()}"
></td>
</tr>
<tr>
<td>
StudentID:
</td>
<td
th:text=
"${curUse.getStudentID()}"
></td>
</tr>
<tr>
<td>
QQ:
</td>
<td
th:text=
"${curUse.getQQ()}"
></td>
</tr>
<tr>
<td>
WeChat:
</td>
<td
th:text=
"${curUse.getWeChat()}"
></td>
</tr>
</tbody>
</table>
<div
style=
"margin: 0 auto"
>
<input
type=
"button"
class=
"btn btn-lg btn-primary"
onclick=
"window.location.href='/updateUserInfo'"
value=
"更新信息"
>
</div>
</div>
<div
id=
"serve"
>
<div
class=
"container"
>
<ul>
<li>
<dl>
<dt></dt>
<dd
class=
"dd1"
>
正规网站
</dd>
<dd
class=
"dd2"
>
所有的服务都是合法的
</dd>
</dl>
</li>
<li>
<dl>
<dt></dt>
<dd
class=
"dd1"
>
正规网站
</dd>
<dd
class=
"dd2"
>
所有的服务都是合法的
</dd>
</dl>
</li>
<li>
<dl>
<dt></dt>
<dd
class=
"dd1"
>
正规网站
</dd>
<dd
class=
"dd2"
>
所有的服务都是合法的
</dd>
</dl>
</li>
<li>
<dl>
<dt></dt>
<dd
class=
"dd1"
>
正规网站
</dd>
<dd
class=
"dd2"
>
所有的服务都是合法的
</dd>
</dl>
</li>
<li>
<dl>
<dt></dt>
<dd
class=
"dd1"
>
正规网站
</dd>
<dd
class=
"dd2"
>
所有的服务都是合法的
</dd>
</dl>
</li>
</ul>
</div>
</div>
<div
id=
"after_sale"
>
<div
class=
"container"
>
<ul>
<li>
<ol>
<li><a
href=
"#"
>
联系方式
</a></li>
<li><a
href=
"#"
>
15014366986
</a></li>
<li><a
href=
"#"
>
2923616405
</a></li>
<li><a
href=
"#"
>
pyc852164
</a></li>
</ol>
</li>
<li>
<ol>
<li><a
href=
"#"
>
关于我
</a></li>
<li><a
href=
"https://blog.csdn.net/qq_42896653"
>
CSDN
</a></li>
<li><a
href=
"https://github.com/pyc-ycy"
>
Github
</a></li>
<li><a
href=
"https://gitee.com/pengyoucongcode"
>
Gitee
</a></li>
</ol>
</li>
<li>
<ol>
<li>
关于我
</li>
<li>
我的博客文章,
</li>
<li>
我的代码托管平台,
</li>
<li>
也是代码托管平台,
</li>
</ol>
</li>
<li>
<ol>
<li>
关于我
</li>
<li>
可以了解我的所学
</li>
<li>
可以看到我的开源代码
</li>
<li>
为避免Github访问不了
</li>
</ol>
</li>
</ul>
</div>
</div>
<div
id=
"footer"
>
<div
class=
"container"
>
<p>
<span>
Campus logo
</span>
<span>
@2020 御承扬Copyright
©
2020-05-04
</span>
</p>
</div>
</div>
<a
id=
"btn"
href=
"javascript:;"
style=
'position:fixed;right: 0px; bottom: 25%;font-size: 24px;'
>
<img
src=
"../../static/images/toTop1.png"
alt=
"pic"
>
</a>
<script
type=
"text/javascript"
src=
"../../static/js/swiper.js"
></script>
<script
type=
"text/javascript"
src=
"../../static/js/jquery-1.11.3.js"
></script>
<script
type=
"text/javascript"
src=
"../../static/js/oppo.js"
></script>
<script
type=
"text/javascript"
>
let
swiper
=
new
Swiper
(
'
.swiper-container
'
,
{
pagination
:
'
.swiper-pagination
'
,
paginationClickable
:
true
,
loop
:
true
,
autoplay
:
3000
,
speed
:
1000
,
prevButton
:
'
.swiper-button-prev
'
,
nextButton
:
'
.swiper-button-next
'
,
effect
:
'
fade
'
,
// effect: 'flip',effect: 'coverFlow',slide', 'fade',cube
grabCursor
:
true
,
cube
:
{
shadow
:
false
,
slideShadows
:
false
,
shadowOffset
:
20
,
shadowScale
:
0.94
}
});
</script>
<script>
window
.
onload
=
function
()
{
let
tp
=
document
.
getElementById
(
"
btn
"
);
tp
.
style
.
display
=
"
none
"
;
let
timer
=
null
;
tp
.
onclick
=
function
()
{
timer
=
setInterval
(
function
()
{
let
backTop
=
document
.
documentElement
.
scrollTop
||
document
.
body
.
scrollTop
;
// 越滚月慢
let
speedTop
=
backTop
/
5
;
document
.
documentElement
.
scrollTop
-=
backTop
-
speedTop
;
if
(
backTop
===
0
)
{
clearInterval
(
timer
);
}
},
30
);
}
let
pageHeight
=
700
;
let
nav
=
document
.
getElementById
(
"
nav
"
);
let
navTop
=
nav
.
offsetTop
;
window
.
onscroll
=
function
()
{
let
backTop
=
document
.
documentElement
.
scrollTop
||
document
.
body
.
scrollTop
;
if
(
backTop
>
pageHeight
)
{
tp
.
style
.
display
=
"
block
"
;
}
else
{
tp
.
style
.
display
=
"
none
"
;
}
if
(
backTop
>=
navTop
)
{
nav
.
style
.
position
=
"
fixed
"
;
nav
.
style
.
top
=
"
0
"
;
nav
.
style
.
left
=
"
0
"
;
nav
.
style
.
zIndex
=
"
100
"
;
}
else
{
nav
.
style
.
position
=
""
;
}
}
}
</script>
</body>
</html>
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录