• 微信小程序--中英文切换(2)


    需求:第一次打开时的小程序的语言为本机的系统语言,在小程序中进行语言设置后再次打开其语言保持设置不变。

    流程图

     

    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:""//全局变量
    }

    其他的语言设置部分同上节。

  • 相关阅读:
    AC日记——接苹果 洛谷 P2690
    AC日记——友好城市 洛谷 P2782
    AC日记——栈 洛谷 P1044
    AC日记——L国的战斗之间谍 洛谷 P1916
    AC日记——[USACO1.1]坏掉的项链Broken Necklace 洛谷 P1203
    AC日记——[USACO1.5]数字三角形 Number Triangles 洛谷 P1216
    Codevs 1048 石子归并
    Codevs 1138 聪明的质监员 2011年NOIP全国联赛提高组
    HDU 1575 Tr A
    Codevs 5059 一起去打CS
  • 原文地址:https://www.cnblogs.com/cff2121/p/9325874.html
Copyright © 2020-2023  润新知