系统参数、动态配置的选项、帮助文档的地址都可通过平台提供的字典进行维护;
如以下功能:
另外还有App中的一些选择参数,因为App需要实现多语言,自然这些选择参数也是需要实现多语言的;
需要配置这些参数,首先登录到社区版云管平台,找到系统设置>字典管理;
这里的菜单分为两级,第一级配置字典类型,第二级配置字典参数项;
如果需要对字典进行翻译,可以进入到多语言管理>>数据多语言进行配置
平台和AppI如果需要获取字典数据,需要调用接口指定字典类型进行获取;
如果社区版进行二次开放需要在代码中读取字典数据,则参考如下写法;
// 设备性质字典获取
deviceNature, _ := new(services.DictTempData).GetDictByCode(iotconst.Dict_type_device_nature)
// 将字典的值转换为字典名称
deviceNature.Value(info.DeviceNatureKey)
另一种情况,如果需要获取字典的翻译数据,则可以通过调用redis获取;
langMap, _ := iotredis.GetClient().HGetAll(context.Background(), iotconst.HKEY_LANGUAGE_DATA_PREFIX+iotconst.LANG_T_CONFIG_DICT_DATA).Result()
//从字典翻译map中获取你想要的翻译内容
//key的格式如下,{语言}_{字典类型}_{字典项的值}_name, 例如:zh_deviceNature_1_name (获取设备性值为1的名称)
cKey := fmt.Sprintf("%v_%v-%v_name", lang, dictType, dictValue)
if _, ok := langMap[cKey]; ok {
item.DictLabel = iotutil.MapGetStringVal(langMap[cKey], dictLabel)
}
|