diff --git a/.env.development b/.env.development index 302ecd1..558f448 100644 --- a/.env.development +++ b/.env.development @@ -1,10 +1,10 @@ # 页面标题 -VUE_APP_TITLE = 若依管理系统 +VUE_APP_TITLE = 水运工程设计施工AR应用平台 # 开发环境配置 ENV = 'development' -# 若依管理系统/开发环境 +# 水运工程设计施工AR应用平台/开发环境 VUE_APP_BASE_API = '/dev-api' # 路由懒加载 diff --git a/.env.production b/.env.production index b4893b0..57ddbe9 100644 --- a/.env.production +++ b/.env.production @@ -1,8 +1,8 @@ # 页面标题 -VUE_APP_TITLE = 若依管理系统 +VUE_APP_TITLE = 水运工程设计施工AR应用平台 # 生产环境配置 ENV = 'production' -# 若依管理系统/生产环境 +# 水运工程设计施工AR应用平台/生产环境 VUE_APP_BASE_API = '/prod-api' diff --git a/.env.staging b/.env.staging index 209b64e..edad552 100644 --- a/.env.staging +++ b/.env.staging @@ -1,5 +1,5 @@ # 页面标题 -VUE_APP_TITLE = 若依管理系统 +VUE_APP_TITLE = 水运工程设计施工AR应用平台 BABEL_ENV = production @@ -8,5 +8,5 @@ NODE_ENV = production # 测试环境配置 ENV = 'staging' -# 若依管理系统/测试环境 +# 水运工程设计施工AR应用平台/测试环境 VUE_APP_BASE_API = '/stage-api' diff --git a/package.json b/package.json index 53fb7b7..962d292 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,8 @@ { "name": "ruoyi", "version": "3.9.0", - "description": "若依管理系统", - "author": "若依", + "description": "水运工程设计施工AR应用平台", + "author": "水运", "license": "MIT", "scripts": { "dev": "vue-cli-service serve", diff --git a/prettier.config.js b/prettier.config.js new file mode 100644 index 0000000..e5776d2 --- /dev/null +++ b/prettier.config.js @@ -0,0 +1,11 @@ +module.exports = { + printWidth: 120, + tabWidth: 4, + semi: false, + vueIndentScriptAndStyle: false, + singleQuote: true, + trailingComma: 'all', + proseWrap: 'never', + htmlWhitespaceSensitivity: 'strict', + endOfLine: 'auto', +} diff --git a/public/favicon.ico b/public/favicon.ico index e263760..a0b7988 100644 Binary files a/public/favicon.ico and b/public/favicon.ico differ diff --git a/public/favicon.ico-9 b/public/favicon.ico-9 new file mode 100644 index 0000000..e263760 Binary files /dev/null and b/public/favicon.ico-9 differ diff --git a/src/assets/logo/logo-old.png b/src/assets/logo/logo-old.png new file mode 100644 index 0000000..e263760 Binary files /dev/null and b/src/assets/logo/logo-old.png differ diff --git a/src/assets/logo/logo.png b/src/assets/logo/logo.png index e263760..a0b7988 100644 Binary files a/src/assets/logo/logo.png and b/src/assets/logo/logo.png differ diff --git a/src/views/index.vue b/src/views/index.vue index 347cfd2..15327b5 100644 --- a/src/views/index.vue +++ b/src/views/index.vue @@ -4,7 +4,7 @@

若依后台管理框架

- 一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适自己的。于是利用空闲休息时间开始自己写一套后台系统。如此有了若依管理系统,她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA等等,当然,您也可以对她进行深度定制,以做出更强系统。所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。 + 一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适自己的。于是利用空闲休息时间开始自己写一套后台系统。如此有了水运工程设计施工AR应用平台,她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA等等,当然,您也可以对她进行深度定制,以做出更强系统。所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。

当前版本: v{{ version }} @@ -81,13 +81,20 @@ >

- QQ群: 满937441 满887144332 - 满180251782 满104180207 满186866453 满201396349 - 满101456076 满101539465 满264312783 满167385320 - 满104748341 满160110482 满170801498 满108482800 - 满101046199 满136919097 满143961921 满174951577 - 满161281055 满138988063 满151450850 满224622315 - 满287842588 满187944233 228578329 + QQ群: 满937441 + 满887144332 满180251782 满104180207 + 满186866453 满201396349 满101456076 + 满101539465 满264312783 满167385320 + 满104748341 满160110482 满170801498 + 满108482800 满101046199 满136919097 + 满143961921 满174951577 满161281055 + 满138988063 满151450850 满224622315 + 满287842588 满187944233 + 228578329

微信:修复table中更多按钮切换主题色未生效修复问题

  • 修复某些特性的环境生成代码变乱码TXT文件问题
  • 修复代码生成图片/文件/单选时选择必填无法校验问题
  • -
  • 修复某些特性的情况用户编辑对话框中角色和部门无法修改问题
  • +
  • + 修复某些特性的情况用户编辑对话框中角色和部门无法修改问题 +
  • 其他细节优化
  • @@ -392,7 +401,9 @@
  • 新增获取不带后缀文件名称方法
  • 新增获取配置文件中的属性值方法
  • 新增内容编码/解码方便插件集成使用
  • -
  • 字典类型必须以字母开头,且只能为(小写字母,数字,下滑线)
  • +
  • + 字典类型必须以字母开头,且只能为(小写字母,数字,下滑线) +
  • 优化设置分页参数默认值
  • 优化对空字符串参数处理的过滤
  • 优化显示顺序orderNum类型为整型
  • @@ -596,8 +607,12 @@
  • BLOB下载时清除URL对象引用
  • 代码生成导入表按创建时间排序
  • 修复代码生成页面数据编辑保存之后总是跳转第一页的问题
  • -
  • 修复带safari浏览器无法格式化utc日期格式yyyy-MM-dd'T'HH:mm:ss.SSS问题
  • -
  • 多图上传组件移除多余的api地址&验证失败导致图片删除问题&无法删除相应图片修复
  • +
  • + 修复带safari浏览器无法格式化utc日期格式yyyy-MM-dd'T'HH:mm:ss.SSS问题 +
  • +
  • + 多图上传组件移除多余的api地址&验证失败导致图片删除问题&无法删除相应图片修复 +
  • 其他细节优化
  • @@ -642,7 +657,9 @@
      -
    1. 新增菜单导航显示风格TopNav(false为左侧导航菜单,true为顶部导航菜单)
    2. +
    3. + 新增菜单导航显示风格TopNav(false为左侧导航菜单,true为顶部导航菜单) +
    4. 布局设置支持保存&重置配置
    5. 修复树表数据显示不全&加载慢问题
    6. 新增IE浏览器版本过低提示页面
    7. @@ -661,7 +678,9 @@
    8. 升级druid到最新版本v1.2.6
    9. 升级mybatis到最新版3.5.6 阻止远程代码执行漏洞
    10. 升级oshi到最新版本v5.6.0
    11. -
    12. velocity剔除commons-collections版本,防止3.2.1版本的反序列化漏洞
    13. +
    14. + velocity剔除commons-collections版本,防止3.2.1版本的反序列化漏洞 +
    15. 数据监控页默认账户密码防止越权访问
    16. 修复firefox下表单构建拖拽会新打卡一个选项卡
    17. 修正后端导入表权限标识
    18. @@ -1038,11 +1057,7 @@ 捐赠支持
      - donate + donate 你可以请作者喝杯咖啡表示鼓励 @@ -1059,15 +1074,15 @@ export default { data() { return { // 版本号 - version: "3.9.0" - } + version: "3.9.0", + }; }, methods: { goTarget(href) { - window.open(href, "_blank") - } - } -} + window.open(href, "_blank"); + }, + }, +}; - diff --git a/vue.config.js b/vue.config.js index 40e140d..80e0cfa 100644 --- a/vue.config.js +++ b/vue.config.js @@ -2,14 +2,14 @@ const path = require('path') function resolve(dir) { - return path.join(__dirname, dir) + return path.join(__dirname, dir) } const CompressionPlugin = require('compression-webpack-plugin') -const name = process.env.VUE_APP_TITLE || '若依管理系统' // 网页标题 +const name = process.env.VUE_APP_TITLE || '水运工程设计施工AR应用平台' // 网页标题 -const baseUrl = 'http://localhost:8080' // 后端接口 +const baseUrl = 'http://192.168.0.60:58080' // 后端接口 const port = process.env.port || process.env.npm_config_port || 80 // 端口 @@ -17,120 +17,119 @@ const port = process.env.port || process.env.npm_config_port || 80 // 端口 //官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions // 这里只列一部分,具体配置参考文档 module.exports = { - // 部署生产环境和开发环境下的URL。 - // 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上 - // 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。 - publicPath: process.env.NODE_ENV === "production" ? "/" : "/", - // 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist) - outputDir: 'dist', - // 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下) - assetsDir: 'static', - // 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。 - productionSourceMap: false, - transpileDependencies: ['quill'], - // webpack-dev-server 相关配置 - devServer: { - host: '0.0.0.0', - port: port, - open: true, - proxy: { - // detail: https://cli.vuejs.org/config/#devserver-proxy - [process.env.VUE_APP_BASE_API]: { - target: baseUrl, - changeOrigin: true, - pathRewrite: { - ['^' + process.env.VUE_APP_BASE_API]: '' - } - }, - // springdoc proxy - '^/v3/api-docs/(.*)': { - target: baseUrl, - changeOrigin: true - } + // 部署生产环境和开发环境下的URL。 + // 默认情况下,Vue CLI 会假设你的应用是被部署在一个域名的根路径上 + // 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。 + publicPath: process.env.NODE_ENV === 'production' ? '/' : '/', + // 在npm run build 或 yarn build 时 ,生成文件的目录名称(要和baseUrl的生产环境路径一致)(默认dist) + outputDir: 'dist', + // 用于放置生成的静态资源 (js、css、img、fonts) 的;(项目打包之后,静态资源会放在这个文件夹下) + assetsDir: 'static', + // 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。 + productionSourceMap: false, + transpileDependencies: ['quill'], + // webpack-dev-server 相关配置 + devServer: { + host: '0.0.0.0', + port: port, + open: true, + proxy: { + // detail: https://cli.vuejs.org/config/#devserver-proxy + [process.env.VUE_APP_BASE_API]: { + target: baseUrl, + changeOrigin: true, + pathRewrite: { + ['^' + process.env.VUE_APP_BASE_API]: '', + }, + }, + // springdoc proxy + '^/v3/api-docs/(.*)': { + target: baseUrl, + changeOrigin: true, + }, + }, + disableHostCheck: true, }, - disableHostCheck: true - }, - css: { - loaderOptions: { - sass: { - sassOptions: { outputStyle: "expanded" } - } - } - }, - configureWebpack: { - name: name, - resolve: { - alias: { - '@': resolve('src') - } + css: { + loaderOptions: { + sass: { + sassOptions: { outputStyle: 'expanded' }, + }, + }, }, - plugins: [ - // http://doc.ruoyi.vip/ruoyi-vue/other/faq.html#使用gzip解压缩静态文件 - new CompressionPlugin({ - cache: false, // 不启用文件缓存 - test: /\.(js|css|html|jpe?g|png|gif|svg)?$/i, // 压缩文件格式 - filename: '[path][base].gz[query]', // 压缩后的文件名 - algorithm: 'gzip', // 使用gzip压缩 - minRatio: 0.8, // 压缩比例,小于 80% 的文件不会被压缩 - deleteOriginalAssets: false // 压缩后删除原文件 - }) - ], - }, - chainWebpack(config) { - config.plugins.delete('preload') // TODO: need test - config.plugins.delete('prefetch') // TODO: need test + configureWebpack: { + name: name, + resolve: { + alias: { + '@': resolve('src'), + }, + }, + plugins: [ + // http://doc.ruoyi.vip/ruoyi-vue/other/faq.html#使用gzip解压缩静态文件 + new CompressionPlugin({ + cache: false, // 不启用文件缓存 + test: /\.(js|css|html|jpe?g|png|gif|svg)?$/i, // 压缩文件格式 + filename: '[path][base].gz[query]', // 压缩后的文件名 + algorithm: 'gzip', // 使用gzip压缩 + minRatio: 0.8, // 压缩比例,小于 80% 的文件不会被压缩 + deleteOriginalAssets: false, // 压缩后删除原文件 + }), + ], + }, + chainWebpack(config) { + config.plugins.delete('preload') // TODO: need test + config.plugins.delete('prefetch') // TODO: need test - // set svg-sprite-loader - config.module - .rule('svg') - .exclude.add(resolve('src/assets/icons')) - .end() - config.module - .rule('icons') - .test(/\.svg$/) - .include.add(resolve('src/assets/icons')) - .end() - .use('svg-sprite-loader') - .loader('svg-sprite-loader') - .options({ - symbolId: 'icon-[name]' - }) - .end() - - config.when(process.env.NODE_ENV !== 'development', config => { - config - .plugin('ScriptExtHtmlWebpackPlugin') - .after('html') - .use('script-ext-html-webpack-plugin', [{ - // `runtime` must same as runtimeChunk name. default is `runtime` - inline: /runtime\..*\.js$/ - }]) + // set svg-sprite-loader + config.module.rule('svg').exclude.add(resolve('src/assets/icons')).end() + config.module + .rule('icons') + .test(/\.svg$/) + .include.add(resolve('src/assets/icons')) + .end() + .use('svg-sprite-loader') + .loader('svg-sprite-loader') + .options({ + symbolId: 'icon-[name]', + }) .end() - config.optimization.splitChunks({ - chunks: 'all', - cacheGroups: { - libs: { - name: 'chunk-libs', - test: /[\\/]node_modules[\\/]/, - priority: 10, - chunks: 'initial' // only package third parties that are initially dependent - }, - elementUI: { - name: 'chunk-elementUI', // split elementUI into a single package - test: /[\\/]node_modules[\\/]_?element-ui(.*)/, // in order to adapt to cnpm - priority: 20 // the weight needs to be larger than libs and app or it will be packaged into libs or app - }, - commons: { - name: 'chunk-commons', - test: resolve('src/components'), // can customize your rules - minChunks: 3, // minimum common number - priority: 5, - reuseExistingChunk: true - } - } - }) - config.optimization.runtimeChunk('single') - }) - } + config.when(process.env.NODE_ENV !== 'development', (config) => { + config + .plugin('ScriptExtHtmlWebpackPlugin') + .after('html') + .use('script-ext-html-webpack-plugin', [ + { + // `runtime` must same as runtimeChunk name. default is `runtime` + inline: /runtime\..*\.js$/, + }, + ]) + .end() + + config.optimization.splitChunks({ + chunks: 'all', + cacheGroups: { + libs: { + name: 'chunk-libs', + test: /[\\/]node_modules[\\/]/, + priority: 10, + chunks: 'initial', // only package third parties that are initially dependent + }, + elementUI: { + name: 'chunk-elementUI', // split elementUI into a single package + test: /[\\/]node_modules[\\/]_?element-ui(.*)/, // in order to adapt to cnpm + priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app + }, + commons: { + name: 'chunk-commons', + test: resolve('src/components'), // can customize your rules + minChunks: 3, // minimum common number + priority: 5, + reuseExistingChunk: true, + }, + }, + }) + config.optimization.runtimeChunk('single') + }) + }, }