This commit is contained in:
saplf
2018-09-29 21:33:23 +08:00
parent 0a2c4e30de
commit be7755c0f3
40 changed files with 936 additions and 73 deletions

View File

@@ -0,0 +1 @@
export { default as ticApi } from './tic'

View File

@@ -0,0 +1,6 @@
import { Crypto as ticCrypto } from 'tic.common'
export const secword2PubKey = secword => ticCrypto.seckey2pubkey(secword)
export const secword2Address = secword => ticCrypto.secword2address(secword)
export const isAddress = address => ticCrypto.isAddress(address)
export const secword2Account = secword => ticCrypto.secword2account(secword)

11
src/services/api/tic.js Normal file
View File

@@ -0,0 +1,11 @@
// eslint-disable-next-line
import * as worker from 'workerize-loader!./tic-bg'
const instance = worker()
export default {
secword2PubKey: async secword => instance.secword2PubKey(secword),
secword2Address: async secword => instance.secword2Address(secword),
isAddress: async address => instance.isAddress(address),
secword2Account: async secword => instance.secword2Account(secword),
}

View File

@@ -1 +1,3 @@
export { default as app } from './app'
export { default as storage } from './storage'
export * from './api'

40
src/services/storage.js Normal file
View File

@@ -0,0 +1,40 @@
const KEY_SETTING_STORAGE = 'KEY_SETTING_STORAGE'
const retrieveSettings = () => {
try {
return JSON.parse(sessionStorage.getItem(KEY_SETTING_STORAGE)) || {}
} catch (e) {
return {}
}
}
const restoreSettings =
settings => sessionStorage.setItem(KEY_SETTING_STORAGE, JSON.stringify(settings))
const supportLangs = [
{
code: 'en',
label: 'English',
},
{
code: 'zh-CN',
label: '简体中文',
},
]
export default {
get currentLanguage() {
const settings = retrieveSettings()
let { lang } = settings
if (!lang) {
settings.lang = navigator.language
lang = settings.lang
}
return lang
},
set currentLanguage(lang) {
const settings = retrieveSettings()
settings.lang = lang
restoreSettings(settings)
},
supportLangs,
}

30
src/services/ui.js Normal file
View File

@@ -0,0 +1,30 @@
import Vue from 'vue'
import { Vuetify } from 'vuetify'
import {
VApp,
VBtn,
VMenu,
VIcon,
VSelect,
VTextField,
} from 'vuetify/es5/components'
import { Ripple } from 'vuetify/es5/directives'
import 'vuetify/dist/vuetify.min.css'
import 'material-design-icons-iconfont/dist/material-design-icons.css'
Vue.use(Vuetify, {
theme: {
primary: '#4666b9',
secondary: '#dfa24e',
accent: '#FFCDD2',
},
})
Vue.component('VApp', VApp)
Vue.component('VBtn', VBtn)
Vue.component('VMenu', VMenu)
Vue.component('VIcon', VIcon)
Vue.component('VSelect', VSelect)
Vue.component('VTextField', VTextField)
Vue.directive('Ripple', Ripple)