V2EX Troevil
Troevil

Troevil

  程序猿
V2EX 第 88568 号会员,加入于 2014-12-26 13:36:01 +08:00
14 G 25 S 31 B
根据 Troevil 的设置,主题列表被隐藏
二手交易 相关的信息,包括已关闭的交易,不会被隐藏
Troevil 最近回复了
htx 看名字像是火 b 的平台币吧 ,本质和 trx 是不同
90 天前
回复了 340746 创建的主题 问与答 如何找到浏览器 F12 抓不到的 api
@Troevil #23 额 登录后,貌似有 ws 数据了 ,未登录存本地的
90 天前
回复了 340746 创建的主题 问与答 如何找到浏览器 F12 抓不到的 api
@cslive #19 这是个本地游戏啊,数据存在本地的当然没有请求了。
94 天前
回复了 eratpfus7 创建的主题 生活 宽带真是办理容易,注销难
电信现在更炸裂, 我最近注销宽带, 带着路由,猫,机顶盒去营业厅,然后告知我无法注销,只能去开通宽带所在营业厅(我迁移过宽带),然后我去了,告诉我现在无法在营业厅注销,需要线上申请等待宽带师傅上门 ,真的是一坑接一坑, 坐标 025
unraid 支持图形化设置 macvlan 吗, 买了一直没用,如果可以我倒是想切过去了
自己封装一下

第一种用额外的 key ,val 存储 key 的过期时间
```typescript
// stores/user.ts
import { defineStore } from 'pinia'

const EXPIRATION_KEY = '__user_store_expire__'
const EXPIRATION_DURATION = 1000 * 60 * 60 // 1 小时(可修改)

export const useUserStore = defineStore('user', {
state: () => ({
name: '',
token: '',
}),
persist: {
key: 'user', // 本地存储的 key
storage: localStorage,
afterRestore: (context) => {
const expireTime = parseInt(localStorage.getItem(EXPIRATION_KEY) || '0')
const now = Date.now()
if (now > expireTime) {
console.log('user store expired, resetting...')
context.store.$reset()
localStorage.removeItem(EXPIRATION_KEY)
}
},
// 在每次存储后写入过期时间
beforeRestore: () => {
const expireTime = Date.now() + EXPIRATION_DURATION
localStorage.setItem(EXPIRATION_KEY, expireTime.toString())
}
},
})

```

第二种 直接 warpper 原数据
```
// stores/user.ts
import { defineStore } from 'pinia'
import { createPersistedState } from 'pinia-plugin-persistedstate'

// 设置过期时间(单位:毫秒)
const EXPIRE_TIME = 100 * 60 * 60 // 1 小时

// 封装一个带过期逻辑的 storage
const expiredStorage = {
getItem: (key: string): string | null => {
const raw = localStorage.getItem(key)
if (!raw) return null

try {
const parsed = JSON.parse(raw)
const now = Date.now()

if (parsed.expire && now > parsed.expire) {
localStorage.removeItem(key)
return null
}

return JSON.stringify(parsed.data)
} catch (e) {
return null
}
},

setItem: (key: string, value: string): void => {
const payload = {
data: JSON.parse(value),
expire: Date.now() + EXPIRE_TIME,
}
localStorage.setItem(key, JSON.stringify(payload))
},

removeItem: (key: string): void => {
localStorage.removeItem(key)
},
}



```
@ArthurKing github 搜 interactive-feedback-mcp , 这个还有局限,1. 不能等待太近也会超时 2. interactive-feedback-mcp 的输入框不支持 @等相关的功能,就是个基础的文本框
@stacke 还好没买, 好歹 cursor 付费额度还是不用排队的
官方炸了
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3922 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 18ms UTC 00:09 PVG 08:09 LAX 16:09 JFK 19:09
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86