Ufoooo4U
使用AWS S3下载,报错怎么解决?
if(!val.properties.locations.length){
this.$warn('文件不存在');
return false;
}
let url = val.properties.locations[0].url;
let regex = 's3://(.*):(.*)@(.*)/(.*)/(.*)';
let arr = url.match(regex);
let bucketName = arr[4];
let key = arr[5];
let endpoint = arr[3];
let accessKeyId = arr[1];
let secretAccessKey = arr[2];
// 创建下载链接
const params = {
Bucket: bucketName,
Key: key,
Expires: 100,
ResponseContentDisposition: `attachment; filename = ${val.name}.${val.disk_format}`
};
const s3 = new AWS.S3({
endpoint: 'http://' + endpoint,
accessKeyId: accessKeyId,
secretAccessKey: secretAccessKey,
s3ForcePathStyle: true,
signatureVersion: 'v4'
});
s3.getSignedUrl('getObject', params, (err, url) => {
if (err) {
console.error('无法生成文件:', err);
} else {
// 使用生成的URL下载图片
window.open(url);
}
});
如果出现process.hrtime is not a function可能是jsconfig.json中的"target":
"ES6"问题,需要注释掉,要么就是更改依赖文件中的process.hrtime为Date.now,这个第二种我没有试在打包部署之后会不会有什么问题
Ufoooo4U
想实现windows自动安装给定软件?
可以考虑使用批处理脚本(.bat)或PowerShell脚本(.ps1)
Ufoooo4U
joi.example API是干什么用的?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250105/a86c5763ace610d6caffd2b506a79f97.png)
这个API是干啥用的阿?看不懂
Ufoooo4U
如何让 docker build 的时候,不要联网更新基础镜像?
FROM python:3.11.5-bookworm
RUN echo "deb http://mirrors.aliyun.com/debian/ bookworm main non-free contrib" > /etc/apt/sources.list
对于 "python:3.11.5-bookworm" 这个镜像
每次运行 "docker build -t "ponponon/svddb_api:2023.09.08.1" ." 好像都回去检查 dockerhub 上
"python:3.11.5-bookworm" 是否要更新?
但是因为连接 dockerhub 挺慢的,我希望本地已经有 "python:3.11.5-bookworm" 了就不要去联网更新
"python:3.11.5-bookworm" 了
╰─➤ docker images | grep python
python 3.10.10-bullseye 2b8b079d7548 5 months ago 912MB
从上面可以看到,我本地已经有 "python:3.11.5-bookworm" 了
─➤ make build
docker build -t "ponponon/svddb_api:2023.09.08.1" .
[+] Building 256.2s (4/18) docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 914B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2.31kB 0.0s
=> [internal] load metadata for docker.io/library/python:3.11.5-bookworm 36.3s
=> [internal] load build context 0.1s
=> => transferring context: 176.86kB 0.1s
=> [ 1/14] FROM docker.io/library/python:3.11.5-bookworm@sha256:3d10a95a05674b7e42ac53267774880b255949e5e2aed 219.9s
=> => resolve docker.io/library/python:3.11.5-bookworm@sha256:3d10a95a05674b7e42ac53267774880b255949e5e2aed9be5 0.0s
=> => sha256:22c957c35e37bdd688c2bdda50dc72612477d6c9c393802163b14d197a568bff 7.53kB / 7.53kB 0.0s
=> => sha256:012c0b3e998c1a0c0bedcf712eaaafb188580529dd026a04aa1ce13fdb39e42b 49.56MB / 49.56MB 80.9s
=> => sha256:00046d1e755ea94fa55a700ca9a10597e4fac7c47be19d970a359b0267a51fbf 24.03MB / 24.03MB 43.2s
=> => sha256:9f13f5a53d118643c1f1ff294867c09f224d00edca21f56caa71c2321f8ca004 64.11MB / 64.11MB 69.5s
=> => sha256:3d10a95a05674b7e42ac53267774880b255949e5e2aed9be590143df33f95c64 1.65kB / 1.65kB 0.0s
=> => sha256:8a164692c20c8f51986d25c16caa6bf03bde14e4b6e6a4c06b5437d5620cc96c 2.01kB / 2.01kB 0.0s
=> => sha256:e13e76ad6279c3d69aa6842a935288c7db66878ec3b7815edd3bb34647bd7ed0 137.36MB / 210.99MB 219.9s
=> => sha256:ad4c837a72f8d2d63d64bf7f9d7c43fe9e67f3d82af7ac47e977a06b95ff7b3a 6.39MB / 6.39MB 92.7s
=> => extracting sha256:012c0b3e998c1a0c0bedcf712eaaafb188580529dd026a04aa1ce13fdb39e42b 0.6s
=> => sha256:0f546edb7ae0f7fecbac92a156849e2479dbf591ed0be9ac68e873da28c2a7a7 19.78MB / 19.78MB 120.8s
=> => extracting sha256:00046d1e755ea94fa55a700ca9a10597e4fac7c47be19d970a359b0267a51fbf 0.2s
=> => extracting sha256:9f13f5a53d118643c1f1ff294867c09f224d00edca21f56caa71c2321f8ca004 0.8s
=> => sha256:e2f1160974087f047a90d64ce50bd95d279c89309f32caeaa0b3503c253cab45 244B / 244B 107.9s
=> => sha256:a0d3c67a6b6b0b67a9e4735c18ae78ca68e2252e0bed7e6fc3912dd5e0e8f042 3.11MB / 3.11MB 124.2s
***
这部分耗时挺久的
"图片.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250105/8f1969d4664b0f21e178aacf77082ba9.png)
***
好像可能是乌龙
之前没有显性执行过 docker pull python:3.11.5-bookworm
Ufoooo4U
Flutter 中使用 CheckboxListTile 和 List,无法选中,数据也不正常,请问是什么问题?
问题未复现。你还是贴一下完整代码吧。
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250104/889f8ac46ff01fcfbe4bfa12e3fa62ce.png)
以下是我的测试代码,运行在
"https://dartpad.dev/dart" (https://link.segmentfault.com/?enc=SIiaGt3fUNqRxKmkG%2FQgjA%3D%3D.PuFM1FhLJKKPYE9nk55vzI27RKc7dDSm15q5swKohmE%3D)
上:
import 'package:flutter/material.dart';
enum Belief {
belief1,
belief2,
belief3,
belief4
}
void main() => runApp(const CheckboxListTileApp());
class CheckboxListTileApp extends StatelessWidget {
const CheckboxListTileApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData(useMaterial3: true),
home: const CheckboxListTileExample(),
);
}
}
class CheckboxListTileExample extends StatefulWidget {
const CheckboxListTileExample({super.key});
@override
State createState() => _CheckboxListTileExampleState();
}
class _CheckboxListTileExampleState extends State {
List beliefs = [];
@override
Widget build(BuildContext context) {
return Scaffold(
body: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
const Text("Let's personalize what works for you. Which belief(s) resonate with you the most?"),
for (var belief in Belief.values)
CheckboxListTile(
title: Text(belief.toString().split('.').last),
value: beliefs.contains(belief),
onChanged: (bool? value) {
setState(() {
if (value!) {
beliefs.add(belief);
} else {
beliefs.remove(belief);
}
print(beliefs);
});
},
)
]
),
);
}
}
Ufoooo4U
这种效果的饼状图怎么实现的,求解?
效果图
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250103/977d846692e472fe66ebc330b34aef0c.png)
Ufoooo4U
这种效果的饼状图怎么实现的,求解?
效果图
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250103/977d846692e472fe66ebc330b34aef0c.png)
Ufoooo4U
Java 有没有办法可以像谷歌浏览器审查元素那样获取HTML?
Java 有没有办法可以像谷歌浏览器审查元素那样获取HTML?
比如vue写的,直接获取不到正常页面那样的HTML,有没有办法模拟浏览器那样审查元素获取html?
Ufoooo4U
websocket object序列化问题?
哪怕只是页面休眠,都会导致会话停止,更不要说关闭页面了,所以想存起来日后再用是不可能的,只能每次需要的时候重连。
把socket连接的 url 等信息记下来,保存到本地,下次进网页的时候重新初始化就行了。
Ufoooo4U
html中Ctrl+滚轮时想禁用放大和缩小事件,怎样禁用?
试了下resize没好使啊。
Disable Zoom
.a {
width: 300px;
height: 300px;
background: #f00;
}
Ufoooo4U
ts 如何继承父类并修改属性?
ts 如何继承父类并修改属性?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241223/92f4409cab776e1bf6734725e267613b.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241223/2bb8463f7c157589e6445ed7b69c5a8e.png)
相关代码
export interface ITableData {
flag: 0 | 1
measure_name: string
measure_value: number
result_desc: string
standard_deviation: number
standard_value: number
name: string
}
interface IMeasureData extends ITableData {
measure_value: number | string
}
const measureList: IMeasureData[] = [{ measure_value: "2" }]
Ufoooo4U
es模式写的方法,怎么打包后可以在浏览器里调用那些方法?
我用npm
创建了一个项目,用npm方式安装了几个库,然后在index.js里写了几个方法,比如func1(),func2(),这些方法依赖我安装的这几个库。我用rollup或者webpack将index.js打包后,怎么在普通网页里调用这个打包后的文件,并调用里面我写的自定义方法func1()
//index.js文件
import module1 from 'module1'
import module2 from 'module2'
function func1(a, b){
//依赖module1
}
function func2(a, b) {
//依赖module2
}
func1('x', 'y')
func2(1, 2)
Ufoooo4U
如何快速生成适用于cascader的数据格式?
封装个函数,把年份传进去就行了
const months = [];
for (let i = 1; i <= 12; i++) {
const month = {
value: `${i}`,
label: `${i}月`,
children: [],
};
const daysInMonth = new Date(2023, i, 0).getDate();
for (let j = 1; j <= daysInMonth; j++) {
month.children.push({
value: `${j}`,
label: `${j}号`,
});
}
months.push(month);
}
console.log(months);
Ufoooo4U
浏览器的缓存问题:vue2的单页面程序。 项目升级后,客户直接打开链接访问的还是老的,必须手动刷新一下才行。重新打开链接 都不生效??
看看这个帖子,打包的时候生成文件加哈希名:
"https://stackoverflow.com/questions/59648117/how-to-force-clearing-cache-in-chrome-when-release-new-vue-app-version" (https://link.segmentfault.com/?enc=u5jLgWg0FhqeXLk%2B%2BHj28g%3D%3D.XIUd5OvmbfNoUjwlXxnD%2FOBrPu7vdJkY8NTvergLW6LL%2FpSywNMGjnClztFeuNY2cUe878xbr8GQrtkv398M95tQRZhBwcOzHfWguMIAUbyCiv1szAThSUoo%2BN7SNfaTPrUuBfCP6xPygQW7lTfRDC2R3a9RDCRH3hPNh%2BHWv%2Fc%3D)
Ufoooo4U
thinkcmf插件类不存在的问题?
没人知道吗?
Ufoooo4U
这种图片切换的效果是如何实现的?
考虑用div的background-image,然后改变div宽度达到你要的效果,而不是直接用img
Ufoooo4U
例如app控制海康摄像头转动,采用的是什么技术?
app发送命令 -----海康服务器接受信息并发送信息------海康服务器通知摄像头转动 这样的流程吗
是不需要反馈的 是吧 有没有懂得 想知道大概是怎么样的一个流程或用到什么技术
1.那我现在有一个这样的想法 app---发送并响应仪器状态--》java(这里修改仪器在数据库的状态)--发送并响应是否成功---》py--控制--》仪器
2.这是不是要有个前提需要检测py是否喝仪器能否连接
app--是否连接并响应--》py--检测---》仪器
或
app--是否连接并响应--》java--是否连接并响应--》py--检测---》仪器)(这个感觉没必要经过java了 因为对数据库并没有任何修改
除非py那边一直能反应连接状态)
Ufoooo4U
js如何获取input中target下的value字符串?
直接通过 "event.target.value" 就可以获取到了哇。
const myInput = document.querySelector("input");
myInput.addEventListener("input", (event) => {
document.querySelector("#inputContent").innerText = event.target.value
});
Ufoooo4U
这个对象数组怎么合并呢?
let list = [
{name:'选项1',value:1},
{name:'选项2',value:2},
{name:'其他',value:3},
{name:'其他',value:4},
{name:'其他',value:5}
]
怎么把 "name" 等于选项 "3" 的合并成一条呢,然后把 "value" 加起来,比如合并成
[{name:'选项1',value:1},{name:'选项2',value:2},{name:'其他',value:12}]
Ufoooo4U
fastapi自带swagger文档如何嵌套展示?
swagger展示目标效果
* 后台管理
* 用户管理
* a接口
* b接口
* 文章管理
* c接口
* d接口
现在效果
* 后台管理
* a接口
* b接口
* c接口
* d接口
* 用户管理
* a接口
* b接口
* 文章管理
* c接口
* d接口
代码
routerAdmin = APIRouter(
prefix='/admin',
tags=['后台管理']
)
# routerUser文件a,b路由
routerAdmin.include_router(routerUser)
# routerAdmin文件c,d路由
routerAdmin.include_router(routerArticle)
app = FastAPI()
app.include_router(routerAdmin)
问: 可以实现目标效果吗,如何实现.
Ufoooo4U
Vue 3 如何实现一个 `v-const` 指令?
Vue.directive('let', {
bind(el, binding, vnode) {
const ComponentConstructor = Vue.extend({
render(createElement) {
// render函数可以访问this.$slots.default
return createElement('div', this.$slots.default);
},
});
const componentInstance = new ComponentConstructor({
// 使用data函数来定义响应式数据
data() {
return typeof binding.value === 'function'
? binding.value()
: { value: binding.value };
},
});
// 挂载到一个临时元素上
const mountNode = document.createElement('div');
componentInstance.$mount(mountNode);
// 替换绑定元素的内容
el.innerHTML = '';
el.appendChild(componentInstance.$el);
},
});
自定义指令的类型声明:
declare module 'vue' {
interface ComponentCustomProperties {
'v-let': any;
}
}
Ufoooo4U
java8 用ucanaccess 读取 800M的Access数据库,会卡死,改怎么办?
这个地址是你本地地址?
Ufoooo4U
java 泛型 ??
"? super Integer" 可能是 "Integer" 可能是 "Number" 可能是 "Object"
不一定是 "Number" 所以不能直接赋值
Ufoooo4U
Protable 进行查询 current没有重置回第一页,请问怎么解决?
Protable 进行查询 current没有重置回第一页,目前我解决的办法是手动去重置,但是不可能每个页面都要去手动重置,请问还有什么办法去解决这个问题
Ufoooo4U
前端上传文件 原理?
当用户点击上传按钮并选择文件时,前端通常使用HTML中的
""
元素来创建文件选择框。一旦用户选择了文件,JavaScript可以通过事件监听捕获这个选择事件,然后获取文件对象。随后,前端可以使用FileReader对象将文件内容读取为数据URL或二进制数据。
简单来说可以理解成浏览器是一个沙盒,盒子外的东西无法被直接访问(基于安全等因素考虑),需要用户的许可进行上传才能被访问。
以下是一个基本的示例,演示了如何使用和FileReader来读取文件:
File Upload Example
Upload
function uploadFile() {
var fileInput = document.getElementById('fileInput');
// Check if a file is selected
if (fileInput.files.length > 0) {
var file = fileInput.files[0];
// Use FileReader to read file content
var reader = new FileReader();
// Define a callback function to handle the file reading process
reader.onload = function(e) {
var fileContent = e.target.result;
// Now you can do something with the file content, such as sending it to the server
sendFileToServer(fileContent);
};
// Read the file as text, binary data, etc., depending on your needs
reader.readAsDataURL(file);
} else {
alert('Please select a file.');
}
}
function sendFileToServer(fileContent) {
// Here you would typically use AJAX to send the file content to the server
// Example using Fetch API
fetch('/upload-endpoint', {
method: 'POST',
body: fileContent
})
.then(response => response.json())
.then(data => {
console.log('File uploaded successfully:', data);
})
.catch(error => {
console.error('Error uploading file:', error);
});
}
在这个示例中,当用户选择文件并点击上传按钮时,uploadFile函数会被调用。这个函数获取文件选择框中的文件对象,然后使用FileReader读取文件内容。读取完成后,通过回调函数处理文件内容,可以将其发送到服务器,例如使用Fetch
API进行POST请求。
Ufoooo4U
我想hover的时候子元素出现。tailwind应该咋写?
{imgUlrs.map((item, index) => {
return (
X
);
})}
Ufoooo4U
SQL保存歷史表方式研究?
SQL保存历史表方式
建立 history 表,如order_history每次order insert同时也insert一笔到history
建立 max string json log 表,所有表insert同时也insert一笔到log,表格结构只有id,createtime,log
直接查 DB 底层 transation log
请问还有其他方式能建立数据保存表吗?
Ufoooo4U
elemenUI日期选择器,选择开始日期之后,结束日期只能选择,12月以内的。怎么判断?
elementUI 日期选择器,选择开始日期之后,结束日期只能选择,12月以内的。怎么判断?
Ufoooo4U
为什么 width:100在 父元素为inline或者inline-block下 如何显示?
第二段, 是因为内部的行内块元素设置"width: 100%", 这个宽度的百分比是根据父元素中离他最近的"块元素"或"行内块元素"计算的,
因为第二段代码离他最近的"块"或"行内块", 是最外层的"块元素div", "div"的宽是"body", 因此他的宽也就是"body",
而他又是外层"行内元素"的内容,这也就导致外层的"行内元素"被撑开, 出现了第二个截图的样子
第二段代码, 将最外层的"div"的宽设置一下, "行内块"的宽设置为"50%"结果就非常明显了:
测试内容
这是inline-block
span
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241105/059e571ac839986aa637f0bc05656e54.png)
Ufoooo4U
TypeScript类型判断为何有问题?
"T"也可能是个函数,例如"Options void>"
那这时候用"typeof"来收缩函数,就有两个不同签名得函数了,编译器自然无法处理改怎么调用
可以单独限制下"defaultValue"泛型为函数得情况:
type MaybeFunction = T extends Function ? never : T | IFunction
export interface Options {
serializer?: (value: T) => string;
deserializer?: (value: string) => T;
defaultValue?: MaybeFunction
}
Ufoooo4U
useCallback在这里使用的目的?
就是为了保证是渲染后依赖不变的话还是同一个函数,如果"loginIn"有在其他"useEffect"中作为依赖的话,那可能需要。
***
在我看来"loginIn"完全可以提到组件外(当然前提是内部的实现不依赖组件的的变量):
// xx.js
export function loginIn(username, password, sys, app) {
// todo
}
Ufoooo4U
想要做一个能够自适应的卡片布局,该怎么做?
系统学习一下 Flex 布局,阮一峰的教程写的还不错:
"https://www.ruanyifeng.com/blog/2015/07/flex-grammar.html" (https://link.segmentfault.com/?enc=YyrOuHT%2BCACieqQrDBX%2FYQ%3D%3D.myFfZ%2FHi6YTxjBqCDCjCoRv9rXpceonAujgHNzEo8x23SEiUOll0PhwJybTjP4lK%2BCWwER4xcwsXjorVLCmKFw%3D%3D)
当然也可以看 Mozilla 的(不过只有部分中文)
"https://developer.mozilla.org/zh-CN/docs/Web/CSS/CSS_flexible..." (https://link.segmentfault.com/?enc=mZyXu%2BKbvbWHq7RIKHN%2Bpg%3D%3D.aNqfuJZuOOQ5kK5YMG59Qp%2FK%2BYgrKz%2FHpkCaXTCRQnJE9K5Mha5mu5vt1f9c0pzHXks2EFn4Y%2FdpIxOPIOofD20gqKP57W05zI9YyU2W1wA2qgdy%2Fuct9OCgxdWMisPw3Fyi2B5a2HFLb5c1brZEKQ%3D%3D)
Ufoooo4U
uniapp上传图片问题?
请问下uniapp打包成app怎么上传图片,可以用chooseImage上传图片吗,chooseImage是不是已经被淘汰了,新版的chooseMedia不支持"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241026/cd1b9cefd062970723e3814744d98b4b.png)"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241026/ec1d64c36b97d23dce0916ec4a2a2907.png)
Ufoooo4U
如何去除 Microsoft Word 中自动添加的制表符(Tab)?
你这种可以发个你写的文字和样式来看一下,我理解的是:编号样式带了缩进?
https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241024/28e76a67cabb593be1737cf4e2fa6a5b.png
你可以打开上图的设置,将对齐位置改成0,下方的缩进可以设置的话也改一下试试
Ufoooo4U
这是 element-ui 的 bug 吗?
这里有几个因素:
1."InfiniteScroll"是一个指令,指令可以附加到任何元素上,指令可以获取绑定值的具体类型。
2."vue"里不显示定义成"props"的属性都会成为元素的"attribute"附加到元素上,而原生DOM的"attribute"都是字符,不存在布尔、数值这些类型,所以绑定属性【不是props】的值都只能是字符,如果你用"v-bind"绑定属性那么"vue"也会将其转成字符附加到DOM上【除开"false"】
3."InfiniteScroll"拓展的那些属性其实是DOM的"attribute",并非"prop",element-ui文档里并没有对这个进行说明而且还显眼的写上了类型,大多数第一直觉都会将其当做"prop"来传递,出问题了第一时间可能也不容易联想到第2点,文档里最好是说明是字符"'false'|'true'"这样更好一点
综合以上原因,它不是bug,但是非要甩锅的话,锅在"element-ui"吧我觉得
Ufoooo4U
git切换分支的时候自动把文件删除了?
前提:之前这个AuthorizationController文件,是叫authorizationController,后面改了AuthorizationController。说下情况,但是我也不知道和这个有没有关系
问题:现在遇到一个非常奇怪的问题,凡是从develop分支切换到其他分支,不管是develop切换到master分支,还是切换到gjm分支、A分支、B分支,都会自动把AuthorizationController文件删除掉,一头雾水了,有没有大神能解答下
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241014/70f51b775804c8b30ffcc214d1634e7b.png)
我尝试在gjm分支上使用git checkout
app/Http/Controllers/Admin/AuthorizationController.php能恢复文件,但是等我切换到develop分支,再切换回来,又被删除了
补充了执行git checkout app/Http/Controllers/Admin/AuthorizationController.php命令的过程
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241014/05f583c899a5d82bc2e00e09835ddac0.png)
Ufoooo4U
vue3项目中个别请求需要使用到另外一个token怎么处理呢?
1. 那么这几个请求不通过axios原有的封装就行了, 单独去调用axios方法
2. 也可以在axios原有的封装添加token的地方, 通过判断是哪个接口然后使用token
Ufoooo4U
请问 windows terminal 如何实现记住分屏设置?
试试这个选项。
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241012/5b82f5e3650580bf6f25450aebf317fb.png)
Ufoooo4U
vxe-table 多列树形表格纯前端如何实现?
自己已经解决了
Ufoooo4U
目录……被注册为Git根目录,但在那里没有发现Git仓库?
解决办法
在IDEA的设置里面找到版本控制-目录映射,然后删除相应的根目录即可
下面的图已删除的状态,不再报错
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241011/a768d1433e9bfeaf4abb26ff611baf63.png)
Ufoooo4U
黑马点评项目,前端请求被取消(canceled)的问题?
浏览器f12上看到的不能访问的接口,点进去,看看接口的标头,预览,响应等信息。
Ufoooo4U
SpringBoot启动时,若有依赖的jar包也是个Springboot服务,会启动依赖的jar包吗?
假设现在有两个服务A和B, 他们使用的数据库不同。正常情况下,服务A想调用服务B的方法,就需要服务B暴露出一个接口,然后A服务通过远程调用的方式调用
以下是A服务的接口示例
@RestController
public class AServer {
@Autowired
LanguageMapper languageMapper;
@Autowired
Student student;
@PostMapping(value = "/language1")
public List a() {
List list = languageMapper.selectList(new QueryWrapper().eq("id", "301"));
System.out.println(list);
return list;
}
@PostMapping(value = "/language2")
public String test2() {
return student.getName() + "is a good boy";
}
}
@Configuration
public class GenerateStudent {
@Value("${123}")
String age;
@Bean
public Student ges() {
Student lm = new Student("李明");
lm.age = age;
return lm;
}
}
以下是B服务的接口示例
@RestController
public class BServer {
@Autowired
AServer aServer;
@PostMapping(value = "/language1")
public List test() {
List list = HttpsUtils.httppost("http://localhost:8011/unique/language/language1");
System.out.println(list);
return list;
}
}
调用方式如下图所有
https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241010/801df528719df840f7f7055e0113b879.png
但这个方式需要B服务先启动,并且查询到的数据是数据库B的数据。
那么如果将服务B的坐标添加到服务A的pom文件里,然后在A服务中使用Autowired注入B服务的接口B的bean对象,然后用b.method()调用,
修改B服务接口的代码如下
@RestController
public class BServer {
@Autowired
AServer aServer;
@PostMapping(value = "/language1")
public List test() {
List list = aServer.a();
System.out.println(list);
return list;
}
}
https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241010/05baa84d520cd05bfce0b862f11181e4.png
有以下疑问:
1. 这个时候不启动B,只启动A,能正常启动A吗
答案:有以下特殊情况,若无的话即可正常启动A
(1)bean冲突错误。如果A服务和B服务定义了两个相同的类名,并且都交给了Spring管理,那在启动时Spring会生成bean放到容器里,由于Spring创建bean的规则默认是类名首字母小写,所以它会识别到两个相同的bean,导致无法生成而报conflict
bean错误。
解决方法:生成bean时指定bean名称,尽量避开生成相同的bean
(2)无法找到变量 - Could not resolve placeholder; 在B服务中,生成了一个自定义的bean对象Student,
该bean对象需要从配置文件里实时读取配置赋值。如果 A服务中没有这个配置名称,则会报Could not resolve placeholder。
(3)ambiguous mapping. 如果A服务和B服务在对外暴露接口时,使用了相同的mapping路径,则会报这个错。
2. 这个时候B也会启动吗?
答案:不会,但也有一种特殊情况,即在A里注入了B服务的启动类对象,然后显式调用了其main方法。
3. 若启动成功了,这个A时候调用了B的方法,查的是A服务配置的数据库信息,还是B服务配置的数据库信息。
答案:由第一点可知,首先确保A服务里有B服务所需要的所有配置信息,如数据库配置,否则无法启动。启动后,通过依赖方式注入对象调用,实际上调用的是A服务使用的数据库。如果写的SQL的表名在数据库中不存在,就会报SQL
Exception。
由以上3点推测,实际引入Jar包,并且注入对象,只是用了相应的壳子,里面的数据都来自于引入A服务的配置。但是作为resources目录下的东西,B服务配置文件application.properties没有生效,而mapper下的各个sql又生效了(一开始我还以为第3点会报SQL
Bind Exceptioon)。这点要注意。
因此我们若要提供一个jar包服务作为公共调用,包括开发中,应尽量满足以下原则:
1. 该jar包只用于提供公共方法,如hutuTool等。
2. 若有用到配置项,应在@value注解里给个默认值,防止被引用的服务无法启动。目前在手册中尽量写明需要用哪些配置项。
3. jar包只是一个壳子,他只是一系列方法的聚合,目的是为了防止重复造轮子,但这个轮子是什么数据,还是由被引用的服务提供。这也是引入jar包后注入对象调用这个方式 和 远程调用方式最显著的区别。一个是查自己的数据,一个是查别的数据。(终于解开了我多年的疑惑)
4. jar包最好不要向外提供服务(为了防止mapping重复),也不要生成bean(为了防止bean重复,但这个好像很难做到,可以用接口+多态替代).应当只提供运算等。
由以上两点可知:通常能被当做jar包作为依赖的服务,
Ufoooo4U
vue 组件批量绑定属性 v-bind="$attrs" v-bind="$props" 能同时使用吗?
vue 组件批量绑定属性 v-bind="$attrs" 、 v-bind="$props" 能同时使用吗?
尝试两个都绑定 不可行
Ufoooo4U
有什么开源免费的 ocr 可以识别下面的图片中的文字:「禁闭岛」?
有什么开源免费的 ocr 可以识别下面的图片中的文字:「禁闭岛」
"图片.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241009/365f67c8e5e58fb868bb379e5e1c3922.png)
测试了一下最热门的 pytesseract 发现根本无法识别图中的任何文字,报错英文和中文
from PIL import Image
import pytesseract
# 打开含有中文的图片
image = Image.open('xxx.jpg')
# 执行OCR,指定中文语言
text = pytesseract.image_to_string(image, lang='chi_sim') # 或者使用 'chi_tra' 对于繁体中文
print(text)
最好还能识别这种竖着的文字:
"图片.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241009/ca14d473a725167f3d8b53196e1fcf02.png)
***
需要可以封装成 http api 服务,所以那种本地小工具不行
Ufoooo4U
如何在Angular项目中使用锚点组件实现水平放置?
1. 确认 "nz-anchor" 组件是否已经导入
2. 确认当前版本的 "nz-anchor" 是否支持 "nzDirection"
Ufoooo4U
nginx使用流程?
"下载"一个nginx安装压缩包,比如nginx-1.20.2.zip
-->"解压"该压缩包至文件夹nginx-1.20.2
-->将正确的nginx.conf"替换"conf文件夹下的nginx.conf
-->双击nginx.exe,"启动"nginx
-->"测试"转发是否正常,不正常调整nginx.conf代理设置
ps:注意,修改nginx.conf后需要重启nginx.exe。在【任务管理器中】,会有两个nginx,先关闭第二个,再关闭第一个,然后再重启
Ufoooo4U
一个很复杂的项目用什么前端框架比较好?
公司要做一个医院病理系统,我大概看了一下功能,项目非常的复杂,页面估下来有300多个页面,而且这项目要做成BS架构(浏览器-服务端),这就叫我在选择前端框架的时候为难了,我们非常用的就是vue+elementplus,但这么大的项目用vue就有点不合适了,大家有人做过这样的项目吗?用什么前端框架比较好?
我看其它公司的前端框架好像extjs,也像dwt(jui),不知道有做过这块的没?这几个框架的生态好吗?或者有没有更好的选择?
Ufoooo4U
如何使用 yarn 安装 ant-design/icons-vue ?
如何是用 yarn 安装 ant-design/icons-vue
"https://3x.antdv.com/components/icon-cn" (https://link.segmentfault.com/?enc=FRGGrKJwBQThpIRWMc9Saw%3D%3D.aF7Lx388UGuceRviXGpukyHHpdgrfVsQ9LJl%2FS1JlHiixdlR87ReN%2BYtKQ%2Fy5gAC)
这里是用一个是用 npm 的方式 "npm install --save @ant-design/icons-vue"
但是如果我想是用 yarn 安装呢?
─➤ yarn add ant-design/icons-vue
yarn add v1.22.21
[1/4] 🔍 Resolving packages...
error Command failed.
Exit code: 128
Command: git
Arguments: ls-remote --tags --heads ssh://git@github.com/ant-design/icons-vue.git
Directory: /Users/ponponon/Desktop/code/work/pon-it/tracking-king
Output:
ERROR: Repository not found.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.
上面这样做会报错,是什么原因呢?依赖问题吗?还是是用 yarn 姿势不对?还是网络问题呢?
Ufoooo4U
Express 错误:连接丢失:服务器关闭了连接。 大佬们如何解决?
Express 错误:连接丢失:服务器关闭了连接。 大佬们如何解决
var express = require('express');
var app = express();
const cors = require('cors');
app.use(cors());
app.use(express.static('./public'))
const bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({ extended: true }));
const router = require('./routes/api.js');
app.use('/api', router);
var server = app.listen(8081, function () {
var host = server.address().address
var port = server.address().port
console.log("应用实例,访问地址为
"http://localhost:808" (https://link.segmentfault.com/?enc=NtPyTUU2jK9XJbKvIGwJkg%3D%3D.WOS2lRO52fEwloECtNesSQ5nDoNytgCK05MbPGYNftk%3D)1",
host, port)
})
// 报错信息
node:events:496
throw er; // Unhandled 'error' event
Error: Connection lost: The server closed the connection.
at Protocol.end (C:\Users\Administrator\Desktop\books_serve\node_modules\mysql\lib\protocol\Protocol.js:112:13)
at Socket. (C:\Users\Administrator\Desktop\books_serve\node_modules\mysql\lib\Connection.js:94:28)
at Socket. (C:\Users\Administrator\Desktop\books_serve\node_modules\mysql\lib\Connection.js:526:10)
at Socket.emit (node:events:530:35)
at endReadableNT (node:internal/streams/readable:1696:12)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
Emitted 'error' event on Connection instance at:
at Connection._handleProtocolError (C:\Users\Administrator\Desktop\books_serve\node_modules\mysql\lib\Connection.js:423:8)
at Protocol.emit (node:events:518:28)
at Protocol._delegateError (C:\Users\Administrator\Desktop\books_serve\node_modules\mysql\lib\protocol\Protocol.js:398:10)
at Protocol.end (C:\Users\Administrator\Desktop\books_serve\node_modules\mysql\lib\protocol\Protocol.js:116:8)
at Socket. (C:\Users\Administrator\Desktop\books_serve\node_modules\mysql\lib\Connection.js:94:28)
[... lines matching original stack trace ...]
at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
fatal: true,
code: 'PROTOCOL_CONNECTION_LOST'
}
Node.js v20.11.0
[nodemon] app crashed - waiting for file changes before starting...
[nodemon] restarting due to changes...
[nodemon] starting "node .\app.js"
各位大佬如何解决
Ufoooo4U
背景水印在正常屏幕下显示,全屏情况下不显示,求解?
vue ["https://next.antdv.com/components/watermark-cn" (https://link.segmentfault.com/?enc=UhPcU60UBJJn3gA98uuUNQ%3D%3D.Od%2FYwjiqArFcCOy%2FDeyIdmqROt7gEpzo%2B2tbgtweDZjR%2FfiwmBxm%2FOnK0G76%2FAvv)]
react ["https://ant-design.antgroup.com/components/watermark-cn" (https://link.segmentfault.com/?enc=Zh09C3kkSlth%2FODHxRiRSQ%3D%3D.8NAF35R9YIgNcnB%2FButMHjzwqVaVqQeyy%2B2XsBw9hyJWPjxQP6ppiUuuHDV07sgZHgwmfTDZtl%2BCx4M%2BbcCiwQ%3D%3D)]
单独使用 ["https://www.npmjs.com/package/antd-watermark?activeTab=readme" (https://link.segmentfault.com/?enc=rjHoo5mNXBukMWABJKKh%2FQ%3D%3D.M0QxtpigL1dNoISaA9iQPWffuTwZ9nKGLkfn4KUR%2BFZ9h82X7RVgIw2VjIDIWAbGVGqNEtmrbGI609AuWE0SEg%3D%3D)]
自己实现的扩展性强 js and ts 版本
["https://mp.weixin.qq.com/s/PL_qMR3ePKJw_X9mxpE21w" (https://link.segmentfault.com/?enc=ba%2FNlqy2y1xd2GGzs2sKxQ%3D%3D.do7xYC7mWiLeHBo671F2eVFacDuQdgN0XAsqjfWrDMrQiRZ5F2DzaqB2SPr4bYHDRNuydIQZfwbZdNfOdAiRCA%3D%3D)]