木子弓长
二维码可以防止截屏,防止拍照吗?
我的系统中会向用户的微信发送一个二维码凭证,目标是只能接受到这个二维码的用户可使用,如果截图或者拍照后二维码会无效,能实现这个功能码?要如何实现?
木子弓长
为什么在Vue中这种写法 异步组件 没有正常显示?
项目地址
"https://stackblitz.com/edit/web-platform-k6egat?file=index.html" (https://link.segmentfault.com/?enc=OmcucWZxsglzOU74IdNVUQ%3D%3D.ywxW9VzGXDJYUzSKIzPL2p%2B7y55BsC%2BqB0%2Fcsrfm%2BTLzsWReDr2znEHWZv67jRxcXw8483DMLIPy8sHzpo9hEA%3D%3D)
问题: index.html中定义了一个异步组件, childComponent中也定义了一个异步组件,这两个异步组件都没有正常显示。这是为什么
参考: vue3中的异步组件
"https://cn.vuejs.org/guide/components/async.html" (https://link.segmentfault.com/?enc=GkSiPO%2F3fvMjmnJIJ70IQw%3D%3D.VHDw2OELnMNZrx%2FQSETSfevniF9DioOxB%2Bs3vsdwgkfmU74Tw1PlZreox%2Fjs%2Fn%2BO3qE%2BZ7D6CPniwYhT4tDA4Q%3D%3D)
木子弓长
有关Answer开源项目的一些问题?
第一点,目前暂时不支持。
«"https://github.com/answerdev/plugins/issues/19" (https://link.segmentfault.com/?enc=kDOOTQj6vnD85p3weaV6GA%3D%3D.o0pdUwVeqlIciFKSDf%2B%2BSH2dsgvog3QXJcY3LX8%2FtELavv4Rbmtvw9aphmQhKRYx)»
第二点,目前也不支持,不过已经在 TODO List 上了。
«"https://github.com/orgs/answerdev/projects/1/views/2?pane=issue&itemId=13237280" (https://link.segmentfault.com/?enc=ZR3N%2BQ3p5vtI%2BYKzq%2Fsx6g%3D%3D.7Iyf%2BDPf7VjvYoDJXAI1rfohRBtID95bxqpTmXQofswPpKMFgtamQFLcaNSmmGJhQ%2FdQebJJnQRcIIiRYW2U0TY5fU%2B8B2SGStALcDf9sUs%3D)»
木子弓长
如何获取router-link的当前路由?
this.$route.path
木子弓长
css实现左上角缺口的圆环?
Document
div {
width: 200px;
height: 200px;
background:
radial-gradient(closest-side circle, royalblue 99%, transparent 100%) center top/25% 25% no-repeat,
conic-gradient(transparent 10%, royalblue 90%);
-webkit-mask: radial-gradient(closest-side circle, transparent 50%, red 51% 99%, transparent 100%);
}
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250110/a42d22d367f0dad842c366fbb317aec2.png)
更多参看:
«"https://segmentfault.com/a/1190000043622887" (https://segmentfault.com/a/1190000043622887)»
木子弓长
vue3 这样的组件如何传入泛型?
不用定义,vue-tsc 会自动推断。
defineProps();
const $emit = defineEmits();
const handleClickItem = (item: T) {
$emit('click-item', item);
}
{{ item }}
import { ref } from 'vue';
import List from './list.vue';
const data = ref([
{ id: 1, name: 'a' },
{ id: 2, name: 'b' },
{ id: 3, name: 'c' }
]);
console.log(item)" />
此时你鼠标放上去,就能看到类型自动推断了:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250104/29a1c5bbfb76f6d5da1ddfdd03ac679e.png)
***
如果非要显式指定泛型也行,但 template 是没办法了,得用 tsx:
import { defineComponent, ref } from 'vue';
import List from './list.vue';
export default defineComponent({
setup() {
type MyItem = { id: number; name: string };
const data = ref([
{ id: 1, name: 'a' },
{ id: 2, name: 'b' },
{ id: 3, name: 'c' }
]);
return () => data={data.value} />;
}
});
木子弓长
react-window用InfiniteLoader包裹后如何获取ref?
import { VariableSizeList as List, areEqual } from 'react-window';
import InfiniteLoader from 'react-window-infinite-loader';
const Demo = ()=>{
const ref = useRef();
const click = ()=>{
// 这里报错,ref没有scrollToItem方法
ref.scrollToItem(0)
}
return
click
}
const ListWrap = ({ hasNextPage, isNextPageLoading, loadNextPage }) => {
return (
{({ onItemsRendered, ref }) => {
return (
{Cell}
);
}}
);
};
类似上面的代码, 如何获取List的实例ref呢?
木子弓长
网站显示溢出问题怎么解决?
盲猜别设置高度?可以把页面分享一下嘛?
或者也改成 scroll,那么就是滚动了
木子弓长
请问python的列表生成式怎样插入多个值?
比如:
# 这种写法是错的,只是表达一下我想实现的数据
a = [0, i for i in range(2)]
简单来说,我想在每个数据前追加一个值
a = [[0, i] for i in range(2)]
b = [i for j in a for i in j]
我想要b的结果,能直接用列表生成式做到吗?
谢谢
木子弓长
python中的哪个框架像php里的thinkcmf?
python中的哪个框架像php里的thinkcmf?
是thinkcmf,不是thinkphp?
python中有哪些比较好的web框架?
木子弓长
ES中查询文档与dsl查询有啥区别?
一个是获取某一条,一个是搜索符合条件的所有
要对比的话其实是 url 上的 search 和 dsl 查询,dsl 查询更强大更完善,url 更方便
木子弓长
请教一个html打印问题,困扰了好久?
需求:打印自提点订单面单。用的是window自带的print,但是发现细节很多。
主要的问题有。
1、第一步需要将需要打印的页面呈现出来,如何设置页面和打印的页面保持一比一呢?我百度了一下,a4纸的大小,px和cm都尝试了,但是还是和打印页面不一致。为什么要一比一还原呢?是因为在网页上面显示了10条数据,但是打印界面10条数据却放不下跑到第二页了。
2、如何确定每页的表格要显示多少条数据呢?因为有的数据占2行,有的占1行,有的占3行。
因为真实的情况,涉及到单元格的合并,打印指定的区域(下面代码已实现)等等需求。
所以,我需要先确定好每页展示多少条数据,不然的话,有可能这页的数据跑到了下一页,就变的很难看。有时候恰好最后一个数据是合并的数据就更麻烦了。
我的思路是先确定好每页显示多少条,然后才知道要分多少页。单独对每页的数据再做合并操作。
要确定多少条就要知道真实情况下a4纸的宽高,以及针对商品名称超长的时候,分多行显示,表格最多容纳多少条数据。
下面是多多的提货单
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241216/9804378f1e22dd56b72f46acd7b5b2a5.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241216/6dab5300379bd463401f71af56cb7758.png)
代码如下
.main {
/*width: 800px ;*/
/* border: 1px solid red; */
margin: 0 auto;
}
.item {
width: 595px;
height: 842px;
/*border: 1px solid gray;*/
margin-bottom: 5px;
}
table {
font-size: 10px;
}
td {
page-break-inside: avoid;
}
@page {
size: A4 portrait; /*设置纸张及其方向 这里表示使用A4纸张,打印方向为纵向*/
margin: 0; /* 设定页边距 */
}
.item {
page-break-after: always;
}
打印
幸福里超市 - 用户提货单
提货日期:2023-10-23
门店地址:xxxxxxxxxxxxxxxxxxx
订单按照手机号最后一位从小到大0~9排列
手机号
订单号
商品条码
商品名称
数量
15515656xxx
张三
20231004220109744001
15672657382
常规款-送亲果定制手提袋|约3斤/箱送亲果定制手提袋|约3斤/箱送亲果定制手提袋|约3斤/箱提袋|约3斤/箱送亲果定制手提袋|约3斤/箱
23
第1页,共3页
第二页
第三页
new Vue({
el: '#app',
data: function () {
return {
}
},
created() {
},
methods: {
print() {
myPrint(document.getElementById('printDiv'))
},
}
})
const myPrint = (dom) => {
writeIframe(dom);
// 写入iframe
function writeIframe(dom) {
const iframe = document.createElement("iframe");
iframe.setAttribute("style", "position:absolute;width:0;height:0;top:-10px;left:-10px;");
document.body.appendChild(iframe);
const doc = iframe.contentDocument;
doc.open();
doc.write(getStyle() + getHtml(dom));
doc.close();
iframe.onload = function () {
iframe.contentWindow.print();
setTimeout(() => {
document.body.removeChild(iframe);
}, 100);
};
}
// 获取样式
function getStyle() {
const styles = document.querySelectorAll("style,link");
let str = "";
for (let i = 0; i
2023-20-09 01:25:00 补充
可能我表达的不是太清楚,目前其实只有一个问题,就是web页面和打印的页面 实现不了 一致性。
我目前能做到的这是这样的效果,也还能接受,每页显示30条的数据,下方留了大片的空白,就是为了防止商品名称不可控,万一这30条数据的名字都是占了两行,也不会超过这一页的高
你看同样的大小的页面,同样的数据,打印页面下面就有一大片的空白,但是web页面基本上就占满了。 我设置的.item的大小为A4纸的大小
.item {
page-break-after: always;
height: 297mm;
width: 210mm;
}
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241216/88e9bc63b18f9c203f54e23aa4e49528.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241216/9d0e0d8207c5b2f929e9864fba21871e.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241216/11038023e6e7a6e45b953d84b03b31a5.png)
2023-10-09 最新更新
上面的打印界面和真实的打印也有很大的差别。绝了。
1、下方空白地方太多了,打印界面 的空白地方占1/3,真实打印出来占了1/2
2、右侧少了一列数据
"微信图片_20231009220010.jpg" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241216/79717c2db3a4b9093034728107c25790.png)
木子弓长
depcheck 在node 12.18.2版本下报错?
一般都是依赖的第三包的要求的node版本过高导致的报错,所以最好升级node版本。
另外,package.json的"engines"属性并不是很靠谱
木子弓长
saas平台是如何拉取携程订单的?
看到一款租车saas平台,在用户输入携程账号密码以后,会同步携程的订单信息,可以操作订单下单或者其他操作,这个功能是通过什么方式实现的呢?用了什么技术?
木子弓长
iframe可以直接嵌入html字符串吗?
iframe可以直接嵌入html字符串吗?
能不能不使用src,直接把html字符串嵌入iframe?
父页面
我是iframe里面的内容
有什么方法可以将html字符串直接嵌入iframe
我遇到的问题:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241207/5080e38eb67309a7f13ae6940b15ef9c.png)
现在我在做一个页面,要显示多份表单,这些表单的属性一样,可能值不一样。所以我想,如果可以把这些html字符串直接渲染在不同的iframe中,那么属性就不会互相干扰了。
否则如果一个页面出现多个表单,可能会出现上述的情形,只有其中一份表单能够正常显示单选的高亮行为。
木子弓长
echarts关系图graph如何让节点显示两个不同位置的数值?
以这个为例子:
"https://www.makeapie.cn/echarts_content/xkiiaUN8q.html" (https://link.segmentfault.com/?enc=%2BOgKRKM%2FHpZIwBjL8WnEsw%3D%3D.uwI%2BOFU2gXQGoWoN2noYS2nF0O5kAkQbpyGKHxSGqvtPOsse73X61NskvLB9rCljZK6d1xc6dKEu9N9r3GzXgQ%3D%3D)
我希望能够在节点上同时显示数值和名称,名称在下面,数值在中间。
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241204/de5f455ff0bc09cb5399f081bb2c5dbd.png)
注意,formatter无法解决问题,只能显示在一个位置,比方说inside或者bottom。
木子弓长
AMH中的AMRewrite如何配置当用户使用大写url的时候自动访问小写的url?
nginx的rewrite没方法直接转换大小写,估计你要安装第三方模块增加支持,或是用perl,或是lua等,都要重新编译nginx,增加模块可以参考"https://segmentfault.com/q/1010000044302737" (https://segmentfault.com/q/1010000044302737),或是在网站程序端做判断301跳转等。
如果只是一少些网址建议直接匹配网址进行跳转,面板上用『文件URL重写』选项。
木子弓长
小白求助各位大佬,html提取指定的内容,其他都不要的,正则表达式 怎么写?
const str = 'shflehoshofwe"label_name":"历史"lshdliflwefoiewoilfjnwo';
const regex = /"label_name":"(.+?)"/;
const match = str.match(regex);
if (match) {
const value = match[0];
console.log(value); // 输出:"label_name":"历史"
} else {
console.log("未匹配到字符串");
}
木子弓长
vue项目运行很长时间后,弹窗关闭时卡顿,刷新或者重新打开是正常的。没刷新之前切换到其他页面的弹窗也卡,可能怎么回事?
猜测内存泄漏,简单判断的话可以利用chrome 新功能鼠标悬浮记录tab 内存,进行两次判断比对
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241128/afb983c160321e0ad1abb21f64eeb47f.png)
木子弓长
vue2弹窗打开没有加载状态?
图片查看
0 && !imgLoading"
@load="imageLoaded"
@error="imageLoadedFailed"
alt=""
>
export default {
data() {
return {
isVisible: this.fileImageData.show,
currentIndex: '',
imgDataArr: [],
currentImage: '',
imgLoading: true
}
},
props: {
fileImageData: Object
},
watch:{
currentIndex: {
hanler(newV){
if(this.imgDataArr.length > 0) {
const formData = new FormData()
formData.append('file', this.imgDataArr[newV].attId)
const res = downloadFileImage(formData)
res.then(blob => {
if(blob instanceof Blob) {
const url = window.URL.createObjectURL(blob)
this.currentImage = url
}
})
}
}
}
},
mounted() {
this.getImage()
},
methods: {
getImage() {
const arr = []
this.fileImageData.imageData.map(item => {
arr.push({attId:item.attId})
})
this.imgDataArr = arr
this.currentIndex = 0
},
imageLoaded() {
this.imgLoading = false
},
imageLoadedFailed() {
this.imgLoading = false
}
}
}
这是子组件,上面这样写,弹窗打开的时候没有加载状态,是什么原因
木子弓长
请教一个固定布局和遍历div的问题?
"grid"布局完美解决!!!
布局是这样的,第一个固定的,其他动态渲染出来。
固定不动
其他1
其他2
其他3
其他4
其他5
其他6
其他7
然后就是样式,"grid"布局,一行两列,固定不动的占据两行一列。其他的自动排列。
.box {
display: grid;
grid-template-columns: repeat(2, 1fr);
border: 1px solid #eee;
gap: 10px;
padding: 5px;
}
.box .box-item {
border: 1px solid #eee;
}
.box .box-item:first-child {
grid-row-start: 1;
grid-row-end: 3;
}
效果是这样的,
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20241119/220321d48bc8d2ca2153d6ae9ceec5a7.png)
木子弓长
python 怪事 23300*0.7 = 16309.999999999998? 如何解决?
所有编程语言都会有这个问题,不局限于Python。
百度:python decimal
对于金额计算,还有另外一个方法是全部换成分。
木子弓长
如何通过 digicert 发放的免费证书,实现 ssl 双向认证?我操作了下,但是不成功,该如何实现?
我首先申请了免费的 digicert 证书,服务端用的 nginx。得到了两个文件 domain.pem, domain.key
这样配置的 nginx
listen 443 ssl;
ssl_certificate the_path_of_domain.pem;
ssl_certificate_key the_path_of_domain.key;
ssl_client_certificate the_path_of_domain.pem;
ssl_verify_client on;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "HIGH:!aNULL:!MD5 or HIGH:!aNULL:!MD5:!3DES";
ssl_prefer_server_ciphers on;
然后通过 curl 测试,失败
curl --cert domain.pem --key domain.key https://domain
更改了 "ssl_verify_depth" 的值也不可以。
需求帮助
木子弓长
PC端的页面的时候,一般设计图都是设计多大的?
一般来说就默认是 "1920*1080",因为大部分的情况都是需要做自适应布局的,所以这个时候是不是高度 "1080"
都是没关系的,因为是允许主体内容区域上下滚动。
如果说首页有单独的需求,比如说需要一屏展示完整,那么就需要单独和UI沟通,调整不同屏幕分辨率下的布局(比如说正常情况下的PC缩放100%,PC缩放125%,PC缩放150%),或者确保关键信息可以再首屏展示完全。
这个得看实际情况,也可能会和PM或者实际用户沟通交流。因为不同的浏览器的可用视口并不一样,所以需要给到足够可以调整的留白空间,这样即使可用视口高度不足我们也可以通过各种适配方案给出解决方案。
木子弓长
python f""格式化字符串的时候报错too deeply 请问如何解决?
问题在于format匹配"{}",而你的字符串中本身也含有"{ }" 就会导致匹配出现问题。
tmp = "黄昏"
s1 = ('{"music.search.SearchCgiService": {"method": "DoSearchForQQMusicDesktop","module": "music.search.SearchCgiService",'
'"param": {"num_per_page": 40,"page_num": 1,"query": %s,"search_type": 0}}}' % tmp)
这样用吧
木子弓长
redis集群模式下,希望在多个slot都建立副本数据,key怎么设计?
比如现在redis有3个集群分片(A、B、C),
有一个高频热点key,保存在分片A上,会导致请求的倾斜,使得A分片的读取压力过大。
现在希望将key设计成:key1、key2、key3,都对应相同的value
存储的时候:
key1存在分片A
key2存在分片B
key3存在分片C
查询的时候:
key随机转化成key1、key2、key3的其中一个,然后路由到某个分片上。
key1、key2、key3的值改怎么设计?
开发人员怎么知道一个key对应的哈希值是多少
木子弓长
vue3父子组件传参不更新问题?
https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241102/3fdf8f457354876407b050c141ce0cdf.png
执行了click事件后,为什么videoUrl的值在页面上更新了,控制台里没更新啊
想知道原因
木子弓长
Beep函数无法播放声音,如何解决?
Beep函数无法播放声音
系统:"Windows 10"
音响类型:蓝牙音响(可正常播放除Beep以外的声音)
main.cpp:
#include "music.hpp"
#include
using namespace std;
int main() {
Music m("1.txt");
m.play();
return 0;
}
music.hpp:
#include
#include
#include
#include
#include
#include
std::map Split(std::string str, char delim) {
std::map result;
short cnt = 1;
std::stringstream ss(str);
std::string buffer;
while (getline(ss, buffer, delim)) {
result[cnt++] = stoi(buffer);
}
return result;
}
class Music {
private:
struct tempo {
short scale;
short size;
};
std::vector filedata;
std::map scaledata;
public:
void play() {
for (std::vector::iterator it = filedata.begin(); it != filedata.end(); ++it) {
Beep(DWORD(scaledata[(*it).scale]), DWORD(((*it).size) * 200));
}
return;
}
Music (std::string filename) {
std::ifstream file;
file.open(filename);
std::string buffer;
while (getline(file, buffer)) {
tempo tmp;
std::map tmp1 = Split(buffer, ' ');
tmp.scale = tmp1[1];
tmp.size = tmp1[2];
filedata.push_back(tmp);
}
file.close();
scaledata[-1] = 262;
scaledata[-2] = 294;
scaledata[-3] = 330;
scaledata[-4] = 349;
scaledata[-5] = 392;
scaledata[-6] = 440;
scaledata[-7] = 494;
scaledata[1] = 523;
scaledata[2] = 578;
scaledata[3] = 659;
scaledata[4] = 698;
scaledata[5] = 784;
scaledata[6] = 880;
scaledata[7] = 988;
scaledata[8] = 1046;
scaledata[9] = 1175;
scaledata[10] = 1318;
scaledata[11] = 1480;
scaledata[12] = 1568;
scaledata[13] = 1760;
scaledata[14] = 1976;
return;
}
};
1.txt:
1 2
1 2
5 2
5 2
6 2
6 2
5 4
4 2
4 2
3 2
3 2
2 2
2 2
1 4
5 2
5 2
4 2
4 2
3 2
3 2
2 4
5 2
5 2
4 2
4 2
3 2
3 2
2 4
1 2
1 2
5 2
5 2
6 2
6 2
5 4
4 2
4 2
3 2
3 2
2 2
2 2
1 4
做过的尝试 | 期望的结果 | 实际得到的结果
---|---|---
重启音响 | 成功播放Beep | 无法播放Beep
重新安装音响驱动 | 成功播放Beep | 无法播放Beep
木子弓长
JS可以获取某元素当前视口内的数据吗?
"https://jsrun.net/KZHKp/edit" (https://link.segmentfault.com/?enc=UqjLbYY%2BEW5%2BhK2PA%2ByVZQ%3D%3D.ooQMVnpxGZsNFuzEdIQ8FVJj31uATxUGYIOLJJEvxsk%3D)
木子弓长
如何解决 typescript check-types 时的 'originalKeywordKind' 报错?
使用 typescript 开发,在一次 build 中 进行到 check-types 时遇到如下报错
Parsing error: DeprecationError: 'originalKeywordKind' has been deprecated since v5.0.0 and can no longer be used
在这里看大家如何解决:"https://stackoverflow.com/questions/76996326/parsing-error-deprecationerror-originalkeywordkind-has-been-deprecated-since" (https://link.segmentfault.com/?enc=L1VDzdtq%2F%2BGf0JlEIkWTfA%3D%3D.gzc1Dkrrhrn%2FQgyj6OKssYKJrO2BC5yDEx47%2Bh0zKeqHsKEHSqjy09REABpEDPAPov6%2B%2FMEtDGT1MPxfRc6e6wex3zMxx%2FTH3nbCc85SYrP3K1ezVvBzrsYvgaODFLlXg0A2W7QGx5vEMTgxR314WwwQ%2Bo3jMCTiCVvKN7urVf4%3D)
木子弓长
amh是否支持redis-stack?
软件商店只有redis没有redis-stack,估计你要ssh手动部署。
木子弓长
iframe嵌入了其他网站的网页,iframeSrc中有携带相关信息,但是还是被拦截到登录页。这样情况该如何解决呢?
问题:iframe嵌入了其他网站的网页,iframeSrc中有携带相关信息,但是还是被拦截到登录页。这样情况该如何解决呢
const iframeSrc = 'xxxx?token=xxx&userName=xxx';
return (
);
木子弓长
IDEA编写Java时System下无代码提示,怎么办?
我再次尝试重启,IDEA似乎会自动执行分析,然后就解决问题了,这似乎奏效。
木子弓长
PHP如何格式化显示var_dump的数据信息?
可以了解一下:"https://symfony.com/components/VarDumper" (https://link.segmentfault.com/?enc=sz%2BY7fR4EIT4qnrjE4nzSw%3D%3D.sWdm8qPO%2FV8X8FnnXlobWiKRa%2FOgMjguAyYKlRjIeEQNQTHF17PT0DzmP%2FFVWxP7)
木子弓长
Laravel 10 Composer 安装或更新依赖时出现错误的解决方案?
laravel10中使用
"composer install"或"composer update"
安装或更新依赖会出现所有依赖变成
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241014/b0ca28804680dba17328866809b6c9fe.png)
。
木子弓长
vue中如何在watch监听中新增tinymce的撤销?
经查询,实际节点应该是 tinymce.activeEditor.undoManager
木子弓长
各位都在使用什么技能?八仙过海?
所谓看高手操作,总能学其一二。各位大侠来点的奇淫技巧~
木子弓长
网上负评,品牌正向推广,同行攻击的时候有应对方案,这种工作内容应该招什么职位?
网上负评,品牌正向推广,同行攻击的时候有应对方案,这种工作内容应该招什么职位?
木子弓长
优化Vue CLI项目打包,如何减少首屏请求数量?
看下是不是preload
木子弓长
请问为什么flask收到请求不发出response和报错?
我正在写一个微信小程序,使用flask作为后端,ide使用pycharm社区版,目前完成了登录功能并在微信开发者工具模拟器中实现了该功能,但在进行真机调试时出现了问题
在连接同一个wifi的情况下,在真机调试过程中当我发送一个request时,对应的login函数并没有执行,也没有发送response和错误信息!"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241010/6a20be2d3b5060b4939ce9b5f2f851d6.png)
我在使用模拟器发送post请求时(本机测试,ip地址192.168.0.107),可以得到回应(这里面的1代表login函数的内容被成功执行)"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241010/9d41c5ced7c5294b3a0c772e6fb77ff9.png)
在使用真机测试时发送相同post请求(ip地址192.168.0.102),得不到回应和报错"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241010/50d868e36acdb5e1ed5d64755c3b1c58.png)
这是app.run的内容"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241010/53c54ea15273196c35a7e22242fb89fe.png)
这是开启后的内容"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241010/b726666bc8b6cd330af21845fd6c38ca.png)
这是因为请求ip不是本机ip,所以没有响应吗?麻烦各位大佬了
木子弓长
从后端获取图片,但是blob不起作用,请问可能有哪些原因?
从后端获取图片转blob为什么失败?用unit8array转换显示大小为0 但是后端图片资源是获取成功的 可以正常预览 这可能是什么原因?前端是vue3
后端是springboot3.2.2 java版本是21
后端返回代码如下:
public byte[] getImages(String URL) throws IOException {
try (FileInputStream inputStream = new FileInputStream(new File(FilePath + URL))) {
byte[] bytes = new byte[inputStream.available()];
inputStream.read(bytes, 0, inputStream.available());
return bytes;
}
}
前端请求代码如下:
const config = {
headers: {
Authorization: `Bearer ${this.$store.getters.getToken}`,
responseType: "arraybuffer",
accept: "image/jpeg",
},
};
send
.get(`/images/avatars/${this.$store.getters.getAvatar}`, config)
.then((response) => {
console.log(response.data);
const uint8Array = new Uint8Array(response.data);
console.log(uint8Array);
const blob = new Blob([response.data], { type: "image/jpeg" });
console.log(blob);
const url = window.URL.createObjectURL(blob);
this.avatarURL = url;
});
前端网络返回资源如下:https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241009/a7da57c9709cb0e6562e9bbda1e04924.png
前端打印的信息:https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241009/4dfba01aa6451635f17fb19f48583b3c.png
网页和地址栏预览图片不显示:https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241009/c586b13d77d84db829cdda023a160cfb.pnghttps://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241009/3f8131166ab928c67c98eb5962276b9f.png
纠缠了ai几个小时,搜索了与我类似的情况,尝试不使用accept,或者把responseType的"blob"换成"arraybuffer",不使用responseType,以及把arraybuffer格式化成Uint8Array,把URL.createObjectURL换成window.URL.createObjectURL,但是都不起左右
补充:看到ai的回答,打印了一下response.data的类型,是string,但是我后台返回的是byte[],请求头填的responseType是"blob",没一个对的上,这是否是正常的?另外还打印了一下arraybuffer和blob的类型,发现是对象,这就没办法参考了,c语言里面string是拿char[]模拟的,所以这返回的类型是string是否是正常的?
木子弓长
elementUI的验证为什么@click="submitForm(formRef)"可以,而直接使用ref()就不行?
Submit
Reset
import { reactive, ref } from 'vue'
import type { FormInstance } from 'element-plus'
const formRef = ref()
const numberValidateForm = reactive({
age: '',
})
const submitForm = () => {
if (!formRef) return
formRef.validate((valid) => {
if (valid) {
console.log('submit!')
} else {
console.log('error submit!')
return false
}
})
}
const resetForm = (formEl: FormInstance | undefined) => {
if (!formEl) return
formEl.resetFields()
}
木子弓长
有没有什么前端库,可以生成一个接口用各种语言发起请求的代码?
有没有什么前端库,可以生成一个接口用各种语言发起请求的代码,我想实现类似下面这种功能,但是不想重复编写这些模版代码:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241008/506258234f305c71fdbb706c3f364252.png)
木子弓长
vue2 中使用`signalR`导致项目跑崩溃?
这个问题是 SignalR 兼容问题吧
木子弓长
angular6版本的项目启动后,发请求就报错?
1. 跨域问题,Angular 项目也可以设置代理的
2. 根据报错信息查看 "app.service.ts" 这个文件,大概率是 rxjs 的导入问题
木子弓长
MobaXterm 中文显示乱码?
MobaXterm 目录中文显示乱码,如下是sftp连接的情况
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241008/d9608dbea38a68a8542155291a780e1d.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241008/a7f9bf8e50da948e93af6749b68d35e8.png)
window是windows server
尝试修改为ascii mode也是乱码
木子弓长
VUE3 + element-plus, this.$emit失效,为什么?
你理解错了,子组件想调用父组件的函数一般有两个方法,一种是把函数当成一个 props 传入
// 父组件
// 子组件
props: [..., 'update'],
...
methods: {
confirm() {
this.update(xxx)
}
}
或者是子组件去触发注册的事件,比如你的子组件触发了一个 "update" 事件,父组件在触发 "update" 的时候调用这个方法
// 父组件
// 子组件
props: [..., 'update'],
...
methods: {
confirm() {
this.emit('update', xxx) // 子组件在这里触发了 update 事件,就调用了 update 事件绑定的函数 conditionUpdate
}
}
木子弓长
微信小程序有没有避免频繁使用"const that = this"的技巧?
就是使用
"🔗箭头函数" (https://link.segmentfault.com/?enc=YWjdZXkBmC6hTzizPMGbdw%3D%3D.9wRf8kyo3fITLNQSD5fY5DmimVhDetGtDS6c%2BfqoS4cUxPDTcpGsOUdFDgJ9H48jeQkmx6TgpK9YA5G0Gokyo4VsEcxExXL17w4ZuMNqsDk%3D)
来保持后续业务代码的 "this" 指向是上层作用域中的 "this"。
比如说,我们在一些 "wx.xx" 之类API的回调中使用:
page() {
scanCode() {
wx.scanCode({
scanType: ['qrCode'],
success: (res) => {
console.log('获取扫码结果', res);
this.setData({
qrCode: res.result
})
},
fail: (err) => {
console.log('扫码失败', err);
}
});
}
}
就不需要在外部在定义一个 "const that = this" 了。
在非小程序开发的时候也会有遇到这样的情况,也可以使用 箭头函数 改写回调函数
export default {
...
methods: {
onDeleteConfirm (id) {
const that = this;
this.$confirm({
title: "确认删除",
content: "是否删除选中文件?",
- onOk: function () {
- that.submitDeleteAction(id)
- }
+ onOk: () => {
+ this.submitDeleteAction(id)
+ }
})
}
}
}
***
很早之前 "react" 中也会使用
".bind()" (https://link.segmentfault.com/?enc=P7Bd5PPP4gWR9oQLH38Apw%3D%3D.Aqwnwq7rYNH%2B5YyDq6mWo24J8fhVv4gq15tYF1kGNkzOKC%2F%2B3lcjw1l2Xei6vV8vlx0NhWyu%2BvizIRv1aaXo4C90G5dt8Z2AWbh5PVoHUqHiLEJeJLlPzE8CYSE4q%2FXj)
或者 箭头函数 来指定 "this" 指向。
this.deleteRow(id, e)}>Delete Row
Delete Row
"Handling Events –
React" (https://link.segmentfault.com/?enc=hnEGLl4Oje%2BudOE2van4Pg%3D%3D.BOw0Ss5rmE5ZsRz1VZea3umniAn5pp75WYJNZHp8nUoTUwZ9TOODDs9fegsFt32%2FM4UiAULAqZ3iFS9xshW72MjfOeROjQ74pPlt1z%2B%2FShaZTzLzjXZ4Xeh0bjjgSt52)
木子弓长
关于元素背景图的平移和缩放如何处理?
关于元素背景图的平移和缩放
对一个元素进行操作,监听元素上的mousedown、move、up、whell、事件,对背景图进行变换操作,平移没什么问题,缩放的话,他的缩放中心始终在0,0,不能改变他的缩放中心,我想在缩放的同时移动他的background-position来达到类似的效果,但是没什么头绪
木子弓长
关于微信小程序 怎样处理用户手势返回的问题?
进入支付页面的时候使用
"wx.redirectTo" (https://link.segmentfault.com/?enc=%2BidPSSVBlw9z3M8CK3ohEA%3D%3D.guUGbf%2BR5MYGuTrEty2cfYwraag8JougydVhsCpQETu%2BMixoXDDrRvjP9aIxa%2B%2BixTdgZq5oCABCwiwJaAaM89iLZ%2FRE4kn50TX46zjClm8%3D)
而不是 "wx.navigateTo"。这样就可以直接返回到购物车页面了。
***
Edit
如果说是想要在用户提交订单之后进入到支付页面,拦截用户的右滑返回,然后跳转到订单详情页面这样是不行的。只能在返回到提交订单页面后做跳转逻辑。