需求:第一次打开时的小程序的语言为本机的系统语言,在小程序中进行语言设置后再次打开其语言保持设置不变。
流程图
1.获取本机系统设置
wx.getSystemInfoSync()
获取系统异步接口:
try{
wx.getSystemInfo({
success: function(res) {
console.log(res.model)
console.log(res.pixelRatio)
console.log(res.windowWidth)
console.log(res.windowHeight)
console.log(res.language)
console.log(res.version)
console.log(res.platform)
} })
}
获取系统同步接口:
try { var res = wx.getSystemInfoSync() console.log(res.model) console.log(res.pixelRatio) console.log(res.windowWidth) console.log(res.windowHeight) console.log(res.language) console.log(res.version) console.log(res.platform) } catch (e) { // Do something when catch error }
在本文中只需获取language信息即可。console.log(key),用于在运行后console中查看key的内容信息。
2.获取缓存信息
wx.getStorageSync()
从本地缓存中同步获取key对应的内容:
try { var value = wx.getStorageSync(\'key\') if (value) { // Do something with return value } } catch (e) { // Do something when catch error }
key是我们所需的缓存内容的名字。
从本地缓存中异步获取key对应的内容:
wx.getStorageInfo({
success: function(res) {
console.log(res.keys)
console.log(res.currentSize)
console.log(res.limitSize)
}
})
因为语言设置为全局设置,所以设置放在app.js中,在页面的js中调用app.js。
//third.js
var app = getApp();
源代码
//app.js App({ onLaunch: function (options) { //读取系统缓存 var value = wx.getStorageSync(\'language\') //系统缓存不存在 if (value == "") { var res = wx.getSystemInfoSync() //读取手机信息 this.language = res.language // 这个地方用this }else if(value == "zh_CN"){ console.log("系统缓存为\'zh_CN\'") //系统缓存为"zh_CN" this.language = "zh_CN" }else{ this.language = "zh_EN" //系统缓存为"zh_EN" } }, language:""//全局变量 }
其他的语言设置部分同上节。
请发表评论