FishHawk

Results 116 comments of FishHawk

这个问题我觉得大概是来自vueuse本身的实现,可能不好搞。

500错误我这边没见到,wenku元数据没理由出错才对,搞不懂。 解决方案我明天看下。

进一步分析后,发现是`node_modules/@vueuse/core/index.mjs`里`useStorage`的这一段用了`tryOnMounted`来添加listener。当组件卸载时,listener就会被移除,并且无视外面的effectScope或是createGlobalState。删掉`tryOnMounted`直接加listener就正常了。 ```js if (window && listenToStorageChanges) { tryOnMounted(() => { useEventListener(window, "storage", update); useEventListener(window, customStorageEventName, updateFromCustomEvent); if (initOnMounted) update(); }); } ``` 但是诡异的是在复现这个bug的时候,用`createGlobalState`包装了下就好了,还要再看看为什么。 复现代码:https://stackblitz.com/edit/vitejs-vite-47i1zttd?file=src%2Fstorage.ts

> 我看了下[ createGlobalState 的源码](https://github.com/vueuse/vueuse/blob/main/packages/shared/createGlobalState/index.ts) > > function effectScope(detached?: boolean): EffectScope > > 内部使用了 effectScope(true),应该是 detached 参数把 watch 之类的与组件分离了吧 > > 这里刚好有 lazy 情况的描述 https://github.com/vuejs/rfcs/blob/master/active-rfcs/0041-reactivity-effect-scope.md#detached-nested-scopes 我这边测试,在机翻站代码里没用,在复现的用例里面有用,非常神秘

本地小说可以,上传的不行。因为从以往经验来看,很多人对翻译好坏的判断是不准确的,有人会把模型脑补的改写理解成翻译好。

先把本地做起来吧。上传的话,我想靠用户提交比较正经的翻译对比报告,共同维护一份配置。

> 一份配置是不行的,各家的模型都有自己的风格和优缺点,就拿现在比较好的deepseek和gemini来说,deepseek r1自带过度润色,会把东西翻译成文言文,而gemini 2.5 pro又较为直白,需要些许润色,两个的风格完全相反。deepseek v3是相对最好的,但不进行约束,也会出现文白参杂的情况。gpt工作区现在都约束不了这几个,想用户提交比较正经的翻译反而是得让用户根据不同的模型来进行各自的调整才行。 一份配置的意思只是不提供用户自定义,要搞优化的话,不同模型肯定还是不一样的