- 在 Vue 中使用 jQuery-UI 的踩坑记
qmzhna_
vue.jsjqueryui
在使用leaflet开发的时候,有一个需求要在图层的popup上编辑信息,需要一个AutoComplete的组件。但是popup支持的是htmltemplate,只能通过js拼接HTML标签实现。不得已引入了jquery-ui中的AutoComplete组件来完成,在vue中使用jquery-ui过程中踩了不少坑。安装和引入jQuery和jQueryUI首先,我们需要在项目中安装jQuery和jQ
- vue3中实现高德地图地址搜索自动提示(附源码)
年纪轻轻就扛不住
VUE开发语言vue.js前端框架前端
Vue3实现高德地图搜索自动提示功能引言上一篇文章详细讲解了如何在Vue3项目中集成高德地图,本文将重点介绍地址搜索自动提示功能的实现。1.功能介绍搜索提示(AutoComplete)是一种实时提示功能,当用户输入关键字时,可以智能地给出相关的提示信息,帮助用户快速找到目标位置。2.插件初始化首先在插件列表中添加AMap.AutoComplete:AMapLoader.load({plugins:
- H5 新增表单属性
目录placeholder属性min、max和step属性autofocus属性autocomplete属性required属性pattern属性multiple属性form属性placeholder属性作用:提供一种输入提示,描述输入域所期待的值代码示例min、max和step属性作用:max属性规定输入域所允许的最大值。min属性规定输入域所允许的最小值。step属性为输入域规定合法的数字间隔
- H5新增属性
小胖同学~
html5
✅一、表单相关新增属性(FormAttributes)这些属性增强了表单功能,提升用户体验和前端验证能力。1.placeholder描述:在输入框为空时显示提示文本。示例:2.required描述:规定输入字段必须填写才能提交表单。示例:3.autofocus描述:页面加载后自动聚焦到该输入框。示例:4.autocomplete描述:是否启用浏览器的自动完成功能。可选值:on/off示例:5.pa
- autocomplete=“off“
autocomplete=“off”是一个HTML表单元素的属性,用于禁用浏览器的自动填充功能。当设置了这个属性时,浏览器通常不会自动填充输入字段,这对于某些敏感信息或特定应用场景很有用。例如,如果您有一个登录表单,您可能希望禁用自动填充,以确保用户自己输入用户名和密码,而不是从浏览器的保存密码列表中自动填充。这可以增加安全性,因为浏览器自动填充可能会泄漏用户的敏感信息。以下是一个示例:htmlC
- 【element-ui】el-autocomplete实现 无数据匹配
益达是我
vue前端vue
文章目录方法一:使用default插槽方法二:使用empty-text属性(适用于列表类型)总结在使用ElementUI的el-autocomplete组件时,如果你希望在没有任何数据匹配的情况下显示特定的内容,你可以通过自定义模板或者通过插槽(slot)来实现。下面我将提供两种方法来实现当没有数据匹配时显示自定义内容。方法一:使用default插槽el-autocomplete组件提供了一个de
- 前端开发与LangChain深度集成指南
小赖同学啊
人工智能jquerylangchain
前端开发与LangChain深度集成指南一、架构设计模式前端应用APIGatewayLangChain服务层LLM接口向量数据库工具链集成二、核心集成方案智能表单增强//自动填写增强(React示例)import{useLangChain}from'./langchain-client';functionSmartForm(){const{autocomplete}=useLangChain();
- Vagrant常用命令
super_1301
vagrant运维ruby
Usage:vagrant[options][]-h,--helpPrintthishelp.Commoncommands:autocompletemanagesautocompleteinstallationonhostboxmanagesboxes:installation,removal,etc.cloudmanageseverythingrelatedtoVagrantClouddestr
- IntelliJ IDEA 实用 AI 插件:效率提升的秘密武器
Hello-ZHE
intellij-idea人工智能驱动开发
在软件开发领域,效率至关重要。IntelliJIDEA作为一款强大的集成开发环境(IDE),深受Java开发者喜爱。随着人工智能(AI)技术的快速发展,越来越多的AI插件涌现出来,为IntelliJIDEA带来了全新的可能性。本文将介绍10个实用的AI插件,助力开发者提升效率,编写更高质量的代码。1.TabnineAIAutocomplete:智能代码补全Tabnine是一款基于深度学习的代码自动
- vue亲测阻止谷歌360等浏览器默认填充密码都无效
zouyingyong
vuevue阻止默认密码填充inputelementui
开发项目,并没有保存密码的习惯,后来测试提了bug,搜一搜,网上的方法都无效。无效方法如下:1.autocomplete=“off”2.先将type="password"改成text,聚焦变password,会有下拉账号密码选项3.autocomplete=“new-password”无效4.前面放置隐藏input框,360浏览器无效。5.from表单前面加隐藏input框,无效。心累,最后折中,
- JavaScript实战 - 百度搜索框提示的实现
逍遥Sean
javascript
作者:逍遥Sean简介:一个主修Java的Web网站\游戏服务器后端开发者主页:https://blog.csdn.net/Ureliable觉得博主文章不错的话,可以三连支持一下~如有疑问和建议,请私信或评论留言!前言在Web开发中,搜索框提示(autocomplete)是提升用户体验的重要功能之一。本文将介绍如何使用JavaScript和百度搜索API实现一个简单的搜索框提示功能,让用户在输入
- vue项目中解决谷歌浏览器默认填充账号密码问题
慕芃
elementuichromevue.js
vue项目中解决谷歌浏览器默认填充账号密码问题前言解决1.普通input设置autocomplete="new-password"2.密码框设置autocomplete="on"前言在使用elementUI开发后台管理系统时,避免不了使用大量的el-form表单,但是如果chrome打开了自动填充密码并且保存过密码之后,再使用el-form的时候就会随机填充用户名密码(普通的输入框也会被随机填充用
- html5学习16:表单
八十岁老将
#html5html
1、制作基本表单制作一个基本的表单需要三个元素:form、input和button元素。Submitvote1.1定义表单1)form元素可以流元素的元素的子元素,但form元素不能是其他form元素的后代元素。属性:acton,method,enctype,name,accept-charset,novalidate,target,autocomplete2)input元素其用途是收集用户输人数
- Vue 监听器、过滤器、生命周期
HarkerYX
【Web前端开发】
我是表哥Harker,表妹我来咯~继续讲解Vue常用特性监听器、过滤器、生命周期监听器(watch)1、侦听器的应用场景###数据变化时执行异步或开销较大的操作###注意,不应该使用箭头函数来定义watcher函数(例如searchQuery:newValue=>this.updateAutocomplete(newValue))。理由是箭头函数绑定了父级作用域的上下文,所以this将不会按照期望
- jQuery Autocomplete 揭秘:从原理到实践
lsx202406
开发语言
jQueryAutocomplete揭秘:从原理到实践引言随着互联网的快速发展,用户对于网页交互体验的要求越来越高。为了提高用户体验,许多网页都采用了自动补全(Autocomplete)功能。jQueryAutocomplete是一款流行的JavaScript库,它可以帮助开发者轻松实现自动补全功能。本文将深入探讨jQueryAutocomplete的原理、使用方法以及在实际项目中的应用。jQue
- 疯狂安卓入门,crayandroid
耶耶耶耶耶~
其它androidjava
系列文章目录文章目录系列文章目录第一组ViewGroup为基类帧布局约束布局第二组TextView及其子类button时钟AnalogClock和TextClock计时器第三组ImageView及其子类第四组AdapterView及其子类AutoCompleteTextView的功能和用法ExapndaleListViewAdapterViewFlipperRecyclerView组件第五组UIP
- AppCompatAutoCompleteTextView 传入降序数据下拉框不显示
烽火聊员
android
/***如果返回的是ture数字出现降序将会不显示,降序显示时需手动将其改为false*@return*/@OverridepublicbooleanenoughToFilter(){returnfalse;}
- element ui 组件el-autocomplete的使用方法(输入建议,利用filter和include)
liuyang___
uivue.jsjavascriptelementui前端
我们首先要先将标签写出来,其次写入一些属性,这个直接去官网粘贴即可!我们可以看到,这个代码,需要写一个函数,也就是querySearch,所以我们在methods里面写入这个方法,这个方法要传入两个值,一个query(这个随便写),还有一个cb,这个不是随便写的,接下来看代码实现吧exportdefault{data(){return{coffees:[{value:'1星巴克咖啡'},{valu
- vscode配置C/C++常用插件,亲测好用
沐风_ZTL
c++开发语言vscode
1>C/C++,必选;2>C/C++ExtensionPack,C/C++扩展包;3>C/C++Snippets,C/C++重用代码块;4>C/C++AdvancedLint,C/C++静态检测;5>BetterC++Syntax,C/C++语法高亮;6>CodeRunner,代码运行;7>IncludeAutoComplete,自动头文件包含;8>GBKtoUTF8,自动将GBK转换为UTF8;
- 2019-07-09 AutoCompleteTextView 问题
皮皮铭
实现自定义Adapter要实现Filterable接口,不然会报错重写getFilter()方法performFiltering()方法实现过滤数据的操作publishResults()用来接收performFiltering()的返回值,发布。
- 使用vue3+ts封装一个自动补全输入框Autocomplete组件
温暖前端
javascript前端vue.js
创建一个名为Autocomplete.vue的文件,在这个组件中,使用了Vue3的CompositionAPI,包括ref、watch、onMounted等。组件接收placeholder、debounce和clearable作为props,并根据这些props来渲染输入框和下拉菜单{{item}}import{defineComponent,ref,watch,onMounted}from'vu
- vue 高德地图api爬坑之路(三)Autocomplete 和 PlaceSearch
小C_cao
vue高德地图API
添加页面控件搜索初始化插件编辑方法/**初始化搜索工具*/mapSearchInit(){letthat=this;//绑定自动提示AMap.plugin(['AMap.Autocomplete','AMap.PlaceSearch'],function(){varautoOptions={input:"tipInput",//值为界面上input空间idcity:'北京',}varautoCom
- 下拉提示(GoogleSuggest)
xedcoing
技术autocompletefunctionjavascriptstringjqueryclass
样式:.autocomplete{width:200px;border:1pxsolid#999;background:white;position:absolute;overflow:hidden;list-style-type:none;padding-left:0;margin-left:0px;margin-top:0;}JS:(Jquery)var$autocomplete=$("").
- 禁止浏览器默认填充密码 vue
lzr请早点睡觉~
前端javascriptvue.js
禁止浏览器默认填充密码会和我的样式冲突所以禁止第一种:通过给表单元素添加autocomplete="off"属性,可以防止浏览器自动填充表单中的账号和密码。可以在input标签或整个form标签上使用:exportdefault{data(){return{username:'',password:''};}};为密码输入框动态设置name属性有时仅仅使用autocomplete="off"不能完
- 【Vue】el-autocomplete禁用时仍会触发下拉的问题
益达是我
vuevue.jsjavascript
文章目录问题解决问题el-autocomplete禁用时,点击后仍会触发下拉,导致出现bug解决试了一下官方disabled属性、@focus、@click.stop均不起作用,最后无奈只能在查询方法那里做处理functionqueryAsync(queryString,cb){//重点if(!queryString||isDis.value){cb([])return}constdata={}q
- vue element input让浏览器不保存密码
niesiyuan000
vue.jselementuijavascript
从网上看了很多,比如auto-complete="new-password"比如autocomplete="off"这是真的用不了啊,最后用css可以实现1、html2、datareach__vioSecretkey:'',//违纪秘钥reach__seePwd:false,3、methodsseePwd(){this.reach__seePwd=!this.reach__seePwd},4、cs
- autocomplete 完成功能
曾经也是个少年
链接定义和用法autocomplete属性规定输入字段是否应该启用自动完成功能。自动完成允许浏览器预测对字段的输入。当用户在字段开始键入时,浏览器基于之前键入过的值,应该显示出在字段中填写的选项。注释:autocomplete属性适用于,以及下面的类型:text,search,url,telephone,email,password,datepickers,range以及color。提示:在某些浏
- 前端input密码自动填充问题解决方案,React项目
猛踹瘸子那条好腿の
前端
在input上写入autoComplete='new-password'可以禁止浏览器的自动填充密码1定义一个变量const[inputType,setInputType]=useState('text')2进入页面的是否将密码输入框的type设置为text3再jsx函数体内声明onchange函数constonChangePass=(e)=>{setInputType('password')}只
- vue+高德,百度地图
友人!
vue.js百度前端
1,npm安装vue-amapnpminstallvue-amap--save2,main.js引入importVueAMapfrom'vue-amap';Vue.use(VueAMap);VueAMap.initAMapApiLoader({key:'',plugin:['AMap.Autocomplete','AMap.PlaceSearch','AMap.Scale','AMap.OverV
- C#如何实现一个输入框输入,匹配提示数据
狂人开飞机
C#c#
在C#中可以使用AutoCompleteStringCollection类来实现输入框的自动完成功能。首先需要创建一个包含所有候选项的字符串集合(List)或者从文件、数据库等地方获取到这些候选项。然后将该集合传递给TextBox控件的AutoCompleteCustomSource属性。下面是一个示例代码:usingSystem;usingSystem.Collections.Generic;u
- Hadoop(一)
朱辉辉33
hadooplinux
今天在诺基亚第一天开始培训大数据,因为之前没接触过Linux,所以这次一起学了,任务量还是蛮大的。
首先下载安装了Xshell软件,然后公司给了账号密码连接上了河南郑州那边的服务器,接下来开始按照给的资料学习,全英文的,头也不讲解,说锻炼我们的学习能力,然后就开始跌跌撞撞的自学。这里写部分已经运行成功的代码吧.
在hdfs下,运行hadoop fs -mkdir /u
- maven An error occurred while filtering resources
blackproof
maven报错
转:http://stackoverflow.com/questions/18145774/eclipse-an-error-occurred-while-filtering-resources
maven报错:
maven An error occurred while filtering resources
Maven -> Update Proje
- jdk常用故障排查命令
daysinsun
jvm
linux下常见定位命令:
1、jps 输出Java进程
-q 只输出进程ID的名称,省略主类的名称;
-m 输出进程启动时传递给main函数的参数;
&nb
- java 位移运算与乘法运算
周凡杨
java位移运算乘法
对于 JAVA 编程中,适当的采用位移运算,会减少代码的运行时间,提高项目的运行效率。这个可以从一道面试题说起:
问题:
用最有效率的方法算出2 乘以8 等於几?”
答案:2 << 3
由此就引发了我的思考,为什么位移运算会比乘法运算更快呢?其实简单的想想,计算机的内存是用由 0 和 1 组成的二
- java中的枚举(enmu)
g21121
java
从jdk1.5开始,java增加了enum(枚举)这个类型,但是大家在平时运用中还是比较少用到枚举的,而且很多人和我一样对枚举一知半解,下面就跟大家一起学习下enmu枚举。先看一个最简单的枚举类型,一个返回类型的枚举:
public enum ResultType {
/**
* 成功
*/
SUCCESS,
/**
* 失败
*/
FAIL,
- MQ初级学习
510888780
activemq
1.下载ActiveMQ
去官方网站下载:http://activemq.apache.org/
2.运行ActiveMQ
解压缩apache-activemq-5.9.0-bin.zip到C盘,然后双击apache-activemq-5.9.0-\bin\activemq-admin.bat运行ActiveMQ程序。
启动ActiveMQ以后,登陆:http://localhos
- Spring_Transactional_Propagation
布衣凌宇
springtransactional
//事务传播属性
@Transactional(propagation=Propagation.REQUIRED)//如果有事务,那么加入事务,没有的话新创建一个
@Transactional(propagation=Propagation.NOT_SUPPORTED)//这个方法不开启事务
@Transactional(propagation=Propagation.REQUIREDS_N
- 我的spring学习笔记12-idref与ref的区别
aijuans
spring
idref用来将容器内其他bean的id传给<constructor-arg>/<property>元素,同时提供错误验证功能。例如:
<bean id ="theTargetBean" class="..." />
<bean id ="theClientBean" class=&quo
- Jqplot之折线图
antlove
jsjqueryWebtimeseriesjqplot
timeseriesChart.html
<script type="text/javascript" src="jslib/jquery.min.js"></script>
<script type="text/javascript" src="jslib/excanvas.min.js&
- JDBC中事务处理应用
百合不是茶
javaJDBC编程事务控制语句
解释事务的概念; 事务控制是sql语句中的核心之一;事务控制的作用就是保证数据的正常执行与异常之后可以恢复
事务常用命令:
Commit提交
- [转]ConcurrentHashMap Collections.synchronizedMap和Hashtable讨论
bijian1013
java多线程线程安全HashMap
在Java类库中出现的第一个关联的集合类是Hashtable,它是JDK1.0的一部分。 Hashtable提供了一种易于使用的、线程安全的、关联的map功能,这当然也是方便的。然而,线程安全性是凭代价换来的――Hashtable的所有方法都是同步的。此时,无竞争的同步会导致可观的性能代价。Hashtable的后继者HashMap是作为JDK1.2中的集合框架的一部分出现的,它通过提供一个不同步的
- ng-if与ng-show、ng-hide指令的区别和注意事项
bijian1013
JavaScriptAngularJS
angularJS中的ng-show、ng-hide、ng-if指令都可以用来控制dom元素的显示或隐藏。ng-show和ng-hide根据所给表达式的值来显示或隐藏HTML元素。当赋值给ng-show指令的值为false时元素会被隐藏,值为true时元素会显示。ng-hide功能类似,使用方式相反。元素的显示或
- 【持久化框架MyBatis3七】MyBatis3定义typeHandler
bit1129
TypeHandler
什么是typeHandler?
typeHandler用于将某个类型的数据映射到表的某一列上,以完成MyBatis列跟某个属性的映射
内置typeHandler
MyBatis内置了很多typeHandler,这写typeHandler通过org.apache.ibatis.type.TypeHandlerRegistry进行注册,比如对于日期型数据的typeHandler,
- 上传下载文件rz,sz命令
bitcarter
linux命令rz
刚开始使用rz上传和sz下载命令:
因为我们是通过secureCRT终端工具进行使用的所以会有上传下载这样的需求:
我遇到的问题:
sz下载A文件10M左右,没有问题
但是将这个文件A再传到另一天服务器上时就出现传不上去,甚至出现乱码,死掉现象,具体问题
解决方法:
上传命令改为;rz -ybe
下载命令改为:sz -be filename
如果还是有问题:
那就是文
- 通过ngx-lua来统计nginx上的虚拟主机性能数据
ronin47
ngx-lua 统计 解禁ip
介绍
以前我们为nginx做统计,都是通过对日志的分析来完成.比较麻烦,现在基于ngx_lua插件,开发了实时统计站点状态的脚本,解放生产力.项目主页: https://github.com/skyeydemon/ngx-lua-stats 功能
支持分不同虚拟主机统计, 同一个虚拟主机下可以分不同的location统计.
可以统计与query-times request-time
- java-68-把数组排成最小的数。一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的。例如输入数组{32, 321},则输出32132
bylijinnan
java
import java.util.Arrays;
import java.util.Comparator;
public class MinNumFromIntArray {
/**
* Q68输入一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的一个。
* 例如输入数组{32, 321},则输出这两个能排成的最小数字32132。请给出解决问题
- Oracle基本操作
ccii
Oracle SQL总结Oracle SQL语法Oracle基本操作Oracle SQL
一、表操作
1. 常用数据类型
NUMBER(p,s):可变长度的数字。p表示整数加小数的最大位数,s为最大小数位数。支持最大精度为38位
NVARCHAR2(size):变长字符串,最大长度为4000字节(以字符数为单位)
VARCHAR2(size):变长字符串,最大长度为4000字节(以字节数为单位)
CHAR(size):定长字符串,最大长度为2000字节,最小为1字节,默认
- [强人工智能]实现强人工智能的路线图
comsci
人工智能
1:创建一个用于记录拓扑网络连接的矩阵数据表
2:自动构造或者人工复制一个包含10万个连接(1000*1000)的流程图
3:将这个流程图导入到矩阵数据表中
4:在矩阵的每个有意义的节点中嵌入一段简单的
- 给Tomcat,Apache配置gzip压缩(HTTP压缩)功能
cwqcwqmax9
apache
背景:
HTTP 压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求网页后,从服务器端将网页文件压缩,再下载到客户端,由客户端的浏览器负责解压缩并浏览。相对于普通的浏览过程HTML ,CSS,Javascript , Text ,它可以节省40%左右的流量。更为重要的是,它可以对动态生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等输出的网页也能进行压缩,
- SpringMVC and Struts2
dashuaifu
struts2springMVC
SpringMVC VS Struts2
1:
spring3开发效率高于struts
2:
spring3 mvc可以认为已经100%零配置
3:
struts2是类级别的拦截, 一个类对应一个request上下文,
springmvc是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应
所以说从架构本身上 spring3 mvc就容易实现r
- windows常用命令行命令
dcj3sjt126com
windowscmdcommand
在windows系统中,点击开始-运行,可以直接输入命令行,快速打开一些原本需要多次点击图标才能打开的界面,如常用的输入cmd打开dos命令行,输入taskmgr打开任务管理器。此处列出了网上搜集到的一些常用命令。winver 检查windows版本 wmimgmt.msc 打开windows管理体系结构(wmi) wupdmgr windows更新程序 wscrip
- 再看知名应用背后的第三方开源项目
dcj3sjt126com
ios
知名应用程序的设计和技术一直都是开发者需要学习的,同样这些应用所使用的开源框架也是不可忽视的一部分。此前《
iOS第三方开源库的吐槽和备忘》中作者ibireme列举了国内多款知名应用所使用的开源框架,并对其中一些框架进行了分析,同样国外开发者
@iOSCowboy也在博客中给我们列出了国外多款知名应用使用的开源框架。另外txx's blog中详细介绍了
Facebook Paper使用的第三
- Objective-c单例模式的正确写法
jsntghf
单例iosiPhone
一般情况下,可能我们写的单例模式是这样的:
#import <Foundation/Foundation.h>
@interface Downloader : NSObject
+ (instancetype)sharedDownloader;
@end
#import "Downloader.h"
@implementation
- jquery easyui datagrid 加载成功,选中某一行
hae
jqueryeasyuidatagrid数据加载
1.首先你需要设置datagrid的onLoadSuccess
$(
'#dg'
).datagrid({onLoadSuccess :
function
(data){
$(
'#dg'
).datagrid(
'selectRow'
,3);
}});
2.onL
- jQuery用户数字打分评价效果
ini
JavaScripthtmljqueryWebcss
效果体验:http://hovertree.com/texiao/jquery/5.htmHTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jQuery用户数字打分评分代码 - HoverTree</
- mybatis的paramType
kerryg
DAOsql
MyBatis传多个参数:
1、采用#{0},#{1}获得参数:
Dao层函数方法:
public User selectUser(String name,String area);
对应的Mapper.xml
<select id="selectUser" result
- centos 7安装mysql5.5
MrLee23
centos
首先centos7 已经不支持mysql,因为收费了你懂得,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb,以下为卸载mariadb,安装mysql的步骤。
#列出所有被安装的rpm package rpm -qa | grep mariadb
#卸载
rpm -e mariadb-libs-5.
- 利用thrift来实现消息群发
qifeifei
thrift
Thrift项目一般用来做内部项目接偶用的,还有能跨不同语言的功能,非常方便,一般前端系统和后台server线上都是3个节点,然后前端通过获取client来访问后台server,那么如果是多太server,就是有一个负载均衡的方法,然后最后访问其中一个节点。那么换个思路,能不能发送给所有节点的server呢,如果能就
- 实现一个sizeof获取Java对象大小
teasp
javaHotSpot内存对象大小sizeof
由于Java的设计者不想让程序员管理和了解内存的使用,我们想要知道一个对象在内存中的大小变得比较困难了。本文提供了可以获取对象的大小的方法,但是由于各个虚拟机在内存使用上可能存在不同,因此该方法不能在各虚拟机上都适用,而是仅在hotspot 32位虚拟机上,或者其它内存管理方式与hotspot 32位虚拟机相同的虚拟机上 适用。
- SVN错误及处理
xiangqian0505
SVN提交文件时服务器强行关闭
在SVN服务控制台打开资源库“SVN无法读取current” ---摘自网络 写道 SVN无法读取current修复方法 Can't read file : End of file found
文件:repository/db/txn_current、repository/db/current
其中current记录当前最新版本号,txn_current记录版本库中版本