diff --git a/frontend/src/pages/lab/Home.vue b/frontend/src/pages/lab/Home.vue index 5eee040..8eb19ed 100644 --- a/frontend/src/pages/lab/Home.vue +++ b/frontend/src/pages/lab/Home.vue @@ -47,6 +47,13 @@ export default { summary_text: 'Respone based on multi turn messages ', icon_picture: '', cover_picture: cover_picture + }, + { + path: 'image-generation', + title_text: 'image generation', + summary_text: 'Generate a image based on user prompt', + icon_picture: '', + cover_picture: cover_picture } ] } diff --git a/frontend/src/pages/lab/openai/ImageGeneration.vue b/frontend/src/pages/lab/openai/ImageGeneration.vue new file mode 100644 index 0000000..6d25e04 --- /dev/null +++ b/frontend/src/pages/lab/openai/ImageGeneration.vue @@ -0,0 +1,48 @@ + + + + + \ No newline at end of file diff --git a/frontend/src/plugins/router/router.js b/frontend/src/plugins/router/router.js index 6af7f36..5e5314e 100644 --- a/frontend/src/plugins/router/router.js +++ b/frontend/src/plugins/router/router.js @@ -68,6 +68,8 @@ import LabHome from '@/pages/lab/Home.vue' import TranslationHome from '@/pages/lab/translation/Home.vue' import TaskCompletion from '@/pages/lab/openai/TaskCompletion.vue' import MultiturnChat from '@/pages/lab/openai/MultiturnChat.vue' +import ImageGeneration from '@/pages/lab/openai/ImageGeneration.vue' + const router = createRouter({ history: createWebHistory(), routes: [ @@ -402,7 +404,14 @@ const router = createRouter({ path: '/multiturn-chat', meta: { requiredRoles: [userRoleEnum.PERSONAL] }, components: { default: MultiturnChat, footer: FooterUser, header: HeaderUser } - }], + }, + { + name: 'image-generation', + path: '/image-generation', + meta: { requiredRoles: [userRoleEnum.PERSONAL] }, + components: { default: ImageGeneration, footer: FooterUser, header: HeaderUser } + } + ], linkActiveClass: 'active' /* scrollBehavior(_, _2, savedPosition) { diff --git a/frontend/src/utils/backend/lab.js b/frontend/src/utils/backend/lab.js index d2abd3e..a8f76b4 100644 --- a/frontend/src/utils/backend/lab.js +++ b/frontend/src/utils/backend/lab.js @@ -27,6 +27,19 @@ class LabApi { ) return request } + static image_generation(prompt) { + let jwt = userUtils.getJwtToken() + const request = backendAxios.post( + '/api/lab/generate-image', + { + user_prompt: prompt + }, + { + headers: { Authorization: `Bearer ${jwt}` } + } + ) + return request + } static multiturn_chat(messages) { let jwt = userUtils.getJwtToken()