Skip to content

Commit 0629b6c

Browse files
authored
Merge pull request #626 from JQinglong/feature/generateid
クラスID生成多言語対応
2 parents 62b6e26 + 7b39670 commit 0629b6c

File tree

2 files changed

+20
-4
lines changed

2 files changed

+20
-4
lines changed

src/pages/user/registerClass.vue

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ export default Vue.extend({
8080
.registerClass({
8181
schoolName: this.schoolName,
8282
className: this.className,
83+
locale: this.$i18n.locale,
8384
})
8485
.then(() => {
8586
this.loading = false

src/store/modules/classData.ts

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,22 @@ const VuexModule = createModule({
8181
target: 'nuxt',
8282
})
8383

84-
const generateUniqueId = (): string => {
85-
const c =
86-
'あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん'
84+
const generateUniqueId = (locale: string): string => {
85+
let c: string = ''
86+
switch (locale) {
87+
case 'ja':
88+
c =
89+
'あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわをん'
90+
break
91+
case 'en':
92+
c = 'abcdefghijklmnopqrstuvwxyz'
93+
break
94+
case 'zh-tw':
95+
c =
96+
'ㄅㄆㄇㄈㄉㄊㄋㄌㄍㄎㄏㄐㄑㄒㄓㄔㄕㄖㄗㄘㄙㄧㄨㄩㄚㄛㄜㄝㄞㄟㄠㄡㄢㄣㄤㄥㄦ'
97+
break
98+
}
99+
87100
const cl = c.length
88101
const result =
89102
c[Math.floor(Math.random() * cl)] +
@@ -237,17 +250,19 @@ export class ClassDataStore extends VuexModule implements classData.ClassData {
237250
public async registerClass({
238251
className,
239252
schoolName,
253+
locale,
240254
}: {
241255
className: string
242256
schoolName: string
257+
locale: string
243258
}) {
244259
if (!vxm.user.isAuthenticated) {
245260
throw new Error('ユーザーが正しくログインされていません')
246261
}
247262

248263
let classId, classObject
249264
do {
250-
classId = generateUniqueId()
265+
classId = generateUniqueId(locale)
251266
try {
252267
const result = (await API.graphql({
253268
query: getClassSimple,

0 commit comments

Comments
 (0)