半寸时光爱思考
IP:
41关注数
0粉丝数
47获得的赞
工作年
编辑资料
链接我:

创作·54

全部
问答
动态
项目
学习
专栏
半寸时光爱思考

如何在Ant Design的Table组件中让合并行背景色覆盖整个合并区域?

目前效果如图,想要的效果合并两行,背景也想覆盖两行,图中红框部分都会有背景。 求问这个如何实现 https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20250121/52288dc666498d39e9caa1199a95b594.png 想过利用rwospan去把对应数量行都添加背景,但是如果鼠标从rowspan为0的行,也就是图中白色部分,移入是获取不到合并行的。 antd的版本是"4.16.13",链接中是antd的默认效果, "https://codesandbox.io/p/sandbox/biao-ge-xing-lie-he-bing-ant..." (https://link.segmentfault.com/?enc=HggAR3f4Q7NgEPoQrL%2FEFw%3D%3D.pQz%2BphIfFGHSzIH6rr0HKCVxrhOiXRRFAiUpZ7qY6vNChWpOz3fzQUScz%2BYGtTQzKDzFRz3gMItZxQvbivFG2ppmlu3Kygji55ZrP%2FS2P%2BxDW94jsGtkwo%2FSvFkcPpeC)
12
1
0
浏览量324
半寸时光爱思考

sentinel做热点参数限流的源码是哪个类?

源码"Sentinel GitHub" (https://link.segmentfault.com/?enc=Zjk%2Fi4xpYRocZv2nRoYVZw%3D%3D.xhb5oblHElxfrfHhZPmeU3TQoa0aVhc7yNlxzaUVf3j9CQ2Y0aPr9SyAGaCiAX%2BO) 官方文档: "https://github.com/alibaba/Sentinel/wiki" (Wiki: Sentinel) 官方博客:"https://sentinelguard.io/zh-cn/blog/" (https://link.segmentfault.com/?enc=Bz6%2F8lKVxYAbyoiBZua9tg%3D%3D.%2FE9FUAKGIzurHuYKUsTr54neDfXSYaxsPG%2BYYlwckvwWIDp%2BUxC3r%2Bjfy6WhdiGk)
0
0
0
浏览量0
半寸时光爱思考

vue3 ts 提示模糊?

"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250104/26b9cd4a107439b43ac1ce42de31713b.png) 提示怎么给简化了? 可以在维持 "withDefaults(defineProps..." 这种写法的前提下,明确提示吗?
5
1
0
浏览量234
半寸时光爱思考

项目文件整个放到cdn上,里面有很多图片,是通过域名访问图片快,还是通过`../`这种形式快?

项目文件整个放到"cdn"上,里面有很多图片,是通过域名访问图片快,还是通过"../"这种形式快?文件里加载图片 是通过域名访问快 ,还是"../" 相对目录快?为什么?
10
1
0
浏览量218
半寸时光爱思考

echart中图列与圆环图重叠,怎么图列过多的情况下自适应?

echart中图列与圆环图重叠,怎么图列过多的情况下自适应https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250101/398536579d5698e1016dd1677680a73e.png
20
1
0
浏览量206
半寸时光爱思考

怎么给选中浏览器的滚动条的dom节点?

需求是:划过滚动条,增加滚动条的宽度,划出时,恢复css默认设置的宽。 问题是:我不知道怎么拿到浏览器的滚动条的dom,给他添加划入划出事件。目前是给页面加了划入划出,但那样的话在打开el-select的下拉框的时候,会出现屏幕抖动。 所以还是要给滚动条加,或者说,不用移入移出事件,还有什么办法能实现这个需求吗
14
1
0
浏览量297
半寸时光爱思考

谁有uni-simple-router vue3版本吗?

我有! 但是我的建议如下: 如果你是刚需,还是可以选择买一个的,性价比非常高 199 包括 技术支持+不限项目+永久使用,如果实在不行就选择开源版 同样支持vue2
0
0
0
浏览量0
半寸时光爱思考

React 组件 pros 传参为什么会丢失 value 属性?

问题解决了:我用的是 "antd-mobile" 的 "Form" 组件,表单控件的值必须通过 "Form.Item" 的 "initialValue" 来传递,否则想我传递过去也是 "undefined"
0
0
0
浏览量0
半寸时光爱思考

vue路由跳转问题?

试试这个demo,我从element-ui官网借鉴写的: "https://element.eleme.cn/#/zh-CN/component/tabs" (https://link.segmentfault.com/?enc=FOMEdXRGd0wkGRuO1jhnYQ%3D%3D.9Xjb8NMVFO%2BItcdSxMGpsHmcq2SJcUVUWP1KTHXJ%2F6Y%2BIvFhaCdPWsSwyiGFFgJA) export default { data() { return { editableTabsValue: '2', editableTabs: [{ title: 'Tab 1', name: '1', content: 'Tab 1 content' }, { title: 'Tab 2', name: '2', content: 'Tab 2 content' }], tabIndex: 2 } }, methods: { handleTabsEdit(targetName, action) { if (action === 'add') { let newTabName = ++this.tabIndex + ''; this.editableTabs.push({ title: 'New Tab', name: newTabName, content: 'New Tab content' }); this.editableTabsValue = newTabName; } if (action === 'remove') { let tabs = this.editableTabs; let activeName = this.editableTabsValue; if (activeName === targetName) { tabs.forEach((tab, index) => { if (tab.name === targetName) { let nextTab = tabs[index + 1] || tabs[index - 1]; if (nextTab) { activeName = nextTab.name; } } }); } this.editableTabsValue = activeName; this.editableTabs = tabs.filter(tab => tab.name !== targetName); } }, goToNewRoute() { let router = this.$router; const newRoute = { path: '/new-route', component: () => import('@/views/index.vue'), }; router.addRoute(newRoute); let newTabName = ++this.tabIndex + ''; this.editableTabs.push({ title: '我是新增路由的标签标题', name: newTabName, }); this.editableTabsValue = newTabName; router.push({ path: '/new-route', query: { item: "参数值" } }); } } } {{ item.content }} 点我去新增路由 h1 { font-weight: 500; font-size: 2.6rem; top: -10px; } h3 { font-size: 1.2rem; } .greetings h1, .greetings h3 { text-align: center; } @media (min-width: 1024px) { .greetings h1, .greetings h3 { text-align: left; } } "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241222/3837483e354550fd127847bb769c7814.png) ============我是分割线================== "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241222/da9be707bc798c49f59c7c47199bc358.png)
0
0
0
浏览量0
半寸时光爱思考

问一个typescript类型问题?

const api = [ { name: 'pageList', table: true, }, { name: 'pageAdd', }, ] as const; type Ret = { [K in T[number]['name']]: Extract extends { table: boolean; } ? boolean : unknown; }; type Api = Ret;
0
0
0
浏览量0
半寸时光爱思考

docker部署项目,nginx容器对后端api反向代理,nginx报错404?

因为某些需求,需要把前后端部署在同一个端口,配置nginx反向代理,如下"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241215/2b3cf332fd2130f36ffcc513c7b506a6.png) 在运行时已经将80端口映射到8848,并且能正确访问前端的页面。我预期是访问"http://localhost:8848/zssrapi/xxx" (https://link.segmentfault.com/?enc=uxpA6Hq88fV4QkkuHRCnHw%3D%3D.pN5IHAL02JwF6vVYaXCVLlurQKvYGHOihjJFNomyuLqU8bCbHuzz6O9WbfPAHnU7)时能转到后端实际端口"http://localhost:8123/zssrapi/xxx" (https://link.segmentfault.com/?enc=0krsSAuYup9uBy74sQ%2F4Og%3D%3D.CkGXd6aDmKv9kqErKinncnjdO3%2BzTyKgn%2FELaDxNoQzpJUMsPJqMsjjTKCddekd3)。但是尝试之后报错404,如图,"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241215/b046f9ee399f9b0bd2877ce5b4c5651d.png) "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241215/c73313bb540b19b83d081f892a3dd13c.png) 求助解决办法qaq
0
1
0
浏览量17
半寸时光爱思考

走马灯,el-carousel,怎么做到垂直方向持续滚动?

可以使用滚动插件实现:vue-seamless-scroll
0
0
0
浏览量0
半寸时光爱思考

js事件冒泡是什么?

事件冒泡是由内到外(由子节点到根节点),还需要知道另一个事件捕获是由外到内(由根节点到子节点)。 至于"为什么要有事件冒泡的机制",下面是chatGPT的回答 事件冒泡机制是指当一个元素触发了某个事件时,该事件会从该元素开始向上层元素逐级传递,直到传递到最顶层的文档对象。事件冒泡机制的存在主要有以下几个原因: 1. 方便事件的处理:通过事件冒泡,可以将相同类型的事件统一处理,无需为每个元素都绑定事件监听器,减少了重复代码的编写。 2. 父元素对子元素事件的控制:通过事件冒泡,父元素可以监听到子元素触发的事件,从而对子元素事件进行控制或修改。这使得事件的处理更加灵活,可以在较高的层级上统一管理。 3. 事件委托:事件委托是事件冒泡的一种应用,通过将事件绑定到父元素上,可以监听到所有子元素触发的相同类型事件。这在动态添加、删除元素时非常有用,可以减少事件绑定和解绑的操作。 4. 提升性能:通过事件冒泡,可以减少事件监听器的数量,减轻浏览器的负担,提升性能。相比每个元素都绑定事件监听器,事件冒泡可以将事件的处理集中在一个元素上,减少了事件传递的开销。 总之,事件冒泡机制的存在使得事件处理更加方便、灵活,同时还可以提升性能,减少代码的冗余。
0
0
0
浏览量0
半寸时光爱思考

请教个django的orm问题?

from django.forms.models import model_to_dict def book_to_dict(book): authors_data = [] for author in book.authors.all(): author_data = model_to_dict(author) author_data['au_detail'] = model_to_dict(author.au_detail) gender_choices = { 0: '女', 1: '男', 2: '保密' } author_data['au_detail']['gender'] = gender_choices[author_data['au_detail']['gender']] authors_data.append(author_data) return { 'id': book.id, 'title': book.title, 'price': book.price, 'pub_date': book.pub_date, 'publish': model_to_dict(book.publish), 'authors': authors_data } def getList(request): books = Book.objects.filter(title='西游记').select_related('publish').prefetch_related('authors', 'authors__au_detail') books_data = [book_to_dict(book) for book in books] return JsonResponse({ 'data': books_data, 'length': len(books_data), 'success': True, }, safe=False) def findBy(request): book_id = request.GET.get('id') book = Book.objects.filter(id=book_id).select_related('publish').prefetch_related('authors', 'authors__au_detail').first() if not book: return JsonResponse({ 'error': 'Book not found', 'success': False }, status=404) book_data = book_to_dict(book) return JsonResponse({ 'data': book_data, 'success': True, }, safe=False)
0
0
0
浏览量0
半寸时光爱思考

网页打印预览的时候很正常,打印出来上边跟左边内容不全怎么办?

用的什么插件?换成"print.js" (https://link.segmentfault.com/?enc=G6%2BTv5IxE7fS6Ycl14TKcg%3D%3D.IgMBnqT373CUU9Vpj%2Bu7ulezGwe7Fmw5etjHUX7VNGk%3D)试试
0
0
0
浏览量0
半寸时光爱思考

svg显示问题?

A 能显示,B 不能,很明显是兼容性问题,不过具体是什么问题,就不太清楚。 如果是我的话,我会逐行删掉 SVG 里的内容,直到剩下的部分可以显示;然后再逐段删掉代码,直到剩下的代码可以正常显示。 这样就可以确定出问题的代码,然后去各种平台搜索,多半能找到结果。即使暂时解决不了,多数也有绕过的方案。
0
0
0
浏览量0
半寸时光爱思考

CSS中的font合成属性的应用问题?

这块内容直接看 "font" 属性的文档就可以知道了 👉 "https://developer.mozilla.org/zh-CN/docs/Web/CSS/font" (https://link.segmentfault.com/?enc=Oh1q7SFW36%2FDmO8oY7Jh3A%3D%3D.Zqv9xjs7i7kHzNWbg%2BOOWnKrsVmAJDQTZgXMXo64RYRGNjn7vrySJuG6jskENX37cVd4%2BPIeAw9VaPNsctsOOA%3D%3D) «If "font" is specified as a shorthand for several font-related properties, then: 如果 "font" 指定为多个字体相关属性的简写,则:it must include values for: 必须包含以下值:* "" * ""» *** 如果单纯要求设置文字 "加粗" 和 "斜体",单独书写对应的CSS属性即可 p { font-weight: bold; font-style: italic; }
0
0
0
浏览量0
半寸时光爱思考

小程序码如何解析出对应的路径以及参数?

背景: 我手中有一个分销的小程序码,我想在公众号文章里面实现点击文字就可以跳转到对应的小程序,但是别人通过这个小程序跳转的时候得要能看到是我推荐的,所以,我猜测这个小程序码里面一定是带着参数的。 问题: 公众号 自己推荐的添加小程序的两个方法: 1. 在小程序里面点击复制链接,结果我发现,无论是谁复制出来的都是一样的,所以,这方法肯定是不行了。 2. 通过开放十分钟的权限,可以获得小程序路径,这个我看了一下,上面带的参数都是页面以及菜单的信息,没有用户个人的信息,例如:openID id。 然后,在网上也使用了解码的工具,例如草料等,要么就是解析不了小程序码,要么就是解析出来的是base64,这个base64解码后乱七八糟的,根本就不是微信小程序的格式:"#小程序://" 这类的。 最后,也尝试了大家说的使用微信开发者工具 去进行二维码编译,结果好像只有自己开发的小程序才行,会报appid不对的错误。就算知道了这个小程序的appid,如果我不是其开发者,也不行。 "1698563722113(1).jpg" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241201/17c4bc9826c723b7a2e11f2ce937561d.png) 目前能尝试的问题,基本上都试过了一遍,想问问大家还有什么别的方法去解析小程序码?非常感谢!!!
0
1
0
浏览量16
半寸时光爱思考

ruoyi guns pig 推荐哪个, 或者还有没有更好的?

如题, 求一个好用的脚手架
0
1
0
浏览量17
半寸时光爱思考

Base64 如何解码的?

str = "中!中" ; 对应的 byte[] = [-28, -72, -83, 33, -28, -72, -83] "new String(..)"转字符串的时候是怎么知道 "-28, -72, -83" 为一组的呢? 是字符编码有什么规则吗?( "0x**----" ,"(byte) **" 是负数的就是3个字节一组这样?)
0
1
0
浏览量15
半寸时光爱思考

一个vue项目文件结构看不懂,也不知道怎么启动,是不是分模块打包啊,有大佬知道这么启动这个项目吗?

"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241129/132557443990e152cbe7779c45ddec9f.png) "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241129/e9e992a60d47238fc2ec514bc2c2d77c.png) "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241129/99d08c35f0f2caea72727588f0835512.png) "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241129/1a71ae58a94846578354a326d1d1769b.png) "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241129/95f0d973b377e05f40ccf486ddc98827.png)
0
1
0
浏览量13
半寸时光爱思考

有没有什么平台可以免费下载到字体包的?

需要找一些能下载到字体的平台,比如 Roboto, 思源黑体...或者其他一些免费(开源)字体,有没有什么网站能推荐的? 下载到的文件格式是 OTF
0
1
0
浏览量13
半寸时光爱思考

Harbor私服无法在外网访问?

我们在局域网内搭建了一个Harbor私服,局域网IP地址为: 192.168.3.9,这台机器本身具有公网IP,也有公网域名。 harbor.yml配置文件中,hostname配置为: #hostname: xxxx(公网ip) hostname: 192.168.3.9 现在发现一个问题,如果把hostname配置为内网地址,那么在局域网内可以访问。但在公网是无法访问的,即通过本机的外网ip无法访问。 如果将 Hostname改成 公网ip,那么存在另一个问题,就是在公网可以访问,但在局域网无法访问。 网上查了一些文章,有说要改 "external_url"的,好像又配置了一个nginx?(harbor已经自带了2个nginx了,还要再配置第3个nginx吗?)还有的好像要改 下面的 proxy段。 proxy: http_proxy: https_proxy: no_proxy: components: - core - jobservice - trivy 现在比较混乱了。 需要怎样改呢?谢谢! 补充说明一下, 目前使用http就可以了。 暂时不涉及证书问题。 两个参考网页: "https://www.cnblogs.com/breeze-24/p/16250853.html" (https://link.segmentfault.com/?enc=8THJiv%2BZU3GcEXaBjDUSsg%3D%3D.kf99ZwfV%2BezswGaTJahTKKfMZE8COkaJokAQg9orixKEnIpX%2ByL2i8cDKpbx8rpKdu5h2Att3Ddf%2F2mZyAlpSA%3D%3D) "https://www.cnblogs.com/zhangmingcheng/p/14167615.html" (https://link.segmentfault.com/?enc=VpcHHomInomMaFbI9Vyf%2Fw%3D%3D.2cU5N5V01RejA4syqby7F5XFUt62QU7VTp2pHOr6XMDd%2F%2Bkds60yUbWO1DKk5sUY369BkaTFFLbUFROgb5fy4w%3D%3D) 2023-12-06补充: 这个问题我重新做了下跟踪和总结,参考:"https://segmentfault.com/a/1190000044449171" (https://segmentfault.com/a/1190000044449171)
0
1
0
浏览量13
半寸时光爱思考

为什么在Idea的mybatis测试类里无法调用接口里的方法?

为什么我在测试类里调用UserMapper的list方法时会报错? 这个代码是我按着b站上黑马程序员2023新版JavaWeb开发教程写的。 https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241122/f71fc6a30bdba06fea10ba7531b7cac7.png https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241122/ac31a63c7cada33c66fe7cc24e7053c3.png *** 我寻思我按照视频来的没有出现什么配置错误,代码也没写错, 然后我换了一个项目,在这个项目里没有引入mybatis的依赖,写了UserMapper接口,在测试类里调用UserMapper的list方法出现了一样的错误。Non-static method 'list()' cannot be referenced from a static context https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241122/dd32193e2aca2560e74b9632f7286533.png https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241122/b708400ba6567e0795da8c55ad561b83.png 这是什么原因,要怎么解决?
0
1
0
浏览量14
半寸时光爱思考

v-for=“item in 10“,如何倒序渲染?

{{ item }} export default { data() { return { items: Array.from({ length: 10 }, (_, index) => index + 1), }; }, computed: { reversedItems() { return this.items.slice().reverse(); }, }, };
0
0
0
浏览量0
半寸时光爱思考

应用程序无法正常运行时需要先检查环境中的哪个环节出问题?

这问题未免也太宽泛了,简直像人类简史一样不知从何处开始回答。 只能说应该先检查错误信息,你的应用程序如果开发的比较规范,它不能运行或正常运行的时候应该都会有些日志或错误信息。应该先从日志和错误信息入手,然后再判断问题可能的范围。
0
0
0
浏览量0
半寸时光爱思考

jsPlumb连线后保存,数据还原连接点无法和原来保持一致,该如何设置?

使用"jsPlumb"组件做了一个拖拽连线的功能,分别链接左右两个div的右侧和左侧,然后保存连线,下次进入编辑是,还原当前连线状态,两个div连接点位置都不对,如下: 拖动连线的状态: https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241109/93de49fee511a7a5226a1ddbb8aa0352.png 数据库读取后还原的状态: https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241109/853c11186ed79e92bcbb1abe3aac86bb.png 如何还原到保存前的连线状态?
0
1
0
浏览量14
半寸时光爱思考

在Visual Studio中引用头文件报错?

在Visual studio中新建了两个c++源文件和一个头文件,分别是main.cpp #define _CRT_SECURE_NO_WARNINGS 1 #include #include "Log.h" int main() { InitLog(); Log("Hello World!"); std::cin.get(); } Log.cpp #define _CRT_SECURE_NO_WARNINGS 1 #include void InitLog() { Log("Initializing Log"); } void Log(const char* message) { std::cout << message << std::endl; } Log.h #pragma once void Log(const char* message); void InitLog(); 其中主函数一直显示错误信息 "image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241103/a123aa211fc0db7886753d0fc6d80628.png) 作为新手,我不是很清楚,我正常引用了头文件为什么会报错,求大佬解答一下
0
1
0
浏览量15
半寸时光爱思考

vue要怎么修改循环绑定的值呢?

推荐你在组件内部的data函数中创建个变量进行接收props传入的值,记得使用深拷贝,或者对props的数据进行双向绑定,在model函数中进行注册列如 model:{ props:"你得变量名", event:"change" } 还需要再methods中进行emit changevalue(){ this.$emit('change',要更新的值) } 请参考
0
0
0
浏览量0
半寸时光爱思考

CentOS 怎么导出如软件?

"CentOS" 怎么导出如软件?比如 "nginx" "git" 因为有的部署场景是内网的,所以我想先本地安装好然后导出来再拷贝到服务器上安装,并且如果可以的话这样的导出会把依赖一起导入进去么?
0
1
0
浏览量16
半寸时光爱思考

请问windows如何快速搜寻几千个PDF, Word里面的内容是否包含XXXX?

请问windows如何快速搜寻几千个PDF, Word里面的内容是否包含XXXX? 想要在几千个 PDF, Word, Excel 快速找出含有 XXXX 字 能批量显示位子跟标签,点两下能打开文件跳转该位子 我有找到fileseek,不过他需要很贵的费用,请问有开源或是免费版本吗?
0
1
0
浏览量14
半寸时光爱思考

关于React useCallback使用的问题?

React中的useCallback 下面的代码中"Com"是父组件,"Button"是子组件,子组件接收父组件的"count2"和"setCount2",子组件中使用了"memo(Button)"导出 function Com() { const [count1, setCount1] = useState(0) const [count2, setCount2] = useState(0) const handleClick1 = () => {setCount1(i => i + 1)} const handleClick2 = () => {setCount2(i => i + 1)} // const callbackSetCount2 = useCallback(() => { // setCount2(i => i + 1) // }, [count2]) console.log("$$ ComA render") return ( this is ComA {count1} setCount1(i => i + 1)}>count1 ++ count2 {count2} ) } 子组件"Button" function Button({ handleClick, children }) { console.log(`$$ Rendering button` + children) return ( this is Button.jsx {children} ) } export default memo(Button) 在上面的代码中,如果点击"count1++"的按钮(不使用useCallback),父组件会重新渲染,但是子组件也会刷新,然而子组件中的"count2"依赖没有变化,所以只能是"handleClick2"函数变化了,这只能是因为父组件重新渲染导致了"const handleClick2 = () => {setCount2(i => i + 1)}"这一行重新运行。 所以我们需要使用"useCallback"来将"handleClick2"函数缓存,不会因为重新渲染而导致没有必要的刷新,这样做之后,点击"count1++"的按钮也不会导致子组件刷新了。 这是我对上面代码以及重新渲染机制以及"useCallback"的理解,这样理解对吗? 希望理解"useCallback"以及"setState"之后的更新机制,谢谢各位大佬了
0
1
0
浏览量12
半寸时光爱思考

小程序模板中怎么传递参数?

保存 saveInfo: function (e) { let id = e.target.dataset.id console.log("id:"+id); },
0
0
0
浏览量0
半寸时光爱思考

请教一个微信网页授权跳转后前端用户掉线问题?

一个微信网页授权问题。 场景是这样的,本地有用户系统,想让本地用户可以绑定用户的微信。 架构是前后端分离,授权的业务基本都交给后端,就是点击授权会跳转后端的一个链接,然后处理授权的事务,处理完后再跳转回前端。 目前问题是,新用户第一次绑定跳转回前端的时候,本地用户登录状态会掉,看日志是跳转回前端后,前端检查本地用户登录状态时,传给接口的 token 变了。 但是绑定之类的逻辑是都正确执行完成的,就是本地用户要重新登录一下,之后解绑后再绑定,就不会丢失用户登录状态。 有考虑过缓存问题,跳转回前端时url加随机参数,但问题依旧。
0
1
0
浏览量12
半寸时光爱思考

js 匹配后台返回数据实现动态表头字段?

本质就是对列进行过滤,把有效的列选出来。如果每行数据都是规则的,包含所有列的,那只需要拿第一条数据出来作为条件过滤出列就好,如: const columns = [ { title: "海区", key: "area", }, { title: "浪高(m)", key: "waveHeight", }, { title: "水温(℃)", key: "waterTemperature", } ]; const data = [ { area: "刁口", waterTemperature: "-0.4 " }, { area: "黄河口", waterTemperature: "-0.1 " }, { area: "广利港", waterTemperature: "-0.5 " }, { area: "东营港", waterTemperature: "0.2 " }, { area: "新户", waterTemperature: "-0.7 " }, { area: "埕口", waterTemperature: "-0.4 " } ]; const columnSet = new Set(Object.keys(data[0])); const validColumn = columns.filter(({ key }) => columnSet.has(key)); console.log(validColumn); 如果数据是不规则的,或者说,每行数据都只是把有效的属性列出来了,那要找所有列就需要遍历全部数据。 这种情况下就是在数据中每一行的 key 找出来,加到 columnSet 中去,可以用一个 flatMap 处理出来: // const columnSet = new Set(Object.keys(data[0])); const columnSet = new Set(data.flatMap(it => Object.keys(it)));
0
0
0
浏览量0
半寸时光爱思考

移动端 企微自建应用 把pdf文件放到前端项目的static下 然后用iframe访问地址static/pdf/web/viewer.html 本地可以 电脑和手机uat都不行 是为什么?

移动端 企微自建应用 把pdf文件放到前端项目的static下 然后用iframe访问地址static/pdf/web/viewer.html 本地(桌面云内部 )可以 电脑uat(桌面云外)和手机上访问uat都不行 是为什么? 报错 Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "text/html". Strict MIME type checking is enforced for module scripts per HTML spec. Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "application/octet-stream". Strict MIME type checking is enforced for module scripts per HTML spec 搜了下是说网页中使用了模块脚本(module script),但服务器返回的 MIME 类型是 “text/html”,而不是 JavaScript 类型。根据 HTML 规范,严格的 MIME 类型检查会对模块脚本进行强制执行。 看了页面script应该是这两个地方 "企业微信截图_16998474767847.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241015/33e6aa5d196423437b5db748ec62bec4.png) 但是不知道该怎么改
0
1
0
浏览量15
半寸时光爱思考

前端项目部署,想要自动检测更新后通知用户刷新页面,但是发版后main.js入口文件不调用为什么?

想实现,"前端项目部署自动检测更新后通知用户刷新页面".但是发版后,main.js入口文件并不再次执行是为什么? 在main.js引入了version版本比较,但是发版之后,浏览器页面并不会自动再次执行main.js,导致用户如果之前一直在老页面,即便我发版,他也更新不到. 我是用oss发版的,文件名字hash我也做了处理,但是为什么引用文件名字都变了,浏览器还是老页面吗呢,不去读最新的资源文件"这是老页面 引用的js文件" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241015/0af29bb8c4b50a259ffdd37ef520c4fe.png)"这是新页面加了hash的文件名" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241015/377ac5c8fc571b8a6617ac2f9fc2ee41.png) 但是项目页面如果不刷新(下图是老页面读的),一直停留在老页面,他就一直访问老页面js,导致我的版本更新代码他读不到 "项目老页面引用的" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241015/ad5cb9e13525eebcf362d7e4c08b66fb.png) 这种我要怎么处理
0
1
0
浏览量12
半寸时光爱思考

axios设置超时时间不生效是什么原因?

设置超时时间是50毫秒,接口还能正常请求,超时时间不生效 "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241015/4b46228739c50f79b3e64b11f774af8c.png) axios({ method: 'get', url: '', params: {}, timeout: 50 }).then(res => { console.log('res---', res) }).catch(error => { if (error.config.timeout == 50) { Message.error('请求超时,请检查网络') } else { console.log(error) } }) 全局设置axios.defaults.timeout = 50 也不生效
0
1
0
浏览量25
半寸时光爱思考

Vue3 defineModel 警告解决?

"vue 3.4" 版本发布日志里面有提到相关工具的版本要求,可以的话 "vite" 的版本也可以升下级了 "https://blog.vuejs.org/posts/vue-3-4#potential-actions-needed" (https://link.segmentfault.com/?enc=x1xFZkxsPrDLE4H0rSsdRw%3D%3D.a0yWa6zYO91ps8gSkYuij7VjVfsEOvG9DMqaPCZ7LwvVdDVV%2BoFY5SFljfOBhNcWTmen6rSqbeKvIM1jbBarcQ%3D%3D) "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241013/17eed2d23f2d93a6b74b2d0da35ae7df.png)
0
0
0
浏览量0
半寸时光爱思考

main.go里 为什么不能访问其他文件里的变量?

file1.go里 package main import ( "container/list" ) var GlobalVariable = "Hello" // 定义全局变量 var l = list.New() room.go里 import ( "./file1" ) func test() { file1.GlobalVariable } 是可以的 但是main.go里 import ( "./file1" ) 就保存后直接给我删除了 "./file1" 在vscode里 就保存后直接给我删除了 "./file1" 在vscode里 我想在main.go里可以访问 file1.go的全局变量
go
0
1
0
浏览量141
半寸时光爱思考

请问在 react 中如何实时更新状态?

请教下 useState 更新的问题,有一个页面,当数据库中没有数据的时候,显示 No user,当数据库中有数据的时候,显示出真实的数据,代码如下 const [users, setUsers] = useState([]); useEffect(() => { const fetchData = async () => { try { const response = await fetch(`${apiUrl}/users`, { method: 'GET', headers: { Authorization: `Bearer ${token}`, } }); if (response.ok) { const data = await response.json(); if (data.success) { setUsers(data.users); } } else { console.log('Other HTTP Error:', response.status); } } catch (error) { console.error('Error fetching users:', error); } }; fetchData(); }, [token]); const userList = () => { const activedUsers = users .filter((user) => user.status === 1); if (activedUsers.length === 0) { return( {activedUsers.length === 0 && No user } ) } return ( {activedUsers.map((user) => ( {user.Name} ))} ) } 现在我遇到的问题是 1. 每次访问这个页面 /users,都会显示 No user,然后过一会数据完全载入了才会显示正确的数据。查看了下,这里会渲染两次,第一次渲染 activedUsers.length 是 0,第二次渲染才会正确的载入数据。 2. 点击任意一个用户名字后,会跳到用户的详情页面,再次访问 /users,会显示刚刚访问的这个用户的用户名,然后过一会才会自动刷新出正确的数据。 请问这个问题怎么解决,希望每次进入都是显示正确的数据。
0
1
0
浏览量120
半寸时光爱思考

ts 类型推断疑惑?

function setDictionary( data: T, label: keyof T, dictionaryOptions: { [key in keyof T]: { [key: string | number]: any }[] } ) { const options = dictionaryOptions[label]; } "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241011/e720227068a227793856ab57bf57e44f.png) "options" 怎么会是这个类型?应当是"{ [key: string | number]: any }[]" 才对啊。 是哪里出了问题?如何解决呢? " "vue-tsc": "^1.8.27""
0
1
0
浏览量213
半寸时光爱思考

vue项目怎样实现:新消息推送、实时更新、推送通知功能,有哪些实现方法?

如题: 我用的是定时请求接口数据。 请问还有哪些常用方法吗? 谢谢
0
1
0
浏览量123
半寸时光爱思考

为什么script标签可以支持跨域?

草案中给出了一点点说明,试想在"web"早期,如果"script"不能跨域,那这样对构建"web"来说就太困难了,要知道那时候依赖很多第三方"js"库是家常便饭。 简单来说,算是一种妥协, "why-is-the-html-script-tag-not-subject-to-the-same-origin-policy" (https://link.segmentfault.com/?enc=xsKdQ8zPTx7hnmwtkKCvZg%3D%3D.ABOKGPjFMOyqzMpTBOvXWgV9GXXYHyLsOvrW8WgHaKECSWeLpZnO64TL7hDg%2Bf7VfnzsQLHp2NLF9%2B2wT6koznW3%2BVjijf0WbevqForaW7pgCKa2yZmijalTAldn4cCIw5aoJUyXTAJ0RajAkqyZOg%3D%3D)
0
0
0
浏览量0
半寸时光爱思考

el-image的src赋值了一个接口中返回的图片地址,为什么接口请求了两次呢?

el-image的src赋值了一个接口中返回的图片地址,为什么接口请求了两次呢? "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241007/29f16b012b9ec31bc13649c6b371713e.png) "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241007/ab3f785846c82c3d41efd23d1a3f52a9.png) 给el-iamge设置key和更改lazy的状态都没有区别,还是加载了两次 currentPicture初始是null,是通过接口拿到图片完整地址进行赋值的
0
1
0
浏览量130
半寸时光爱思考

vue项目打包,怎么实现不同环境配置不同的配置呢?

vue项目打包,怎么实现不同环境配置不同的配置呢? 例如: // 在vue.config.js中设置了 module.exports = { …… configureWebpack: config => { if(process.env.NODE_ENV === 'production'){ …… }else if(process.env.NODE_ENV === 'xxxx'){ // 自定义环境 } } } 打包命令 npm run xxxx 可以进入‘xxx’处配置,执行自定义配置
0
1
0
浏览量123
半寸时光爱思考

get请求参数放body里,post请求参数放url上这种是否合理?

技术上讲是可以的,但是不建议: "https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/GET" (https://link.segmentfault.com/?enc=G2WAxD9oHVpju0wErA%2Fmzg%3D%3D.9Qszp7rOMYUP9K0Eh1iwMKWk9Fio3c3t4Jfrnlkhuj1QW0gP49aL5syuYpushpu6zB8VkYgDkQOHwXnvhL7nQQ%3D%3D) 虽然HTTP规范(RFC 7231)并未规定GET请求不可以携带Body,但是后续的规范逐步建议应该明确这种行为,给予警告甚至拒绝。 曾经ElasticSearch的RESTAPI采用GET请求携带Body请求的接口格式和规范,但在目前版本中已经彻底废弃 一篇不错的介绍文章可以参见: "https://www.baeldung.com/cs/http-get-with-body" (https://link.segmentfault.com/?enc=3mVjfyLQfmrRUT5fyvTtRg%3D%3D.B5H64PhAamIx%2BO%2Bvq%2BPkDp7OXvuB4TIWJwqAPreDTNEEIGOudes81YlaH0j6PLCM) 如果你用第三方类库,可能已经开始拒绝GET请求携带Body了,所以更不建议你这么去做
0
0
0
浏览量0
半寸时光爱思考

MongoDB中对JSON数组内date字段创建唯一索引的方法?

mongodb 文档的某键的值是json数组 如何给该json的date字段创建唯一索引
0
1
0
浏览量131
半寸时光爱思考

Vue Router路由守卫beforeEach的next方法使用?

Vue Router路由守卫函数beforeEach(to,from,next)里的next方法能否写在Promisse的回调函数than里面?
0
1
0
浏览量153
半寸时光爱思考

价格验证,我这个是不是已经最严谨了,高手帮忙看看是不是可以一个正则搞定?

我一般会在 "any-rule" (https://link.segmentfault.com/?enc=5VcysLmiXhGkf%2B176dEPzw%3D%3D.cxW4rR8DUd%2FRYjIcI88%2Fe1oqNVrQ3yqlNyAsvZcrLTcCeaRmHfOXNoPqO1j6mpf5) 或者 "i-hate-regex" (https://link.segmentfault.com/?enc=Hbj7Ujn8akICFPKdKP6IvQ%3D%3D.3lQUvwuoJJL7xqjUDIgiFblBWaWDsXvcnl3bnORcZOBdDmvVgRZcjJnxy3EpfjvB) 里面找,找到了一个类似的稍微改了一下。 "/^([1-9]\d{0,}|0)(\.\d{1,2})?$/" const reg = /^([1-9]\d{0,}|0)(\.\d{1,2})?$/ const testCases1 = [0.1, 1, 1.0, 123, 1234, 12345.67, '123', '123.45'] console.log('正确用例', testCases1.map(v => reg.test(v))) // 正确用例 Array(8) [ true, true, true, true, true, true, true, true ] const testCases2 = [-0.99, -1, 0.123, '0123', '00.00', '123.45.67', '123,123', '123,123.45', {}, [], '', null] console.log('错误用例', testCases2.map(v => reg.test(v))) // 错误用例 Array(12) [ false, false, false, false, false, false, false, false, false, false, … ]
0
0
0
浏览量0

履历