Storage API
POS 플러그인에서 로컬 데이터를 저장하고 관리하는 기능을 제공해요. 데이터베이스를 사용하지 않고도 간단한 데이터 저장이 가능해요.
주의사항
- 저장 가능한 데이터 타입은 문자열(string)만 지원해요.
- 객체나 배열을 저장하려면 JSON.stringify()를 사용하여 문자열로 변환해야 해요.
Methods
get
지정된 키에 해당하는 값을 조회해요.
ts
import { posPluginSdk } from '@tossplace/pos-plugin-sdk';
/**
* 저장된 데이터 조회
* @param key 조회할 데이터의 키
* @returns 저장된 값. 키가 없으면 undefined
*/
const value = await posPluginSdk.storage.get('key');
// JSON 데이터 조회 예시
const jsonData = await posPluginSdk.storage.get('userSettings');
if (jsonData) {
const settings = JSON.parse(jsonData);
console.log('사용자 설정:', settings);
}Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
key | string | O | 조회할 데이터의 키 |
Response
Promise<string | undefined> — 저장된 값이에요. 키가 없으면 undefined를 반환해요.
set
지정된 키에 값을 저장해요.
ts
import { posPluginSdk } from '@tossplace/pos-plugin-sdk';
/**
* 데이터 저장
* @param key 저장할 데이터의 키
* @param value 저장할 값 (문자열)
*/
await posPluginSdk.storage.set('key', 'value');
// JSON 데이터 저장 예시
const settings = {
theme: 'dark',
language: 'ko',
notifications: true
};
await posPluginSdk.storage.set('userSettings', JSON.stringify(settings));Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
key | string | O | 저장할 데이터의 키 |
value | string | O | 저장할 값. 문자열만 저장할 수 있어요 |
Response
반환값이 없어요.
del
지정된 키에 해당하는 값을 삭제해요.
ts
import { posPluginSdk } from '@tossplace/pos-plugin-sdk';
/**
* 데이터 삭제
* @param key 삭제할 데이터의 키
*/
await posPluginSdk.storage.del('key');Parameters
| 파라미터 | 타입 | 필수 | 설명 |
|---|---|---|---|
key | string | O | 삭제할 데이터의 키 |
Response
반환값이 없어요.
사용 예시
사용자 설정 관리
ts
import { posPluginSdk } from '@tossplace/pos-plugin-sdk';
class UserSettings {
private static readonly STORAGE_KEY = 'user_settings';
// 설정 조회
static async getSettings() {
const data = await posPluginSdk.storage.get(this.STORAGE_KEY);
return data ? JSON.parse(data) : null;
}
// 설정 저장
static async saveSettings(settings: any) {
await posPluginSdk.storage.set(this.STORAGE_KEY, JSON.stringify(settings));
}
// 설정 삭제
static async clearSettings() {
await posPluginSdk.storage.del(this.STORAGE_KEY);
}
}
// 사용 예시
async function manageSettings() {
// 설정 저장
await UserSettings.saveSettings({
theme: 'dark',
notifications: true
});
// 설정 조회
const settings = await UserSettings.getSettings();
console.log('현재 설정:', settings);
// 설정 삭제
await UserSettings.clearSettings();
}