- 学习react day02
花开富贵城
react.js学习前端
(1)jsx即javascript+xml其实就是JavaScript对象JSX——使用react构造组件,bable进行编译==>JavaScript对象——ReactDom.render()==>DOM元素==>插入页面(2)创建组件importReactfrom'react'importReactDOMfrom'react-dom/client';//把react组件渲染到页面//impor
- vsCode保存代码自动格式化
花开富贵城
vscodeide编辑器
{"editor.formatOnSave":true,"[vue]":{"editor.defaultFormatter":"octref.vetur"},"files.autoSave":"off","eslint.validate":["javascript","javascriptreact","vue-html",{"language":"vue","autoFix":true}],"e
- vue项目打包压缩静态资源—使用compression-webpack-plugin
牛小妞~牛
vue.jswebpack前端
vue项目打包压缩静态资源—使用compression-webpack-plugin场景:vue项目打包上线后,资源加载缓慢,用户体验感差。解决方案:使用compression-webpack-plugin插件压缩打包的静态资源,优化项目性能。使用方法下载compression-webpack-plugincnpmicompression-webpack-plugin@6.1.1--save注意:
- vue3中,子组件如何向父组件传值
易烊子豪
vue.js前端javascript
写作灵感最近在写项目时,有多个页面都需要使用到一个搜索栏。因此,就需要将搜索栏封装成一个组件,我们在其他组件使用搜索组件时,需要将搜索到的内容传入父组件进行展示。此时,就需要用到子组件向父组件传值了。使用子组件向父组件传递值时,相信遇到最多的便是emit进行传值了。下面我将介绍我用到的两种传值方式:使用setup语法糖和不使用setup语法糖的两种方式。(父组件的书写放在后面)使用setup语法糖
- VueDraggablePlus的学习与问题解决
揽昕
学习vue.js前端
目录VueDraggablePlus的使用插件APIgroup属性拖拽分组delay响应时间disabled启用禁用scroll是否允许滚动animation过渡效果handle鼠标在指定元素上才允许拖动filter排除步允许拖动的元素chosenClass选中元素的样式ghostClass目标位置占位符的样式clone拷贝实现常用菜单功能dragClass拖拽项类名更多api事件函数move自定
- SautinSoft HTML to RTF .Net Crack
SEO-狼术
DelphinetCrackhtml.net前端
SautinSoftHTMLtoRTF.NetCrackKeyFeaturesofSautinSoftHTMLtoRTF.Net:HTMLtoDOCXConversion:ConvertHTMLcontentintoDOCXfileswithfullsupportforCSSandsimpleJavaScript,creatingwell-formattedWorddocuments.HTMLto
- [附源码]JAVA毕业设计基于web旅游网站的设计与实现(系统+LW)
晶涛计算机毕设
java前端旅游
[附源码]JAVA毕业设计基于web旅游网站的设计与实现(系统+LW)目运行环境项配置:Jdk1.8+Tomcat8.5+Mysql+HBuilderX(Webstorm也行)+Eclispe(IntelliJIDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:JAVA+mybatis+Maven+Vue等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是ja
- [附源码]java毕业设计基于web旅游网站的设计与实现
李会计算机程序设计
java前端旅游
项目运行环境配置:Jdk1.8+Tomcat7.0+Mysql+HBuilderX(Webstorm也行)+Eclispe(IntelliJIDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:SSM+mybatis+Maven+Vue等等组成,B/S模式+Maven管理等等。环境需要1.运行环境:最好是javajdk1.8,我们在这个平台上运行的。其他版本理论上也可以。2.ID
- JavaScript 显示对象
软件技术NINI
jsjavascript网络udp
如何显示JavaScript对象?显示JavaScript对象将输出[objectObject]。实例constperson={name:"Bill",age:19,city:"Seattle"};document.getElementById("demo").innerHTML=person;//[objectObject]显示JavaScript对象的一些常见解决方案是:按名称显示对象属性循环
- 手把手学习Vue3.0:CSS样式基础和HTML5基础收藏
帅哥趣谈
手把手学习Vue3.0vue
背景最近在做管理系统的时候我还不会用Vue,时间紧任务重就先用J2EE那套,利用layUI先实现了。现在从头学习前后端分离技术来搞,在做的过程中对CSS和HTML5的基础语法都已经全忘了,正好总结一下,其实也没有什么好总结,就是一个搜集一下语法手册,用的时候方便查查。我也顺便弄明白了一个事情,就是到底人们常说的H5到底是什么,当我从知乎上看明白后,心中一万个草拟吗奔腾而过。如果你有幸读到我这篇文章
- Vue-cli的使用
子非鱼921
Vue.js入门及实战vue.jsjavascript前端前端框架
文章目录1vue-cli的安装和项目配置2使用vue-cli开发todolist3全局样式与局部样式1vue-cli的安装和项目配置这篇博文中有详细的介绍:安装vue-cli2.0并创建项目。2使用vue-cli开发todolistsrc文件夹下添加文件:TodoList.vue。提交importTodoItemfrom'./components/TodoItem'/*data是一个函数,函数返回
- 【前端】NodeJS:fs模块
子非鱼921
【前端】NodeJS前端node.jsjavascript开发语言
文章目录fs模块1文件写入1.1writeFile异步写入1.2writeFileSync同步写入1.3appendFile/appendFileSync追加写入1.4createWriteStream流式写入1.5写入文件的场景2文件读取2.1readFile异步读取2.2readFileSync同步读取2.3createReadStream流式读取2.4读取文件应用场景3文件移动与重命名4文件
- JavaScript-防抖和节流
好哈优学编程
javascript开发语言
防抖(debounce):如果一个函数持续地触发,那么只在它停止触发的一段时间后才执行,如果在这段时间内又开始持续触发,则重新计算时间。防抖函数的实现如下:functiondebounce(func,wait){lettimeout;returnfunction(){clearTimeout(timeout);timeout=setTimeout(()=>{func.apply(this,argu
- 高版本Chrome网页直接播放海康威视大华RTSP流方案,不需服务器转码转流,支持H.265、H.264及2K/4K高清视频
bubailai
ChromeRTSPchromertspvue.js前端
近期公司在做一个智慧城市项目,需要在高版本Chrome网页播放海康威视、大华、或者华为摄像头RTSP流,于是在网上开始找对应的解决方案,没想到网上各种转码转流方案纷繁复杂,找到一款稳定商用满足需求的很难!目前网上有两种所谓无插件方案,即后端转码前端播放的方法和后端转流前端转码的方案,虽然无插件播放方案能够播放出画面,但是往往延迟很高,基本上都在数秒之久,在一些对延迟敏感的场合客户要求毫秒级延迟,显
- 浏览器播放h.265 rtsp流媒体解决方案
LiveWeb视频管理平台
h.265html5音视频web播放器h.266
近期研究在VUE中播放RTSP实时视频,客户要求延迟低于300毫秒,并且要求支持多路同时播放,支持H.265格式视频,比较了下目前市场上常见的几种方案,以供大家参考!一、海康威视官方WEB解决方案:海康威视官方提供了两种WEB解决方案,即无插件方案和有插件方案。1.无插件方案,实际采用的是服务器转码推流的方式,因为需要转码两次,导致延迟比较高,多路播放或者播放高清视频容易卡顿或者花屏,无法满足客户
- springMVC笔记系列(19)——控制器实现详解(上)
weixin_34290390
java测试前端ViewUI
2019独角兽企业重金招聘Python工程师标准>>>本文我们在前文基础上引入一个例子,边做边聊控制器。我们想实现一个课程查询的功能。首先大脑应该条件反射——如何定义MVC。M:课程(包含章节)——Course(包含Chapter)V:课程页面——course_overview.jspC:编写一个控制器接收springMVC前端控制器dispatcherServlet的请求转发——CourseCo
- 《React Hooks:让你的组件更灵活》
Envyᥫᩣ
react.js前端前端框架
前端开发中非常流行的React框架。React是一个用于构建用户界面的JavaScript库,尤其适用于构建复杂的单页应用。ReactHooks:让你的组件更灵活React是当今最受欢迎的前端JavaScript库之一,用于构建用户界面。自从React16.8版本开始,React引入了一种新的功能——Hooks,它为函数组件带来了更多的可能性。Hooks允许你在不编写类的情况下使用state和其他
- js相关知识
623_54e8
JavaScript相关知识页面中添加JavaScript页面加载之前就会执行页面加载时候执行大多数情况,代码会增加到页面的head的部分,如果将代码增加到体的末尾,这会使性能稍有提升,不过只有确实需要深度优化页面性能时才有必要这么做。一件重要的事情,页面完全加载之后再执行JavaScript代码做法如下:页面完全加载之前不要打扰DOM1.浏览器加载页面创建文档的一个内部模型,包括标记的所有元素2
- Vue使用插槽封装tabbar 和使用router-view
senda66
vuevue
tabbar的封装思路tabbar1、定义tabbar组件2、定义tabbar-item组件定义tabbar组件思路:使用插槽exportdefault{name:'TabBar'}#tabbar{display:flex;background-color:#f6f6f6;position:fixed;left:0;right:0;bottom:0;box-shadow:0-1px5pxrgba(
- JavaScript练习(一)
浅笑心柔142
javascript前端
练习1:定义变量存储以下信息,然后按如下格式在页面上输出姓名:张三年龄:21性别:男职业:学生住址:江苏南京电话:1234567varname="张三";varage="21";varsex="男";varjob="学生";varaddress="江苏南京";varphone="1234567";document.write("姓名:"+name+"");document.write("年龄:"+
- vue-router学习8:RouterView插槽
无名H
vue-routervue.js前端javascript开发语言学习
RouterView用于渲染当前路由对应的组件,可以通过插槽(Slots)来提供更加灵活和强大的路由渲染能力。RouterView插槽概述RouterView提供了两个主要的插槽:默认插槽(defaultslot):用于渲染当前路由匹配到的组件。命名插槽(namedslots):根据路由的name属性来渲染对应的组件。安装并配置npminstallvue-router使用import{create
- 关于 router-view-slot
今晚也失眠
前端javascript开发语言
关于router-view-slotApp.vue配置动态路由importlayoutfrom"@/layout/index.vue";constrouter=createRouter({history:createWebHistory(import.meta.env.BASE_URL),routes:[{path:"/",name:"layout",redirect:"/dashboard",c
- VueRouter源码(三)--RouterView, RouterLink
haoyanyu_
Vue
注册为vue组件RouterView和RouterLink组件在install方法中注册成了Vue的组件functioninstall(Vue){...Vue.component('RouterView',View);Vue.component('RouterLink',Link);...}RouterViewvue-router.jsline45主要作用:在RouterView里渲染需要显示的组
- 【一文读懂】ECMAScript
热爱分享的博士僧
ecmascript
ECMAScript(通常简称为ES)是一种脚本语言的标准规范,由欧洲计算机制造商协会(ECMAInternational)制定。JavaScript是最著名的实现了ECMAScript规范的语言,广泛用于Web开发。ECMAScript定义了语言的核心语法和特性,但不包括任何关于图形界面、网络请求等与平台相关的API,这些通常是JavaScript运行时环境提供的额外功能,例如浏览器中的DOM(
- 基于vue-cli3,全局集成 scss | sass
PHP的点滴
Css的预处理器如果项目中没有scss预处理器,需要安装npminstall-Dsass-loadernode-sass修改配置文件vue.config.jsconstfs=require('fs')module.exports={css:{loaderOptions:{sass:{data:fs.readFileSync('src/assets/css/variable.scss','utf-8
- Vue 选中表格中的行,并勾选复选框,并查询表格第一页
赛亚人之神
querySelectedPackageProductList(){letparam={content:{id:this.childParam.content.packageId}};log('查询所有已勾选的列表元素入参',param);getPackageList(param).then((resp)=>{if(200===resp.status){this.$refs.multipleTab
- 在线图书管理系统”的Vue.js项目
hai40587
vue.js前端javascript
项目概述假设我们正在构建一个名为“在线图书管理系统”的Vue.js项目。该系统允许用户浏览图书列表、搜索图书、查看图书详情、添加新书到购物车以及进行用户认证(登录、注册)。我们将使用Vue.js2.x(或Vue3.x,视你偏好而定),结合VueRouter进行页面路由管理,Vuex进行状态管理,以及Axios进行HTTP请求。项目结构/online-bookstore/src/assets-log
- uniapp解决app端不能用<web-view>将外部页面嵌入当前页面的问题
舍予一
前端知识汇总关于学习开发中遇到的各种问题uni-app前端
uniapp解决app端不能用将外部页面嵌入当前页面的问题参考资料代码(兼容h5与app)父页面子组件Vue2Vue3、组合式、ts参考资料android项目嵌套uniapp页面及交互uniapp嵌套h5页面代码(兼容h5与app)父页面//#ifdefH5//#endif//#ifdefAPP-PLUS//#endifimportContentfrom'./content.vue'.contra
- JavaScript 中,不同的赋值方式适用场景
前端小芬芬
javascript
在JavaScript中,不同的赋值方式适用于不同的场景。以下是每种赋值方式的详细解释和使用场景:1.使用扩展运算符...进行浅拷贝letobj={...data};功能:创建一个新的对象,并将data对象的所有可枚举属性复制到新对象中。适用场景:适用于简单对象的浅拷贝,特别是当对象的属性不包含嵌套对象或数组时。示例:letdata={a:1,b:2};letobj={...data};conso
- python Django +Vue实现多文件异步上传
离光头还差半个光头
pythonvue.jsuploadpost
pythonDjango+Vue实现多文件异步上传刚接触python不久,接到个需求需要多文件上传,在网上找了很多,有讲理论的,有讲实现的,但我花了很长时间,才从这些文章中搞懂这个问题,我们来个直接粗暴的,上代码,部分解释加在代码上html首页letapp=newVue({el:'#app',data:{fileList:[],},methods:{fileChange:function(e){t
- 对于规范和实现,你会混淆吗?
yangshangchuan
HotSpot
昨晚和朋友聊天,喝了点咖啡,由于我经常喝茶,很长时间没喝咖啡了,所以失眠了,于是起床读JVM规范,读完后在朋友圈发了一条信息:
JVM Run-Time Data Areas:The Java Virtual Machine defines various run-time data areas that are used during execution of a program. So
- android 网络
百合不是茶
网络
android的网络编程和java的一样没什么好分析的都是一些死的照着写就可以了,所以记录下来 方便查找 , 服务器使用的是TomCat
服务器代码; servlet的使用需要在xml中注册
package servlet;
import java.io.IOException;
import java.util.Arr
- [读书笔记]读法拉第传
comsci
读书笔记
1831年的时候,一年可以赚到1000英镑的人..应该很少的...
要成为一个科学家,没有足够的资金支持,很多实验都无法完成
但是当钱赚够了以后....就不能够一直在商业和市场中徘徊......
- 随机数的产生
沐刃青蛟
随机数
c++中阐述随机数的方法有两种:
一是产生假随机数(不管操作多少次,所产生的数都不会改变)
这类随机数是使用了默认的种子值产生的,所以每次都是一样的。
//默认种子
for (int i = 0; i < 5; i++)
{
cout<<
- PHP检测函数所在的文件名
IT独行者
PHP函数
很简单的功能,用到PHP中的反射机制,具体使用的是ReflectionFunction类,可以获取指定函数所在PHP脚本中的具体位置。 创建引用脚本。
代码:
[php]
view plain
copy
// Filename: functions.php
<?php&nbs
- 银行各系统功能简介
文强chu
金融
银行各系统功能简介 业务系统 核心业务系统 业务功能包括:总账管理、卡系统管理、客户信息管理、额度控管、存款、贷款、资金业务、国际结算、支付结算、对外接口等 清分清算系统 以清算日期为准,将账务类交易、非账务类交易的手续费、代理费、网络服务费等相关费用,按费用类型计算应收、应付金额,经过清算人员确认后上送核心系统完成结算的过程 国际结算系
- Python学习1(pip django 安装以及第一个project)
小桔子
pythondjangopip
最近开始学习python,要安装个pip的工具。听说这个工具很强大,安装了它,在安装第三方工具的话so easy!然后也下载了,按照别人给的教程开始安装,奶奶的怎么也安装不上!
第一步:官方下载pip-1.5.6.tar.gz, https://pypi.python.org/pypi/pip easy!
第二部:解压这个压缩文件,会看到一个setup.p
- php 数组
aichenglong
PHP排序数组循环多维数组
1 php中的创建数组
$product = array('tires','oil','spark');//array()实际上是语言结构而不 是函数
2 如果需要创建一个升序的排列的数字保存在一个数组中,可以使用range()函数来自动创建数组
$numbers=range(1,10)//1 2 3 4 5 6 7 8 9 10
$numbers=range(1,10,
- 安装python2.7
AILIKES
python
安装python2.7
1、下载可从 http://www.python.org/进行下载#wget https://www.python.org/ftp/python/2.7.10/Python-2.7.10.tgz
2、复制解压
#mkdir -p /opt/usr/python
#cp /opt/soft/Python-2
- java异常的处理探讨
百合不是茶
JAVA异常
//java异常
/*
1,了解java 中的异常处理机制,有三种操作
a,声明异常
b,抛出异常
c,捕获异常
2,学会使用try-catch-finally来处理异常
3,学会如何声明异常和抛出异常
4,学会创建自己的异常
*/
//2,学会使用try-catch-finally来处理异常
- getElementsByName实例
bijian1013
element
实例1:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/x
- 探索JUnit4扩展:Runner
bijian1013
java单元测试JUnit
参加敏捷培训时,教练提到Junit4的Runner和Rule,于是特上网查一下,发现很多都讲的太理论,或者是举的例子实在是太牵强。多搜索了几下,搜索到两篇我觉得写的非常好的文章。
文章地址:http://www.blogjava.net/jiangshachina/archive/20
- [MongoDB学习笔记二]MongoDB副本集
bit1129
mongodb
1. 副本集的特性
1)一台主服务器(Primary),多台从服务器(Secondary)
2)Primary挂了之后,从服务器自动完成从它们之中选举一台服务器作为主服务器,继续工作,这就解决了单点故障,因此,在这种情况下,MongoDB集群能够继续工作
3)挂了的主服务器恢复到集群中只能以Secondary服务器的角色加入进来
2
- 【Spark八十一】Hive in the spark assembly
bit1129
assembly
Spark SQL supports most commonly used features of HiveQL. However, different HiveQL statements are executed in different manners:
1. DDL statements (e.g. CREATE TABLE, DROP TABLE, etc.)
- Nginx问题定位之监控进程异常退出
ronin47
nginx在运行过程中是否稳定,是否有异常退出过?这里总结几项平时会用到的小技巧。
1. 在error.log中查看是否有signal项,如果有,看看signal是多少。
比如,这是一个异常退出的情况:
$grep signal error.log
2012/12/24 16:39:56 [alert] 13661#0: worker process 13666 exited on s
- No grammar constraints (DTD or XML schema).....两种解决方法
byalias
xml
方法一:常用方法 关闭XML验证
工具栏:windows => preferences => xml => xml files => validation => Indicate when no grammar is specified:选择Ignore即可。
方法二:(个人推荐)
添加 内容如下
<?xml version=
- Netty源码学习-DefaultChannelPipeline
bylijinnan
netty
package com.ljn.channel;
/**
* ChannelPipeline采用的是Intercepting Filter 模式
* 但由于用到两个双向链表和内部类,这个模式看起来不是那么明显,需要仔细查看调用过程才发现
*
* 下面对ChannelPipeline作一个模拟,只模拟关键代码:
*/
public class Pipeline {
- MYSQL数据库常用备份及恢复语句
chicony
mysql
备份MySQL数据库的命令,可以加选不同的参数选项来实现不同格式的要求。
mysqldump -h主机 -u用户名 -p密码 数据库名 > 文件
备份MySQL数据库为带删除表的格式,能够让该备份覆盖已有数据库而不需要手动删除原有数据库。
mysqldump -–add-drop-table -uusername -ppassword databasename > ba
- 小白谈谈云计算--基于Google三大论文
CrazyMizzz
Google云计算GFS
之前在没有接触到云计算之前,只是对云计算有一点点模糊的概念,觉得这是一个很高大上的东西,似乎离我们大一的还很远。后来有机会上了一节云计算的普及课程吧,并且在之前的一周里拜读了谷歌三大论文。不敢说理解,至少囫囵吞枣啃下了一大堆看不明白的理论。现在就简单聊聊我对于云计算的了解。
我先说说GFS
&n
- hadoop 平衡空间设置方法
daizj
hadoopbalancer
在hdfs-site.xml中增加设置balance的带宽,默认只有1M:
<property>
<name>dfs.balance.bandwidthPerSec</name>
<value>10485760</value>
<description&g
- Eclipse程序员要掌握的常用快捷键
dcj3sjt126com
编程
判断一个人的编程水平,就看他用键盘多,还是鼠标多。用键盘一是为了输入代码(当然了,也包括注释),再有就是熟练使用快捷键。 曾有人在豆瓣评
《卓有成效的程序员》:“人有多大懒,才有多大闲”。之前我整理了一个
程序员图书列表,目的也就是通过读书,让程序员变懒。 程序员作为特殊的群体,有的人可以这么懒,懒到事情都交给机器去做,而有的人又可以那么勤奋,每天都孜孜不倦得
- Android学习之路
dcj3sjt126com
Android学习
转自:http://blog.csdn.net/ryantang03/article/details/6901459
以前有J2EE基础,接触JAVA也有两三年的时间了,上手Android并不困难,思维上稍微转变一下就可以很快适应。以前做的都是WEB项目,现今体验移动终端项目,让我越来越觉得移动互联网应用是未来的主宰。
下面说说我学习Android的感受,我学Android首先是看MARS的视
- java 遍历Map的四种方法
eksliang
javaHashMapjava 遍历Map的四种方法
转载请出自出处:
http://eksliang.iteye.com/blog/2059996
package com.ickes;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
/**
* 遍历Map的四种方式
- 【精典】数据库相关相关
gengzg
数据库
package C3P0;
import java.sql.Connection;
import java.sql.SQLException;
import java.beans.PropertyVetoException;
import com.mchange.v2.c3p0.ComboPooledDataSource;
public class DBPool{
- 自动补全
huyana_town
自动补全
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml&quo
- jquery在线预览PDF文件,打开PDF文件
天梯梦
jquery
最主要的是使用到了一个jquery的插件jquery.media.js,使用这个插件就很容易实现了。
核心代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.
- ViewPager刷新单个页面的方法
lovelease
androidviewpagertag刷新
使用ViewPager做滑动切换图片的效果时,如果图片是从网络下载的,那么再子线程中下载完图片时我们会使用handler通知UI线程,然后UI线程就可以调用mViewPager.getAdapter().notifyDataSetChanged()进行页面的刷新,但是viewpager不同于listview,你会发现单纯的调用notifyDataSetChanged()并不能刷新页面
- 利用按位取反(~)从复合枚举值里清除枚举值
草料场
enum
以 C# 中的 System.Drawing.FontStyle 为例。
如果需要同时有多种效果,
如:“粗体”和“下划线”的效果,可以用按位或(|)
FontStyle style = FontStyle.Bold | FontStyle.Underline;
如果需要去除 style 里的某一种效果,
- Linux系统新手学习的11点建议
刘星宇
编程工作linux脚本
随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起。这里介绍学习Linux的一些建议。
一、从基础开始:常常有些朋友在Linux论坛问一些问题,不过,其中大多数的问题都是很基础的。例如:为什么我使用一个命令的时候,系统告诉我找不到该目录,我要如何限制使用者的权限等问题,这些问题其实都不是很难的,只要了解了 Linu
- hibernate dao层应用之HibernateDaoSupport二次封装
wangzhezichuan
DAOHibernate
/**
* <p>方法描述:sql语句查询 返回List<Class> </p>
* <p>方法备注: Class 只能是自定义类 </p>
* @param calzz
* @param sql
* @return
* <p>创建人:王川</p>
* <p>创建时间:Jul