中年复健狗
fastapi 的 TestClient 的 delete 方法如何传递请求体?
接口
@meta.delete('', summary='删除指定母本', description='在请求体中传递一系列 meta_uuid, 返回已删除的母本的 meta_uuid', response_model=list[str])
def delete_meta(
meta_uuids: list[str]
):
pass
单元测试
client = TestClient(app)
response = client.delete(
f'/meta',
json=[
f'{meta_uuid}'
]
)
但是报错了
Traceback (most recent call last):
File "/Users/ponponon/Desktop/code/work/vddb/svddb_api/testing/apps/test_meta.py", line 121, in test_collection_meta_001
response = client.delete(
TypeError: TestClient.delete() got an unexpected keyword argument 'json'
看了一下这个函数签名不支持 json 或者 data 参数
"图片.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250112/d4f38f397e4fc1214c99170c0f958cc5.png)
相比之下,requests 的 delete 是支持的传递 json 或者 data 的
怎么办?
中年复健狗
为什么这段HTML打开的网页会一直刷新?
因为最顶层的 var 变量会隐式挂到 globalThis 上(对于浏览器来说就是 "window")。
所以你这段代码就等效于 "window.location = xxx" 后面的 xxx 其实不重要,总之你就是给 location
重新赋值了,自然触发浏览器去载入新的 location 了。而你这个新的 location 跟旧的指向的还是同一个,所以就一直在刷新当前页面。
所以要么你换成 let/const 去声明,这样就不会被挂到 globalThis 上:
const location = window.location;
要么你用个 IIFE 给它包起来,别直接在最顶层声明:
;(function () {
var location = window.location;
})();
当然了,更稳妥的方式其实是不要用浏览器本身内置的 BOM 全局对象去充当变量名……
中年复健狗
position: sticky失效?
toutou
内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容内容
toutou
export default {
name: "App",
components: {},
data() {
return {
data: [
{
label: "文字"
},
{
label: "文字"
},
{
label: "文字"
},
{
label: "文字"
},
{
label: "文字"
},
{
label: "文字"
},
{
label: "文字"
},
{
label: "文字"
},
{
label: "文字"
},
{
label: "文字"
},
{
label: "文字"
},
{
label: "文字"
},
{
label: "文字"
},
{
label: "文字"
},
{
label: "文字"
},
{
label: "文字"
},
{
label: "文字"
},
{
label: "文字"
},
{
label: "文字"
},
{
label: "文字"
},
{
label: "文字"
},
{
label: "文字"
},
{
label: "文字"
},
{
label: "文字"
},
{
label: "文字"
}
]
};
},
methods: {}
};
下面那个position: sticky失效了
中年复健狗
在vue3中怎么拿到某个元素的所有样式?
你需要的可能是 "Window.getComputedStyle()", vue3 中并没有这样的方法
文档:"https://developer.mozilla.org/zh-CN/docs/Web/API/Window/getCo..." (https://link.segmentfault.com/?enc=g5pAx9JogE%2B6AlrwSxhWRw%3D%3D.Jz3gzwLUfzKv3lNsqeAar0xfzZ7DakfB5fdrl6LYE5Es0s8O1EG9ZqlhhL4DJkED%2Fj3taLwKXHd0qSFj9x3ncvEMhqgRJ5LY5vfz3GA5dbc%3D)
中年复健狗
vue2 项目中使用iframe 部署到线上iframe白屏?
vue2 项目中使用iframe 部署到线上iframe白屏?
中年复健狗
el-datepicker如何做到在可输入的前提下,必须有值?
首先有焦点的时候你不能阻止人家删,否则 editable 就失去意义了。
So,blur 失焦事件里判断一下,如果 value 是空的你就再赋个值上去呗。
中年复健狗
vue3同步调用咨询?
看下 "toRefs"
"文档" (https://link.segmentfault.com/?enc=WVD8cwzYi3jMruacwoB59g%3D%3D.ZsVCf3SO7DeK%2BpPp15rZgCPu%2FEOx8IJD2A2DZYlrqFXi8A17mfr6BOr3x0NxJ2i%2FdKXHN5CJIRLqMcJ8hdEg9A%3D%3D)
«当从组合式函数中返回响应式对象时,toRefs 相当有用。使用它,消费者组件可以解构/展开返回的对象而不会失去响应性»
页面模板上能直接使用这个返回值就是因为这个值有响应性。
而你的js代码用的时候只能拿到实时的数据,如果你用的时候请求还没有结束,那对应的 "dictType" 就没有数据
中年复健狗
使用动态表头时,拖动改变表格宽度之后,取消某个表头勾选时,表格展示会错位,这个要怎么解决?
ele-ui 的话可以手动调用下面方法,或者给个动态key,再去更新key
https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241227/3fa2a62c2d63b10ebc8a5db814fa0d08.png
中年复健狗
怎么能判断tomcat线程池配置的太小了?
在高并发场景下,有可能带来性能下降,请求时长增加
但是怎么能判断出来,瓶颈仅仅是服务节点 tomcat的线程池太小
而不是数据库读写瓶颈、数据库集群数量少、网络带宽等问题?
中年复健狗
js正则问题,我有写对不?
«大写字母、小写字母、纯数字、特殊符号。四种至少任意三种组合,长度不低于8位。
特殊符号:! @ . - _(以上五种符号都是英文状态下)»
以下是我的正则 如果没写对那因该咋写 如果有写对还能优化吗
const re = /^((?=.*[a-z])(?=.*[A-Z])(?=.*[\d!@.\-_])|(?=.*\d)(?=.*[!@.\-_])(?=.*[a-zA-Z]))[\w!@.-]{8,}$/;
中年复健狗
Mesh组网与WiFi信号放大器对比?
背景
家里是两层老平房,只有一楼有网线,墙壁是砖垒的较厚(尤其是一楼二楼之间的楼板),目前情况是1楼网络没有问题,二楼客厅网络问题不大,但是二楼卧室网速很慢,同时信号不好
问题
不打算多拉一根网线,上网上查过解决方案,了解到目前wifi有几种部署方案:
1. AC+AP面板(二楼没有预留网口,加上资费较高、面向企业,故不考虑)
2. mesh组网 (目前考虑的方案)
3. 无线放大器
4. 中继桥接。
因为本人不是学的网络方向,只能懂个大概,有如下疑惑,希望大佬给予解答:
* mesh组网、中继桥接与WiFi信号放大器,这三个的区别是什么,各自使用场景是什么
* 对于我们家的情况,如果想改善网络,请问mesh组网是否推荐?
中年复健狗
helm3安装了logstash配置好了logback,但是日志记录一直不对,如何解决?
自己解决了,使用下面的logstash配置就ok了
global:
storageClass: alibabacloud-cnfs-nas
service:
type: NodePort
ports:
- name: http
port: 8080
targetPort: http
protocol: TCP
- name: syslog-udp
port: 1514
targetPort: syslog-udp
protocol: UDP
- name: syslog-tcp
port: 1514
targetPort: syslog-tcp
protocol: TCP
persistence:
enabled: true
# NAS
storageClass: alibabacloud-cnfs-nas
size: 2Gi
containerPorts:
- name: http
containerPort: 8080
protocol: TCP
- name: monitoring
containerPort: 9600
protocol: TCP
- name: syslog-udp
containerPort: 1514
protocol: UDP
- name: syslog-tcp
containerPort: 1514
protocol: TCP
input: |- udp {
port => 1514
type => syslog
codec => json_lines
}
tcp {
port => 1514
type => syslog
codec => json_lines
}
http { port => 8080 }
output: |-
if [active] != "" {
elasticsearch {
hosts => ["xxx.xxx.xxx.xxx:xxxx"]
index => "%{active}-logs-%{+YYYY.MM.dd}"
}
} else {
elasticsearch {
hosts => ["xxx.xxx.xxx.xxx:xxxx"]
index => "ignore-logs-%{+YYYY.MM.dd}"
}
}
stdout { }
我讲下我的解决过程:
1、刚开始以为是logstash的问题,但是发现使用curl测试发送消息是ok的
➜ ~ kubectl port-forward service/logstash 8080:8080 -nlogstash
➜ ~ curl -X POST -d '{"message": "Hello World","env": "dev"}' http://localhost:8080
2、既然logstash没问题我就看看是不是logback有问题,发现不管怎么配置都不行
3、我就打算换个思路既然curl发送日志可以logback不行,我就想抓包试试logback发送的日志请求报文,于是我查看logback配置的时候我发现使用的是"net.logstash.logback.appender.LogstashTcpSocketAppender"类,再加上我使用的是curl的http请求,我于是推导出可能我的logstash的tcp端口可能不对,于是又回到logstash配置上面
4、最后修改logstash配置让tcp端口ping通才真正解决问题,所以问题就是tcp端口不通导致的,使用下面命令测试
telnet xxx.xxx.xxx.xxx xxxx
5、总结一下就是对logstash不太熟悉导致的,不知道logback是通过tcp发送的请求到logstash,自己还一直处在curl没有问题的状态中,好在最后发现了问题所在。
中年复健狗
需求:渲染一个表格,根据下拉菜单里面的条件做筛选。每个条件背后的数据模型各有差异,如何实现根据条件动态的渲染表头和内容呢?
现有两个查询条件,一个是日期时间,一个是下拉菜单选项。
条件选择部分的ui:
查询
下拉菜单:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241211/8d9990d8747b7607ab19276c2223b634.png)
数据源alldata:
每个条件对应的数据模型前几个字段相同,区别于data字段
async getAllData () {
this.allData = [
{
id: '0',
bar_no: '#P003844002672#v1',
process_no: 'OP30',
do_time: '2023-09-12 14:23:34',
ok_flag: 'OK',
ng_msg: '1111',
data001: 'right'
},
{
id: '1',
bar_no: '#P003844002672#v0',
process_no: 'OP50-1',
do_time: '2023-09-13 11:23:34',
ok_flag: 'OK',
ng_msg: '1111',
data001: 'right',
data002:'OK',
data003: 'right',
},
{
id: '2',
bar_no: '#P003844002672#v2',
process_no: 'OP70-1',
do_time: '2023-09-14 10:23:34',
ok_flag: 'OK',
ng_msg: '1111',
data001: 'right',
data002: 'right',
data003:'OK',
data004:'OK',
data005:'OK',
data006:'OK',
data007:'OK',
},
{
id: '3',
bar_no: '#P003844002672#v3',
process_no: 'OP90_temp2',
do_time: '2023-09-15 13:23:34',
ok_flag: 'OK',
ng_msg: '1111',
data001: 'right',
data002: 'right',
data003: 'right',
data004: 'right',
}
]
希望选中某一个工位后能够根据它对应的数据模型渲染出表头和内容。
这是我自己的解决办法,前提是所有数据模型都相同的情况:
getCols () {
const col = Object.keys(this.allData[0]).map(item => {
return ({ prop: item, label: item })
})
中年复健狗
这种怎么让其数字只为整数啊?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241207/07cc2244f25ac3fb11a2d5f57146113f.png)
中年复健狗
vue在render中写jsx slot-scope内的值如何写?
-1">
{{title.substr(0, title.indexOf(searchValue))}}
{{searchValue}}
{{title.substr(title.indexOf(searchValue) + searchValue.length)}}
{{title}}
例如上面代码事例
由 a-tree组件往slot="title" 向上传了一个title
如果在jsx中 怎么写这个slot-scope
这个slot-scope怎么写 才能获取到组件a-tree得到的title?
中年复健狗
请问我有一个h5页面,需要在上面加个下载按钮,直接把这整个h5页面,保存为图片,存到手机相册中?
1)可以参考使用这个
"html2canvas" (https://link.segmentfault.com/?enc=Z16xPbnwl7nkLYcS2BfOCg%3D%3D.uNnzmv6nkegzXMvtYdufHPSUTjOxyROez9BIzqoPb5ZthfPF%2B%2F5X2XuSEwypfd51)
2)注意事项是,大量图片记得是允许跨域访问的。
3)部分CSS样式,记得查看支持,本质就是canvas渲染出来。
这个是我最近的一次项目用到的
"html2canvas项目实践" (https://link.segmentfault.com/?enc=B8oq6%2BTIS0lWqUplAvTrxA%3D%3D.fYdxQMVl1ae5J%2FjxEr%2FTxRL8xkDFG3zUCROYHfl%2FTdkJz4DdT8HmnhnT9bO%2B8ZuMyInDXXiTq0%2FARnZWbDY%2BHyBm6lUOe2VpjkOdldIDzZg%3D)
" title=" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241129/3692b9a36b1d9cc759dd038f9c94fbdf.png)"
title=" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241129/f38ae3c21aa6550ae857c6d9dc62a5e3.png)
中年复健狗
分享的小程序页面打开没办法跳转授权页面?
自己分享给自己的吧?杀掉小程序点击分享链接 否则是拉起后台的小程序
中年复健狗
怎样最简单的输出几个拼接空字符串占位,比如一行内?
如果是 "javascript" 的话:
"aaaaa".padEnd(8, " ")
// "aaaaa "
中年复健狗
@vue/cli 4.5如何移除指定插件?
更新:
最终结果是该插件有依赖关系,想要删除"html"插件,需要连续删除多个,下面列出
config.plugins.delete('preload');
config.plugins.delete('prefetch');
config.plugins.delete('html');
分割线-----------------------------------------------------------------------------------------
module.exports = {
configureWebpack: {
devtool: 'none', // 禁用生成.map文件
optimization: {
splitChunks: false, // 阻止抽离公共模块
},
},
chainWebpack: (config) => {
config.plugins.delete('copy');
config.plugins.delete('html');
config.plugins.delete('preload');
},
};
执行"config.plugins.delete('preload')"后,报错"TypeError: Cannot read properties of undefined (reading 'tap')"
错误来源是"\node_modules\@vue\preload-webpack-plugin\src\index.js:115:65"
也就是,我已经调用了删除该插件,但还是执行到了"preload-webpack-plugin"插件中,咋回事呢?删除无效吗?
中年复健狗
springboot中拦截器、过滤器、监听器各自使用场景?
在遇到使用springboot拦截请求的需求时,经常不加区分的使用拦截器、过滤器、监听器,感觉都能实现请求的拦截,现在想具体区分在实际业务中这三个的使用场景
希望大佬可以基于实际业务场景进行解答
中年复健狗
请问 chrome devtool 如何指定 Mozilla 或是android版本测试?
这要取下载指定版本的浏览器才行,chrome只能改ua,不能实现切换版本,
你可以去线上下载历史版本进行测试"https://www.slimjet.com/chrome/google-chrome-old-version.php"
这有chrome的之前的历史版本,你可以试试,最好弄个沙河或者虚拟机来装
中年复健狗
python多进程共享一个可操作的变量, 如何保证原子操作?
python多进程共享一个可操作的变量, 如何保证原子操作?
我的需求
目前有多组数据需要执行计算型任务, 每执行完一组数据就要给java通知并传递生成的结果文件,
并且我要在把所有任务都执行完的时候(也就是最后一组数据执行完的时候)告诉java本轮次数据全部执行完毕, java那边就要去整体做数据库入库的操作。
我的设想
多进程之间维护一个整型数值, 在执行完一组数据的时候自增1, 并在通知java的方法中去比较这个整型数值和总任务数量,
相等就代表全部完毕。(这中间不考虑计算任务执行失败的情况)
面临的情况
我通过 "multiprocessing" 模块中的 "Manager" 去声明了一个整型变量, 然后给每个进程传递了过去, 在执行自增的时候,
出现了多个进程读取到同一个值的情况(详细可以看下面的输出, 或者自行执行下面的demo), 无法满足数值的读写原子, 我尝试了加锁, 但是没有生效。
这是我抽象出来的demo
from concurrent.futures import ProcessPoolExecutor
import ctypes
from multiprocessing import Manager, Lock
from multiprocessing.managers import ValueProxy
import os
m = Manager().Value(ctypes.c_int, 0)
def calc_number(x: int, y: int, _m: "ValueProxy", total_tasks: int):
"""模拟耗时任务函数"""
# 模拟耗时计算
res = x**y
# with Lock(): 加锁也不管用...
# 多进程共享变量, 用于比较总任务数量
with Lock():
_m.value += 1
# 当总任务数量和_m.value相等的时候, 通知第三方任务全部做完了
if _m.value == total_tasks:
print(True)
print(f"m_value: {_m.value}, p_id: {os.getpid()}, res: {res}")
def main():
# 以下假设有8组任务
t1 = (100, 200, 300, 400, 500, 600, 700, 800)
t2 = (80, 70, 60, 50, 40, 30, 20, 10)
len_t = len(t1)
# 多进程执行cpu耗时性任务
with ProcessPoolExecutor(max_workers=len_t) as executor:
{executor.submit(calc_number, x, y, m, len_t) for x, y in zip(t1, t2)}
if __name__ == "__main__":
main()
这是我目前的demo,从我的业务代码中抽象出来的。
这是代码的输出打印(很明显是错误的):
m_value: 2, p_id: 14873, res: 118059162071741130342400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
m_value: 2, p_id: 14877, res: 12676506002282294014967032053760000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
m_value: 3, p_id: 14875, res: 42391158275216203514294433201000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
m_value: 3, p_id: 14872, res: 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
m_value: 4, p_id: 14883, res: 797922662976120010000000000000000000000000000000000000000
m_value: 5, p_id: 14879, res: 909494701772928237915039062500000000000000000000000000000000000000000000000000000000000000000000000000000000
m_value: 5, p_id: 14881, res: 221073919720733357899776000000000000000000000000000000000000000000000000000000000000
m_value: 6, p_id: 14885, res: 107374182400000000000000000000
正确的输出应该 "m_value" 是 "1,2,3,4,5,6,7,8" 以此打印出来的。
希望对此颇有研究的大佬指点迷津, 或者给出其他可行方案。最好贴出代码, 不胜感激。
***
问题已解决: 锁多次创建没有保证是同一把锁是主因
中年复健狗
indexDB 离线存储和数据同步问题?
目前的需求是有一个应用,有移动端(flutter)和 PC Electron,数据要支持离线存储,并且移动端的数据和 Electron 应用数据要支持同步。
其中数据包括图片,文本等,数据量是 G 级别。
目前有两套方案,一个是文件的方式存储数据,那么同步工作就会很简单。
另一种就是使用 indexDB
数据同步需要支持断点续传功能。
我更倾向使用 indexDB,请问使用 indexDB 在数据同步这一块有没有什么限制?
各位更推荐哪种方式?
中年复健狗
Vite配置文件中的404错误怎麽解决?
配置vite.config.js"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241111/79aefe627be1655fbb86ce114b4d0d8a.png)
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241111/45faf700881fdd91541005146294c1b0.png)一直显示404我应该怎麽解决啊?
希望跨域成功
中年复健狗
java如何跳出switch?
break;
中年复健狗
element-plus类名样式为什么无效?
因为这些类名不是"element-plus"内部的,是针对这个页面写的
"ep-bg-purple"在"https://github.com/element-plus/element-plus/blob/dev/docs/examples/layout/index.scss" (https://link.segmentfault.com/?enc=MgQM4L4heVBUnXQAuiFxQg%3D%3D.ZjNgY%2BLctwqKoRqGZRYnuIZmOlUOkHewIiyLMtb8v32Ib9KKXENyuY4gS7htXHkmTICwVajjAA7aWTpmwQ2S%2BGrYHcCFvLeBEOZ0FyF61LrrMAExApeONy5CaG9vxFl4)
"grid-content"就在源码里"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241110/439adebcb47ff85568eabecef991a96c.png)
中年复健狗
go语言websocket,如何实现100万连接,并且部署在多台服务器,用户的channel还可以互相通信?
是100万个连接,他们会被分配到多台服务器上,然后要求连上服务器的不同连接之间可以相互通信,你这是在做即时通讯吧。
那就在服务器之间,加一个连接,让三个服务器之间能交换数据,共享它们的连接信息。
比如A客户端连接在服务器S1
上,B客户端连接在服务器S2上。A给B发送消息的时候,如果S1发现它的连接列表里面没有B的连接,那就去其他服务器上查询,如果查询到有,S1就把消息发送给S2,然后S2发送给B。(基本上涉及到集群的都是类似这种方式),好像带集群功能的应用大多都是这样实现的。
还有其他的方法,客户端在连接的时候,就根据算法,算出来要去连接哪一台服务器。后面其他客户端如果要发消息给某个客户端,就能根据一样的算法,算出这个客户端连接那个服务器,也能达到一样的效果。(感觉这个方法比较挫)
,有点像redis的集群。
中年复健狗
echarts折线图展示问题?
找到了,通过设置series里的showAllSymbol属性。
中年复健狗
微信小程序未登录和登录后的接口调用问题,老是遇到这类问题,请问大家一般如何处理比较合适?
// login如果是 promise下面直接then 。如果不是 promise 那就构建成 promise
login(){
return new Promise((resolve) => {
// 登录逻辑
resolve(data)
})
}
_util2.default.login().then(() => {
_that_login.getDataList()
that_login.price_rank_view()
})
中年复健狗
如何使用LocalStorage实现网页信息本地修改?
我需要修改网页的信息,本地使用,是他刷新后不会变成原来的样子。
新手小白,问过Ai,Ai的解决办法是使用LocalStorage。我用的chrome浏览器。
// 获取百度一下按钮的元素
var button = document.getElementById("su");
// 定义一个函数,用于修改按钮的文本
function changeText() {
// 如果 localStorage 中有保存的文本,就使用它
if (localStorage.getItem("buttonText")) {
button.value = localStorage.getItem("buttonText");
} else {
// 否则,就使用默认的文本
button.value = "百度一下";
}
}
// 调用函数,修改按钮的文本
changeText();
// 为按钮添加点击事件监听器
button.addEventListener("click", function () {
// 如果按钮的文本是百度一下,就改成百一下,并保存到 localStorage 中
if (button.value == "百度一下") {
button.value = "百一下";
localStorage.setItem("buttonText", "百一下");
} else {
// 否则,就改回百度一下,并从 localStorage 中删除
button.value = "百度一下";
localStorage.removeItem("buttonText");
}
});
这是Ai给出的代码,使用后并没有什么变化,localStorage除了相关网站什么也没有。请问是哪里出问题了呢?
我需要把百度一下改成百度下,使其刷新也不会消失。
我问过Ai,网上大量寻找资源,却一知半解。
我希望能够修改信息。
中年复健狗
这用的是echart的哪个类型?
用的是关系图,布局选 "none",然后设置 "x, y" 的位置相对容易实现
写了个简单例子:
option = {
title: {
text: 'ECharts 关系图示例'
},
tooltip: {},
animationDurationUpdate: 1500,
animationEasingUpdate: 'quinticInOut',
series: [
{
type: 'graph',
layout: 'none',
data: [
{name: 'ThinkYMF', symbolSize: 80, x: 105, y: 105},
{name: '化工', symbolSize: 80,x: 100, y: 100},
{name: '建材', symbolSize: 80,x: 110, y: 100},
{name: '化工2', symbolSize: 80,x: 110, y: 110},
{name: '建材2', symbolSize: 80,x: 100, y: 110},
],
// 在这里设置节点间的连线
links: [
{source: '化工', target: 'ThinkYMF'},
{source: '建材', target: 'ThinkYMF'},
{source: '化工2', target: 'ThinkYMF'},
{source: '建材2', target: 'ThinkYMF'},
],
// 设置节点的样式
itemStyle: {
borderColor: '#fff',
borderWidth: 1,
shadowBlur: 10,
shadowColor: 'rgba(0, 0, 0, 0.3)'
},
// 设置线的样式
lineStyle: {
color: 'source', // 根据source节点的颜色决定线的颜色
},
// 设置标签样式(节点上的文字)
label: {
show: true
}
}
]
};
效果:
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241029/6bdc47fce32d061bfe5d4917287e4e45.png)
如果定位有规律也可以具体实现一个函数计算位置,上面只写了个简单的案例
«"官方文档 -> 关系图" (https://link.segmentfault.com/?enc=Wr1G7gZtT9cj31t6RXowQQ%3D%3D.HlBcKRSesdCJD13INHbM%2FCuX%2FWRYU6xoSsa%2BwF%2BfLWhcv%2F%2FKelfCaiOImr08ClOHBHu0ldRQ%2F%2FQGCQxpp0jivSJNb1VI1%2FkjFCs%2Fip66XLA%3D)»
中年复健狗
解决夸克、QQ、UC浏览器保存base64图片失败问题?
我之前也遇到一个类似的问题,应用有一个图片剪裁的功能,用户上传图片,发现图片尺寸不对会进行剪裁,剪裁后图片以 base64
的格式输出,之后把图片上传到云存储上。也是在你列举的几个浏览器上上传失败,当时的做法是把剪裁后的图片在一个新的页面上打开,然后让用户保存后重新上传图片。
中年复健狗
今日(10月22日)科技互联网行业大事件!
一、重要会议与论坛
2024年世界科技与发展论坛
- 概述:由中国科协主办,在北京开幕,主题为“面向未来的科学技术”。
- 参与者:来自28个国家和地区的120余位境外嘉宾,包括诺贝尔奖、图灵奖获得者,国际科技组织负责人,知名教育家、企业家等。
- 活动内容:六场主题会议及三场圆桌对话,议题涵盖人工智能治理、学科交叉融合、开放科学基础设施等。
骁龙峰会2024
- 概述:高通公司发布下一代旗舰移动平台——高通骁龙8 Gen4。
- 产品亮点:
- 搭载自研Oryon核心,采用2+6架构(两颗超大核和六颗大核)。
- 配备全新Adreno 830 GPU,提升多媒体娱乐和视觉效果。
二、新品发布与预售
华为相关新品
- 华为nova 13系列:采用斜向格纹后盖设计,全系支持北斗卫星图片消息,今日发布。
- 华为WATCH Ultimate智能手表:新增“绿野传奇”配色,今日19:00发布。
Redmi显示器G27Q多功能支架版2025
- 预售情况:小米商城预售,售价1399元,预售享100元订金抵550元,首发价949元,10月25日开售。
三、行业趋势与动态
电商行业
- 天猫双11预售活动:上线大牌新品首发日历,超200个奢侈品品牌参与,预售期上线超10万款新品。
融资与合作
- 印度社交媒体平台Lokal融资:筹集1200万美元,腾讯领投。
- 京东物流接入淘宝天猫平台:京东物流与淘天集团合作,为平台商家提供更多物流选择。
四、其他重要资讯
安卓系统更新
- 谷歌Pixel设备安卓15更新:带来隐私和安全改进,新增“防盗保护功能”远程锁定设备。
小米15热议
- 小米15上热搜:引发米粉热议,期待新品发布。
中年复健狗
如何为文件夹添加完整性校验:方法与工具?
"https://online.bqrdh.com/file/hasher" (https://link.segmentfault.com/?enc=ZgDpPi%2FMBOrB83bOru7H6w%3D%3D.YRqwsnQ6Cui1hdU8poYDPyVdn10SjzOcnbMffki5b0tuTPm44DG%2FgubUyld7WfyO)
我常用这个网站查看文件哈希值和修改文件哈希值
中年复健狗
php在循环中使用 SHOW TABLES LIKE 'table'; 为什么会出现 2006, MySQL server has gone away?
可能的原因会很多,可以参考 "MySQL
手册" (https://link.segmentfault.com/?enc=uV%2BzI%2BcPIr1LhA1i82R1fA%3D%3D.0iji%2Fxwk1UrnuI5whnKKq0%2BWpAA5f2XLIp99On85oWw0NHcCv0x4dBXUEsGsqBVYllKnAqQn7H3QhglE4Bqq%2F5WxQMu%2F%2BmVimcucawHVkx%2FdWaUK4Wnyf082nP1zLdjbpHgiAdNJO7pRnZ%2BLN%2BXviujwif2%2F6v4kCYF1AcQqrNEuqCxvVrtoWJVbZ1YGAWf%2FJvCDD3ijFaoii0Njgd6E%2Bw91Pz7yWnYsSgIyRwOF161HRe5f6QV4WIH1kJvmW7LA6EtZf47Y1Ma0kP6%2Bl5RtaRPkNVN3%2FHJi1%2BzixC6JKcs92pa4D0X%2BK8d7o9RvJG%2BQVL7B0bEEa5YQscknasnA7m5iZcGVrwuooX%2BYgU7C6ohWep3Oge5mqqSNV8zl5%2BNJflIuE8hsQjdTAkoogABHJkH%2F4U5q6b56wArZRhHH6wFQ9QLOzyz5j2APiWMRGRNrK4Tz1ZVn5siWYvlXgWIl9tjctZhD9WpmxPlr5v9%2Bhk18OyFELULlpjHJ6M30Wk5gshII0%2BJ1eMVe747qAU7nCQ%3D%3D)
中的说明去解决。
如果你只想简单解决问题,那有更简单的方法,就是自动重连,参考 ThinkPHP 手册中关于
"断线重连" (https://link.segmentfault.com/?enc=WwbxV4J4xyiK%2F3x1F%2FqL%2Fw%3D%3D.z%2FiE06GpT0wfnDUn0noZoFJJbT1%2FqDeIXMX813ds7%2FGE6Xek2oU8cZlC%2F%2BILXwWn)
的配置介绍。
***
另外,你这种方式会存在一些意外风险,在 MySQL 中,DDL
语句是会自动提交事务的,如果你的代码在事务中运行,且这个表不存在的时候,走到了创建表的语句,就有可能导致事务被意外的提交了,基于这个原因,你得建表操作最好在外部完成。
除此之外,在一些情况下,你还可以有其他的优化方案来查询你这个 show tables,你可以在循环外面使用:"show tables like 'test_table_%'",将指定前缀的表取出来,存为变量,然后用 php
去判断就好了,而不是现在这样每次都查询。如果循环比较多,可能在这个期间创建了表,那你还可以考虑每 N 个或者每 N 秒后,执行一下上面的语句,重新覆盖一下。
中年复健狗
用静态博客框架自建博客选型?
目前使用hexo,但是不支持latex的数学公式
希望大佬们可以推荐几个支持latex数学公式和markdown 的静态博客框架
中年复健狗
MinIO 如何对上传文件进度监控?
官方SDK里面使用示例,以下为mino-py为例:
"https://github.com/minio/minio-py/blob/master/examples/progress.py" (https://link.segmentfault.com/?enc=iGDkIjXJtGb0gXbnBmHNFQ%3D%3D.e5LYIst9qgsEJgptxXAyj38rUKizz%2BGxLk7MpQNQSv1Qv1WyoUdCCAnkZT27cq7tTSdXa%2FJlvx1sPvDVF1esCziUEiSCUrWzBwIvbicEWLk%3D)
在上传的函数里面 有个"progress: ProgressType | None = None," 参数
***
在Java SDK中 "https://github.com/minio/minio-java/blob/master/examples/PutObjectProgressBar.java" (https://link.segmentfault.com/?enc=PvLHpyDvx7dUNkfUQPPG9A%3D%3D.A2eSbNubuuWRqgdxjcAKgeaZ%2BgRvL1wBPJUoziwWrAY121pJ5T3L9Uewcxkk7WrtsBcp6sygnPZWBxenJzC6%2BAuEBsXOv96ECEliPm%2BFVw7ehzF%2Ffwx1gGGTgN9kV%2FME)
中年复健狗
小程序中可以实时捕捉直播画面并显示在列表中吗?
小程序中可以实时捕捉直播画面并显示在列表中吗?就像抖音商城列表中那样,有解决方案吗
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241014/c33fecd83b94c2a60b96397ad6cb6d5d.png)
中年复健狗
pnpm依赖安装不了最新版本?
你指明的就是就是 1.1.3 版本,所以 pnpm 装 1.1.3 很正常。如果你想装更新的,"pnpm update" 即可。
中年复健狗
解决Spring Boot多模块项目依赖冲突?
我的项目是个springboot多模块项目,其中2个模块A,B, A的pom文件引用了B,B
pom里也引用了A,现在启动报错。怎么能配置pom文件正常启动?
现在是把依赖的代码去掉了,在自己模块在写一遍,但是代码就重复了。希望通过配置文件消除这个问题。
中年复健狗
Vue3 + Element Plus 开发网页,使用 el-table 表格组件完成横、列都是动态数据的渲染,并且动态数据中含有二级分类?
先看下效果图
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241011/7f2c88233a3dc72f81138ef87d3d4895.png)
这个需求主要点就是表格列动态渲染和行合并
html 代码
{{
scope.row[item.prop][list.prop]
}}
js 代码
// 模拟后台返回的表格头部信息
const headerList = ref([
{
label: '达飞',
prop: 'column1',
subList: [
{
label: '保理当日',
prop: 'day'
},
{
label: '保理累计',
prop: 'total'
}
]
},
{
label: '农行',
prop: 'column2',
subList: [
{
label: '农行秦分当日',
prop: 'day'
},
{
label: '农行秦分累计',
prop: 'total'
}
]
}
])
// 模拟后台返回的表格数据信息
const tableData1 = ref([
{
group: '海港组',
total: 123,
person: 'aa',
column1: {
day: '500',
total: 3000
},
column2: { day: 100, total: 3000 }
},
{
group: '海港组',
total: 123,
person: 'bb',
column1: {
day: '500',
total: 3000
},
column2: { day: 100, total: 3000 }
},
{
group: '海港组',
total: 123,
person: 'cc',
column1: {
day: '500',
total: 3000
},
column2: { day: 100, total: 3000 }
},
{
group: '其他组',
total: 123,
person: 'cc',
column1: {
day: '500',
total: 3000
},
column2: { day: 100, total: 3000 }
},
{
group: '其他组',
total: 123,
person: 'cc',
column1: {
day: '500',
total: 3000
},
column2: { day: 100, total: 3000 }
},
{
group: '其他组',
total: 234,
person: 'cc',
column1: {
day: '500',
total: 3000
},
column2: { day: 100, total: 3000 }
}
])
const groupArr = ref([]) // 用于合并组
const groupPos = ref(0) // 合并行数默认值
const totalArr = ref([]) // 用于合并生产单
const totalPos = ref(0) // 合并生产单默认值
// 表格行合并方法
const merge = (tableData) => {
// 要合并的数组的方法
groupArr.value = []
groupPos.value = 0
totalArr.value = []
totalPos.value = 0
for (var i = 0; i {
if (columnIndex === 0) {
// 合并组
const _row_1 = groupArr.value[rowIndex]
const _col_1 = _row_1 > 0 ? 1 : 0 // 如果被合并了_row=0则它这个列需要取消
return {
rowspan: _row_1,
colspan: _col_1
}
} else if (columnIndex === 1) {
// 第二列的合并方法,合并生产单
const _row_2 = totalArr.value[rowIndex]
const _col_2 = _row_2 > 0 ? 1 : 0
return {
rowspan: _row_2,
colspan: _col_2
}
}
}
merge(tableData.value)
基本上满足了需求,动态列还有其他字段可以按照格式添加,合并行目前支持前两列相同数据合并
中年复健狗
视频文件下载问题?
这是浏览器默认的系统功能,你可以使用第三方视频组件,这样就能实现统一处理,比如videojs
中年复健狗
确保先拿到上一个script 引入js get请求的结果,再走下一个js 文件中的内容,应该怎么修改呢?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241011/ca446f077ed1eb7f88d88c8f66442525.png)
如图所示在"html"页面,通过"script"标签引入的"publickKey"文件
这里面需要发送"get"请求,请求服务器上一份加密key,然后在引入的其他"js"文件中使用
所以我需要确保 先拿到"get"请求的结果,再走下一个js 文件中的内容
"publickKey.js" 中用了 asynac await 但是还是先执行了下面的js 文件,导致没有拿到key ,
现在需要先拿到"get"请求的结果,再走下一个js 文件中的内容,应该怎么修改呢?
async function a(){
const res = await request
}
中年复健狗
如何在 AMH 系统中解决 CSRF 提示问题?
amh全局所有请求都有CSRF防范判断,如果请求缺少验证的值就会有这个提示。
在提示面板点击:恢复当前服务 就可以。
或如果不需要CSRF防范,在面板『设置』可以关闭。
中年复健狗
mysql sum多个字段千万级数据如何查询优化?
索引的存在是为了跳过不需要的记录,减少记录扫描数,所以对于任何全表操作都是无效的。因为既然你的 SQL 需要每条记录都参与计算,那么索引就没有意义。
如果你需要频繁的更新 sum,同时数据量极大,那么每次都扫描全部记录肯定是不现实的,就算你做了读写分离,只读库的负载依旧会非常高。所以优化思路有两个:
1. 控制 SQL 的执行频率,让一个线程定时执行,并将结果放入缓存。好处是保持设计不过于复杂,缺点是在某种程度上牺牲了实时性;
2. 将计算方式改为增量,例如把 sum 值放在缓存里,设计专门的逻辑来对其增量更新。好处是能做到实时,缺点是增加了复杂性。
另外,为什么你要一次查全部用户呢?如果一次只查询一个用户,那么就不会有这个问题。
中年复健狗
如何在ECharts雷达图中实现标签名和tooltip的差异化展示?
echarts 在雷达图里
标签名称是brand,对应的tooltip为什么也是brand,可以差异化展示吗?但是我看tooltip的formatter其实只支持在雷达图里面差异化展示,但是点击标签名,展示的tooltip只能是标签名,不能差异化展示,有解法吗?
https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241009/49663e7655198d13de2e0c3f5f5ac5d9.png
希望标签名和对应的tooltip,可以差异化展示
中年复健狗
如何实现物联网设备位置数据高效存储与查询?
物联网设备每隔1s上传一次自身所在位置经纬度,需求要支持任意时间段的历史数据查询,有什么建议的数据库架构方案?
之前类似需求一直用MySQL分表实现的,查询SQL比较复杂,而且查询速度也不快
中年复健狗
一个很复杂的项目用什么前端框架比较好?
虽然我是用"react"的,但是我感觉你的结论下的太武断了。
"“项目非常的复杂,页面估下来有300多个页面”"
项目复杂度并不能靠页面数量来评估。
"“但这么大的项目用vue就有点不合适了”"
我个人感觉,一般的公司是不会碰到"vue"的天花板的,毕竟国内外大厂用"vue"的也不少。
举例国内的,百度、腾讯、京东、美团、网易、b站、微博,你的业务不会比这些公司的都复杂吧?
中年复健狗
为什么ant-desin-vue组件的智能提示来自于iviewui?
感觉是像你装了什么插件导致的…… 比如说 "vue-helper" (https://link.segmentfault.com/?enc=x4l5Rro3%2F%2FiOXZb87RJHjg%3D%3D.Q2LeYsSLKwaslEw%2FNQZGw3PxZ2PDylkPkXc8vCZRnO6D2zVJ5gOSO2%2BFWLuIXHw11XNa8pyJ9odm%2FtVRiDBywkR7iVJcaOV6XNXfNO9b0lQ%3D)
中年复健狗
在鸿蒙OS的arkts的axios中, 怎么取消某个http请求?
在鸿蒙OS的arkts的axios中, 怎么取消某个http请求?
«本文参与了"思否 HarmonyOS
技术问答马拉松" (https://segmentfault.com/a/1190000044600728),欢迎正在阅读的你也加入。»