4.5 KiB
Raw Blame History

一、功能描述

提供前后端在请求中得国别进行对应语言的渲染 将国际化语言持久化到mysql提供实时管理缓存到redis 提供服务模块的快速加载 前端通过api加载完成页面国际化后端通过redis 快速加载,通过字典注解、工具类完成列表查询内容国际化。

二、代码运行截图:

输入图片说明

三、使用方法

1. 以组件嵌入当前工程

  1. 引入在当前 springboot 工程引入 组件包

这里输入代码 <dependency>  
   <groupId>net.rzdata</groupId>  
   <artifactId>rz-i18n</artifactId>  
   <version>0.0.2-SNAPSHOT</version>  
 </dependency>
  1. 组件包扫描包
 @ComponentScan(basePackages = {"org.example","com.blueland"})  
 @MapperScan(basePackages = {"org.example","com.blueland.common.core.mapper"})  
 @EnableAutoConfiguration  
 public class App {  
     public static void main(String[] args) {  
         SpringApplication.run(App.class, args);  
     }  
   
 }
  1. 增加配置文件 application.yml
 server:  
   port: 8080  
   servlet:  
     context-path: /crm-internation  
     session:  
       cookie:  
         name: crm-internation  
   
 spring:  
   datasource:  
     type: com.alibaba.druid.pool.DruidDataSource  
     druid:  
       driver-class-name: com.mysql.cj.jdbc.Driver  
       username: crm  
       password: crm@123  
       url: jdbc:mysql://192.168.1.13:3308/crm_usm?useUnicode=true&characterEncoding=utf-8&serverTimezone=GMT%2B8  
   redis:  
     database: 9  
     host: 192.168.1.169  
     password: ''  
 tm:  
   secretId: AKID4IXccMhHdjcJm0wqPjndHhspkbDbGeJz  
   secretKey: aw3v5B3h8OPQO7j8JPGsFNHwMXTAcprf  
   
 logging:  
   level:  
     com.blueland.common.core: debug  
 mybatis-flex:  
   type-aliases-package: com.blueland.common.core.domain  
   
   
 knife4j:  
   enable: true  
   openapi:  
     title: 国际化接口文档  
     group:  
       test1:  
         group-name: 国际化  
         api-rule: package  
         api-rule-resources:  
           - com.blueland.common.core.controller
  1. 创建数据库表:
 CREATE TABLE `t_international` (  
   `id` varchar(50) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '唯一ID',  
   `code` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '国际化编码',  
   `name` varchar(500) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '名称',  
   `lang` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '语言',  
   `type` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '标识前端front后端back',  
   `tenant_id` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '租户号',  
   `create_by` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '创建人',  
   `create_time` datetime DEFAULT NULL COMMENT '创建时间',  
   `update_by` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '更新人',  
   `update_time` datetime DEFAULT NULL COMMENT '更新时间',  
   KEY `idx_code` (`code`) USING BTREE  
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='国际化';

4-02-26/JJQNJxHzK0bfeCcd.png)请求接口: 输入图片说明

前端接入:

请求前端接口:GET /crm-internation/international/findLangPackage header: tenantid:MID 参数: type:front 输入图片说明 输入图片说明

后端接入:

输入图片说明

MessageSendUtil.send(receiveStaffCode, I18nUtils.getTitle(ProductI18nConstant.PRODUCT_GIFT_SEND_NOTICE),  
        CommonConstant.MESSAGE_TYPE_QYWX, I18nUtils.getTitleFormat(ProductI18nConstant.PRODUCT_GIFT_AUDIT_MSG, stockingApply.getCreateName()),  
        CommonConstant.MESSAGE_CREATEBY_CRM, UserUtils.getTenantId(), stockingApply.getApplyCode());

请求前端接口:GET /crm-internation/international/findLangPackage header: tenantid:MID 参数: type:back 输入图片说明

2. 以接口的方式调用

前端接入:

参考方式1 前端接入

后端接入:

请求前端接口:GET /crm-internation/international/findLangPackage header: tenantid:MID 参数: type:back 输入图片说明