Browse Source

feat: 🚀 添加多语言文案

pull/1/head
姜鑫 3 years ago
parent
commit
b92ef73d64
  1. 4
      src/enums/index.ts
  2. 5
      src/http/http.ts
  3. 7
      src/i18n/lang/en.json
  4. 7
      src/i18n/lang/tw.json
  5. 7
      src/i18n/lang/zh.json
  6. 2
      src/plugins/index.ts
  7. 2
      src/utils/utils.ts
  8. 2
      src/views/Guide/Guide.vue
  9. 2
      src/views/Nav/Nav.vue

4
src/enums/index.ts

@ -6,8 +6,8 @@ export enum ACTIVITY_TYPE {
} }
export enum DEVICE { export enum DEVICE {
window = 'windows',
android = 'android'
WINDOW = 'windows',
ANDROID = 'android'
} }
//卡片推荐类型 //卡片推荐类型

5
src/http/http.ts

@ -31,7 +31,7 @@ class Request {
// 使用实例拦截器 // 使用实例拦截器
this.instance.interceptors.request.use(this.interceptorsObj?.requestInterceptors, this.interceptorsObj?.requestInterceptorsCatch) this.instance.interceptors.request.use(this.interceptorsObj?.requestInterceptors, this.interceptorsObj?.requestInterceptorsCatch)
this.instance.interceptors.response.use(this.interceptorsObj?.responseInterceptors, this.interceptorsObj?.responseInterceptorsCatch) this.instance.interceptors.response.use(this.interceptorsObj?.responseInterceptors, this.interceptorsObj?.responseInterceptorsCatch)
// 全局响应拦截器保证最后执行
this.instance.interceptors.response.use( this.instance.interceptors.response.use(
(res: AxiosResponse) => { (res: AxiosResponse) => {
const url = res.config.url || '' const url = res.config.url || ''
@ -43,14 +43,13 @@ class Request {
} }
request<T>(config: RequestConfig<T>): Promise<T> { request<T>(config: RequestConfig<T>): Promise<T> {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
// 如果为单个请求设置拦截器,这里使用单个请求的拦截器
if (config.interceptors?.requestInterceptors) { if (config.interceptors?.requestInterceptors) {
config = config.interceptors.requestInterceptors(config as any) config = config.interceptors.requestInterceptors(config as any)
} }
this.instance this.instance
.request<any, T>(config) .request<any, T>(config)
.then(res => { .then(res => {
// 如果为单个响应设置拦截器,这里使用单个响应的拦截器
// 如果为单个响应设置拦截器,使用单个响应的拦截器
if (config.interceptors?.responseInterceptors) { if (config.interceptors?.responseInterceptors) {
res = config.interceptors.responseInterceptors(res) res = config.interceptors.responseInterceptors(res)
} }

7
src/i18n/lang/en.json

@ -1,5 +1,10 @@
{ {
"detail": "Detail", "detail": "Detail",
"nav": "Navigate", "nav": "Navigate",
"energy": "Energy"
"energy": "Energy",
"replay": "Replay",
"pause": "Pause",
"play": "Play",
"speedUp": "Speed up",
"stopSpeedUp": "Stop acceleration"
} }

7
src/i18n/lang/tw.json

@ -1,5 +1,10 @@
{ {
"detail": "詳情", "detail": "詳情",
"nav": "導航", "nav": "導航",
"energy": "新能源"
"energy": "新能源",
"replay": "重播",
"pause": "暫停",
"play": "播放",
"speedUp": "加速",
"stopSpeedUp": "停止加速"
} }

7
src/i18n/lang/zh.json

@ -1,5 +1,10 @@
{ {
"detail": "详情", "detail": "详情",
"nav": "导航", "nav": "导航",
"energy": "新能源"
"energy": "新能源",
"replay": "重播",
"pause": "暂停",
"play": "播放",
"speedUp": "加速",
"stopSpeedUp": "停止加速"
} }

2
src/plugins/index.ts

@ -1,6 +1,6 @@
import { switchLanguage } from './switchLanguage' import { switchLanguage } from './switchLanguage'
import VueLazyLoad from 'vue3-lazyload' import VueLazyLoad from 'vue3-lazyload'
import { App } from 'vue'
import type { App } from 'vue'
export function setupPlugins(app: App) { export function setupPlugins(app: App) {
app.use(switchLanguage).use(VueLazyLoad, { app.use(switchLanguage).use(VueLazyLoad, {

2
src/utils/utils.ts

@ -120,7 +120,7 @@ export const formatDay = (date: Date, format: 'y.m.d' | 'y/m/d' | 'y-m-d' = 'y-m
//判断当前系统 //判断当前系统
export const isAndroid = () => { export const isAndroid = () => {
const userAgent = navigator.userAgent const userAgent = navigator.userAgent
const agents = ['Android', 'iPhone', 'iPad']
const agents = ['Android', 'iPhone', 'iPad'] as const
return agents.some(item => userAgent.includes(item)) return agents.some(item => userAgent.includes(item))
} }

2
src/views/Guide/Guide.vue

@ -2,7 +2,7 @@
<div class="guide-container">Guide Page</div> <div class="guide-container">Guide Page</div>
</template> </template>
<script setup>
<script setup lang="ts">
// import { shallowRef, toRefs } from 'vue' // import { shallowRef, toRefs } from 'vue'
// import { useStore } from '@/store/root' // import { useStore } from '@/store/root'
// import { useGuideMapOperation } from '@/composables/useGuideMapOperation' // import { useGuideMapOperation } from '@/composables/useGuideMapOperation'

2
src/views/Nav/Nav.vue

@ -2,7 +2,7 @@
<div></div> <div></div>
</template> </template>
<script setup>
<script setup lang="ts">
// import { storeToRefs } from 'pinia' // import { storeToRefs } from 'pinia'
// import { useStore } from '@/store/root' // import { useStore } from '@/store/root'
// import { useMapNavControl } from '@/composables/useMapNavControl' // import { useMapNavControl } from '@/composables/useMapNavControl'

Loading…
Cancel
Save