Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
P
poc-fe
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
poc
poc-fe
Commits
ae77e323
Commit
ae77e323
authored
Nov 06, 2024
by
tyyin lan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
chore: 多语言切换配置
parent
e9dff59d
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
31 additions
and
29 deletions
+31
-29
language-setting.vue
src/components/language-setting/language-setting.vue
+6
-3
language-key-transform.ts
src/utils/language-key-transform.ts
+17
-0
request.ts
src/utils/request.ts
+4
-0
tree.ts
src/utils/tree.ts
+0
-26
fetch-event-stream-source.ts
src/views/home/utils/fetch-event-stream-source.ts
+4
-0
No files found.
src/components/language-setting/language-setting.vue
View file @
ae77e323
<
script
setup
lang=
"ts"
>
<
script
setup
lang=
"ts"
>
import
{
useSystemLanguageStore
}
from
'@/store/modules/system-language'
import
{
useSystemLanguageStore
}
from
'@/store/modules/system-language'
import
{
ref
}
from
'vue'
import
{
ref
}
from
'vue'
import
{
useI18n
}
from
'vue-i18n'
//
import { useI18n } from 'vue-i18n'
import
{
Up
,
Translate
,
Down
}
from
'@icon-park/vue-next'
import
{
Up
,
Translate
,
Down
}
from
'@icon-park/vue-next'
import
{
useRouter
}
from
'vue-router'
interface
Props
{
interface
Props
{
arrowDirection
:
'top'
|
'bottom'
arrowDirection
:
'top'
|
'bottom'
...
@@ -12,7 +13,8 @@ interface Props {
...
@@ -12,7 +13,8 @@ interface Props {
const
{
arrowDirection
=
'bottom'
,
btnBgColor
=
'#f4f5f5'
}
=
defineProps
<
Props
>
()
const
{
arrowDirection
=
'bottom'
,
btnBgColor
=
'#f4f5f5'
}
=
defineProps
<
Props
>
()
const
systemLanguageStore
=
useSystemLanguageStore
()
const
systemLanguageStore
=
useSystemLanguageStore
()
const
{
locale
}
=
useI18n
()
// const { locale } = useI18n()
const
router
=
useRouter
()
const
isShowLanguagePopover
=
ref
(
false
)
const
isShowLanguagePopover
=
ref
(
false
)
...
@@ -27,7 +29,8 @@ function handleLanguageOptionsUpdateShow(value: boolean) {
...
@@ -27,7 +29,8 @@ function handleLanguageOptionsUpdateShow(value: boolean) {
function
handleLanguageOptionSelect
(
key
:
I18n
.
LangType
)
{
function
handleLanguageOptionSelect
(
key
:
I18n
.
LangType
)
{
systemLanguageStore
.
updateCurrentLanguageInfo
(
key
)
systemLanguageStore
.
updateCurrentLanguageInfo
(
key
)
locale
.
value
=
key
router
.
go
(
0
)
// locale.value = key
isShowLanguagePopover
.
value
=
false
isShowLanguagePopover
.
value
=
false
}
}
...
...
src/utils/language-key-transform.ts
0 → 100644
View file @
ae77e323
export
function
languageKeyTransform
(
key
:
string
)
{
let
language
=
'zh-CN'
switch
(
key
)
{
case
'zh-HK'
:
language
=
'zh-tw'
break
case
'zh-CN'
:
language
=
'zh-cn'
break
case
'en'
:
language
=
'en'
break
}
return
language
}
src/utils/request.ts
View file @
ae77e323
...
@@ -4,6 +4,8 @@ import { useUserStore } from '@/store/modules/user'
...
@@ -4,6 +4,8 @@ import { useUserStore } from '@/store/modules/user'
import
{
useRouter
}
from
'vue-router'
import
{
useRouter
}
from
'vue-router'
import
{
router
}
from
'@/router'
import
{
router
}
from
'@/router'
import
{
debounce
}
from
'lodash-es'
import
{
debounce
}
from
'lodash-es'
import
{
useSystemLanguageStore
}
from
'@/store/modules/system-language'
import
{
languageKeyTransform
}
from
'./language-key-transform'
interface
PagingInfoParams
{
interface
PagingInfoParams
{
pageNo
:
number
pageNo
:
number
...
@@ -57,6 +59,8 @@ service.interceptors.request.use(
...
@@ -57,6 +59,8 @@ service.interceptors.request.use(
if
(
token
)
config
.
headers
[
'X-Request-Token'
]
=
token
if
(
token
)
config
.
headers
[
'X-Request-Token'
]
=
token
config
.
headers
[
'x-lang'
]
=
languageKeyTransform
(
useSystemLanguageStore
().
currentLanguageInfo
.
key
)
return
config
return
config
},
},
(
error
)
=>
{
(
error
)
=>
{
...
...
src/utils/tree.ts
deleted
100644 → 0
View file @
e9dff59d
/**
* @description 创建层级关系
* @param tree 树
* @param pathList 每一项的id组成的数组
* @returns 创建层级关系后的树
*/
export
const
buildHierarchyTree
=
(
tree
:
any
[],
pathList
=
[]):
any
=>
{
if
(
!
Array
.
isArray
(
tree
))
{
console
.
warn
(
'tree must be an array'
)
return
[]
}
if
(
!
tree
||
tree
.
length
===
0
)
return
[]
for
(
const
[
key
,
node
]
of
tree
.
entries
())
{
node
.
id
=
key
node
.
parentId
=
pathList
.
length
?
pathList
[
pathList
.
length
-
1
]
:
null
node
.
pathList
=
[...
pathList
,
node
.
id
]
const
hasChildren
=
node
.
children
&&
node
.
children
.
length
>
0
if
(
hasChildren
)
{
buildHierarchyTree
(
node
.
children
,
node
.
pathList
)
}
}
return
tree
}
src/views/home/utils/fetch-event-stream-source.ts
View file @
ae77e323
import
{
BASE_URLS
}
from
'@/config/base-url'
import
{
BASE_URLS
}
from
'@/config/base-url'
import
{
useSystemLanguageStore
}
from
'@/store/modules/system-language'
import
{
useUserStore
}
from
'@/store/modules/user'
import
{
useUserStore
}
from
'@/store/modules/user'
import
{
languageKeyTransform
}
from
'@/utils/language-key-transform'
import
{
fetchEventSource
}
from
'@microsoft/fetch-event-source'
import
{
fetchEventSource
}
from
'@microsoft/fetch-event-source'
interface
Options
{
interface
Options
{
...
@@ -21,6 +23,7 @@ export default function fetchEventStreamSource(
...
@@ -21,6 +23,7 @@ export default function fetchEventStreamSource(
)
{
)
{
const
ENV
=
import
.
meta
.
env
.
VITE_APP_ENV
const
ENV
=
import
.
meta
.
env
.
VITE_APP_ENV
const
userStore
=
useUserStore
()
const
userStore
=
useUserStore
()
const
systemLanguageStore
=
useSystemLanguageStore
()
const
controller
=
new
AbortController
()
const
controller
=
new
AbortController
()
...
@@ -29,6 +32,7 @@ export default function fetchEventStreamSource(
...
@@ -29,6 +32,7 @@ export default function fetchEventStreamSource(
headers
:
{
headers
:
{
'Content-Type'
:
'application/json'
,
'Content-Type'
:
'application/json'
,
'x-request-token'
:
userStore
.
token
,
'x-request-token'
:
userStore
.
token
,
'x-lang'
:
languageKeyTransform
(
systemLanguageStore
.
currentLanguageInfo
.
key
),
},
},
body
:
JSON
.
stringify
(
payload
),
body
:
JSON
.
stringify
(
payload
),
signal
:
controller
?.
signal
,
signal
:
controller
?.
signal
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment