# KVData
### KVData
#### 属性
##### string key
数据的 key
##### string value
数据的 value
#### 将排行榜显示在小游戏中心
若开发者希望把游戏的排行榜显示于小游戏中心,则需要把排行榜数据存储到对应的key/value中,一个排行榜数据对应一个key,多个排行榜则多个key。同时在mp.weixin.qq.com的小游戏管理后台“设置-游戏-排行榜设置”下配置对应的key以及相关排行榜属性。且value的内容必须是JSON Object格式序列化的字符串,该JSON Object顶层必须包含 `wxgame` 字段,定义如下:
属性名类型必填说明scoreInt32是该榜单对应分数值update\_timeInt64是该分数最后更新时间,Unix时间戳注意: `wxgame`下开发者不可自定义其他字段, `wxgame`同级开发者可自由定义,比如定义一个`detail` 字段,用于存储取得该分数的中间状态。
### 举例
比如某小游戏有一个分数排行榜,分数排行榜需要记录分数以及获得分数的耗时(游戏内的排行榜需要展示耗时),可以在`wxgame`同级别定义一个`cost_ms`字段,存储耗时的毫秒数。分配一个不和已定义的托管数据的key相冲突的key作为分数排行榜的key,如 "score"。
在玩家耗时36500ms后,获得本周最高分16分,则需要更新分数,假设当前时间戳为1513080573, 则完整 value在序列化之前的内容如下:
```
<pre class="prettyprint"><ol class="linenums"><li class="l"><code class="pcalibre9 pcalibre8 pcalibre7"><span class="pun">{</span></code></li>
<li class="l1"><code class="pcalibre9 pcalibre8 pcalibre7"><span class="pln"> </span><span class="str">"wxgame"</span><span class="pun">:</span><span class="pln"> </span><span class="pun">{</span></code></li>
<li class="l"><code class="pcalibre9 pcalibre8 pcalibre7"><span class="pln"> </span><span class="str">"score"</span><span class="pun">:</span><span class="lit">16</span><span class="pun">,</span></code></li>
<li class="l1"><code class="pcalibre9 pcalibre8 pcalibre7"><span class="pln"> </span><span class="str">"update_time"</span><span class="pun">:</span><span class="pln"> </span><span class="lit">1513080573</span></code></li>
<li class="l"><code class="pcalibre9 pcalibre8 pcalibre7"><span class="pln"> </span><span class="pun">},</span></code></li>
<li class="l1"><code class="pcalibre9 pcalibre8 pcalibre7"><span class="pln"> </span><span class="str">"cost_ms"</span><span class="pun">:</span><span class="lit">36500</span></code></li>
<li class="l"><code class="pcalibre9 pcalibre8 pcalibre7"><span class="pun">}</span></code></li>
</ol>
```
最终序列化为string后,value为"{"wxgame":{"score":16,"update\_time": 1513080573},"cost\_ms":36500}"。
> 原文: <https://developers.weixin.qq.com/minigame/dev/api/open-api/data/KVData.html>
- 致谢
- 渲染
- 画布
- wx.createCanvas
- Canvas
- .toTempFilePath
- .toTempFilePathSync
- .getContext
- .toDataURL
- RenderingContext
- 图片
- wx.createImage
- Image
- 字体
- wx.getTextLineHeight
- wx.loadFont
- 帧率
- wx.setPreferredFramesPerSecond
- cancelAnimationFrame
- requestAnimationFrame
- 分包加载
- wx.loadSubpackage
- LoadSubpackageTask
- .onProgressUpdate
- 设备
- 设备方向
- wx.startDeviceMotionListening
- wx.stopDeviceMotionListening
- wx.onDeviceMotionChange
- 加速计
- wx.startAccelerometer
- wx.stopAccelerometer
- wx.onAccelerometerChange
- 剪贴板
- wx.getClipboardData
- wx.setClipboardData
- 罗盘
- wx.startCompass
- wx.stopCompass
- wx.onCompassChange
- 陀螺仪
- wx.startGyroscope
- wx.stopGyroscope
- wx.onGyroscopeChange
- 电量
- wx.getBatteryInfo
- wx.getBatteryInfoSync
- 网络
- wx.getNetworkType
- wx.onNetworkStatusChange
- 振动
- wx.vibrateShort
- wx.vibrateLong
- 性能
- wx.onMemoryWarning
- 屏幕
- wx.getScreenBrightness
- wx.setKeepScreenOn
- wx.setScreenBrightness
- 转屏
- wx.onDeviceOrientationChange
- wx.offDeviceOrientationChange
- 系统
- 系统信息
- wx.getSystemInfo
- wx.getSystemInfoSync
- 系统事件
- wx.onAudioInterruptionBegin
- wx.offAudioInterruptionBegin
- wx.onAudioInterruptionEnd
- wx.offAudioInterruptionEnd
- wx.onError
- wx.offError
- 生命周期
- wx.exitMiniProgram
- wx.getLaunchOptionsSync
- wx.onHide
- wx.offHide
- wx.onShow
- wx.offShow
- 触摸事件
- wx.onTouchStart
- wx.offTouchStart
- wx.onTouchMove
- wx.offTouchMove
- wx.onTouchEnd
- wx.offTouchEnd
- wx.onTouchCancel
- wx.offTouchCancel
- Touch
- 位置
- wx.getLocation
- 媒体
- 图片
- wx.chooseImage
- wx.previewImage
- wx.saveImageToPhotosAlbum
- 音频
- wx.createInnerAudioContext
- wx.getAvailableAudioSources
- wx.setInnerAudioOption
- InnerAudioContext
- .pause
- .stop
- .seek
- .destroy
- .offCanplay
- .onPlay
- .offPlay
- .onPause
- .offPause
- .onStop
- .offStop
- .onEnded
- .offEnded
- .onTimeUpdate
- .offTimeUpdate
- .onError
- .onCanplay
- .offError
- .onWaiting
- .offWaiting
- .onSeeking
- .offSeeking
- .onSeeked
- .offSeeked
- .play
- 录音
- wx.getRecorderManager
- RecorderManager
- .start
- .pause
- .resume
- .stop
- .onStart
- .onResume
- .onPause
- .onStop
- .onFrameRecorded
- .onError
- .onInterruptionBegin
- .onInterruptionEnd
- 视频
- wx.createVideo
- Video
- .onWaiting
- .offWaiting
- .onPlay
- .offPlay
- .onPause
- .offPause
- .onEnded
- .offEnded
- .onTimeUpdate
- .offTimeUpdate
- .onError
- .offError
- .destroy
- .play
- .pause
- .stop
- .seek
- .requestFullScreen
- .exitFullScreen
- 文件
- wx.getFileSystemManager
- FileSystemManager
- .access
- .accessSync
- .appendFile
- .appendFileSync
- .saveFile
- .saveFileSync
- .getSavedFileList
- .removeSavedFile
- .copyFile
- .copyFileSync
- .getFileInfo
- .mkdir
- .mkdirSync
- .readFile
- .readFileSync
- .readdir
- .readdirSync
- .rename
- .renameSync
- .rmdir
- .rmdirSync
- .stat
- .statSync
- .unlink
- .unlinkSync
- .unzip
- .writeFile
- .writeFileSync
- Stats
- .isDirectory
- .isFile
- 网络
- 下载
- wx.downloadFile
- DownloadTask
- .onProgressUpdate
- .abort
- 发起请求
- wx.request
- RequestTask
- .abort
- WebSocket
- wx.connectSocket
- wx.closeSocket
- wx.sendSocketMessage
- wx.onSocketOpen
- wx.onSocketClose
- wx.onSocketMessage
- wx.onSocketError
- SocketTask
- .close
- .onOpen
- .onClose
- .onError
- .onMessage
- .send
- 上传
- wx.uploadFile
- UploadTask
- .onProgressUpdate
- .abort
- 开放接口
- 游戏圈
- wx.createGameClubButton
- GameClubButton
- .onTap
- .offTap
- .show
- .hide
- .destroy
- 开放数据
- wx.getFriendCloudStorage
- wx.getGroupCloudStorage
- wx.getUserCloudStorage
- wx.removeUserCloudStorage
- wx.setUserCloudStorage
- wx.getSharedCanvas
- UserGameData
- KVData
- removeUserStorage
- setUserStorage
- 授权
- wx.authorize
- 防沉迷
- wx.checkIsUserAdvisedToRest
- 用户信息
- wx.getUserInfo
- wx.createUserInfoButton
- UserInfo
- UserInfoButton
- .show
- .hide
- .destroy
- .onTap
- .offTap
- 微信运动
- wx.getWeRunData
- 设置
- wx.getSetting
- wx.openSetting
- wx.createOpenSettingButton
- OpenSettingButton
- .onTap
- .offTap
- .show
- .hide
- .destroy
- AuthSetting
- 登录
- wx.login
- wx.checkSession
- checkSessionKey
- code2Session
- 意见反馈
- wx.createFeedbackButton
- FeedbackButton
- .onTap
- .offTap
- .show
- .hide
- .destroy
- 小程序跳转
- wx.navigateToMiniProgram
- 客服消息
- wx.openCustomerServiceConversation
- 开放数据域
- wx.getOpenDataContext
- wx.onMessage
- OpenDataContext
- .postMessage
- 接口调用凭证
- getAccessToken
- 内容安全
- imgSecCheck
- msgSecCheck
- 二维码
- createWXAQRCode
- getWXACode
- getWXACodeUnlimit
- 调试
- wx.setEnableDebug
- console
- .groupEnd
- .debug
- .log
- .info
- .warn
- .error
- .group
- 数据缓存
- wx.getStorage
- wx.getStorageSync
- wx.setStorage
- wx.setStorageSync
- wx.removeStorage
- wx.removeStorageSync
- wx.clearStorage
- wx.clearStorageSync
- wx.getStorageInfo
- wx.getStorageInfoSync
- 更新
- wx.getUpdateManager
- UpdateManager
- .onCheckForUpdate
- .onUpdateReady
- .onUpdateFailed
- .applyUpdate
- Worker
- wx.createWorker
- Worker
- .postMessage
- .onMessage
- .terminate
- 转发
- wx.getShareInfo
- wx.hideShareMenu
- wx.showShareMenu
- wx.updateShareMenu
- wx.shareAppMessage
- wx.onShareAppMessage
- wx.offShareAppMessage
- 广告
- wx.createRewardedVideoAd
- wx.createBannerAd
- RewardedVideoAd
- .load
- .show
- .onLoad
- .offLoad
- .onError
- .offError
- .onClose
- .offClose
- BannerAd
- .show
- .hide
- .destroy
- .onResize
- .offResize
- .onLoad
- .offLoad
- .onError
- .offError
- 界面
- 交互
- wx.showToast
- wx.showModal
- wx.hideToast
- wx.showLoading
- wx.hideLoading
- wx.showActionSheet
- 菜单
- wx.getMenuButtonBoundingClientRect
- wx.setMenuStyle
- 键盘
- wx.showKeyboard
- wx.hideKeyboard
- wx.updateKeyboard
- wx.onKeyboardInput
- wx.offKeyboardInput
- wx.onKeyboardConfirm
- wx.offKeyboardConfirm
- wx.onKeyboardComplete
- wx.offKeyboardComplete
- 状态栏
- wx.setStatusBarStyle
- 窗口
- wx.onWindowResize
- wx.offWindowResize
- 性能
- wx.getPerformance
- wx.triggerGC
- Performance
- .now
- 虚拟支付
- wx.requestMidasPayment
- midasCancelPay
- midasGetBalance
- midasPay
- midasPresent
- 定时器
- setTimeout
- clearTimeout
- setInterval
- clearInterval