解决图片上传问题
This commit is contained in:
parent
ba4a21eee4
commit
23fe3cc0c3
|
|
@ -19,7 +19,7 @@ server:
|
||||||
port: 80
|
port: 80
|
||||||
servlet:
|
servlet:
|
||||||
# 应用的访问路径
|
# 应用的访问路径
|
||||||
context-path: /
|
context-path: /manager
|
||||||
tomcat:
|
tomcat:
|
||||||
# tomcat的URI编码
|
# tomcat的URI编码
|
||||||
uri-encoding: UTF-8
|
uri-encoding: UTF-8
|
||||||
|
|
|
||||||
|
|
@ -458,7 +458,7 @@ $.ajaxSetup({
|
||||||
|
|
||||||
|
|
||||||
//上传文件
|
//上传文件
|
||||||
function uploadFile(async, fullPathId, fileNameId, absolutePAthId) {
|
function uploadFile(async, filePathId, fileNameId, absolutePAthId) {
|
||||||
let res = -1;
|
let res = -1;
|
||||||
var formData = new FormData();
|
var formData = new FormData();
|
||||||
if ($('#filePath')[0].files[0] == null) {
|
if ($('#filePath')[0].files[0] == null) {
|
||||||
|
|
@ -468,7 +468,7 @@ function uploadFile(async, fullPathId, fileNameId, absolutePAthId) {
|
||||||
formData.append('fileName', $("#fileName").val());
|
formData.append('fileName', $("#fileName").val());
|
||||||
formData.append('file', $('#filePath')[0].files[0]);
|
formData.append('file', $('#filePath')[0].files[0]);
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: "/common/upload",
|
url: ctx + "/common/upload",
|
||||||
type: 'post',
|
type: 'post',
|
||||||
cache: false,
|
cache: false,
|
||||||
data: formData,
|
data: formData,
|
||||||
|
|
@ -478,8 +478,8 @@ function uploadFile(async, fullPathId, fileNameId, absolutePAthId) {
|
||||||
async: async,
|
async: async,
|
||||||
success: function(result) {
|
success: function(result) {
|
||||||
if (result.code == web_status.SUCCESS) {
|
if (result.code == web_status.SUCCESS) {
|
||||||
if (fullPathId) {
|
if (filePathId) {
|
||||||
$('#' + fullPathId).val(result.url);
|
$('#' + filePathId).val(result.url);
|
||||||
}
|
}
|
||||||
if (fileNameId) {
|
if (fileNameId) {
|
||||||
$('#' + fileNameId).val(result.originalFilename);
|
$('#' + fileNameId).val(result.originalFilename);
|
||||||
|
|
@ -502,7 +502,7 @@ function uploadFile(async, fullPathId, fileNameId, absolutePAthId) {
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
//上传文件
|
//上传文件
|
||||||
function uploadMoreFile(async, fullPathId,formNameId, fileNameId, absolutePAthId) {
|
function uploadMoreFile(async, filePathId,formNameId, fileNameId, absolutePAthId) {
|
||||||
let res = -1;
|
let res = -1;
|
||||||
var formData = new FormData();
|
var formData = new FormData();
|
||||||
if ($('#'+formNameId)[0].files[0] == null) {
|
if ($('#'+formNameId)[0].files[0] == null) {
|
||||||
|
|
@ -512,7 +512,7 @@ function uploadMoreFile(async, fullPathId,formNameId, fileNameId, absolutePAthId
|
||||||
formData.append('fileName', $("#fileName").val());
|
formData.append('fileName', $("#fileName").val());
|
||||||
formData.append('file', $('#'+formNameId)[0].files[0]);
|
formData.append('file', $('#'+formNameId)[0].files[0]);
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: "/common/upload",
|
url: ctx + "/common/upload",
|
||||||
type: 'post',
|
type: 'post',
|
||||||
cache: false,
|
cache: false,
|
||||||
data: formData,
|
data: formData,
|
||||||
|
|
@ -522,8 +522,8 @@ function uploadMoreFile(async, fullPathId,formNameId, fileNameId, absolutePAthId
|
||||||
async: async,
|
async: async,
|
||||||
success: function(result) {
|
success: function(result) {
|
||||||
if (result.code == web_status.SUCCESS) {
|
if (result.code == web_status.SUCCESS) {
|
||||||
if (fullPathId) {
|
if (filePathId) {
|
||||||
$('#' + fullPathId).val(result.url);
|
$('#' + filePathId).val(result.url);
|
||||||
}
|
}
|
||||||
if (fileNameId) {
|
if (fileNameId) {
|
||||||
$('#' + fileNameId).val(result.originalFilename);
|
$('#' + fileNameId).val(result.originalFilename);
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import java.io.InputStream;
|
||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import javax.servlet.Filter;
|
import javax.servlet.Filter;
|
||||||
|
import com.ruoyi.common.constant.Constants;
|
||||||
import org.apache.commons.io.IOUtils;
|
import org.apache.commons.io.IOUtils;
|
||||||
import org.apache.shiro.cache.ehcache.EhCacheManager;
|
import org.apache.shiro.cache.ehcache.EhCacheManager;
|
||||||
import org.apache.shiro.codec.Base64;
|
import org.apache.shiro.codec.Base64;
|
||||||
|
|
@ -34,6 +35,7 @@ import com.ruoyi.framework.shiro.web.filter.sync.SyncOnlineSessionFilter;
|
||||||
import com.ruoyi.framework.shiro.web.session.OnlineWebSessionManager;
|
import com.ruoyi.framework.shiro.web.session.OnlineWebSessionManager;
|
||||||
import com.ruoyi.framework.shiro.web.session.SpringSessionValidationScheduler;
|
import com.ruoyi.framework.shiro.web.session.SpringSessionValidationScheduler;
|
||||||
import at.pollux.thymeleaf.shiro.dialect.ShiroDialect;
|
import at.pollux.thymeleaf.shiro.dialect.ShiroDialect;
|
||||||
|
import org.springframework.core.annotation.Order;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 权限配置加载
|
* 权限配置加载
|
||||||
|
|
@ -279,6 +281,9 @@ public class ShiroConfig
|
||||||
filterChainDefinitionMap.put("/js/**", "anon");
|
filterChainDefinitionMap.put("/js/**", "anon");
|
||||||
filterChainDefinitionMap.put("/ruoyi/**", "anon");
|
filterChainDefinitionMap.put("/ruoyi/**", "anon");
|
||||||
|
|
||||||
|
//上传到本地的图片允许匿名访问
|
||||||
|
filterChainDefinitionMap.put(Constants.RESOURCE_PREFIX + "/**", "anon");
|
||||||
|
|
||||||
//网站允许匿名访问
|
//网站允许匿名访问
|
||||||
filterChainDefinitionMap.put("/home/**", "anon");
|
filterChainDefinitionMap.put("/home/**", "anon");
|
||||||
filterChainDefinitionMap.put("/images/**", "anon");
|
filterChainDefinitionMap.put("/images/**", "anon");
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
package com.ruoyi.web.controller.front;
|
||||||
|
|
||||||
|
import com.ruoyi.common.config.Global;
|
||||||
|
import com.ruoyi.common.constant.Constants;
|
||||||
|
import com.ruoyi.common.utils.StringUtils;
|
||||||
|
import com.ruoyi.web.domain.ClasssicCases;
|
||||||
|
import com.ruoyi.web.service.IClasssicCasesService;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.http.HttpRequest;
|
||||||
|
import org.springframework.stereotype.Controller;
|
||||||
|
import org.springframework.ui.ModelMap;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
@Controller
|
||||||
|
@RequestMapping("/home")
|
||||||
|
public class HomeController {
|
||||||
|
@Autowired
|
||||||
|
private IClasssicCasesService classsicCasesService;
|
||||||
|
/**
|
||||||
|
* 进入网站首页
|
||||||
|
*/
|
||||||
|
@GetMapping("/index")
|
||||||
|
public String index(ModelMap mmap) {
|
||||||
|
List<ClasssicCases> classsicCasesList = classsicCasesService.selectClasssicCasesList(null);
|
||||||
|
mmap.put("classsicCasesList", classsicCasesList);
|
||||||
|
return "index";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,145 @@
|
||||||
|
package com.ruoyi.web.domain;
|
||||||
|
|
||||||
|
import com.ruoyi.common.annotation.Excel;
|
||||||
|
import com.ruoyi.common.core.domain.BaseEntity;
|
||||||
|
import org.apache.commons.lang3.builder.ToStringBuilder;
|
||||||
|
import org.apache.commons.lang3.builder.ToStringStyle;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 典型案例对象 classsic_cases
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2020-10-21
|
||||||
|
*/
|
||||||
|
public class ClasssicCases extends BaseEntity
|
||||||
|
{
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
/** ID */
|
||||||
|
private Long id;
|
||||||
|
|
||||||
|
/** 标题 */
|
||||||
|
private String title;
|
||||||
|
|
||||||
|
/** 简介 */
|
||||||
|
private String introduction;
|
||||||
|
|
||||||
|
/** 详情内容 */
|
||||||
|
private String content;
|
||||||
|
|
||||||
|
/** 案例类型(来至于字典表) */
|
||||||
|
private String type;
|
||||||
|
|
||||||
|
/** 点击量 */
|
||||||
|
private Integer hits;
|
||||||
|
|
||||||
|
/** 图片地址(多个地址用,分隔) */
|
||||||
|
private String pictureUrl;
|
||||||
|
|
||||||
|
/** 状态(0正常 1停用) */
|
||||||
|
private String status;
|
||||||
|
|
||||||
|
/** 删除标志(0代表存在 2代表删除) */
|
||||||
|
private String delFlag;
|
||||||
|
|
||||||
|
public void setId(Long id)
|
||||||
|
{
|
||||||
|
this.id = id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getId()
|
||||||
|
{
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
public void setTitle(String title)
|
||||||
|
{
|
||||||
|
this.title = title;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getTitle()
|
||||||
|
{
|
||||||
|
return title;
|
||||||
|
}
|
||||||
|
public void setIntroduction(String introduction)
|
||||||
|
{
|
||||||
|
this.introduction = introduction;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getIntroduction()
|
||||||
|
{
|
||||||
|
return introduction;
|
||||||
|
}
|
||||||
|
public void setContent(String content)
|
||||||
|
{
|
||||||
|
this.content = content;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getContent()
|
||||||
|
{
|
||||||
|
return content;
|
||||||
|
}
|
||||||
|
public void setType(String type)
|
||||||
|
{
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getType()
|
||||||
|
{
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
public void setHits(Integer hits)
|
||||||
|
{
|
||||||
|
this.hits = hits;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getHits()
|
||||||
|
{
|
||||||
|
return hits;
|
||||||
|
}
|
||||||
|
public void setPictureUrl(String pictureUrl)
|
||||||
|
{
|
||||||
|
this.pictureUrl = pictureUrl;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getPictureUrl()
|
||||||
|
{
|
||||||
|
return pictureUrl;
|
||||||
|
}
|
||||||
|
public void setStatus(String status)
|
||||||
|
{
|
||||||
|
this.status = status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getStatus()
|
||||||
|
{
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
public void setDelFlag(String delFlag)
|
||||||
|
{
|
||||||
|
this.delFlag = delFlag;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDelFlag()
|
||||||
|
{
|
||||||
|
return delFlag;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||||
|
.append("id", getId())
|
||||||
|
.append("title", getTitle())
|
||||||
|
.append("introduction", getIntroduction())
|
||||||
|
.append("content", getContent())
|
||||||
|
.append("type", getType())
|
||||||
|
.append("hits", getHits())
|
||||||
|
.append("pictureUrl", getPictureUrl())
|
||||||
|
.append("status", getStatus())
|
||||||
|
.append("delFlag", getDelFlag())
|
||||||
|
.append("createBy", getCreateBy())
|
||||||
|
.append("createTime", getCreateTime())
|
||||||
|
.append("updateBy", getUpdateBy())
|
||||||
|
.append("updateTime", getUpdateTime())
|
||||||
|
.toString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,33 @@
|
||||||
|
package com.ruoyi.web.mapper;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
import com.ruoyi.web.domain.ClasssicCases;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 典型案例Mapper接口
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2020-10-21
|
||||||
|
*/
|
||||||
|
public interface ClasssicCasesMapper
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 查询典型案例
|
||||||
|
*
|
||||||
|
* @param id 典型案例ID
|
||||||
|
* @return 典型案例
|
||||||
|
*/
|
||||||
|
public ClasssicCases selectClasssicCasesById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询典型案例列表
|
||||||
|
*
|
||||||
|
* @param classsicCases 典型案例
|
||||||
|
* @return 典型案例集合
|
||||||
|
*/
|
||||||
|
public List<ClasssicCases> selectClasssicCasesList(ClasssicCases classsicCases);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,30 @@
|
||||||
|
package com.ruoyi.web.service;
|
||||||
|
|
||||||
|
import com.ruoyi.web.domain.ClasssicCases;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 典型案例Service接口
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2020-10-21
|
||||||
|
*/
|
||||||
|
public interface IClasssicCasesService
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* 查询典型案例
|
||||||
|
*
|
||||||
|
* @param id 典型案例ID
|
||||||
|
* @return 典型案例
|
||||||
|
*/
|
||||||
|
public ClasssicCases selectClasssicCasesById(Long id);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询典型案例列表
|
||||||
|
*
|
||||||
|
* @param classsicCases 典型案例
|
||||||
|
* @return 典型案例集合
|
||||||
|
*/
|
||||||
|
public List<ClasssicCases> selectClasssicCasesList(ClasssicCases classsicCases);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,46 @@
|
||||||
|
package com.ruoyi.web.service.impl;
|
||||||
|
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.stereotype.Service;
|
||||||
|
import com.ruoyi.web.domain.ClasssicCases;
|
||||||
|
import com.ruoyi.web.mapper.ClasssicCasesMapper;
|
||||||
|
import com.ruoyi.web.service.IClasssicCasesService;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 典型案例Service业务层处理
|
||||||
|
*
|
||||||
|
* @author ruoyi
|
||||||
|
* @date 2020-10-21
|
||||||
|
*/
|
||||||
|
@Service
|
||||||
|
public class ClasssicCasesServiceImpl implements IClasssicCasesService
|
||||||
|
{
|
||||||
|
@Autowired
|
||||||
|
private ClasssicCasesMapper classsicCasesMapper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询典型案例
|
||||||
|
*
|
||||||
|
* @param id 典型案例ID
|
||||||
|
* @return 典型案例
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public ClasssicCases selectClasssicCasesById(Long id)
|
||||||
|
{
|
||||||
|
return classsicCasesMapper.selectClasssicCasesById(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询典型案例列表
|
||||||
|
*
|
||||||
|
* @param classsicCases 典型案例
|
||||||
|
* @return 典型案例
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public List<ClasssicCases> selectClasssicCasesList(ClasssicCases classsicCases)
|
||||||
|
{
|
||||||
|
return classsicCasesMapper.selectClasssicCasesList(classsicCases);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
package com.ruoyi.web.controller.front;
|
|
||||||
|
|
||||||
import org.springframework.stereotype.Controller;
|
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
|
|
||||||
@Controller
|
|
||||||
@RequestMapping("/home")
|
|
||||||
public class WebController {
|
|
||||||
private String prefix = "home";
|
|
||||||
/**
|
|
||||||
* 进入网站首页
|
|
||||||
*/
|
|
||||||
@GetMapping("/index")
|
|
||||||
public String index()
|
|
||||||
{ return "index";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<!DOCTYPE mapper
|
||||||
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||||
|
<mapper namespace="com.ruoyi.web.mapper.ClasssicCasesMapper">
|
||||||
|
|
||||||
|
<resultMap type="ClasssicCases" id="ClasssicCasesResult">
|
||||||
|
<result property="id" column="id" />
|
||||||
|
<result property="title" column="title" />
|
||||||
|
<result property="introduction" column="introduction" />
|
||||||
|
<result property="content" column="content" />
|
||||||
|
<result property="type" column="type" />
|
||||||
|
<result property="hits" column="hits" />
|
||||||
|
<result property="pictureUrl" column="picture_url" />
|
||||||
|
<result property="status" column="status" />
|
||||||
|
<result property="delFlag" column="del_flag" />
|
||||||
|
<result property="createBy" column="create_by" />
|
||||||
|
<result property="createTime" column="create_time" />
|
||||||
|
<result property="updateBy" column="update_by" />
|
||||||
|
<result property="updateTime" column="update_time" />
|
||||||
|
</resultMap>
|
||||||
|
|
||||||
|
<sql id="selectClasssicCasesVo">
|
||||||
|
select id, title, introduction, content, type, hits, picture_url, status, del_flag, create_by, create_time, update_by, update_time from classsic_cases
|
||||||
|
</sql>
|
||||||
|
|
||||||
|
<select id="selectClasssicCasesList" parameterType="ClasssicCases" resultMap="ClasssicCasesResult">
|
||||||
|
<include refid="selectClasssicCasesVo"/>
|
||||||
|
limit 4
|
||||||
|
</select>
|
||||||
|
|
||||||
|
<select id="selectClasssicCasesById" parameterType="Long" resultMap="ClasssicCasesResult">
|
||||||
|
<include refid="selectClasssicCasesVo"/>
|
||||||
|
where id = #{id}
|
||||||
|
</select>
|
||||||
|
</mapper>
|
||||||
|
|
@ -171,10 +171,10 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="jdal_ul fix">
|
<div class="jdal_ul fix">
|
||||||
<ul>
|
<ul th:each="classsicCases : ${classsicCasesList}">
|
||||||
<li>
|
<li>
|
||||||
<div class="jdal_ul_img">
|
<div class="jdal_ul_img">
|
||||||
<img th:src="@{/images/img3.jpg}" alt="">
|
<img th:src="${classsicCases.pictureUrl}" alt="">
|
||||||
<div class="jdal_ul_hover">
|
<div class="jdal_ul_hover">
|
||||||
<a href="">
|
<a href="">
|
||||||
<img th:src="@{/images/icon7.png}" alt="">免费咨询
|
<img th:src="@{/images/icon7.png}" alt="">免费咨询
|
||||||
|
|
@ -186,58 +186,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="jdal_ul_text">
|
<div class="jdal_ul_text">
|
||||||
<h3>中标后招标人反悔拒绝签订合同该怎么办</h3>
|
<h3>中标后招标人反悔拒绝签订合同该怎么办</h3>
|
||||||
<p>案例类型:商业案例</p>
|
<p>案例类型:<span th:text="${classsicCases.type}"></span></p>
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<div class="jdal_ul_img">
|
|
||||||
<img th:src="@{/images/img4.jpg}" alt="">
|
|
||||||
<div class="jdal_ul_hover">
|
|
||||||
<a href="">
|
|
||||||
<img th:src="@{/images/icon7.png}" alt="">免费咨询
|
|
||||||
</a>
|
|
||||||
<a href="">
|
|
||||||
<img th:src="@{/images/icon8.png}" alt="">案例详情
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="jdal_ul_text">
|
|
||||||
<h3>专项维修资金不可不交</h3>
|
|
||||||
<p>案例类型:公共案例</p>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<div class="jdal_ul_img">
|
|
||||||
<img th:src="@{/images/img5.jpg}" alt="">
|
|
||||||
<div class="jdal_ul_hover">
|
|
||||||
<a href="">
|
|
||||||
<img th:src="@{/images/icon7.png}" alt="">免费咨询
|
|
||||||
</a>
|
|
||||||
<a href="">
|
|
||||||
<img th:src="@{/images/icon8.png}" alt="">案例详情
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="jdal_ul_text">
|
|
||||||
<h3>"调岗降薪"专题讲座案例分析</h3>
|
|
||||||
<p>案例类型:合同案例</p>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<div class="jdal_ul_img">
|
|
||||||
<img th:src="@{/images/img6.jpg}" alt="">
|
|
||||||
<div class="jdal_ul_hover">
|
|
||||||
<a href="">
|
|
||||||
<img th:src="@{/images/icon7.png}" alt="">免费咨询
|
|
||||||
</a>
|
|
||||||
<a href="">
|
|
||||||
<img th:src="@{/images/icon8.png}" alt="">案例详情
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="jdal_ul_text">
|
|
||||||
<h3>解读企业运营中的风险高发点之字体侵权</h3>
|
|
||||||
<p>案例类型:知识产权</p>
|
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
@ -839,38 +788,11 @@
|
||||||
<!-- 底部start -->
|
<!-- 底部start -->
|
||||||
<th:block th:replace="footer :: footer"/>
|
<th:block th:replace="footer :: footer"/>
|
||||||
<!-- 底部end -->
|
<!-- 底部end -->
|
||||||
<!-- 右侧悬浮 -->
|
|
||||||
<ul class="xfList">
|
<!-- 右侧悬浮start -->
|
||||||
<li>
|
<th:block th:replace="right_float :: right_float"/>
|
||||||
<div class="div">
|
<!-- 右侧悬浮end -->
|
||||||
<dl><dt class="icont"><a href="" target="_blank">返回<br>平台</a></dt></dl>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<li class="">
|
|
||||||
<div class="div">
|
|
||||||
<dl><dt class="icon"><img class="blImg" th:src="@{/images/icon2.png}"></dt></dl>
|
|
||||||
</div>
|
|
||||||
<div class="telDiv"><i class="icons"><img th:src="@{/images/icon2.png}"></i>
|
|
||||||
<div class="divs">
|
|
||||||
<div class="telSmldiv">021-63212255</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="" target="_blank">
|
|
||||||
<div class="div">
|
|
||||||
<dl><dt class="icon"><img th:src="@{/images/icon3.png}" alt=""></dt></dl>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<a href="javascript: initScrollToTop();">
|
|
||||||
<div class="div">
|
|
||||||
<dl><dt class="icon"><img class="blImg" th:src="@{/images/icon4.png}"></dt></dl>
|
|
||||||
</div>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<div class="tankugn_zzc"></div>
|
<div class="tankugn_zzc"></div>
|
||||||
<div class="tankuang_cont">
|
<div class="tankuang_cont">
|
||||||
<div class="colok">
|
<div class="colok">
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
<ul th:fragment="right_float" class="xfList">
|
||||||
|
<li>
|
||||||
|
<div class="div">
|
||||||
|
<dl><dt class="icont"><a href="" target="_blank">返回<br>平台</a></dt></dl>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li class="">
|
||||||
|
<div class="div">
|
||||||
|
<dl><dt class="icon"><img class="blImg" th:src="@{/images/icon2.png}"></dt></dl>
|
||||||
|
</div>
|
||||||
|
<div class="telDiv"><i class="icons"><img th:src="@{/images/icon2.png}"></i>
|
||||||
|
<div class="divs">
|
||||||
|
<div class="telSmldiv">021-63212255</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="" target="_blank">
|
||||||
|
<div class="div">
|
||||||
|
<dl><dt class="icon"><img th:src="@{/images/icon3.png}" alt=""></dt></dl>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
<li>
|
||||||
|
<a href="javascript: initScrollToTop();">
|
||||||
|
<div class="div">
|
||||||
|
<dl><dt class="icon"><img class="blImg" th:src="@{/images/icon4.png}"></dt></dl>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
Loading…
Reference in New Issue