* Copyright (c) 2023 - present TinyEngine Authors.
* Copyright (c) 2023 - present Huawei Cloud Computing Technologies Co., Ltd.
*
* Use of this source code is governed by an MIT-style license.
*
* THE OPEN SOURCE SOFTWARE IN THIS PRODUCT IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL,
* BUT WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR FITNESS FOR
* A PARTICULAR PURPOSE. SEE THE APPLICABLE LICENSES FOR MORE DETAILS.
*
*/
import { mockService } from '../routes/main-routes'
import { getResponseData } from '../tool/Common'
export default class AppService {
async lock(query) {
const { id, state } = query
const occupier = state === 'occupy' ? mockService.pageService.userInfo : null
await mockService.pageService.update(id, { occupier })
return getResponseData({
operate: 'success',
occupier
})
}
getAppPreviewMetaData() {
const appMetaData = require('../assets/json/appinfo.json')
const { i18n: i18nEntries, source = [], extension = [], app } = appMetaData
const dataSource = {
list: source,
dataHandler: app.data_handler
}
const utils = []
extension.forEach((item) => {
const { name, type, content, category } = item
const data = { name, type, content }
if (category === 'utils') {
utils.push(data)
}
})
const entriesData = getResponseData(i18nEntries)
const i18n = this.formatI18nEntrites(entriesData)
return getResponseData({
dataSource,
globalState: app.global_state,
utils,
i18n
})
}
formatI18nEntrites(entriesData) {
const entries = entriesData.data
const defaultLang = [{ lang: 'en_US' }, { lang: 'zh_CN' }]
const res = {}
entries.forEach((entry) => {
const {
key,
lang: { lang },
content
} = entry
res[lang] = res[lang] || {}
res[lang][key] = content
})
return res
}
}