疯狂的搬运工
IP:
41关注数
1粉丝数
45获得的赞
工作年
编辑资料
链接我:

创作·103

全部
问答
动态
项目
学习
专栏
疯狂的搬运工

webstorm中无法识别和提示vue响应式对象的属性,如何解决?

"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250111/9f5165f187225e3ba804ce7bcdc12604.png) 如图所示:form是一个响应式对象,要调用resetFields方法,就需要使用form.value.resetFields这种方法,但是webstorm却无法自动提示函数和语法检查,请问这种情况应该如何处理呢? 已经解决 低级错误,是没有安装库导致的....
14
1
0
浏览量370
疯狂的搬运工

nest Typeorm 如何在某个service的onModuleInit进行数据库操作?

有这么一个service,需要在"onModuleInit"方法里对数据库的表进行操作,但是 "onModuleInit" 一直无法触发,就算在"main.ts"里手动触发 "onModuleInit" 方法也没法拿到 "detailRepository" 实例,请问要如何解决,或者有什么方式可以实现这个场景吗? "test.service.ts" 代码如下 export class TestService implements OnModuleInit { constructor( @InjectRepository(detail) private detailRepository: Repository, ) {} onModuleInit() { console.log( 'onModuleInit: this.detailRepository', this.detailRepository, ); } } "test.module.ts" 代码如下 @Module({ imports: [TypeOrmModule.forFeature([Detail])], controllers: [TestController], providers: [TestService, Response], }) export class TestModule {} "app.module.ts" 代码如下 @Module({ imports: [ TypeOrmModule.forRoot({ type: 'mysql', ...config, entities: [Detail], }), TestModule, ], controllers: [AppController], providers: [ AppService, ], })
11
1
0
浏览量249
疯狂的搬运工

IDEA怎样调试已打包tomcat项目?

远程监听有两点需要注意 * 一个是你的本地代码和远程的代码一样 * 另一个是在启动命令要增加额外的启动参数"-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005",IDEA一般默认5005,像这个截图: "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250102/1a20af7ff99213dd5e0585aef5276a62.png) 然后远程服务启动,进行一个网络请求 * 另外,8080一般是用于接收网络请求与响应的端口,不是远程调试的端口
0
0
0
浏览量0
疯狂的搬运工

环形图label如何自适应环的大小?

VChart 如何配置环形图中心 label 的自适应大小?如下图所示,我想让文字保持在环形内: "图片" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250101/9c15573d18425a3b0e517bdfdcfa6149.png)
12
1
0
浏览量225
疯狂的搬运工

生产环境打包报错 Cannot find module 'webpack'如何解决?

本地是node 14.16,npm 6.14,在本地打包一直没问题 测试环境node 9.3,npm 5.5也成功过部署了 但是生产环境的打包报错"Cannot find module 'webpack'" 试用了全局安装"npm instal1 -g webpack"依旧不行。 运维说生产环境的npm降版本可能会影响到其他项目,不能动 想请教一下这个问题该怎么解决 下面是报错的信息 "企业微信截图_16944805133639.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241231/8c423a5c3d955e3835827d3e5970c0c5.png)
8
1
0
浏览量279
疯狂的搬运工

求助一个PHP加密解密 不区分大小写 的函数?

function custom_encrypt($string) { $string = mb_convert_encoding($string, 'UTF-8', 'auto'); $base64 = base64_encode($string); $url_safe = str_replace(['+', '/', '='], ['-', '_', ''], $base64); return strtolower($url_safe); } function custom_decrypt($string) { $base64 = str_replace(['-', '_'], ['+', '/'], $string); $padding = strlen($base64) % 4; if ($padding > 0) { $base64 .= str_repeat('=', 4 - $padding); } $result = base64_decode($base64); return mb_convert_encoding($result, 'UTF-8', 'auto'); } $s = '2_中文'; $encrypted = custom_encrypt($s); echo "加密后的字符串: $encrypted\n"; $decrypted = custom_decrypt($encrypted); echo "解密后的字符串: $decrypted\n";
0
0
0
浏览量0
疯狂的搬运工

bootstrap,怎么在导航栏右边加个按钮?

Home Search "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241228/8261ca24d7ab3f30ff07e6f88e2fcf32.png) 官方也有示例的: «"https://www.getbootstrap.cn/docs/5.3/components/navbar/" (https://link.segmentfault.com/?enc=C709WFEU5lOJW4lYRqOWIg%3D%3D.UYoSnnb%2FhGoZ%2BIwk18YLcp6d7MQ35LzzD6jtK1xjQkA2DSjArM2SJ7MGaP7GJmS9uoYf%2FKgGLZTy6IO4XNzDMA%3D%3D) ![image.png](https://wmprod.oss-cn-> shanghai.aliyuncs.com/images/20241228/b9ca7e67651e39cdc034db1478d48bcd.png)»
0
0
0
浏览量0
疯狂的搬运工

这个宏展开为什么会work?

不是先替换参数,再展开外层宏。(虽然这样叙述容易理解,而且大部分情况下也没错) 是再替换外层宏的同时,用于替换宏参数的内容是参数宏展开的结果。 所以: #define MUX_WITH_COMMA(contain_comma, a, b) CHOOSE2nd(contain_comma a, b) 对以下调用: MUX_WITH_COMMA(concat(__P_DEF_, 1), a, b) ~~~~~~~~~~~~~~~~~~~ 展开为 __P_DEF_1 继续展开为 X, 所以展开结果("CHOOSE2nd(conatin_comma a,b)")中的 contain_comma 被替换为 "X,"。最终结果为: CHOOSE2nd(conatin_comma a, b) ~~~~~~~~~~~~~ CHOOSE2nd(X, a, b) ~~~~~~~~~~~~~
0
0
0
浏览量0
疯狂的搬运工

Vuer们 ,关于Vue中computed定义的计算属性 返回 一个函数的疑惑?

code computedPropA:{{ computedPropA("oup") }} 点击 //响应式属性 const beforeData = ref("") //计算属性 const computedPropA = computed(() => { console.log("执行计算函数,重新计算 计算属性:computedPropA") //直接返回一个函数对象 return (data) => { return data + beforeData.value } }) function handleClick() { //随机生成字符串 let randomString = $utils.randomString(5); beforeData.value = randomString; } //监听计算属性 watch(computedPropA,(newVal, oldVal) => { console.log("computedPropA watch ", newVal, oldVal) }) 问题 在这个场景中, 计算属性返回了一个函数对象,在dom模板中 使用这个计算属性需要以函数的形式使用。 对于上面的场景有几个问题: 1. 计算属性返回了函数对象,函数对象内部使用到了响应式数据,那么响应式数据更新的时候,该计算属性computed函数的参数getter函数是否会被重新执行? 2. 响应式数据更新时 ,是否会引起dom中 重新执行 computedPropA("oup") 这个函数,重新计算。 3. 响应式数据更新时 ,watch 计算属性是否 会执行。 实际测试结果: 1.计算属性只会被定义一次,computed函数的参数getter函数 不会随着beforeData的变化而重新执行。 这一点理解起来还凑合。简单理解computed的参数函数中没有使用到响应式属性,所以beforeData的变化不会引起 计算属性被重新计算。 但是深究起来 这个计算属性到底有没有依赖到响应式属性? 2.dom 会重新计算,这个不理解。 3.watch不会执行。原因见1. 各位vuer来帮忙解答一下,拜托了. 补充一个关联问题 在上面的问题中是 返回了一个函数,如果 computed 返回一个 普通的对象 const computedPropB = computed(() => { return { data: "abc", } }) 然后 通过 按钮点击的时候 给这个 computedPropB 随机增添属性名和属性值。 function handleClick() { //随机生成字符串 let randomString = $utils.randomString(5); // beforeData.value = randomString; let propName = $utils.randomString(5); let propvalue = $utils.randomString(3); //随机新增属性 computedPropB.value[propName] = propvalue } dom模板中 computedPropB:{{ computedPropB }} 是否会实时更新? 补充问题 新开了 一个问题: "https://segmentfault.com/q/1010000044258428" (https://segmentfault.com/q/1010000044258428)
10
1
0
浏览量233
疯狂的搬运工

React 我想要一个弹窗 没有遮罩 弹出来也可以点击页面的,antd不太行 有没有推荐的UI库?

看看这两个 "react-modal" (https://link.segmentfault.com/?enc=S3yOhKhYHMjXPj4%2FRX6IQQ%3D%3D.%2Fj6eZfygQ4RqxI2h2PMaVFP55%2BfsqdPwl%2FuC9InNL0HoNL3ttULOiCKYXGvfVvQg) 或" @material-ui/core" (https://link.segmentfault.com/?enc=DjIL1EjNJfIsgkT3knAAqw%3D%3D.FLQbAmZRHa7nSmbT6pQNS1l0Mw8iY5jTQvAiiRfA%2Bj4s2cdNMCpneMaZkXCHIL2x)
0
0
0
浏览量0
疯狂的搬运工

为什么uniapp的tabBar图标不显示?

"图片.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241219/d6514180052b929099cd5da3dbd85f6d.png) "图片.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241219/0b38adf838c1e7ad7dd42561d3a67df0.png) "图片.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241219/d056bc4c69c7c0807fb5757b51acad1c.png) "图片.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241219/73426e3854c7023300cf1c603cd04b4a.png) 路径没错啊,就是在static目录下的 图片啊
10
1
0
浏览量264
疯狂的搬运工

设计了一个表格,内容由其他组件传来的值渲染,如何在组件没有传值时,能呈现一个没有内容的表格,而不是dom都没有加载出来,?

按照参数的格式创建只有空格字符串的假数据作为默认数据,并且给表格单元设置合理的"min-width"。 defaultDataList = [" "," "," "," "," "," "," "," "," "];
0
0
0
浏览量0
疯狂的搬运工

如何css样式设置,才能解决展开收起侧边栏时,页面内容不会超前伸?

".menu"设置了"fixed",这样会脱离文档流,也就是".content"排版的时候不会考虑".menu"占用的空间。 * 可以考虑使用 AI 的建议:给".content"设置"padding-left"来留出".menu"的空间; * 也可以在".layout"上使用弹性布局,让".menu"和".content"各自占据所需空间。
0
0
0
浏览量0
疯狂的搬运工

iphone7上测试vue的移动端项目,无法全屏显示。怎样不被safari的地址栏和工具栏遮挡?

在safari浏览器上,明明打开的其他的手机网站都能实现在页面滑动时会隐藏地址栏和工具栏。可为什么显示我的本地项目时就会被这两个玩意给遮挡呢,别的网站是怎么实现的呢。 百度了很久也没解决,各种什么viewport-fit=cover 和 env函数的解决办法,没有一个解决办法是有效果的。 别人也有过类似的提问,下面的回复的方法也是无效的,我真是疯了。不知道这个看似简单的东西为什么这么难搞。希望有了解这个的前辈能帮忙指点一下。 手机是: iphone7 ios版本是:15.7.9
0
1
0
浏览量20
疯狂的搬运工

xlsx.js导出复杂表格(多表头,嵌套数据)?

"https://pengchen96.github.io/table-xlsx/docs/tutorial-api/exp..." (https://link.segmentfault.com/?enc=SSKHauGOsQBjEZwo2lhn2Q%3D%3D.L19IuTUdpWPX1PGRnS32xz6vTYKZE49MPjFWXJWDLN4ij1qFM737MuwSwajvlRCRxPjdtGcSDzMae2XAmUk24Jmu3AWJoM7amuQltYdCU7Q%3D)
0
0
0
浏览量0
疯狂的搬运工

统信UOS上 docker无法启动?

我是按以下方式操作的: 1、查看操作系统版本 hostnamectl,查看到信息: Operating System: UnionTech OS Desktop 20 Pro Kernel: Linux 4.19.71-arm64-desktop Architecture: arm64 2、查看UOS底层debian版本: cat /etc/debian_version "看到 基于debian 10.5" debian 10.x版本 ,代号为:buster (相关开源软件下载时,如果有对应系统和版本,可以选 debian buster 最为接近) 3、编辑 /etc/apt/source.list,添加docker的apt源 添加下面一行: deb [arch=arm64] https://download.docker.com/linux/debian buster stable 4、添加docker官方证书 (解决此问题:apt update 会失败----由于没有公钥,无法验证docker相关的签名) curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - 5、更新apt源,然后安装docker apt update apt install docker-ce docker-ce-cli containerd.io 6、检查下 docker版本: docker version命令提示错误:“Cannot connect to the Docker daemon” 7、执行systemctl restart docker报错: Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details. 执行“systemctl status docker.service”,似乎没有什么有价值的错误。 ● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: failed (Result: exit-code) since Sat 2023-10-28 15:12:26 CST; 42s ago Docs: https://docs.docker.com Process: 14988 ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE) Main PID: 14988 (code=exited, status=1/FAILURE) 10月 28 15:12:26 uos-ZJ0063 systemd[1]: docker.service: Service RestartSec=2s expired, scheduling restart. 10月 28 15:12:26 uos-ZJ0063 systemd[1]: docker.service: Scheduled restart job, restart counter is at 3. 10月 28 15:12:26 uos-ZJ0063 systemd[1]: Stopped Docker Application Container Engine. 10月 28 15:12:26 uos-ZJ0063 systemd[1]: docker.service: Start request repeated too quickly. 10月 28 15:12:26 uos-ZJ0063 systemd[1]: docker.service: Failed with result 'exit-code'. 10月 28 15:12:26 uos-ZJ0063 systemd[1]: Failed to start Docker Application Container Engine. 继续执行:“journalctl -xe” 发现有错误: 10月 28 14:53:06 uos-ZJ0063 dockerd[10548]: time="2023-10-28T14:53:06.784647548+08:00" level=warning msg="Running modprobe bridge br_netfilter failed with message: modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.19.71-arm64-desktop/modules.dep.bin'\nmodprobe: WARNING: Module bridge not found in directory /lib/modules/4.19.71-arm64-desktop\nmodprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not open moddep file '/lib/modules/4.19.71-arm64-desktop/modules.dep.bin'\nmodprobe: WARNING: Module br_netfilter not found in directory /lib/modules/4.19.71-arm64-desktop\n, error: exit status 1" 10月 28 14:53:06 uos-ZJ0063 dockerd[10548]: time="2023-10-28T14:53:06.826205844+08:00" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemon option --bip can be used to set a preferred IP address" 10月 28 14:53:06 uos-ZJ0063 dockerd[10548]: time="2023-10-28T14:53:06.842479493+08:00" level=info msg="stopping event stream following graceful shutdown" error="" module=libcontainerd namespace=moby 10月 28 14:53:06 uos-ZJ0063 dockerd[10548]: time="2023-10-28T14:53:06.842976863+08:00" level=info msg="stopping event stream following graceful shutdown" error="context canceled" module=libcontainerd namespace=plugins.moby 10月 28 14:53:06 uos-ZJ0063 dockerd[10548]: failed to start daemon: Error initializing network controller: error creating default "bridge" network: Failed to program NAT chain: Failed to inject DOCKER in PREROUTING chain: iptables failed: iptables --wait -t nat -A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER: iptables v1.8.2 (legacy): Couldn't load match `addrtype':No such file or directory 10月 28 14:53:06 uos-ZJ0063 dockerd[10548]: Try `iptables -h' or 'iptables --help' for more information. 网上查了一下,说是安装 “apt install bridge-utils” 但执行完,重启docker,还是一样的错误。 有热心的思友知道是什么问题吗?多谢解答!
0
1
0
浏览量11
疯狂的搬运工

css在移动端如何还原设计稿中的小标签效果?

flex布局 .tag{ display: flex; justify-content: center;/* 水平居中 */ align-items: center;/* 垂直居中 */ line-height: normal;/* 在某些安卓下,垂直居中 */ border: 1px solid red; } 绝对布局 .tag { position: relative; border: 1px solid red; } .text { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); }
0
0
0
浏览量0
疯狂的搬运工

vue-cli脚手架不支持pnpm安装?

问题解决了,也感谢回答问题的朋友门热心回复,我也是稀里糊涂的感觉啥也没做就好了,不排除我是重启了下终端就好了,我是在网上查的给我类似的问题说是卸载和重启终端试试,另外我发现也可以使用pnpm create my-app-vue这个命令创建项目,但是默认使用的就是vite构建工具,项目应该默认也是使用的vue3.x版本,如果使用vue create my-vue-app命令创建项目,就会出现选项让用户选择是否使用vue2.x或vue3.x版本,这个差别蛮有意思的,貌似文档没用说起这个事情
0
0
0
浏览量0
疯狂的搬运工

因为 vue 的 reactive 对象会自动对 ref 对象进行解包,所以导致了 ts 报错,有什么解决方法吗?

* 当 ref 对象作为 reactive 对象的属性,在定义 reactive 对象获取其类型时或读取 reactive 对象的 ref 属性时都会对 ref 对象进行自动的解包,因此就出现了以下的 ts 报错 * 实际上下面的两个报错都是符合 vue 的特性的,并没有问题 * 有没有什么办法可以让这两种情况可以正确的识别类型,或者说可以让这两种情况不报错(之前一种用 as any 和 as unknown as xxx 来解决,感觉是在是太丑陋了)import type { Ref } from 'vue' import {ref, reactive} from 'vue'interface IObj { count: Ref | null; arr: { // 如果是这种自定义属性的对象类型则不会在 reactive 返回值的类型中进行解包 [key:string]: Ref } | null; o?: { oo: Ref } }const obj = reactive({ count: null, arr: null }) /* reactive 返回值的类型 const obj: { count: number | null; arr: { [key: string]: Ref; } | null; o?: { oo: number; } | undefined; } */// 这里ts报错: 不能将类型“Ref”分配给类型“number” obj.count = ref(1) obj.arr = { aa: ref(0), bb: ref(1) }// 这里ts报错: 不能将类型“Ref”分配给类型“number” let num:number = obj.arr.aa console.log(num); // 0
0
1
0
浏览量19
疯狂的搬运工

AMH如何更改授权IP?

AMH如何更改授权IP?是用的免费授权,免费用户,IDC变更了机器IP,导致接受不到应用新版本通知,amh7.1的升级通知也接收不到。。。尝试退出授权重新登陆授权账号也无法更新到新IP。 尝试退出授权重新登陆授权账号也无法更新到新IP。
amh
0
1
0
浏览量11
疯狂的搬运工

类似卡券的布局请问怎么实现?

用 mask 就可以了 .card{ -webkit-mask: radial-gradient(circle at 20px, #0000 20px, red 0) -20px; } "image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241105/f5399e0bd784ea615c55e4b640f70398.png) 可以参考这篇文章:"https://segmentfault.com/a/1190000039742398" (https://segmentfault.com/a/1190000039742398) 还可以用这个工具 "https://coupon.codelabo.cn/" (https://link.segmentfault.com/?enc=TDz5yyDTln5j0DN3%2FYe3Wg%3D%3D.gDTOqZV%2F%2FF4gv691l1o%2BmX1FX6neSQEUa7ZX6VulWKw%3D) "image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241105/d14afaa82d75a7725a67952a433df8b8.png)
0
0
0
浏览量0
疯狂的搬运工

1. 如何在TypeScript中根据对象的结构动态决定属性的必填性?

type A = { b: { c?: string; }; a: { c: string; }; }; interface AddDisplayItem { data: A[T]; } 我希望"data"是否必传由"A[T]"是否有必传属性决定。如何做呢?
0
1
0
浏览量11
疯狂的搬运工

如何在Hyperf中避免进程残留?

hyperf 本地开发使用 php bin/hyperf.php server:watch 命令启动。 CTRL + C 停止后有残留进程。 如果再次执行启动命令就会显示端口被占用。 查不到合适的办法。
0
1
0
浏览量18
疯狂的搬运工

为何vuex未被打包进Vue.js的输出文件?

打包没有是什么意思?和 dependencies 没关系。 想要产物中没有 vuex 需要修改 externals。
0
0
0
浏览量0
疯狂的搬运工

后端返回富文本180,如何避免
让后台原来转义的"" 换成"<" ">", 就可以了: let htmlStr = `180<X<=360`; const parser = new DOMParser(); const html = parser.parseFromString(htmlStr, "text/html"); console.log(html); "image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241023/06075773108d87db10d36e64734d5fdb.png)
0
0
0
浏览量0
疯狂的搬运工

element 级联选择器数据源过滤?

element 级联选择器,选项是全国行政区划。此时后端返回的是一个二维数组,比如[['浙江省','杭州市','余杭区'],['江苏省','南京市]], 修改级联选择器选项的树型结构的值为 [ { "code": "32", "name": "江苏省", "children": [ { "code": "3201", "name": "南京市", "children": [ { "code": "320102", "name": "玄武区" }, { "code": "320104", "name": "秦淮区" }, { "code": "320105", "name": "建邺区" }, { "code": "320106", "name": "鼓楼区" }, { "code": "320111", "name": "浦口区" }, { "code": "320113", "name": "栖霞区" }, { "code": "320114", "name": "雨花台区" }, { "code": "320115", "name": "江宁区" }, { "code": "320116", "name": "六合区" }, { "code": "320117", "name": "溧水区" }, { "code": "320118", "name": "高淳区" } ] } ] }, { "code": "33", "name": "浙江省", "children": [ { "code": "3301", "name": "杭州市", "children": [ { "code": "330110", "name": "余杭区" } ] } ] } ] 请问这个算法该如何编写?
0
1
0
浏览量11
疯狂的搬运工

k8s集群内的Pod一般是只有一个IP地址端口是吗?

一个 pod 可以有一个独立的 ip ,在这个 ip 上的所有端口它都是可以用的,可以使用多个。
0
0
0
浏览量0
疯狂的搬运工

如何在Vue2的render方法中限制样式作用域?

Vue2的render来编写组件,如下: // 引入css文件 import "./style.css"; export default { name: "customPage", data() { return {}; }, methods: {}, render: function (h) { return Hello render; }, }; 现在的问题是它的样式无法设置为局部样式,导致全局样式被污染了,请问该如何解决? 目前没有找到解决办法。
0
1
0
浏览量14
疯狂的搬运工

Vue3 ag-grid 中文语言配置步骤?

请问 ag-grid 在vue3 项目中如何配置中文语言 官网看的不是很明白
0
1
0
浏览量23
疯狂的搬运工

node做中间件是什么?

之前有类似的贴子回答过,可以参考一下 "https://segmentfault.com/q/1010000044320192" (https://segmentfault.com/q/1010000044320192) «你可以把"中间件"理解为一种扩展方式,通用库/框架/运行时在设计时,为了增加一些"关键流程"的可扩展性,都会采用比如像"切面编程"等思想来实现我们常说的"中间件,插件"等机制就用你问题场景中的 "http" 请求与响应举例,通常业务开发都不会直接使用node提供的 "http" 模块,因为要处理的细节还是比较多,通常会选用一个对 http 封装简化后的上层库而"上层库"肯定只负责提供一些更简洁的方式来给开发者使用,不会涉及任何"业务逻辑"或者"特殊处理",那么使用者想在一些"关键阶段"做一些业务上的处理该怎么办呢,这里就回到主题了,"中间件"的作用就是解决这种场景下的问题由此也可以知道,"中间件"肯定是一段具体的代码,并且是按照对应的库的要求,编写的具有一定格式的代码。补充一点,很多库为了"减轻"核心模块的"代码体积",也会把部分通用功能以"中间件"的方式实现,由使用者来选择使用»
0
0
0
浏览量0
疯狂的搬运工

Python 数据库插件 Sqlalchemy 为什么不能关闭连接?

为什么这段代码不会关闭数据库连接呢 "SELECT * FROM information_schema.PROCESSLIST;" from sqlalchemy import create_engine, URL, delete, update, select, exists from sqlalchemy.orm import sessionmaker, scoped_session from core.database.base import Base from lib.type import Type from typing import Any from flask import g, current_app import importlib import re class Database: ENV = None def set(self, key: str, value: any): """ @ 主要场景:令牌守卫设置[读取令牌下的] """ if self.ENV == "Application": g.Application = self.container._replace(**{key: value}) if self.ENV == 'Platform': g.Platform = self.container._replace(**{key: value}) @property def container(self): if self.ENV == "Application": if "Application" not in g: g.Application = Type.Application(None, None, None) return g.Application if self.ENV == 'Platform': if "Platform" not in g: g.Platform = Type.Platform(None, None) return g.Platform @property def database_conf(self): """ @ [平台-数据库]:配置 """ return Base.setting(current_app.config["Database"]) @property def __database_core(self): return self.__create_session(**self.database_conf) @property def __create_engine(self): """ @ 数据库引擎[缓存]:生成器 """ core = self.__database_core self.set("engine", core.engine) return core.engine @property def __create_database(self): """ @ 数据库[缓存]:生成器 """ core = self.__database_core self.set("database", core.session) return core.session def __create_session(self, **config): """ @ 创建容器:节约开销 """ engine = self.create_engine(**config) session = scoped_session(sessionmaker(bind=engine, autoflush=True)) return Type.Database(engine=engine, session=session()) @classmethod def create_engine(cls, **kwargs): """ @ 创建连接:引擎 """ return create_engine(URL.create("mysql+pymysql", **kwargs), echo=True, isolation_level="AUTOCOMMIT") @staticmethod def create_all(models: list, engine=None): """ @ 创建模型:批量 """ tables = [Database.get_model(model).__table__ for model in models] Base.metadata.create_all(bind=engine, tables=tables) def create_table(self, tables: list): Database.create_all(models=tables, engine=self.__create_engine) @staticmethod def get_model(model: str): """ @ 获取模型:对象实例 """ module = importlib.import_module(f"model.{model.split('_')[0]}.{model}") class_name = ''.join(re.findall(r"[a-zA-Z]+", model.split(".")[-1].title())) return getattr(module, class_name)() @property def database(self): """ @ 数据库[缓存] """ return self.__create_database if getattr(self.container, "database") is None else self.container.database def table_data_query_all(self, model: Any, condition: list = None, order: list = None, limit: int = 500, fields: list = None) -> list[dict]: """ @ 查询:多条 """ query = select(model) if fields is not None: query = query.with_only_columns(*fields) if condition is not None: query = query.filter(*condition) if order is not None: query = query.order_by(*order) asdasdas = [row.dict() for row in self.database.execute(query.limit(limit)).scalars()] self.database.get_bind().dispose() return asdasdas def table_data_query_one(self, model: Any, condition: list = None) -> dict: """ @ 查询:单条 """ result = self.database.execute(select(model).filter(*condition).limit(1)).scalar_one_or_none() return None if result is None else result.dict() def table_data_query_exists(self, condition: list) -> bool: """ @ 查询:存在 """ return self.database.query(exists().where(*condition)).scalar() def table_data_insert_all(self, models: list) -> None: """ @ 批量新增 """ with self.database as db: db.add_all(models) db.commit() def table_data_insert_one(self, model, data: bool = False) -> int | dict: """ @ 单个新增:默认返回自增主键:可选返回整条数据 """ with self.database as db: db.add(model) db.commit() return model.dict() if data is True else model.id def table_data_update(self, model: Any, condition: list, data: dict) -> None: """ @ 批量新增 """ with self.database as db: db.execute(update(model).where(*condition).values(**data)) def table_data_delete(self, model: Any, condition: list) -> None: """ @ 批量新增 """ with self.database as db: db.execute(delete(model).where(*condition)) def close(self): """ @ 关闭数据库连接 """ if self.database is not None: self.database.close() "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241013/5d8cbfbfb5b0b81d409ff9688ae9cdeb.png)
0
1
0
浏览量222
疯狂的搬运工

如何设置第一个类为xxx的元素的样式?

如何设置第一个类为xxx的样式? 问题: 比如我要设置第一个拥有red的元素的样式,css如何选中 Document .red:first-child { color: red; } 我是span 我是h1,只设置我的样式为红色 我是h1 我是h1 我是h1
0
1
0
浏览量197
疯狂的搬运工

git拉取代码报错,如何解决?

git拉取代码报如下错误,什么原因导致得啊 Auto packing the repository in background for optimum performance. See “git help gc” for manual housekeeping. Unlink of file '.git/objects/pack' failed. Should I try again? (y/n) 正确解决办法?
0
1
0
浏览量141
疯狂的搬运工

浏览器中执行的scratch,是如何让角色可以同时做多件事的?

微任务或者宏任务模拟的吧。 浏览器其实也有办法,比如说用 worker,但是感觉没必要。盲猜是模拟的 当然,如果让我自己做这样一个东西,无非就是执行两次 addeventlistener,你可以用 jquery 体验一下
0
0
0
浏览量0
疯狂的搬运工

这是什么请求问题?

出现Provisional headers are shown的几种可能性 * 跨域,请求被浏览器拦截 * 请求被浏览器插件拦截 * 服务器出错或者超时,没有真正的返回 * 强缓存from disk cache或者from memory cache
0
0
0
浏览量0
疯狂的搬运工

git 对比不同分支?

«方案A» "git diff branch_A..branch_B" 但是看起来好像并不太方便。。。 第三方的工具可以有: * "diff-so-fancy" (https://link.segmentfault.com/?enc=4tpsAAi8M0q18x4Z4WEVTg%3D%3D.mqy4XGNxoIfH%2BslZv9QA7RbIWaKYS5eG8k6Jac7tmfhUz4%2B3hjxChagoiD%2B1cSRU) * "delta" (https://link.segmentfault.com/?enc=EX4fKD9B0ot6bcfraTbRrw%3D%3D.pHQ3LDqsTjMGD8LnkZfQfIDLabVSZZy8XqszHvbW9kzG0blhNnnVPvHAA7jZ2rSo) 我个人使用第二个,UI更好看一些,而且是左右两个窗口,终端上直接可以看。 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241008/53df70a318380d9d2342af43d48259aa.png) «方案B» vscode有 "gitlens" 插件,可以更为直观的看不同branch的具体差异。 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241008/20541e532c68922a2bd6dc26f287ccbc.png)
0
0
0
浏览量0
疯狂的搬运工

ts怎么用type给非对象定义可选值呢?

如果为了规范可以用枚举 export enum ButtonType { Default = 'default', Primary = 'primary', Danger = 'danger', Warning = 'warning', } export function setButtonType(type: ButtonType): void { } // 其他文件可以导入此枚举或者方法 setButtonType(ButtonType.Primary);
0
0
0
浏览量0
疯狂的搬运工

TypeScript 中类型不匹配导致的重载错误要怎么改?

https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241007/9752642b3d524e568b5f5876a409bd36.png https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241007/faf7082711d610e6839f8db0eb88bcc4.png https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241007/894912a541d3afd7372e5e9324496650.png watch( () => props.counterData, (newVal: FlightSerialData) => { formData.value.flight_date = newVal.flight_date formData.value.flight_no = newVal.flight_no formData.value.id = newVal.id formData.value.open_time = newVal.counter_open formData.value.close_time = newVal.counter_close if (newVal.counter_name) { formData.value.counter_names = newVal.counter_name.split(",") } }, { deep: true } ) 没有与此调用匹配的重载。 最后一个重载给出了以下错误。 类型“() => Record | undefined”的参数不能赋给类型“FlightSerialData”的参数 各位大佬,这个要怎么改?
0
1
0
浏览量198
疯狂的搬运工

修改哪个配置文件可以恢复被AMH防火墙禁止的IP访问?

IP怎么被amh禁止访问了? 面板的『防火墙』禁止IP是要你手动操作的啊, 你可以在防火墙看当前有哪些规则,禁止了可以手动删除。 类似如果禁止44.44.44.44的ip就会有这样的规则,你可以删除掉, -A INPUT -s 44.44.44.44/32 -p tcp -m tcp -j DROP
0
0
0
浏览量0
疯狂的搬运工

举例说明声明式语法和指令式语法?

SwiftUI 是声明式语法,对比与指令式语法的话,可以举例说明它们的区别吗?
0
1
0
浏览量119
疯狂的搬运工

子组件在父组件循环调用,子组件的数据是固定的,想做优化,这样做对吗?

问题1 子组件是个select ,数据都是从api获取,每次都是固定的内容。 父组件中的列表需要大量调用这个子组件,每次这个组件都需要调用api获取数据,每次数据都是一样,这个地方是不是需要优化? 问题2 如果需要优化的话,从react官网找了一下,简单做了更改,理论上每次excuteCallBack 是同一个引用,但是debug的时候 useEffect每次被调用没法证明excuteCallBack 是不是同一个引用呢? 理解不足,希望解答一下。 import React, { useCallback, useEffect, useState } from "react"; import { Team, User } from "@/type/user"; import { Select } from "antd"; import { getTeams } from "@/api"; const { Option } = Select; interface Props { record: User; } const CusSelect: React.FC = ({ record }) => { const [teams, setTeams] = useState>(); const excuteCallBack = useCallback( () => { return getTeams() }, [] ) useEffect(() => { console.log('excuteCallBack reference:',new Date(), excuteCallBack); async function excute() { try { let rest = await excuteCallBack(); //debugger setTeams(rest.data); } catch (error) { console.log(error); } } excute(); }, [excuteCallBack]); return ( { alert(JSON.stringify(record) + value); }} > {teams?.map((item) => ( {item.team_name} ))} ); }; export default CusSelect;
0
1
0
浏览量118
疯狂的搬运工

.rst 文件一般是什么文件?

我们经常看到api的描述文件都用.rst结尾: "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241005/1a7090c19ce60b4713b91223eb1a9834.png) 请问, .rst 文件一般是什么文件?
0
1
0
浏览量191
疯狂的搬运工

settings.json改动问题?

这个需求。。。 你可以改 vscode 的全局配置,而不是对这个项目的配置,但是这样会对 vscode 打开的所有项目都生效。不然还是老老实实改 .gitignore 吧
0
0
0
浏览量0
疯狂的搬运工

Webpack 中 vendor 跟 DLL 如何取舍?

个人阅读文档返现,Webpack 中 vendor 跟 DLL 都是针对不容易发生变化的单独处理的解决方案,二者该如何对比跟选择呢?
0
1
0
浏览量118
疯狂的搬运工

前端页面跳转时发生无限循环是为什么?

语法 object.replace(url); 参数 url DOMString 类型,指定所导航到的页面的 URL 地址。 从MDN文档里面看到只能传一个参数,你为什么传了两个
0
0
0
浏览量0
疯狂的搬运工

如何将package-lock.json的dependencies与packages同级设置方法?

为了做安全漏洞扫描,我希望将package-lock.json里面的dependencies与packages是同级。预期效果如下: { “name”:"test", "version": "0.01", "lockfileVersion": '2", "requires": true, "packages": {}, "dependencies": { } } 我试过将package-lock.json文件删除,重新执行npm install,但依然不行。 node version:20.10.0 npm version:10.2.3 angular version:17.3.0
0
1
0
浏览量150
疯狂的搬运工

Element-UI Cascader组件省市区多选相关?

有个需求要求一个组件能进行省市区的多选,我把目标投向了element-ui官网的Cascader组件,该组件支持多选。省市区的获取有两种方式,一种是后端直接返回完整的树形结构,数据量有点大(现在要求的是三级级联,估计区有2000多个),估计页面渲染会有卡顿,第二种是通过懒加载获取,但是回显可能存在这种情况就是,如果当时多选时选的数据有点多,那么回显时会通过懒加载调级联接口可能也会很多(因为回显需要对应的树形结构),也会很卡顿,有没有别的实现方式呢? 有没有别的方式可以实现这种需求?
0
1
0
浏览量126
疯狂的搬运工

前端/vue生态下,还有比 markdown-it 更好用的 markdown 组件吗?

用vitePress开个项目,然后内嵌到你的项目里
0
0
0
浏览量0
疯狂的搬运工

如何通过chrome控制台查找网页占用CPU过高的原因?

我手里有一个nuxt3写的前端项目,跑起来之后,在网页停留一段时间以后,页面卡顿, 使用chrome的"性能监视器"查看CPU使用过高, 使用chrome的"回收垃圾"强制回收之后,发现js堆迅速又提高了, 请问如何通过chrome查找到网页CPU占用过高的根本原因
0
1
0
浏览量195
疯狂的搬运工

获取子栏目方法应该放在Entity还是Service层?

两种写法都可以,取决于项目设计。 从面向对象的角度出发,写在Entity中是对的。毕竟Java是面向对象的语言 :) 但是就常见的项目实践来说,一般是写在Service层。说到底现在的项目还是面向接口编程居多,而且考虑到MyBatis-Plus在项目中的应用,很多项目会使用覆盖式策略自动生成Entity层的实体类对象代码,如果把getChilgren方法写在Entity层,一但数据库调整导致刷新Entity层代码,很可能导致这些自定义的方法被覆盖删除,导致项目报错。 综上,如果是面向对象的实践项目或者自己用的小项目,自己喜欢就好,写在Entity会更符合语义。如果是团队项目,建议配合团队项目规范,通常是后者。
0
0
0
浏览量0

履历