sách gpt4 ăn đã đi

Báo cáo khối xây dựng tích hợp phiên bản microservice của Ruoyi

In lại Tác giả: Tôi là chú chim nhỏ Thời gian cập nhật: 26-06-2023 22:34:22 28 4
mua khóa gpt4 giày nike

1. Cấu trúc dự án

Tạo một mô-đun microservice báo cáo mới. Đây là sơ đồ cấu trúc dự án của tôi.

2. Thực thi tập lệnh dữ liệu khởi tạo

Chạy tập lệnh khởi tạo của báo cáo khối xây dựng và tạo cấu trúc bảng có liên quan trên Github quá chậm. Bạn nên sử dụng địa chỉ gitee. Chọn cơ sở dữ liệu mà bạn muốn tạo bảng. Tôi đặt nó cùng với cơ sở dữ liệu doanh nghiệp. Sau khi thực hiện, các bảng sau sẽ được thêm vào.


3. Đưa các phần phụ thuộc của báo cáo khối xây dựng vào pom

Khai báo số phiên bản của báo cáo khối xây dựng trong pom cha cấp cao nhất:

                        
                           1.5.6 

                        
                      

Thêm các phần phụ thuộc của báo cáo khối xây dựng trong mô-đun vi dịch vụ báo cáo:

                        
                            org.jeecgframework.jimureport jimureport-spring-boot-starter ${jeccg.jimureport.version} 

                        
                      

4. Thêm các khối xây dựng vào lớp khởi động để quét thư mục

Thêm chú thích quét báo cáo khối xây dựng, @SpringBootApplication(exclude = {MongoAutoConfiguration.class}, scanBasePackages = {"org.jeecg.modules.jmreport", "com.iotings.report"}), vào lớp khởi động vi dịch vụ báo cáo. sau đây là khối mã lớp Khởi động hoàn chỉnh:

                        
                          gói com.iotings.report; nhập com.iotings.common.security.annotation.EnableCustomConfig; nhập com.iotings.common.security.annotation.EnableRyFeignClients; nhập com.iotings.common.swagger.annotation.EnableCustomSwagger2; nhập org.springframework.boot.SpringApplication; nhập org.springframework.boot.autoconfigure.SpringBootApplication; nhập org.springframework.boot.autoconfigure.mongo.MongoAutoConfiguration; /** * @description: 报表中心模块 * @author: wzlUp * @date: 2023/06/16 17:05 * @motto: Hoàn thành còn hơn hoàn hảo. */ @EnableCustomConfig @EnableCustomSwagger2 @EnableRyFeignClients @SpringBootApplication(exclude = {MongoAutoConfiguration.class}, scanBasePackages = {"org.jeecg.modules.jmreport", "com.iotings.report"}) public class IotingsReportApplication { public static void main(String[] args) { SpringApplication.run(IotingsReportApplication.class, args); System.out.println( " .-------------------------------------. \n" + " : __ :\n" + " : =='_)) __-:!:- :\n" + " : ,.' .' ))-:!:- :\n" + " : ((_,' .'-:!:- - Báo cáo đã bắt đầu - :\n" + " : ~^~~~^~~^~~~^~ :\n" + " `-------------------------------------' "); } }

                        
                      

5. Định cấu hình nguồn dữ liệu báo cáo khối xây dựng

Sử dụng mã để định cấu hình nguồn dữ liệu:

                        
                          gói com.iotings.report.config; nhập org.springframework.boot.context.properties.ConfigurationProperties; nhập org.springframework.boot.jdbc.DataSourceBuilder; nhập org.springframework.context.annotation.Bean; .annotation.Configuration; nhập javax.sql.DataSource /** * @description: Lớp cấu hình nguồn dữ liệu * @author: wzlUp * @date: 25/06/2023 16:17 * @motto: Hoàn thành còn hơn hoàn hảo */ @Configuration public class DataSourceConfig{ /** * 1. Bean The tên phải là minidaoDataSource, nếu không nó sẽ không có hiệu lực* 2. jeecg.minidao-datasource tương ứng với nguồn dữ liệu minidao trong jeecg trong yml, có thể được tùy chỉnh*/ @Bean(name="minidaoDataSource") @ConfigurationProperties(prefix = "jeecg.minidao-datasource") public DataSource dataSource ( ){ trả về DataSourceBuilder.create().build();

                        
                      

6. Báo cáo cấu hình microservice

Tạo tệp cấu hình iotings-report-dev.yml mới trong nacos.

Dưới đây là các mục dữ liệu cấu hình hoàn chỉnh của tôi:

                        
                          # cấu hình mùa xuân mùa xuân: redis: máy chủ: cổng 127.0.0.1: 6379 mật khẩu: 123456 #Minidao cấu hình minidao: gói cơ sở: org.jeecg.modules.jmreport.* jeecg: minidao-datasource: jdbc-url: jdbc:mysql://127.0.0.1:3306/ry-cloud?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&serverTimezone=GMT%2b8 tên người dùng: mật khẩu gốc: 123456 tên lớp trình điều khiển: com.mysql.cj .jdbc.Driver hikari: # Số lượng kết nối tối đa trong nhóm kết nối kích thước nhóm tối đa: 400 # Duy trì số lượng kết nối tối thiểu khi không hoạt động tối thiểu không hoạt động: 20 # Thời gian tồn tại của kết nối không hoạt động không hoạt động: 30000 # Thời gian chờ kết nối hết thời gian kết nối: 1800000 # Kết nối trong nhóm Tuổi thọ tối đa tối đa: 1800000 jmreport: #Cho dù từ điển dữ liệu có thực hiện cách ly dữ liệu saas hay không (giới hạn xem từ điển của riêng bạn) saas: false #Có nên tắt nút để xuất PDF và hình ảnh hay không, mặc định là sai importDisabled: false #Có tự động lưu tự động Lưu: false #Autosave interval khoảng thời gian mili giây: 20000 # Chỉ mục cột col: 300 # Tiền tố dự án tùy chỉnh customPrePath: /report # Tiền tố giao diện API tùy chỉnh # giá trị của {api_base_path} # apiBasePath: http://10.10.0.138:83/ #Xem trước trang tùy chỉnh phân trangKích thước: - 10 - 20 - 50 - 100 #In giấy tùy chỉnh printPaper: - tiêu đề: Kích thước in nhãn: - 140 - 100 #Cài đặt thời gian chờ giao diện (mili giây) kết nối- thời gian chờ: 1800000 #Chế độ xuất Excel (nhanh/nhanh, chế độ chính/tinh chỉnh, nhanh mặc định) export-excel-pattern: fast #Số hàng trong mỗi sheet khi xuất dữ liệu từ Excel, số hàng tối đa trong mỗi sheet là 1048576 page-size-number: 1048576 #Excel style hiển thị kiểu mặc định sau số hàng (chỉ hợp lệ ở chế độ nhanh) excel- style-row: 1048576 #Liệu thanh công cụ trên trang xem trước có hiển thị true mặc định viewToolbar: true #Liệu dòng của bảng trên trang thiết kế có hiển thị dòng true mặc định hay không: true Nguồn dữ liệu #sql không ghi hộp thả xuống từ điển để hiển thị số mục. Nó đã bị bỏ sau phiên bản 1.4.2 select-show-total: 10 # mybatis configure mybatis: # Tìm kiếm bí danh gói được chỉ định typeAliasesPackage: com .iotings.report # Định cấu hình quét trình ánh xạ và tìm Tất cả các tệp ánh xạ bản đồ.xml mapperLocations: classpath:mapper/**/*.xml # cấu hình Knife4j Knife4j: Enable: true # cơ bản: # kích hoạt: đúng # tên người dùng: iotings # mật khẩu: iotings2023 # vênh vang cấu hình vênh vang: phiên bản: 1.0.0 tiêu đề: Tài liệu giao diện trung tâm báo cáo basePackage: com.iotings.report termsOfServiceUrl: iotings-center description: Tài liệu giao diện hệ thống của trung tâm báo cáo liên hệ: tên: xxx

                        
                      

注意事项:

  • Cấu hình đường dẫn customPrePath: cần phải nhất quán với từ khóa báo cáo [vị ngữ] xác nhận của cổng, nếu không thì không thể thực hiện định tuyến chính xác

7. Cấu hình microservice cổng

Thêm định tuyến của microservice báo cáo trong tệp cấu hình iotings-gateway-dev.yml:

                        
                          tuyến đường: # Dịch vụ trung tâm báo cáo - id: iotings-report uri: lb://iotings-report vị từ: - Path=/report/** bộ lọc: - StripPrefix=1

                        
                      

Thêm cấu hình bảo mật và danh sách trắng không xác minh của báo cáo khối xây dựng trong tệp cấu hình iotings-gateway-dev.yml:

                        
                          # Bảo mật cấu hình bảo mật: # Mã xác minh captcha: đã bật: loại đúng: toán # Ngăn chặn các cuộc tấn công XSS xss: đã bật: true loại trừUrls: - /system/notice - /report/jmreport/** # Không xác minh danh sách trắng bỏ qua: người da trắng: - /auth/logout - /auth/login - /auth/register - /*/v2/api-docs - /csrf - /message/websocket/** - /báo cáo/**

                        
                      

8. Tiện ích mở rộng: Kiểm soát quyền truy cập mã thông báo

                        
                          gói com.iotings.report.service.impl; nhập com.iotings.common.core.utils.DateUtils; nhập com.iotings.common.core.utils.StringUtils; nhập com.iotings.common.security.service.TokenService; nhập nhập com.iotings.common.security.utils.SecurityUtils; com.iotings.system.api.model.LoginUser; nhập org.jeecg.modules.jmreport.api.JmReportTokenServiceI; nhập org.springframework.beans.factory.annotation.Autowired; nhập org.springframework.http.HttpHeaders; nhập springframework.stereotype.Component; javax.servlet.http.HttpServletRequest; nhập java.util.HashMap; nhập java.util.Map; * @description: Xác thực báo cáo tùy chỉnh (nếu không được tùy chỉnh, tất cả các yêu cầu sẽ không chịu sự kiểm soát quyền) * @author : wzlUp * @date: 25/06/2023 16:37 * @motto: Hoàn thành còn hơn hoàn hảo */ @Component lớp công khai. JimuReportTokenServiceImpl triển khai JmReportTokenServiceI { @Autowired Private TokenService tokenService; /** * Nhận mã thông báo thông qua yêu cầu */ @Override public String getToken(HttpServletRequest request) { String token = request.getParameter("token"); mã thông báo"); if (mã thông báo == null || token.length() == 0) { token = jmToken; } loginUser loginUser = tokenService.getLoginUser(token); if (loginUser != null) { return token; } return ""; } /** * Lấy tên người dùng đăng nhập*/ @Override public String getUsername(String s) { Đăng nhậpUser loginUser = tokenService.getLoginUser(s); return loginUser.getUsername(); } /** * Xác minh mã thông báo*/ @Override public Boolean verifyToken(String s) { if (s != null && s.length() > 0) { loginUser loginUser = tokenService.getLoginUser(s); return loginUser != null; } /** * Tiêu đề yêu cầu tùy chỉnh */ @Override public HttpHeaders customApiHeader() { HttpHeaders header = new HttpHeaders(); header.add("X-Access-Token", SecurityUtils.getToken()); tiêu đề trả về } /** * Nhận id nhiều người thuê * @returnrentId */ public String getTenantId() { Chuỗi mã thông báo = SecurityUtils.getCurrentRequestInfo().getParameter("token"); SecurityUtils.getCurrentRequestInfo().getHeader("X-Access-Token"); Đăng nhậpUser loginUser = null; if (StringUtils.isNotBlank(token)) { loginUser = tokenService.getLoginUser(token); )) { loginUser = tokenService.getLoginUser(header); } else { //Nếu không có sẵn, bạn không thể truy cập return "NO"; } //Bạn phải có quyền quản trị viên hoặc quản trị viên để truy cập tất cả các báo cáo if (SecurityUtils.isAdmin(loginUser.getUserid()) || loginUser.getRoles( ). chứa("it") || loginUser.getRoles().contains("manger")) { return "" } return loginUser.getUsername(); @Override public Map getUserInfo(String token) { // Lưu trữ tất cả thông tin trong bản đồ sql phân tích cú pháp sẽ được phân tích cú pháp theo giá trị khóa của bản đồ. Đối tượng> bản đồ = HashMap mới <> (20); Đăng nhậpUser loginUser = tokenService.getLoginUser(token); //Đặt ngày hiện tại (năm, tháng và ngày) map.put("sysData", DateUtils.getDate()); //Đặt ngày (năm, tháng và ngày của ngày hôm qua) map.put("sysYesterDay", DateUtils. getYesterday()); //Đặt bản đồ biệt danh người dùng hiện đang đăng nhập.put("sysUserName", loginUser.getSysUser().getNickName()); //Đặt ID bộ phận người dùng đăng nhập hiện tại map.put("deptId", loginUser.getSysUser().getDeptId()); người dùng đăng nhập Mô tả // map.put("describe", loginUser.getSysUser().getDept().getDescribes()); map.put("mô tả", loginUser.getSysUser().getDept().getRemark()); trả về bản đồ;

                        
                      

9. Cấu hình trang front-end

Tạo thư mục jimureport mới trong trang giao diện người dùng và tạo các tệp vue sau.

1, jimu.vue

                        
                            

                        
                      

10. Cấu hình menu báo cáo

Đầu tiên tạo một danh mục chính mới. Tôi đã tạo một menu phụ. Điều này có thể được tùy chỉnh và cấu hình theo ý muốn.

Thêm một thư mục phụ.

11. Hiển thị hiệu ứng tích hợp

Trang tích hợp.

Trang trường hợp mẫu.

Trang thiết kế báo cáo.

Trang xem trước.

12. Tài liệu tham khảo

  • Phiên bản vi dịch vụ Ruoyi
  • Báo cáo khối xây dựng tích hợp đám mây Ruoyi
  • Báo cáo khối xây dựng tích hợp microservice đám mây Ruoyi
  • báo cáo khối xây dựng phiên bản tích hợp ruoyi vue
  • Giới thiệu về sơ đồ xác thực quyền truy cập báo cáo

Cuối cùng, bài viết này về báo cáo khối xây dựng tích hợp của phiên bản microservice Ruoyi kết thúc tại đây. Nếu bạn muốn biết thêm về báo cáo khối xây dựng tích hợp của phiên bản microservice Ruoyi, vui lòng tìm kiếm bài viết CFSDN hoặc tiếp tục duyệt qua các bài viết liên quan. tất cả các bạn hãy ủng hộ blog của tôi trong tương lai! .

28 4 0
tôi là một con chim nhỏ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress