草庐IT

人人开源(后台代码、前端项目、代码自动生成)

liangjiayy 2023-09-07 原文

文章目录

后台代码

git clone 到本地

  • git命令克隆到本地
git clone https://gitee.com/renrenio/renren-fast.git
  • 删除.git文件夹,拖入到自己的项目,作为一个模块
  • 打开该模块,复制sql建表语句

创建数据库

  • sqlyog中建数据库,例如:admin,并运行上面复制的语句

配置项目

  • 项目中需要改变的东西
  1. 查看当前使用的环境

  2. 修改对应配置文件,修改四个位置

测试

  • 启动项目
  • 如果main报红
    先点击右上角的这个
    添加sdk

前端项目

git clone到本地

  • git克隆
git clone https://gitee.com/renrenio/renren-fast-vue.git
  • 删除.git文件夹,拖入到vscode

下载node.js

  1. 网址:http://nodejs.cn/
  2. 除了安装目录,其他直接下一步

npm:类似maven,包管理工具,自动下载一些依赖

  1. cmd中输入node -v可查看版本
  2. 国内镜像,cmd输入:
npm config set registry https://registry.npm.taobao.org

下载组件

  • vscode中进入前端项目,下载组件:
npm install

无法识别npm命令的解决

  • 解决上述问题:
    win + s,搜索powershell,以管理员省份打开,cd进入到项目目录,安装

运行结果

  • 运行
npm run dev

附录1:不想每次登录都填写用户名密码?

  • 在这个位置给它赋初始值:

附录2:不想每次输入验证码验证?

  • 前端去掉验证码校验
  • 后端去掉验证码校验
  • 最终效果:每次只用点登录

附录3:想要局域网的其他电脑也能访问到当前项目?

  1. 打开电脑8001端口的防火墙
  2. 修改host
  3. 把localhost修改为你的ip地址,IP地址可通过命令行输入ipconfig查看

附录4:没有权限又不想授权?

  • 授权位置始终返回true

跳过严格的编译检查

  • 没有错误也提示?
  • 关闭检查:

代码自动生成

git clone项目

  • 克隆到本地
git clone https://gitee.com/renrenio/renren-generator.git

修改数据库信息

修改代码生成器

第一次使用


第二次使用(相同项目不同模块)

  • 对于其他需要自动生成代码的模块,只需修改如下内容:

修改controller配置

  • 删除如下内容
  • 注释如下内容(不止两个)

可视化操作

  • 浏览器访问,以生成zip文件
    http://localhost:81/
  • 用zip文件中的main替换自己项目的mian

案例

1. common模块:

  1. pom文件导入如下依赖
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
            <version>3.5.1</version>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.6</version>
        </dependency>
        
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpcore</artifactId>
            <version>4.4.15</version>
        </dependency>
        
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

  1. 新建包com.ljy.common.utils
  2. 把renren-fast的下面的文件复制到该目录
  3. 新建exception包,把renren-fast中的如下文件复制过来

  1. 新建xss包,把renre-fast的下面文件复制过来

  2. 新建validator包,把renren-fast如下内容复制过来

2. 其他模块

  1. 引入公共模块
  2. 配置文件:
spring:
  datasource:
    driverClassName: com.mysql.jdbc.Driver
    url: jdbc:mysql://ip:端口/数据库?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
    username: root
    password: root
mybatis-plus:
  mapper-locations: classpath:/mapper/**/*.xml
  global-config:
    db-config:
      id-type: auto #主键自增
  1. 测试crud(略)

使用

新建自己的目录、菜单

创建菜单目录

  • 启动renren-fast的前台和后台项目
  • 访问http://localhost:8001/
  • 新增 —— 目录 ——
  • 新增 —— 菜单 —— 设置上级菜单为刚刚创建的目录 —— 菜单路由写uri ——

规范

  • 规范:
    • 路径的/会被替换为-,页面文件放在/views/modules/下
    • 路由:/product/category对应的页面文件应该放在/views/modules/product/category.vue里,对应访问路径是:/product-category

树形组件

  • 使用element组件的 Tree树形控件

  • 替换其中的data数据,改为在后台获取

  • 写获取后台数据的方法(可参照当前项目其他页面的写法),并将该方法写在生命周期函数内

将请求转发给网关

  • 修改static/config/index.js中的baseUrl,让其发请求给网关(gateway)
    window.SITE_CONFIG['baseUrl'] = 'http://localhost:88/api';

  • renren-fast加入注册中心:

  1. bootstrap.yml
spring:
  application:
    name: renren-fast
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848
  1. mian
    @EnableDiscoveryClient
  • gateway模块新建路由规则
    • 路径改写:filters:
    spring:
      cloud:
        gateway:
          routes:
            - id: renren_fast
            uri: lb://renren-fast
            predicates:
              - Path=/api/**
            filters:
              # 路径改写,/api/**   ->   /renren-fast/**
              - RewritePath=/api(?<segment>/?.*), /renren-fast/$\{segment}
    

跨域问题

是什么
  • cors,跨域问题,如图,控制台打印如下内容:
    • 什么是跨域
    • 跨域流程
可行的解决方案
  • 解决-1:
  • 解决-2
最终解决
  • 在网关模块加入允许跨域配置
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.reactive.CorsWebFilter;
import org.springframework.web.cors.reactive.UrlBasedCorsConfigurationSource;

@Configuration
public class CorsConfig{

    @Bean
    public CorsWebFilter corsConfiguration() {
        UrlBasedCorsConfigurationSource configSource = new UrlBasedCorsConfigurationSource();

        CorsConfiguration config = new CorsConfiguration();
        config.addAllowedHeader("*");
        config.addAllowedMethod("*");
        config.addAllowedOrigin("*");
        config.setAllowCredentials(true);

        configSource.registerCorsConfiguration("/**",config);
        
        return new CorsWebFilter(configSource);
    }
}
  • 观察到renren-fast后台有跨域配置,注释掉renren-fast模块中的该部分内容

如果不注释掉该部分,则有如下报错:

有关人人开源(后台代码、前端项目、代码自动生成)的更多相关文章

  1. ruby - 使用 RubyZip 生成 ZIP 文件时设置压缩级别 - 2

    我有一个Ruby程序,它使用rubyzip压缩XML文件的目录树。gem。我的问题是文件开始变得很重,我想提高压缩级别,因为压缩时间不是问题。我在rubyzipdocumentation中找不到一种为创建的ZIP文件指定压缩级别的方法。有人知道如何更改此设置吗?是否有另一个允许指定压缩级别的Ruby库? 最佳答案 这是我通过查看ruby​​zip内部创建的代码。level=Zlib::BEST_COMPRESSIONZip::ZipOutputStream.open(zip_file)do|zip|Dir.glob("**/*")d

  2. ruby-on-rails - 使用 Ruby on Rails 进行自动化测试 - 最佳实践 - 2

    很好奇,就使用ruby​​onrails自动化单元测试而言,你们正在做什么?您是否创建了一个脚本来在cron中运行rake作业并将结果邮寄给您?git中的预提交Hook?只是手动调用?我完全理解测试,但想知道在错误发生之前捕获错误的最佳实践是什么。让我们理所当然地认为测试本身是完美无缺的,并且可以正常工作。下一步是什么以确保他们在正确的时间将可能有害的结果传达给您? 最佳答案 不确定您到底想听什么,但是有几个级别的自动代码库控制:在处理某项功能时,您可以使用类似autotest的内容获得关于哪些有效,哪些无效的即时反馈。要确保您的提

  3. ruby - 如何在 buildr 项目中使用 Ruby 代码? - 2

    如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby​​

  4. ruby-on-rails - Rails 源代码 : initialize hash in a weird way? - 2

    在rails源中:https://github.com/rails/rails/blob/master/activesupport/lib/active_support/lazy_load_hooks.rb可以看到以下内容@load_hooks=Hash.new{|h,k|h[k]=[]}在IRB中,它只是初始化一个空哈希。和做有什么区别@load_hooks=Hash.new 最佳答案 查看rubydocumentationforHashnew→new_hashclicktotogglesourcenew(obj)→new_has

  5. ruby - 在 jRuby 中使用 'fork' 生成进程的替代方案? - 2

    在MRIRuby中我可以这样做:deftransferinternal_server=self.init_serverpid=forkdointernal_server.runend#Maketheserverprocessrunindependently.Process.detach(pid)internal_client=self.init_client#Dootherstuffwithconnectingtointernal_server...internal_client.post('somedata')ensure#KillserverProcess.kill('KILL',

  6. ruby - 如何使用 Ruby aws/s3 Gem 生成安全 URL 以从 s3 下载文件 - 2

    我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A

  7. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  8. ruby-on-rails - 新 Rails 项目 : 'bundle install' can't install rails in gemfile - 2

    我已经像这样安装了一个新的Rails项目:$railsnewsite它执行并到达:bundleinstall但是当它似乎尝试安装依赖项时我得到了这个错误Gem::Ext::BuildError:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcheckingforlibkern/OSAtomic.h...yescreatingMakefilemake"DESTDIR="cleanmake"DESTDIR="

  9. ruby - RuntimeError(自动加载常量 Apps 多线程时检测到循环依赖 - 2

    我收到这个错误:RuntimeError(自动加载常量Apps时检测到循环依赖当我使用多线程时。下面是我的代码。为什么会这样?我尝试多线程的原因是因为我正在编写一个HTML抓取应用程序。对Nokogiri::HTML(open())的调用是一个同步阻塞调用,需要1秒才能返回,我有100,000多个页面要访问,所以我试图运行多个线程来解决这个问题。有更好的方法吗?classToolsController0)app.website=array.join(',')putsapp.websiteelseapp.website="NONE"endapp.saveapps=Apps.order("

  10. ruby-on-rails - 浏览 Ruby 源代码 - 2

    我的主要目标是能够完全理解我正在使用的库/gem。我尝试在Github上从头到尾阅读源代码,但这真的很难。我认为更有趣、更温和的踏脚石就是在使用时阅读每个库/gem方法的源代码。例如,我想知道RubyonRails中的redirect_to方法是如何工作的:如何查找redirect_to方法的源代码?我知道在pry中我可以执行类似show-methodmethod的操作,但我如何才能对Rails框架中的方法执行此操作?您对我如何更好地理解Gem及其API有什么建议吗?仅仅阅读源代码似乎真的很难,尤其是对于框架。谢谢! 最佳答案 Ru

随机推荐