Compare commits
1 Commits
fix/save-t
...
603e81853d
| Author | SHA1 | Date | |
|---|---|---|---|
| 603e81853d |
@@ -350,7 +350,6 @@ import { useUiStore } from '../stores/ui'
|
|||||||
import { useDiaryStore } from '../stores/diary'
|
import { useDiaryStore } from '../stores/diary'
|
||||||
import { api } from '../composables/useApi'
|
import { api } from '../composables/useApi'
|
||||||
import { oilEn, recipeNameEn } from '../composables/useOilTranslation'
|
import { oilEn, recipeNameEn } from '../composables/useOilTranslation'
|
||||||
import { showPrompt } from '../composables/useDialog'
|
|
||||||
// TagPicker replaced with inline tag editing
|
// TagPicker replaced with inline tag editing
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
@@ -577,16 +576,16 @@ async function saveToDiary() {
|
|||||||
ui.openLogin()
|
ui.openLogin()
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
const name = await showPrompt('保存为我的配方,名称:', recipe.value.name)
|
const name = prompt('保存为我的配方,名称:', recipe.value.name)
|
||||||
if (!name) return
|
if (!name) return
|
||||||
try {
|
try {
|
||||||
await recipesStore.saveRecipe({
|
await api.post('/api/diary', {
|
||||||
name,
|
name,
|
||||||
|
source_recipe_id: recipe.value._id || null,
|
||||||
|
ingredients: recipe.value.ingredients.map(i => ({ oil: i.oil, drops: i.drops })),
|
||||||
note: recipe.value.note || '',
|
note: recipe.value.note || '',
|
||||||
ingredients: recipe.value.ingredients.map(i => ({ oil_name: i.oil, drops: i.drops })),
|
|
||||||
tags: recipe.value.tags || [],
|
|
||||||
})
|
})
|
||||||
ui.showToast('已保存到「我的配方」')
|
ui.showToast('已保存到「我的配方日记」')
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
ui.showToast('保存失败: ' + (e?.message || '未知错误'))
|
ui.showToast('保存失败: ' + (e?.message || '未知错误'))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -136,8 +136,12 @@ function handleLogout() {
|
|||||||
auth.logout()
|
auth.logout()
|
||||||
ui.showToast('已退出登录')
|
ui.showToast('已退出登录')
|
||||||
emit('close')
|
emit('close')
|
||||||
|
if (router.currentRoute.value.meta.requiresAuth) {
|
||||||
|
router.push('/')
|
||||||
|
} else {
|
||||||
window.location.reload()
|
window.location.reload()
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
onMounted(loadNotifications)
|
onMounted(loadNotifications)
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -10,11 +10,13 @@ const routes = [
|
|||||||
path: '/manage',
|
path: '/manage',
|
||||||
name: 'RecipeManager',
|
name: 'RecipeManager',
|
||||||
component: () => import('../views/RecipeManager.vue'),
|
component: () => import('../views/RecipeManager.vue'),
|
||||||
|
meta: { requiresAuth: true },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/inventory',
|
path: '/inventory',
|
||||||
name: 'Inventory',
|
name: 'Inventory',
|
||||||
component: () => import('../views/Inventory.vue'),
|
component: () => import('../views/Inventory.vue'),
|
||||||
|
meta: { requiresAuth: true },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/oils',
|
path: '/oils',
|
||||||
@@ -25,26 +27,31 @@ const routes = [
|
|||||||
path: '/projects',
|
path: '/projects',
|
||||||
name: 'Projects',
|
name: 'Projects',
|
||||||
component: () => import('../views/Projects.vue'),
|
component: () => import('../views/Projects.vue'),
|
||||||
|
meta: { requiresAuth: true },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/mydiary',
|
path: '/mydiary',
|
||||||
name: 'MyDiary',
|
name: 'MyDiary',
|
||||||
component: () => import('../views/MyDiary.vue'),
|
component: () => import('../views/MyDiary.vue'),
|
||||||
|
meta: { requiresAuth: true },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/audit',
|
path: '/audit',
|
||||||
name: 'AuditLog',
|
name: 'AuditLog',
|
||||||
component: () => import('../views/AuditLog.vue'),
|
component: () => import('../views/AuditLog.vue'),
|
||||||
|
meta: { requiresAuth: true },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/bugs',
|
path: '/bugs',
|
||||||
name: 'BugTracker',
|
name: 'BugTracker',
|
||||||
component: () => import('../views/BugTracker.vue'),
|
component: () => import('../views/BugTracker.vue'),
|
||||||
|
meta: { requiresAuth: true },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
path: '/users',
|
path: '/users',
|
||||||
name: 'UserManagement',
|
name: 'UserManagement',
|
||||||
component: () => import('../views/UserManagement.vue'),
|
component: () => import('../views/UserManagement.vue'),
|
||||||
|
meta: { requiresAuth: true },
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user