@gsc-basic/shared-service

v1.2.4

Published

Web Shared Service for GSC Basic Team

Readme

@gsc-basic/shared-service

Web Shared Service for GSC Basic Team

Quick Start

import SharedServicePlugin from '@gsc-basic/shared-service';
import { createApp } from 'vue';

const app = createApp({});
app.use(SharedServicePlugin);

Type-friendly Usage

requestApi generic response

import { requestApi } from '@gsc-basic/shared-service';

type PageResult = {
	data: Array<{ id: string; originalFilename: string }>;
	total: number;
};

const res = await requestApi<PageResult>({
	method: 'POST',
	url: '/upload/admin/page',
	payload: { pageNum: 1, pageSize: 20 },
});

const rows = res.result?.data ?? [];

createRequest typed send

import { createRequest } from '@gsc-basic/shared-service';

type StatusLog = { status: string; message: string; time: string };

const client = createRequest({ baseUrl: '/api' });
const logs = await client.send<StatusLog[]>('GET', '/upload/admin/statusLogs', { fileId: '123' });

locale structure

import { setI18n, setLanguage, type LocaleMessages } from '@gsc-basic/shared-service';

const customLocale: LocaleMessages = {
	locale: 'en-US',
	gsc: {
		common: {
			success: 'Success',
		},
	},
};

setI18n(customLocale.locale || 'en-US', customLocale);
setLanguage('en-US');

Author & License

This package is maintained by Lenovo SSG BASD. It is distributed under the LicenseRef-Proprietary license; see LICENSE for details.