0offer糕手
如何使用 LLM 来做爬虫的页面通用解析?
现在遇到的问题是 html 往往很大,甚至可以说体积是超级超级大,几百KB甚至几MB
但是 LLM 的上下文比较小,输入的 html 这么大,非常的糟糕
但是又不能去除掉所有的 html 标签,因为这样就是失去了原始信息了,怎么有选择性的把有效且精简的数据输入给 llm 呢?
0offer糕手
面试时怎么回答业务亮点和难点?
这个东西主要靠积累,即你在工作的时候就要关注所谓的“难点”和“亮点”。这些“难点”和“亮点”未必是你 100%
参与决策、处理的,但是通过参与、处理、学习,你也从中吸取了很多经验和教训。然后面试的时候就能侃侃而谈。
怕就怕上班敲钟,堆烂代码,堆完就回家,出问题就甩锅。所以平时注意积累,面试的时候就能拿分。
0offer糕手
请问小程序开发中,遇到一个不知道怎么处理的事,想请大家帮忙给个思路?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250112/de4586d1f34df9af653bf2bf1693b791.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250112/eb171d3e08e7d98df52802d533c1811d.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250112/192b89846069f34136261007cbc44a16.png)
我有上图三个页面,跳转逻辑依次排列,
当我到第三张图,开始地图选点的时候
选择完点击确认选点,这里会自动回到图2,也就是选择收货地址页面,然后在图2的onshow生命周期中接受选择的位置信息数据,
但是实际上我是想直接回到图1的,并把数据传过去的,
当在地图选点页面点击确认选点后,我在图2的onshow 生命周期中写了如下代码:
onShow: function onShow() {
const chooseLocation = requirePlugin('chooseLocation');
const location = chooseLocation.getLocation();
console.log(location,'location89898')
// var map_city = wx.getStorageSync('map_city');
// wx.setStorageSync('map_city', location);
if(location != undefined){
// var pages = getCurrentPages();
// var prevpage = pages[pages.length - 2];
// prevpage.setData({
// back_latitude: location.latitude,
// back_longitude: location.longitude,
// back_addrss_all:location.address
// });
wx.setStorageSync('map_city', location);
// wx.switchTab({
// url: '/pages/my_city/index'
// });
// wx.navigateBack({
// //返回
// delta: 2
// })
}
}
我是用了两种方法,
一种是在图2 onshow生命周期中本地存储数据,然后再wx.switchTab回到图1
还有一种就是在图2 onshow生命周期中 直接通过prevpage.setData 传递参数 然后直接返回前两页
wx.navigateBack({
delta: 2
})
这两种方法都能让我在图1 接收到数据,但是有个问题就是,因为我在图2的生命周期中,加了返回页面或者直接wx.switchTab回到图1
但是我发现,图2的onshow
接收的数据会一直缓存,我现在无法再通过图1点击回到图2,因为始终会触发返回图1的事件,这种情况,不知道到底如何处理比较合适,清除本地存储
感觉也不合适,不知道小程序有什么类似清除onshow生命周期的缓存的方法吗?
0offer糕手
fonttools 通过 pip install 成功后,提示fonttools: command not found?
1. 重新打开一下终端,试试看
2. 运行 "python -m pip list" 先确定是不是已经安装了这个包
3. 运行一下 "python -m pip show fonttools --files" 看下 "Location" 指向哪里,"Files"这一列下面的 有没有 "../../../bin/fonttools"。
4. 如果上面都有,看一下 "PATH"环境变量。
0offer糕手
我需要绘制一个能够根据不同柱子的数值配置不同颜色的柱状图,请问应该如何实现?
可以使用 VChart 中配置柱子样式的回调来根据数据内容自定义颜色。
代码示例:
const spec = {
type: 'bar',
data: [
{
id: 'barData',
values: [
{ month: 'Monday', sales: 22 },
{ month: 'Tuesday', sales: 13 },
{ month: 'Wednesday', sales: 25 },
{ month: 'Thursday', sales: 29 },
{ month: 'Friday', sales: 38 }
]
}
],
xField: 'month',
yField: 'sales',
bar: {
style: {
fill: (datum) => {
return datum.sales > 25 ? 'red' : 'blue';
}
}
}
};
const vchart = new VChart(spec, { dom: CONTAINER_ID });
vchart.renderAsync();
// Just for the convenience of console debugging, DO NOT COPY!
window['vchart'] = vchart;
可以把代码放在 vchart 官网任何一个 demo 的 playground
里试一下,非常方便。比如下面地址就可以:"https://www.visactor.io/vchart/demo/bar-chart/basic-column" (https://link.segmentfault.com/?enc=Ty%2BdkPTKP%2BNhniXTsZ3t7A%3D%3D.oYo6%2Bt4nbpNrceivXWQkhYD9K%2F1CnBqjilbH24axUWACniFEz4RMkfRQtsMXWx0WsiFqwvF%2BCq6nNZkh2gb0Kw%3D%3D)
图表效果:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250107/944ee1059eb2781d457118b719410d65.png)
相关资源可参考:
github:"https://github.com/VisActor/VChart" (https://link.segmentfault.com/?enc=tTHjl42dpZNBFCmQ59%2BvJQ%3D%3D.uOZELZhr0x1VcWADyJ7uH912qNRnG%2BXkRNx5HDYchjtX2mnFB9pD8VxuEnOHZDFB)
barChart style spec:
"https://www.visactor.io/vchart/option/barChart#bar.style.fill" (https://link.segmentfault.com/?enc=%2FzyYLVoHLJVlAswOZG%2FwJA%3D%3D.VcPoXfL41ZIaIt6xBW%2BxmqlDBPuYEZ4pwvJXGpzZZWPciCcUrWY7hktMXduCSMiQCCQwhwyX5bryYLf%2BhQg9eQ%3D%3D)
0offer糕手
es6中的数组转换,关于Array.from()的一些疑问?
有这三个问题是因为对JS基础语法不清晰以及不明白 "from()"用法:
from() 方法用于通过拥有 length 属性的对象或可迭代的对象来返回一个数组。
或者说:
Array.from() 静态方法从可迭代或类数组对象创建一个新的浅拷贝的数组实例。
语法
Array.from(arrayLike)
Array.from(arrayLike, mapFn)
Array.from(arrayLike, mapFn, thisArg)
参数
arrayLike
想要转换成数组的类数组或可迭代对象。
mapFn 可选
调用数组每个元素的函数。如果提供,每个将要添加到数组中的值首先会传递给该函数,然后将 mapFn 的返回值增加到数组中。使用以下参数调用该函数:
element
数组当前正在处理的元素。
index
数组当前正在处理的元素的索引。
thisArg 可选
执行 mapFn 时用作 this 的值。
«"https://developer.mozilla.org/zh-> CN/docs/Web/JavaScript/Refer..." (https://link.segmentfault.com/?enc=VgwHLgkqlXQ2BnX0bSp1ZQ%3D%3D.b4oH%2BxGPckkyIHoyUkHLSSNhRYXKc3ZzfaxcAlci7Man5NkSc3ATHEl213BjrTlaY%2BQVFtAhrBb9GTmCAJOfpk7Km%2BEFHRRIWtVwQb45C4%2BF7SoSJmltfa5XjjKpAnE8)»
0offer糕手
vue3语法实践写法?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250105/50d95cffc299b6a8c04ebef1acf7f2c0.png)
写了一个去重函数,和一个数组,但是这个怎么调用
怎么去处理呢,vue3写法,不太熟悉
0offer糕手
ESM 的“异步”到底异步在哪里? 为什么import的模块都是同步执行,却说ESM是异步的?
问题
import a from 'module-a';
import b from 'module-b';
console.log(a);
console.log(b);
这几行代码是同步执行的,为什么却说 ESM 是异步的。
谁说ESM是异步的?
"https://nodejs.org/api/packages.html" (https://link.segmentfault.com/?enc=drFSlgR6t7VMTfJuly16mg%3D%3D.Bz9Y8pwzk7X6sOvShE7A9LU%2F8HNV3rf%2FyoVRyHfIVlUSQz%2BUsBKvj1j7M7cM7wiL)
这里说的
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250104/227ba8b50ffa8586ccae905b9ccc737e.png)
其他问题
看到几篇文章,大都是说 script标签的加载是异步的,并没有说import是异步 的吧
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250104/c56cb649d7989600310e509ed4e28ba0.png)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250104/9894d9d733a5c669f1de2de9d7e8fd08.png)
补充内容
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250104/ee4ed5e8809abbc2d7ccb7be828ab765.png)
异步是说这个?
0offer糕手
可以帮我看下为什么 这个右侧的aside的宽度可以达到2000多px吗?
"https://element-plus.org/zh-CN/component/link.html" (https://link.segmentfault.com/?enc=HculBBXUxQCVUYq5IyoA9w%3D%3D.ToPrYFIa4JlELVn2PJo7CKwHqjXrIKZKHefg2L5ooaZ9JrEH%2BlOcG9mcKwsu4O7j5wSxhd7C1P390XgPvy6eNw%3D%3D)
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250102/f89608b1b7a9dde69e70853bd3941e40.png)
可以帮我看下为什么 这个右侧的aside的宽度可以达到2000多px,和左侧的内容区域等高,这是通过哪个属性控制的?
补充
父元素是 display:flex, flex容器内部的弹性子元素不一定是等高吧? 弹性子元素的高度应该是他自身的内容撑起来的吧?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250102/5874c36a6f39a7e01b8c4152874a90b7.png)
0offer糕手
vue/uniapp中,如何在监听里监听多久没返回消息了?
在任意一个监听里,比如以下的uni.$on,
从收到消息开始,计算5秒内还有没有新的消息返回,如果5秒后还没有消息返回,那就结束这个计算,
从下一次收到消息再开始
uni.$on('getData', (obj) => {
})
小弟在这里先感谢各位大神们,感激不尽,祝大神们发财祝大神们取漂亮老婆
0offer糕手
官网项目纯html怎么工程化打包部署?
看起来你描述的"html+jquery+css+图片"其实已经是类似vue+vitejs这种工程化项目打包之后的结果文件了,
* 只不过你们是通过手写html+jquery+css来产生这份代码的,
* vue+vitejs这种工程化项目是通过手写加vitejs来生成"html+jquery+css+图片"的,
***
现在你们只差了一个部署的功能,这个得具体情况具体分析,简单的描述几种,考验的是写脚本的能力,看你自己用啥语言写脚本,一般前端用nodejs
1. 官网有静态服务器,可以直接通过ftp/ssh/sftp上传上去的,直接编写脚使用ftp/ssh/sftp上传到服务器即可
2. 通过cos/oss这种cdn部署的,用cos/oss的sdk上传到储存桶里即可
3. html+jquery+css+图片需要通过tomcat之类的服务访问的,建议找你们公司创建这个tomcat的人,让他协助你写个脚本
***
当然,不管通过上述什么途径写的脚本,
都有要有个地方执行,一般来说都是通过git的服务器钩子执行的,
比如,在git服务器上监听,合并到生产分支时,
通过webhooks或者直接在git服务器上执行刚刚说的脚本
或者一些通用的解决方案,比如"jenkins"
0offer糕手
js 动态设置元素fixed 页面抖动问题?
windows监听滚动事件,滚动满足fixed条件时,元素一直抖动是什么原因?
window.addEventListener('scroll', this.handleTabFix, true)
handleTabFix () {
let timeOut = null
clearTimeout(timeOut)
timeOut = setTimeout(() => {
let scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
let offsetTop = document.querySelector('#testNavBar') && document.querySelector('#testNavBar').offsetTop + 60
scrollTop > offsetTop ? this.isFixTab = true : this.isFixTab = false
// isFixTab为true时,设置元素为fixed
}, 1000)
}
0offer糕手
ionic的组件标签在vscode上爆红?
自定义的标签,vscode不识别。你的插件里没有跟标签有关的支持,你找的不对吧
0offer糕手
Taro开发微信小测试,配置tabBar 无效?
* 如果你是需要自定义 "tabBar" 的话需要在 "src" 目录下添加 "custom-tab-bar" 组件
* 如果不是自定义组件的话,讲 app.config.js 配置中的 "custom" 设置为 "false"
0offer糕手
yarn 3.5版本执行yarn list lodash报错?
Usage Error: Couldn't find a script named "list".
$ yarn run [--inspect] [--inspect-brk] [-T,--top-level] [-B,--binaries-only] ...
报错如上,yarn版本是
``
yarn -v
3.5.0
0offer糕手
react多张图片透明度依次变化实现图画如何实现?
"https://3.swiper.com.cn/demo/index.html" (https://link.segmentfault.com/?enc=dT82mxyWfX7jQXbHTiqmEA%3D%3D.ucFZ0xsh5%2FXDLz6YjAtKTHWP5XijgLKFInEi8AKJ%2BJuy4OjFFedhdZrx8TCgoaY6)
0offer糕手
有大佬可以帮忙看看菜鸟python入门问题吗?
没搞明白要干啥, 盲猜写法
def is_integer_string(s):
if not s.isdigit() and (s[0] != '-' or not s[1:].isdigit()):
return False
return True
def print_hourglass(n, sym):
i = 1
while n >= i * i:
print(' ' * (i - 1) + sym * (i * 2))
print(' ' * (i - 1) + sym * ((i + 1) * 2))
i += 2
while i > 0:
print(' ' * (i - 1) + sym * (i * 2))
i -= 2
try:
n = input()
if is_integer_string(n):
n = int(n)
sym = input()
print_hourglass(n, sym)
else:
print("请输入一个整数")
except ValueError:
print("请输入一个整数")
0offer糕手
vue2项目,为什么window下会挂在vue,Vuex,ELEMENT这些对象?
我们项目这些是直接在index里引入的,然后config里也配置了
config.externals = {
vue: 'Vue',
axios: 'axios',
vuex: 'Vuex',
'element-ui': 'ELEMENT'
}
0offer糕手
前端如何接收流式数据?
像一些大模型的 API,有的提供了流式的 API,允许一个字一个字来吐出数据。前端应该使用这些 API?
0offer糕手
tsc编译后运行报错Error [ERR_REQUIRE_ESM]: require() of ES Module,要怎么处理呢?
你在 "ES Module" 项目中引入了 "Commonjs"规范的库, 试试这样,没试过
const ID3Writer = require('browser-id3-writer');
0offer糕手
请问公司130台电脑备份方案、费用?
请问公司130台电脑备份方案
目前想要防止用户把数据给删除或是乱改,想要做到备份机制
每台电脑C大小为250GB,D为500GB
大约130台电脑
请问前辈们大概需要花费多少钱,有哪些推荐的方案
0offer糕手
如何在Chrome性能面板查看XHR Ready State Change的请求来源?
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241107/c42b00fb0c977974ed5893cd7abb5bf3.png)
0offer糕手
网页视频暂停后无法播放,重启可解决?
这和你本地环境有问题,可能是某些插件,或者浏览器相关,你可以换其他浏览器试试
0offer糕手
slim框架如何获得query参数?
在slim框架中:
get('/hello/{name}', function (Request $request, Response $response, array $args) {
$name = $args['name'];
$response->getBody()->write("Hello, $name");
return $response;
});
我们可以访问:
"http://localhost:8080/hello/bob" (https://link.segmentfault.com/?enc=plKq5jvYOa3UoasA%2B%2B9Ugw%3D%3D.M4TGl2YxDOizLOCLK3Q1eN087E9xTRMMg693515xwio%3D)
"image.png" (https://wmlx-new-image.oss-cn-shanghai.aliyuncs.com/images/20241030/b6b6754d80086bc32489a3875219b7ad.png)
请问如何在slim获得query参数呢,比如访问:
http://localhost:8080/hello/bob?aaa=111&bbb=222
搜索无结果。
0offer糕手
docker部署问题,COPY 命令没有成功?
你的三个 service ,每一个用的都是自己的镜像。
nginx service 用的就是官方的 nginx:latest ,而不是你自己写的 Dockerfile 。
你自己的 Dockerfile 只用在了 web 这个 service 里。
0offer糕手
Promise.all中多个Promise的开始执行顺序的问题?
"Demo" (https://codepen.io/ZJRui/pen/zYyBYvW)
从日志输出来看 先执行了p1后执行p2,
问题
1.Promise.all的参数接受一个Promise数组, Promise数组中每一个Promise的执行函数的 开始执行顺序是怎样的?
是按照数组中的顺序 开始执行每一个Promise的执行函数吗?从实际日志输出来看 好像是数组的倒序
(注意问题问题的是Promise的执行函数的 开始执行顺序,并不是Promise的完成顺序,仅仅是执行函数的开始实行顺序)
2. 实际Promise.all的场景中参数Promise数组中的每一个Promise之间应该是没有依赖性的吧?
我有一个场景: 做一个爬虫,点击登录按钮,页面发生跳转。我需要等待登录请求和页面跳转这两个事件的执行完成。
在 "puppeteer
API" (https://link.segmentfault.com/?enc=SBhHn%2F82OysB%2FMcwwrgu0Q%3D%3D.JcyV92n5SBcmWQhTZk0DspEUnxBlaILlL%2FAv%2Fdc5un5%2B%2BdvL%2BFwRWK%2FynMI%2Fz%2FGv)的写法如下
const [response] = await Promise.all([
page.waitForNavigation(waitOptions),
page.click(selector, clickOptions),
]);
我对这个写法的疑问是: 正常情况下是 点击按钮先执行,然后才会发生页面的跳转,等待页面的跳转完成,也就是这两个Promise之间的执行函数有顺序要求,
这种写法合理吗?
b
0offer糕手
如何在CentOS 7.9上安装Node.js的高版本(18以上)?
centos7.9安装nodejs18以上版本的优选方案?
前言
有个项目是nuxt2做的(node版本16.14.0),现在准备使用nuxt3重构(node
20.10.0),而使用nuxt3需要node至少18.0.0(此处吐槽nuxt3中文网坑爹提示需要node版本16.0.0)
安装node20.10.0
使用centos7.9安装node20.10.0,运行node提示
[dev1@localhost bin]$ ./node -v
./node: /lib64/libm.so.6: version GLIBC_2.27' not found (required by ./node) ./node: /lib64/libc.so.6: version GLIBC_2.25’ not found (required by ./node)
./node: /lib64/libc.so.6: version GLIBC_2.28' not found (required by ./node) ./node: /lib64/libstdc++.so.6: version CXXABI_1.3.9’ not found (required by ./node)
./node: /lib64/libstdc++.so.6: version GLIBCXX_3.4.20' not found (required by ./node) ./node: /lib64/libstdc++.so.6: version GLIBCXX_3.4.21’ not found (required by ./node)
发现需要升级GLIBC,而升级GLIBC的前置条件是需要升级 gcc 和make.
在网上查了一下,由于CentOS 7.9
默认仓库提供的GCC版本可能相对较低,因为这个版本的系统主要是为了稳定性考虑,通常不会包含最新的开发工具链。CentOS 7.9
默认安装的GCC版本是4.8.x系列,make是3.几.
由于线上的生产环境是已经稳定运行了一段时期了,而升级node所需的依赖都涉及到核心库,可能存在一些风险和不可预测的后果,无法预测,请教各位大神,有没有比较好的方案
0offer糕手
中间的有突出效果是怎么实现的啊CSS?
看你想怎么实现,最简单的做法,在上面覆盖一个白色透明渐变就好。可以用伪元素,比如:
.progress-bar {
position: relative;
}
.progress-bar::after {
content: '';
position: absolute;
top: 0;
right: 0;
height: 100%;
width: 1rem;
background: linear-gradient(to right #fff0, #ffff);
}
代码没调试,指个大方向。
0offer糕手
CSS如何为元素销毁添加动画效果?
"在元素销毁时也执行一次动画"也可理解为"元素执行某一动画后销毁":
// 当需要销毁test元素时,先添加一个类
document.querySelector('.test').classList.add('fadeOut');
// 等待一段时间以确保动画完成,然后再真正移除元素
setTimeout(function() {
// 真正移除元素
document.querySelector('.test').remove();
}, 500); // 假设动画持续时间为0.5秒
/* 添加一个用于退出动画的类 */
.fadeOut {
animation: fadeOut 0.5s linear;
}
0offer糕手
cookie下两个同名的key但是domian不同,js获取时有优先级吗?
参考:"https://stackoverflow.com/a/24214538/1484621" (https://link.segmentfault.com/?enc=sgn%2FNx2ZNDWDQEi%2F1zoEBg%3D%3D.1ZoZWQ%2Fjsa%2BqsAH6uY8AtadcSdkN4VZrK%2B7b2JSa7qGWzC2QWn7n0%2FxjxKZL%2BPMw)
大体上是: 浏览器会发送前会对 cookie 按路径长短排序,长的在前,但规范
"RFC6265" (https://link.segmentfault.com/?enc=%2BTOiuEpi7p%2Be%2B51WFbVFEA%3D%3D.yYU%2BZzsVW8WFzFhaSM1hkaJg4D%2B01ONZJHRyo8XPhwx%2BU8tvz6xkDgbhyWyrwiDS)
同时说明服务端不应依赖这个顺序。
0offer糕手
哪些资源适合存入 oss ,哪些资源则自行管理?
哪些资源适合存入 oss ,哪些资源则自行管理?
0offer糕手
RocketMQ异常重试的时候,为何会触发相同群组的其他不同的Tag监听?
原来官方有提到这个问题,是我新手了
"订阅关系一致" (https://link.segmentfault.com/?enc=plwSb4KELm%2BGp1kHgA4xig%3D%3D.m%2FDdM12AfvXYUcGDYQ%2BnxaJdzu%2F0K9FR%2BfTF8XtFdvDw%2BuA6wviJGyUFjmNwLFeSjb0fNBHIw9dorrjaGatitEn3EzvRZOtDocmUyO2BHOg%3D)
至于为什么会出现这个现象,就没解释,希望有大佬解答一下。看了一些文章,说是和"ConsumeQueue"有关
0offer糕手
安装nuxtjs失败, Error: Failed to download template from registry: fetch failed?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241011/34811ba1651729580a8179438e911daa.png)
各种方法都试了
什么:185.199.108.133 raw.githubusercontent.com
什么114.114.114.114
而且我能科学上网,就这,还是提示
ERROR Error: Failed to download template from registry: fetch failed
0offer糕手
表格数据瞬间清空导致看不到过渡效果?
写了一个bug demo, 效果如下
"SDGIF_Rusult_1.gif" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241011/864bc69bc750bd83eb7d4dccb5bc4ff0.png)
线上运行网址
"https://stackblitz.com/~/edit/djnurk?file=src%2Fapp%2Ftable-b..." (https://link.segmentfault.com/?enc=Lm5OELdHtSt6FR3O5Qnvbw%3D%3D.nmqcZuUn4zI%2BUVMEZO1%2FQBqoLcb9Bu6nR6f8z3LKmUqjiSJQYHK2AcrACmYkBhCSJp%2Fm4vtxFD%2BL1lSnf2%2BENpJrWJmXHiugKG6lTJSUwjI%3D)
这是我用到路由转场动画 + Material Table 组件导致的一个转场bug
"https://angular.cn/guide/route-animations" (https://link.segmentfault.com/?enc=hCzEjRe1YLGz2k3IgjbbLg%3D%3D.EEnDcEdNF%2Br7H%2FRvzmRFs2G%2FUtto4tqoa%2BmFWE5xmgowWwklt5AIH7cDyjbY2%2FEB)
"https://v14.material.angular.io/components/table/overview" (https://link.segmentfault.com/?enc=1WC5TIuaffn9RnbZx0AHQQ%3D%3D.dTN11Gs7WaC%2BhjAtDpB5Omfo%2FSuvEAlWWFVsgyLExh%2FBmUnlvmitsXqi%2B%2BG%2FoCp6zp3sx9wh98khUowNM%2BPrdg%3D%3D)
可以看到我在 Page1 里放了一个 mat-table, 当我从 Page1 转场到 Page2 时候,
组件内部的数据自动被清空了(dom元素自动删除), 最终导致我无法完整的看到表格渐变透明的过渡效果. 查阅了文档但是未找到这部分的详细说明
实际需求: 在转场时, 我希望能完整的看到表格数据的过渡效果, 而不是瞬间消失.
或者在dom被删除之前做一次拦截? 有没有什么方法能实现?
最后我贴一段 demo 的详细代码, 希望有懂 Angular 的大佬能刚忙指点指点, 万分感谢!
文件列表
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241011/16fd5ef4450a2c3b93af7c783baccf87.png)
animation.ts
import { animate, query, style, transition, trigger } from "@angular/animations";
export const defaultTimings = '300ms linear';
export const routeTransitionAnimation = trigger('routeTransitionAnimation', [
transition('* *', [
query(':enter', [style({ opacity: 0 })], { optional: true }),
query(':leave', [animate(defaultTimings, style({ opacity: 0 }))], { optional: true }),
query(':enter', [animate(defaultTimings, style({ opacity: 1 }))], { optional: true })
])
]);
app.component.ts
import { Component } from '@angular/core';
import { RouterOutlet } from '@angular/router';
import { routeTransitionAnimation } from './animation';
@Component({
selector: 'rxc-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss'],
animations: [routeTransitionAnimation]
})
export class AppComponent {
title = 'demo';
doRouteTransitionAnimation(outlet: RouterOutlet) {
return outlet && outlet.activatedRouteData && outlet.activatedRouteData['animation'];
}
}
app.component.html
Page1 Page2
app-routing.module.ts
import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { Page1Component } from './page1/page1.component';
import { Page2Component } from './page2/page2.component';
const routes: Routes = [
{
path: 'page1',
component: Page1Component,
data: { animation: 'page1' }
},
{
path: 'page2',
component: Page2Component,
data: { animation: 'page2' }
}
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
styles.scss
#routerOutletContainer {
position: relative;
}
#routerOutletContainer>* {
position: absolute;
width: 100%;
}
版本是14
package.json
{
"@angular/animations": "^14.0.0",
"@angular/material": "^14.0.0",
}
后续
"1.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241011/73c1822902f663e973c48a05391542ef.png)
"2.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241011/c3ad96192e4d60295f6e8b67af5d869c.png)
这两张是路由切换前和切换时的dom元素, 切换的时候内部元素被清空了, 清空的操作应该是mat-table内置的
0offer糕手
Windows游戏接入微信登录?
unity包出的windows游戏,有接入微信登录的需求,这个有什么好的解决方案吗?目前想到的是,创建一个我们的web应用,在游戏客户端里面点击微信登录的时候,去我们的web应用去做一个http请求,web应用去获取登录的code,然后返回给客户端,客户端拿到这个code之后,和游戏服务器交互,做登录操作。除了这个还有其他的什么方法吗?这个的工作量有点大,要做个网站出来,所有是最后考虑的。
有没有想在移动平台一样,直接调用一些api,可以拿到微信的code的。
0offer糕手
文件替换,加上小数点的正则?
文件里有很多的 "damageValue" 属性,该属性可能是单个数字,也可能是一个公式,如果是公式则只包括加法和乘法,现在要求将所有的属性值除以
10(比如原数 6144,替换后是 614.4,如下图)。我想用在编辑器中替换,想问下这个正则怎么改怎么写?
"snipaste_2024-02-19_20-37-04.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241010/124cc8b9ca9348ee3e2d34c0ff417da8.png)
***
«题主原问中的图片资源
***
补充,我想要的格式是数值加上小数点,不要 "(整体)/10"。还有就是乘号后的数值不除以10。»
0offer糕手
vite打包依赖,希望nodejs和web都能用,怎么做到?
web 不支持 fs,即使 polyfill 也是残废的,不可能提供一致的功能。所以正确的做法是剥离对环境的依赖,只打包核心逻辑代码,比如 lodash
等仓库。
0offer糕手
如何通过F12快速获取网页中传递图片的接口呢?
具体情况具体分析,OP提供的例子里面,图片是在富文本数据里面的。
那么就要看情况了,这个文章的详情页面,是否为服务端渲染的。
* 如果是,那么就不会有图片的接口,由服务端直接返回已经处理的静态页面给浏览器。
* 如果不是,那么可能由接口直接返回富文本数据,在前端做html内容的渲染。
以上两种情况,都是没有一个单独的获取图片的接口的。文章内容都是作为一个整体返回的。并不是说图片通过图片接口返回,文本内容通过文本接口返回。
问题截图的这个样例就是第一种,服务端直接返回已经处理好的html页面给到浏览器的:
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241009/46be8eeaaa0fd76296ae33421c34dc8f.png)
***
如果是一些其他的部分,比如说轮播图、瀑布流形式的内容卡片,可能是通过一些接口来返回。
比如说CSDN首页的资讯模块,就是单独请求接口,然后服务端返回文章列表,里面就有单独的图片地址。
***
或者我没有正确理解到OP的需求,可能单纯只是想要看所有发起的的图片请求。
那么可以在浏览起的 "devTools" 中,切换到 "network"(网络)面板,选择图片类型的请求,就会在下方展示所有的图片请求了。
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241009/a445dc5c815cff10293dc4bad2dd6986.png)
0offer糕手
go开发时 vscode 提示 package 引入错误的问题?
先简单回答一下第一个问题,这个和你的目录包的设置有关(你可以先给出一下go.mod,我看看 );第二个,可以,需要进行replace
首先让我们来看一下 Go 的包管理:
Go 语言使用包(Package)作为代码的组织单位,每个 Go 程序都是由包组成的,并且程序从 main 包开始运行。Go 应用程序通常由一组多个包组成。
开始时,Go 倾向于使用全局的 GOPATH 作为工作区间的目录,并且会在这个目录下存放所有的 Go
代码,包括你自己的和第三方的。这就意味着所有的代码和依赖都会在同一个地方。
Go 引入go mod。Go Modules 允许我们的项目可以在任何位置,不一定需要在 GOPATH 中。
接下来,我们来看一下 Go 的路径引入:
如果你在 Go 文件 import "github.com/gin-gonic/gin",那么这其实就是一个包的导入路径。Go 会根据这个路径去
GOPATH 或者 GOROOT 中查找对应的包。
在使用 Go Modules 的时候,你可以以模块路径(module path)作为一个基础路径(基本上就是你的 module 名称,比如
"github.com/myname/myproject")。你的其它包可以以这个基础路径为基础,建立在你的项目的子目录中。
因此,包管理和路径引入之间有着紧密的关系。包管理决定了你的代码和依赖的物理组织方式,而路径引入决定了你的代码如何在逻辑上连接和使用这些包。在 Go
Modules 的辅助下,这两者可以更加灵活和便捷地工作。
0offer糕手
如何在Craco中配置多个项目入口?
const CracoLessPlugin = require('craco-less')
const HtmlWebpackPlugin = require('html-webpack-plugin')
const path = require('path')
module.exports = {
plugins: [
{
plugin: CracoLessPlugin,
},
],
webpack: {
configure: (webpackConfig) => {
webpackConfig.entry = {
main: path.resolve(__dirname, './src/index.tsx'),
activetion: path.resolve(__dirname, './src/entries/demo/index.tsx'),
}
webpackConfig.output = {
...webpackConfig.output,
filename: 'static/js/[name].[contenthash:8].js',
chunkFilename: 'static/js/[name].[contenthash:8].chunk.js',
}
webpackConfig.plugins.forEach((plugin) => {
if (plugin.constructor.name === 'HtmlWebpackPlugin') {
plugin.userOptions.excludeChunks = ['demo']
}
})
webpackConfig.plugins.push(
new HtmlWebpackPlugin({
inject: true,
template: path.resolve(__dirname, './public/demo.html'),
chunks: ['demo'],
filename: 'demo.html',
}),
)
return webpackConfig
},
},
}
已解决
0offer糕手
如何在不设置宽度的情况下让两个table水平对齐?
不设置宽度的情况下,有没有办法可以让两个 "table" 对其
#
First Name
Last Name
Username
1
Eugene
Kopyov
@Kopyov
2
Victoria
Baker
@Vicky
3
James
Alexander
@Alex
4
Franklin
Morrison
@Frank
Name
Email
Phone Number
Country
John
john@example.com
(353) 01 222 3333
Netherlands
Mark
mark@gmail.com
(01) 22 888 4444
Switzerland
Eoin
eoin@gmail.com
0097 22 654 00033
Germany
Sarah
sarahcdd@gmail.com
+322 876 1233
France
Afshin
afshin@mail.com
(353) 22 87 8356
Norway
0offer糕手
如何将.htaccess的内容编写成nginx的配置?
项目以前是用apache访问的。还配置了伪静态链接;我想改成nginx来访问,可是老是报错。请教告诉任何将.htaccess规则编写成nginx的规则?.htaccess的内容如下:
RewriteEngine On
RewriteRule ^(app|config|data|logs|vendor) - [F,L]
RewriteRule (env|example|lock|md|sql)$ - [F,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
0offer糕手
nginx使用流程?
只有一个nginx.conf文件,电脑没有做过其余任何操作,无安装或配置nginx... 的前提下
测试线上环境需要nginx代理
那前端人员接下来需要干什么
搜索的五花八门,也不知道该先干什么,大佬们有没有什么流程呢
0offer糕手
有什么ui框架实现这样的输入框?
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241006/7c42ff2c9c4daf776e21af13779a9d9f.png)"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241006/52e5c09eea1c1fe1d3ea3b520e328d1f.png)"https://login.docker.com/u/login/" (https://link.segmentfault.com/?enc=3AOyTTWFByL9ue3IoLKVXw%3D%3D.dTBl4dvTtufpnCu201HZCfIt5kZIKvy9MXgarADnZNVE0WIA4opjFZdhQB0V2UAg)
0offer糕手
Docker中Redis容器IP地址固定为127.0.0.1怎么解决?
docker中的redis容器IP地址一直都是127.0.0.1,无法改变?
背景:把Springboot项目部署到docker了,然后在运行项目时, Caused by:
org.redisson.client.RedisConnectionException: Unable to connect to Redis
server: /127.0.0.1:6379
尝试:1、修改了redis.conf"0c77096b52b4e182b803527e2a006d4.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241005/079c0583f23a2462dc9216d0e79adf7f.png)
2、修改项目的配置文件"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241005/82a6a7140a4fe92e95e5ef27af89b25e.png)"cbfb10cf7845a6fc1fadd68b68a02bb.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241005/79df04bff4dac6ca87348d3e6481d96e.png)
3、这是redis容器,name为myredis,而且mysql和myredis都connect到了heima网络里面了"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241005/dae926e8dba21f9b9019040b5ea76f7b.png)
在修改配置后,我都有重启各个容器,但仍然无效
问题已经解决
问题是在Java程序这一端
public class RedissonConfig {
@Value("${spring.redis.host}")
private String redisHost;
@Bean
public RedissonClient redissonClient(){
//配置
Config config=new Config();
//之前在这里把redis的ip写死了
config.useSingleServer().setAddress("redis://"+redisHost+":"+"6379");
//创建RedissonClient对象
return Redisson.create(config);
}
0offer糕手
请教Flask使用url_for创建分页链接的问题?
flasky学习过程中,有关分页的那部分使用url_for生成url的问题
假设查看的用户是haha
1.在用户头像创建的url
生成的url是
"http://xxx/user/haha" (https://link.segmentfault.com/?enc=R9Q%2FI%2FbixltxeTawPHRKJw%3D%3D.m5RxHnpWLe3ZPDPb5XuSZtmdkRlwdh83EJ%2BGZvQbRPw%3D)
2.在下边分页创建导航栏的url
# 路由
@main.route('/followed_by/')
def followed_by(username):
user = User.query.filter_by(username=username).first()
if user is None:
flash('Invalid user.')
return redirect(url_for('.index'))
page = request.args.get('page', 1, type=int)
pagination = user.followed.paginate(
page=page, per_page=current_app.config['FLASKY_FOLLOWERS_PER_PAGE'],
error_out=False)
follows = [{'user': item.followed, 'timestamp': item.timestamp}
for item in pagination.items]
return render_template('followers.html', user=user, title="Followed by",
endpoint='.followed_by', pagination=pagination,
follows=follows)
定义的宏
{% macro pagination_widget(pagination, endpoint) %}
...
{{ p }}
模板调用宏
{{ macros.pagination_widget(pagination, endpoint, username = user.username) }}
为什么生成的url是
"http://xxx/followers_by/haha?page=1" (https://link.segmentfault.com/?enc=zIx0hwxCmqdD6NcEWfrWFA%3D%3D.iKHuE6l%2B1CzVyUWaLFR9ODzBadH2pyLfwJva1WwkRRGipixJb%2Bn2%2BEM4kLOWgGRm)
而不是是"http://xxx/followers_by/?page=1&username=haha" (https://link.segmentfault.com/?enc=cXmlOoo4tpWHVYE7oGKkrQ%3D%3D.%2Bgk5lq0PlqK5gJLoaS2sivI2jOaJoEdEAySIwYexemUFr9UksO3Abpk6Wo7TvJ5d)
希望老师讲解。
0offer糕手
原生小程序怎么关闭页面跳转时的滑动效果?
没有一个配置项可以开关。👉 "小程序路由跳转动画问题? | 微信开放社区" (https://link.segmentfault.com/?enc=MwgSIOPRbrzD6N88wYTEzQ%3D%3D.nXKCMr335JH2tnroYsBtqyOHa1fndjhwOWUHimuMAa2G9Ojn0Y8%2Fkp4Rl%2BDs8PLWkWsFLrZGSYk3Wom0f%2FMT%2Fo4xQ%2FsvKwqPvfLCS%2BZU5sR6%2FlqLXS1vhoiTDU0aKjIJ)
要不然就是看文档写一个自定义的效果。👉 "Skyline 渲染引擎 / 增强特性 /
自定义路由" (https://link.segmentfault.com/?enc=n62qIGER5ljYdM2X8odhwQ%3D%3D.t2K09jWPWHXPzSTh08fCtRmXZsOp0GcVY540nHSxezdZ7zXbl7U5SvB8c0u8gZDIl5WbBIJ2Fyb%2FEQJ3iIT%2FnLnE4IQA%2BVZjGEl5EVD7HkFnNvvI7jfBygnuWhBPfKXv)
0offer糕手
tinymce 官方插件如何显示图标文字?
我想让 tinymce 编辑器默认的组件,比如:复制、粘贴、撤销等功能
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241003/25d872d0e80c465db18e1bd52d138c4e.png)
像自定义功能一样显示图标下的文字,如下图这样
"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20241003/4c751c21cda0ab9fe563b8107430c122.png)
请问有没有办法实现呢?还望解答,万分感谢!
0offer糕手
async await执行结束后,希望.then中的方法也一并执行完毕,再跳出方法,要如何操作?
父组件用 forEach 调用子组件的异步方法,会同时运行,并且不会等待。你需要用 map 返回一个promise的列表,然后再等待异步完成。
const initPromises = this.identifyFailed.map(async (alarm: Alarm, index: number) => {
await this.$nextTick()
returen await this.$refs['slideImageFaildRef'][index].initFilePath(alarm.id)
})
Promise.all(initPromises).then(....)
0offer糕手
复杂网络下如何做VNC中继?
我目前的网络环境大致如下图所示,绿色圈里的是我有管理权限的设备
https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20240930/24bd6320a7855c3cc7a32f953164d633.png
其中:
内网IP/CIDR=10.0.0.0/8,固定内网IP为10.11.12.13
内网路由器WAN
IP设置为10.11.12.13且打开了DHCP,也就是说无线网卡获取到的是192.168.1.0/24段的地址,而不是10.0.0.0/8段的地址,如果非必要,需要保持这样不做更改
需求是能在不连接内网路由器的情况下VNC到内网的设备
已失败方案:
1.UltraVNC repeater,看了下官网的说明,大概是需要更换VNC服务端为UltraVNC,而目前是RealVNC
2.免费版贝锐蒲公英组网,只能访问有线网段,让它的流量走无线网卡又因为没有外网而显示设备不在线而不能连通
3.TightVNC reflector(GitHub地址),没搞懂怎么用-_-|
不想使用的方案:远程到Win11之后再从Win11上VNC
由于我太菜,可能已失败方案可以成功,还请各位大佬不吝赐教