- iOS13系统,URL scheme多次唤起app问题
九木一白
URLscheme是可以唤起相关APP的,如果用scheme连续唤起app,app看似只会一次从后台被唤起,实际从生命周期监听会发现,app实际是被多次调用。如果唤起后需要执行别的方法,这个方法就会被执行多次,造成性能上的浪费。实际在第一次唤起app成功的时候,app已经从后台变的活跃,不管是冷启动还是热启动,可以在applicationDIdBecomeActive里面监听是否已经活跃,而这个方
- XCode里的Run,Test,Profile,Analyze
_compass
点击XCode中左上角三角符号,此符号的作用是:Buildandthenrunthecurrentscheme.Run,Test,Profile,Analyze的区别是:•Runwillbuildandrunthetargetontheselecteddeviceorsimulator.•Testwillbuildyourtargetandrunitsunittests(YourTargetNam
- Python 常用web框架
TigerZ*
python用法相关python
全功能框架Django应该是最流行的PythonWeb框架了,没有之一。而且其包含了创建应用需要的几乎全部功能,给人的感觉是这个框架希望框架本身实现各种功能,而不是依靠其他的库来完成。比如Django集成了安全认证,URLRouting,模板引擎,ORM以及数据库Scheme映射。这使得Django非常强大,有很好的可扩展性,性能也非常好。Django支持PostgreSQL,MySQL,SQLi
- python graph_详解Python Graphql
weixin_39761491
pythongraph
前言很高兴现在接手的项目让我接触到了PythonGraphql,百度上对其介绍相对较少也不够全面,几乎没有完整的中文文档,所以这边也借此机会学习一下Graphql。什么是Graphql呢?Graphql是一个API查询语言,其数据由服务器上的一个Scheme提供,其查询返回的数据依赖请求的时候用户需要的精确数据。列如用户只需要一个name字段,服务器也只返回name的值。参考HelloWord入门
- iOS Native与JS通信:JSBridge
ilycyq
iosjavascript开发语言cocoaobjective-cxcode前端
文章目录一、简介二、JS调用Native1.使用URLSchemea.UIWebViewb.WKWebView2.使用JavaScriptCore(iOS7+)3.使用WKWebView和WKScriptMessageHandler(iOS8+)三、Native调用JS1.使用UIWebView2.使用WKWebView3.使用JavaScriptCore(iOS7+)一、简介对于移动应用程序的开
- iOS编程解析URL
单线程Jack
#importNS_ASSUME_NONNULL_BEGIN/***URL解析类*/@interfaceURLHelper:NSObject/***scheme*/@property(strong,nonatomic,readonly)NSString*scheme;/***host*/@property(strong,nonatomic,readonly)NSString*host;/***pa
- .vimrc
onbug
settabstop=4setsofttabstop=4setshiftwidth=4setautoindentsetcindentsetcinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1ssetexpandtabsetnucolorschemedesertsyntaxon
- 打开电脑电源高性能
Net蚂蚁代码
常用电脑小知识scipy代码规范
1、打开PowerShell(管理员模式):Win+X,选择2、输入以下命令:powercfg-duplicateschemee9a42b02-d5df-448d-aa00-03f14749eb61就会开启卓越性能3、高性能:powercfg-duplicatescheme8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c4、平衡:powercfg-duplicatesche
- spring cloud gateway k8s优雅启停
luffy_1993
kubernetes容器云原生
通过配置readiness探针和preStophook,实现优雅启动和停止(滚动部署)1.k8s工作负载配置readinessProbe:httpGet:path:/datetimeport:8080scheme:HTTPinitialDelaySeconds:30timeoutSeconds:1periodSeconds:30successThreshold:1failureThreshold:
- App拉起微信小程序参考文章
骐骥1
微信小程序小程序
App拉起微信小程序参考文章h5页面跳转小程序-----明文URLScheme_weixin://dl/business/?appid=*appid*&path=*path*&qu-CSDN博客文章浏览阅读561次,点赞16次,收藏5次。仅需两步,就能实现h5跳转小程序,明文URLScheme,无需调用接口可自行拼接并且生成明文Scheme_weixin://dl/business/?appid=
- 【不求人】手机端内应用或网页根据apk/ipa内的scheme/包名唤起别的应用
hrlr1230
不求人androidiostypescript经验分享jar
记录下,当别人要求唤起某个应用,但没提供太多信息(除了应用名称之外)的情况下,可能会用的上。第一步,查看包名和Scheme,需要下载对应App的apk,ipa。Android:解压apk,找出AndroidManifest.xml文件。使用AXMLPrinter2.jar对xml文件进行反编译。(环境要求:能运行java命令,在网上下载AXMLPrinter2.jar)编译命令:java-jarA
- 从微信直接跳转到APP下载如何用MaxJump,VJump和JumpTool来实现
gbhhaii
最近公司有个需求,需要从微信直接跳转到我们的APP下载,其他APP跳转到我们APP一般的urlSchemes就可以跳转成功,但是因为微信对着方面做了处理,我们无法直接跳转到我们的APP下载。在这种情况下,我们对微信直接打开我们的APP下载做了一个技术调研,发现了可以加入浏览器外跳接口来实现,于是我对外跳接口做了一下了解,发现MaxJump,VJump和JumpTool这三款工具在给域名加JS防封接
- C语言 一维数组比二维运算快吗,二维数组与一维数组的性能
weixin_39548968
C语言一维数组比二维运算快吗
在C中,二维数组只是一维数组的简洁索引scheme。就像使用一维数组一样,2D数组分配一个连续内存块,A[row][col]符号类似于A[row*NCOLS+col]。通常,如果要使用单维数组来实现自己的multidimensionalarray,您可以编写一个索引函数:intgetIndex(introw,intcol){returnrow*NCOLS+col;}假设你的编译器内嵌了这个函数,这
- 码块大小计算之 NR vs LTE
木子白成长之路
最近在整理实习平台的仿真结果,又重新看了一下NR中TBS大小的确定问题,简单记录一下吧。对于NR-MCS索引值及参数确定,可以按如下步骤进行:第一步UE根据接收到的DCIformat来读取以下信息:1.1)、Modulationandcodingscheme:5bit,得到,一般MCS的索引值在0~31之间对于索引值在0~27或0~28之间的有确定的调制阶数和目标码率,称其为显示MCS;对于索引值
- 微信小程序展示二维码实现站外引流到微信,可以长按识别加微信!
摘要微信小程序有一个非常好的功能,就是支持urlscheme跳转,你可以在微信外部跳转到微信内部直接打开小程序指定的页面。现在很多站外引流到微信都是通过这个方法,通过urlscheme跳转到微信小程序显示微信二维码加微信实现的引流。所以本次文章,就是编写一个微信小程序展示二维码的页面,通过简单的路径配置,可以快速生成页面。代码showQrcode.wxml{{desc}}{{errorInfo}}
- MUI H5+ APP 分享H5连接 通过scheme唤醒APP
码码虎呼
添加scheme在manifest.json文件中添加IOS及安卓的scheme节点//IOS"apple":{"appid":"testguangdian.dome",/*iOS必选,苹果开发网站申请的appid,如io.dcloud.HelloMUI*/"mobileprovision":"",/*iOS必选,打包配置文件*/"password":"goncenleo01",/*iOS必选,导
- 翻译:An Incremental Approach to Compiler Construction 逐步构建编译器的方法
御风@户外
c学习
原文http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf目标语言scheme文档:https://www.scheme.com/tspl4/scheme语法简单说明,前置式实际是LISP的两大分支之一(CommonLisp、scheme),可参考LISP语法。对照翻译AnIncrementalApproachtoCompilerConstruction逐
- uniapp H5唤起手机App 中间下载页
Naive_Jam
uniappvue.js前端javascriptuni-app
我这里直接是打开中间下载页,在下载页判断手机是否已存在App,有则唤起App,没有则可点击下载按钮下载app。唤起App的关键语句是:window.location.href=schemeScheme链接格式样式:[scheme]://[host]/[path]?[query]直接放全部代码:xxxApp点击下载点击下载请点击右上角按钮选择“在浏览器打开”来下载importconfigfrom"@
- Chapter 8 - 16. Congestion Management in TCP Storage Networks
mounter625
Linuxkernel网络服务器运维linuxkernel
ActiveQueueManagementAspreviouslymentioned,droppingormarkingschemesforpacketsthatarewaitinginaqueuecansignificantlyinfluenceTCP’sbehaviorontheenddevices.TheseschemesarecalledActiveQueueManagement(AQM)
- iOS通过URL Scheme打开APP
zxb有缘
1、如何设置给app设置URLScheme*添加URLtypes字段数组image.png设置URLidentifier字段添加URLScheme在item写入自己的特定的启动字符串//判断本地是否有该软件if([[UIApplicationsharedApplication]canOpenURL:[NSURLURLWithString:@"MyTestApp://"]]){[[UIApplica
- App打开京东、淘宝、天猫
Sulas
✌️工具类又多了一个方法。下面。嗯~过程中遇到的问题也已解决。Plist文件中添加LSApplicationQueriesSchemesopenapp.jdMobile京东tmall天猫taobao淘宝#pragmamark-打开淘宝、天猫、京东+(void)showItemInTmall4iOS:(NSString*)string{NSURL*url;if([stringrangeOfStrin
- 剖析以太坊上的庞氏骗局:识别、分析和影响
卷神
区块链安全防护论文翻译:Bartoletti,Massimo,etal."DissectingPonzischemesonEthereum:identification,analysis,andimpact."FutureGenerationComputerSystems102(2020):259-277.摘要:庞氏骗局是一种以高额利润为诱饵的金融欺诈。实际上,只有新用户加入了庞氏骗局,用户才能得
- Jenkins-jenkins中cocoapods脚本和fastlane脚本
小驴拉磨
image.png1、cocoapods更新三方库脚本echo'///开始更新pod三方库'#根据打印路径决定是否需要cdcdiqhiPadpwd#podsetuppodinstallecho'///更新pod三方库完成'2、fastlane打包的脚本#!/bin/sh#工程名project_name="xxxxx"#scheme名/target名scheme_name="xxxxxx"#打包模式
- 测试python模块每个模块耗时
静心问道
pythonpython
1.安装包pipinstallsnakeviz2.运行测试#模块测试运行命令PYTHONPATH=$PWDpython-mcProfile-oprofile.stats_v2new_core/schemes/cost_bom/bom_server.py#可视化运行的结果python-msnakevizprofile.stats_v2--server-H0.0.0.0-p80813.参数解释cPro
- 第三节 zookeeper基础应用与实战2
做个专注的工程师
#zookeeperzookeeper分布式云原生
目录1.Watch事件监听1.1一次性监听方式:Watcher1.2Curator事件监听机制2.事务&异步操作演示2.1事务演示2.2异步操作3.Zookeeper权限控制3.1zk权限控制介绍3.2Scheme权限模式3.3ID授权对象3.4Permission权限类型3.5在控制台实现操作3.6Curator演示ACL的使用4.Zookeeper集群搭建4.1搭建要求4.2Zookeeper
- webstorm typeScript代码取消高亮状态
Pino
先看图QQ截图20211129144239.png很明显代码某些变量一直被背景色覆盖,很烦影响观看怎么去掉呢直接上图点击File-->Settings-->Editor(-->Colorscheme-->TypeScript-->variabletypenarrowedbyatypeguard)QQ截图20211129144438.png
- OpenHarmony—编辑器使用技巧
DevEcoStudio支持使用多种语言进行应用/服务的开发,包括ArkTS、JS和C/C++。在编写应用/服务阶段,可以通过掌握代码编写的各种常用技巧,来提升编码效率。代码高亮支持对代码关键字、运算符、字符串、类、标识符、注释等进行高亮显示,您可以打开File>Settings(macOS为DevEcoStudio>Preferences)面板,在Editor>ColorScheme自定义各字段
- Android app对接支付宝电子发票功能
Dirtykk
上一篇介绍了对接微信电子发票的功能里面大致介绍了业务逻辑环境配置和一部分核心代码https://www.jianshu.com/p/51810ed2f0fc今天来实现对接支付宝的电子发票功能业务场景差不多第三方app唤醒支付宝的电子发票列表选择发票导入第三方app现在让我们跟着官方文档来进行开发吧1请求链接支付宝的电子发票功能是通过外部scheme链接来调用的请求链接可以通过webview的方式加
- iOS自动构建工具 -- xcodebuild
Mrfang1
工作项目中的iOS工程都是使用Shell脚本搭配xcodebuild自动构建而成,搭配Jenkins持续集成(CI)工具,可以很方便的实现项目的构建、部署、自动化。简介xcodebuild是苹果发布自动构建的工具。它在一个Xcode项目下能构建一个或者多个targets,也能在一个workspace或者Xcode项目上构建scheme。scheme和target的区别:target包含了所有的源文
- 笔记本电源选项没有高性能
夜明智灵
cmd命令行输入·powercfg/SSCHEME_MIN回车确定即可打开image.png
- 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记录版本库中版本