🎨 增加批量移除本地 kv 存储接口

This commit is contained in:
Liang Ding 2023-03-22 15:21:23 +08:00
parent f36a8721e9
commit a5d0a6afae
No known key found for this signature in database
GPG Key ID: 136F30F901A2231D
3 changed files with 35 additions and 3 deletions

View File

@ -61,6 +61,7 @@ func ServeAPI(ginServer *gin.Engine) {
ginServer.Handle("POST", "/api/storage/getLocalStorage", model.CheckAuth, getLocalStorage)
ginServer.Handle("POST", "/api/storage/setLocalStorageVal", model.CheckAuth, setLocalStorageVal)
ginServer.Handle("POST", "/api/storage/removeLocalStorageVal", model.CheckAuth, model.CheckReadonly, removeLocalStorageVal)
ginServer.Handle("POST", "/api/storage/removeLocalStorageVals", model.CheckAuth, model.CheckReadonly, removeLocalStorageVals)
ginServer.Handle("POST", "/api/storage/setCriterion", model.CheckAuth, model.CheckReadonly, setCriterion)
ginServer.Handle("POST", "/api/storage/getCriteria", model.CheckAuth, getCriteria)
ginServer.Handle("POST", "/api/storage/removeCriterion", model.CheckAuth, model.CheckReadonly, removeCriterion)

View File

@ -95,6 +95,35 @@ func getCriteria(c *gin.Context) {
ret.Data = data
}
func removeLocalStorageVals(c *gin.Context) {
ret := gulu.Ret.NewResult()
defer c.JSON(http.StatusOK, ret)
arg, ok := util.JsonArg(c, ret)
if !ok {
return
}
var keys []string
keysArg := arg["keys"].([]interface{})
for _, key := range keysArg {
keys = append(keys, key.(string))
}
err := model.RemoveLocalStorageVals(keys)
if nil != err {
ret.Code = -1
ret.Msg = err.Error()
return
}
app := arg["app"].(string)
evt := util.NewCmdResult("removeLocalStorageVal", 0, util.PushModeBroadcastMainExcludeSelfApp)
evt.AppId = app
evt.Data = map[string]interface{}{"keys": keys}
util.PushEvent(evt)
}
func removeLocalStorageVal(c *gin.Context) {
ret := gulu.Ret.NewResult()
defer c.JSON(http.StatusOK, ret)
@ -105,7 +134,7 @@ func removeLocalStorageVal(c *gin.Context) {
}
key := arg["key"].(string)
err := model.RemoveLocalStorageVal(key)
err := model.RemoveLocalStorageVals([]string{key})
if nil != err {
ret.Code = -1
ret.Msg = err.Error()

View File

@ -286,7 +286,7 @@ func getCriteria() (ret []*Criterion, err error) {
var localStorageLock = sync.Mutex{}
func RemoveLocalStorageVal(key string) (err error) {
func RemoveLocalStorageVals(keys []string) (err error) {
localStorageLock.Lock()
defer localStorageLock.Unlock()
@ -295,7 +295,9 @@ func RemoveLocalStorageVal(key string) (err error) {
return
}
delete(localStorage, key)
for _, key := range keys {
delete(localStorage, key)
}
return setLocalStorage(localStorage)
}