站点只给本人用,云乐坊 SSO 授权、收藏/历史云同步、获客归因和账号切换记账都没有收益,却被登录状态检查和同步失败提示持续打扰。 - 删除 useYunlefunAuth / yunlefunAuth / yunlefunSsoConfig / yunlefunAuth 适配器、useUserDataSync / userDataSync / userData 适配器、三个 client 插件与 /auth/callback 回调页 - 抽出 adapters/cloudbase.ts,让「反馈一下」和匿名筛选信号不再依赖登录态;cook-feedback 云函数保留 - 删除 cook-user-data 云函数与 cook_user_data 权限规则,移除 @yunlefun/sso 依赖 - 「我的」页删掉登录按钮、账号卡、四个统计格和退出登录;「关于」页删掉项目作者、致谢名单和上游宣传链接 - 本地收藏/历史与导出导入保留,删除同步专用的 lastUid 记账 取舍见 docs/decisions/0005-drop-login-and-sync.md
24 lines
892 B
TypeScript
24 lines
892 B
TypeScript
import type { CustomRecipe } from '~/utils/customRecipe'
|
|
import { useStorage } from '@vueuse/core'
|
|
import { namespace } from '~/constants'
|
|
|
|
export type { CustomRecipe }
|
|
|
|
// 和收藏、历史一样始终保存在本机
|
|
export const customRecipes = useStorage<CustomRecipe[]>(`${namespace}:custom-recipes`, [])
|
|
|
|
export function getCustomRecipe(customId: string) {
|
|
return customRecipes.value.find(recipe => recipe.customId === customId)
|
|
}
|
|
|
|
export function saveCustomRecipe(recipe: CustomRecipe) {
|
|
const exists = customRecipes.value.some(item => item.customId === recipe.customId)
|
|
customRecipes.value = exists
|
|
? customRecipes.value.map(item => item.customId === recipe.customId ? recipe : item)
|
|
: [recipe, ...customRecipes.value]
|
|
}
|
|
|
|
export function removeCustomRecipe(customId: string) {
|
|
customRecipes.value = customRecipes.value.filter(recipe => recipe.customId !== customId)
|
|
}
|