Settings Storage API
The settingsStorage API can store data persistently in the Zepp App.
Both the "Side Service" and the "Settings App" can access the data stored via settingsStorage.
The event system of settingsStorage can be used to communicate between the two ends.
For the communication method, please refer to the Overall Architecture
setItem
Storing key-value pairs.
Type
(key: string, value: string) => void
getItem
Get the stored value by key name.
Type
(key: string) => result: string
Code example
settings.settingsStorage.setItem('key', 'Hello World')
const result = settings.settingsStorage.getItem('key')
length: number
settings.settingsStorage.length returns the number of members in settingsStorage
removeItem
Delete the value stored by the key name.
Type
(key: string) => void
clear
Delete all key-value pairs.
() => void
toObject
Converts the content stored in settingsStorage to the form of an object.
Type
() => Record<string, any>
Code example
const storageObj = settings.settingsStorage.toObject()
console.log(storageObj)
addListener
This API only needs to be used in the Side Service. The Settings App is "responsive" to data changes in settingsStorage, so there is no need to manually listen for data changes.
Listens for changes to storage, with the agreed event name change, and can be used in the Side Service to listen for changes to data in settingsStorage by the Settings App.
Code example
settings.settingsStorage.addListener('change', async ({ key, newValue, oldValue }) => {
if (key === 'token' && newValue) {
// ...
await reLogin()
}
})