This commit is contained in:
ruying408
2024-08-27 01:44:10 +08:00
parent c811be4baa
commit 04f3e724f1
43 changed files with 111 additions and 111 deletions
+2 -2
View File
File diff suppressed because one or more lines are too long
+3 -3
View File
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{U as o,af as p,ag as u,ah as l,ai as c,aj as f,ak as d,al as m,am as h,an as g,ao as A,d as P,u as v,y,x as w,ap as C,aq as R,ar as b,as as E}from"./chunks/framework.C_oE5szm.js";import{R as S}from"./chunks/theme.3h0kDjYh.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(S),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=v();return y(()=>{w(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),R(),b(),s.setup&&s.setup(),()=>E(s.Layout)}});async function _(){globalThis.__VITEPRESS__=!0;const e=x(),a=j();a.provide(u,e);const t=l(e.route);return a.provide(c,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function j(){return h(T)}function x(){let e=o,a;return g(t=>{let n=A(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&_().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{_ as createApp};
import{U as o,af as p,ag as u,ah as l,ai as c,aj as f,ak as d,al as m,am as h,an as g,ao as A,d as P,u as v,y,x as w,ap as C,aq as R,ar as b,as as E}from"./chunks/framework.C_oE5szm.js";import{R as S}from"./chunks/theme.BR_epznk.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(S),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=v();return y(()=>{w(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),R(),b(),s.setup&&s.setup(),()=>E(s.Layout)}});async function _(){globalThis.__VITEPRESS__=!0;const e=x(),a=j();a.provide(u,e);const t=l(e.route);return a.provide(c,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function j(){return h(T)}function x(){let e=o,a;return g(t=>{let n=A(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&_().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{_ as createApp};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.C_oE5szm.js";const F=JSON.parse('{"title":"控制器","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/controller.md","filePath":"src/guide/controller.md","lastUpdated":1724685357000}'),h={name:"src/guide/controller.md"},k=n(`<h1 id="控制器" tabindex="-1">控制器 <a class="header-anchor" href="#控制器" aria-label="Permalink to &quot;控制器&quot;">​</a></h1><p>所有的 controller 都继承自 BaseController,该父类已经实现了以下六个基础方法:add、delete、update、page、list、info,可以大大简化代码,使得 controller 更加简洁。</p><h2 id="示例" tabindex="-1">示例 <a class="header-anchor" href="#示例" aria-label="Permalink to &quot;示例&quot;">​</a></h2><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">@</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">Tag</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">name</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;测试CURD&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">description</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;测试CURD&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.C_oE5szm.js";const F=JSON.parse('{"title":"控制器","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/controller.md","filePath":"src/guide/controller.md","lastUpdated":1724694022000}'),h={name:"src/guide/controller.md"},k=n(`<h1 id="控制器" tabindex="-1">控制器 <a class="header-anchor" href="#控制器" aria-label="Permalink to &quot;控制器&quot;">​</a></h1><p>所有的 controller 都继承自 BaseController,该父类已经实现了以下六个基础方法:add、delete、update、page、list、info,可以大大简化代码,使得 controller 更加简洁。</p><h2 id="示例" tabindex="-1">示例 <a class="header-anchor" href="#示例" aria-label="Permalink to &quot;示例&quot;">​</a></h2><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">@</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">Tag</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">name</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;测试CURD&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">description</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;测试CURD&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">@</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">CoolRestController</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">value</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;/cool&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">api</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;add&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;delete&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;update&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;page&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;list&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;info&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">})</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">public</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> class</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> AdminDemoInfoController</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> extends</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> BaseController</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">DemoService</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">DemoEntity</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt; {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> @</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">Override</span></span>
@@ -1 +1 @@
import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.C_oE5szm.js";const F=JSON.parse('{"title":"控制器","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/controller.md","filePath":"src/guide/controller.md","lastUpdated":1724685357000}'),h={name:"src/guide/controller.md"},k=n("",36),t=[k];function l(p,e,E,r,d,g){return a(),i("div",null,t)}const o=s(h,[["render",l]]);export{F as __pageData,o as default};
import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.C_oE5szm.js";const F=JSON.parse('{"title":"控制器","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/controller.md","filePath":"src/guide/controller.md","lastUpdated":1724694022000}'),h={name:"src/guide/controller.md"},k=n("",36),t=[k];function l(p,e,E,r,d,g){return a(),i("div",null,t)}const o=s(h,[["render",l]]);export{F as __pageData,o as default};
@@ -1,4 +1,4 @@
import{_ as a,c as s,o as n,a5 as e}from"./chunks/framework.C_oE5szm.js";const h=JSON.parse('{"title":"锁","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/lock.md","filePath":"src/guide/lock.md","lastUpdated":1724685357000}'),p={name:"src/guide/lock.md"},t=e(`<h1 id="锁" tabindex="-1">锁 <a class="header-anchor" href="#锁" aria-label="Permalink to &quot;锁&quot;">​</a></h1><p>简单锁的使用</p><p>如果项目中启用了redis,锁是基于redis 实现,否则使用 ReentrantLock</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>// 注入锁</span></span>
import{_ as a,c as s,o as n,a5 as e}from"./chunks/framework.C_oE5szm.js";const h=JSON.parse('{"title":"锁","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/lock.md","filePath":"src/guide/lock.md","lastUpdated":1724694022000}'),p={name:"src/guide/lock.md"},t=e(`<h1 id="锁" tabindex="-1">锁 <a class="header-anchor" href="#锁" aria-label="Permalink to &quot;锁&quot;">​</a></h1><p>简单锁的使用</p><p>如果项目中启用了redis,锁是基于redis 实现,否则使用 ReentrantLock</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>// 注入锁</span></span>
<span class="line"><span>private final CoolLock coolLock;</span></span>
<span class="line"><span></span></span>
<span class="line"><span>String key = &quot;lockKey&quot;;</span></span>
@@ -1 +1 @@
import{_ as a,c as s,o as n,a5 as e}from"./chunks/framework.C_oE5szm.js";const h=JSON.parse('{"title":"锁","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/lock.md","filePath":"src/guide/lock.md","lastUpdated":1724685357000}'),p={name:"src/guide/lock.md"},t=e("",4),o=[t];function c(l,i,r,d,_,k){return n(),s("div",null,o)}const m=a(p,[["render",c]]);export{h as __pageData,m as default};
import{_ as a,c as s,o as n,a5 as e}from"./chunks/framework.C_oE5szm.js";const h=JSON.parse('{"title":"锁","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/lock.md","filePath":"src/guide/lock.md","lastUpdated":1724694022000}'),p={name:"src/guide/lock.md"},t=e("",4),o=[t];function c(l,i,r,d,_,k){return n(),s("div",null,o)}const m=a(p,[["render",c]]);export{h as __pageData,m as default};
@@ -1,4 +1,4 @@
import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.C_oE5szm.js";const o=JSON.parse('{"title":"防重复提交","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/noRepeatSubmit.md","filePath":"src/guide/noRepeatSubmit.md","lastUpdated":null}'),t={name:"src/guide/noRepeatSubmit.md"},h=n(`<h1 id="防重复提交" tabindex="-1">防重复提交 <a class="header-anchor" href="#防重复提交" aria-label="Permalink to &quot;防重复提交&quot;">​</a></h1><p>基于用户维度的防重复提交,该接口需要登录鉴权</p><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">@</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">Aspect</span></span>
import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.C_oE5szm.js";const o=JSON.parse('{"title":"防重复提交","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/noRepeatSubmit.md","filePath":"src/guide/noRepeatSubmit.md","lastUpdated":1724694022000}'),t={name:"src/guide/noRepeatSubmit.md"},h=n(`<h1 id="防重复提交" tabindex="-1">防重复提交 <a class="header-anchor" href="#防重复提交" aria-label="Permalink to &quot;防重复提交&quot;">​</a></h1><p>基于用户维度的防重复提交,该接口需要登录鉴权</p><div class="language-java vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">java</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">@</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">Aspect</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">@</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">Component</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">@</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">RequiredArgsConstructor</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">public</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> class</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> NoRepeatSubmitAspect</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
@@ -1 +1 @@
import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.C_oE5szm.js";const o=JSON.parse('{"title":"防重复提交","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/noRepeatSubmit.md","filePath":"src/guide/noRepeatSubmit.md","lastUpdated":null}'),t={name:"src/guide/noRepeatSubmit.md"},h=n("",5),k=[h];function p(l,e,E,r,d,g){return a(),i("div",null,k)}const c=s(t,[["render",p]]);export{o as __pageData,c as default};
import{_ as s,c as i,o as a,a5 as n}from"./chunks/framework.C_oE5szm.js";const o=JSON.parse('{"title":"防重复提交","description":"","frontmatter":{},"headers":[],"relativePath":"src/guide/noRepeatSubmit.md","filePath":"src/guide/noRepeatSubmit.md","lastUpdated":1724694022000}'),t={name:"src/guide/noRepeatSubmit.md"},h=n("",5),k=[h];function p(l,e,E,r,d,g){return a(),i("div",null,k)}const c=s(t,[["render",p]]);export{o as __pageData,c as default};
@@ -1 +1 @@
import{_ as a,c as l,o as e,a5 as i}from"./chunks/framework.C_oE5szm.js";const m=JSON.parse('{"title":"更新","description":"","frontmatter":{},"headers":[],"relativePath":"src/todo/update.md","filePath":"src/todo/update.md","lastUpdated":1724685357000}'),t={name:"src/todo/update.md"},r=i('<h1 id="更新" tabindex="-1">更新 <a class="header-anchor" href="#更新" aria-label="Permalink to &quot;更新&quot;">​</a></h1><p>因为有你们的支持,cool-admin 会持续不断地更新,如果方便请点下 Star,这将会给我们带来更多的动力!!!</p><h2 id="v7-1-3-2024-08-25" tabindex="-1">v7.1.3(2024-08-25) <a class="header-anchor" href="#v7-1-3-2024-08-25" aria-label="Permalink to &quot;v7.1.3(2024-08-25)&quot;">​</a></h2><ul><li>新增: list和page支持关联查询,支持自定义返回结果类型,并可以在init方法中初始化返回字段类型及数据组装函数定义(参考:<a href="/src/guide/controller.html#查询配置">控制器</a>)</li><li>新增: 分布式ID生成组件(参考:<a href="/src/guide/uniqueIDGen.html">分布式ID</a>)</li><li>新增: 锁工具(参考:<a href="/src/guide/lock.html">锁工具</a>)</li><li>新增: 防重提交注解(参考:<a href="/src/guide/noRepeatSubmit.html">防重提交</a>)</li><li>调整: 缓存数据模板(参考:<a href="/src/guide/cache.html#通过coolcache缓存模板-获取数据">缓存</a>)</li><li>调整: 优化eps解析规则 (参考:<a href="/src/guide/controller.html#接口路由规则">解析规则</a>)</li><li>调整: 优化角色修改循环单个处理为批量处理,并异步进行刷新用户权限</li><li>调整: 图形验证码获取区分app和admin</li><li>修复: 初始化数据,指定id插入不生效问题</li><li>修复: 后台人员查询列表字段关联错误</li></ul><h2 id="v7-1-2-2024-08-04" tabindex="-1">v7.1.2(2024-08-04) <a class="header-anchor" href="#v7-1-2-2024-08-04" aria-label="Permalink to &quot;v7.1.2(2024-08-04)&quot;">​</a></h2><ul><li>新增: 支持postgresql</li><li>新增: 忽略记录请求日志url配置</li><li>新增: app端手机密码登录和手机验证码登录</li><li>调整: 鉴权调整兼容app端</li><li>调整: 优化插件过大加载慢问题,移除插件jar文件落库</li><li>修复: refreshToken可以当token使用问题</li></ul><h2 id="v7-1-1-2024-07-15" tabindex="-1">v7.1.1(2024-07-15) <a class="header-anchor" href="#v7-1-1-2024-07-15" aria-label="Permalink to &quot;v7.1.1(2024-07-15)&quot;">​</a></h2><ul><li>新增 Ai 自动编码功能,简单功能零代码实现;</li><li>新增后台扩展插件,如文件上传、支付、短信等功能可以通过安装插件的方式添加;</li></ul><h2 id="v7-1-0-2024-06-27" tabindex="-1">v7.1.0(2024-06-27) <a class="header-anchor" href="#v7-1-0-2024-06-27" aria-label="Permalink to &quot;v7.1.0(2024-06-27)&quot;">​</a></h2><ul><li>升级到 Springboot3.x;</li><li>升级所有相关依赖到最新;</li><li>跟进<a href="https://cool-js.com" target="_blank" rel="noreferrer">Nodejs 版</a>相关功能;</li><li>优化若干问题;</li></ul>',10),o=[r];function c(s,h,d,n,u,p){return e(),l("div",null,o)}const f=a(t,[["render",c]]);export{m as __pageData,f as default};
import{_ as a,c as l,o as e,a5 as i}from"./chunks/framework.C_oE5szm.js";const m=JSON.parse('{"title":"更新","description":"","frontmatter":{},"headers":[],"relativePath":"src/todo/update.md","filePath":"src/todo/update.md","lastUpdated":1724694022000}'),t={name:"src/todo/update.md"},r=i('<h1 id="更新" tabindex="-1">更新 <a class="header-anchor" href="#更新" aria-label="Permalink to &quot;更新&quot;">​</a></h1><p>因为有你们的支持,cool-admin 会持续不断地更新,如果方便请点下 Star,这将会给我们带来更多的动力!!!</p><h2 id="v7-1-3-2024-08-25" tabindex="-1">v7.1.3(2024-08-25) <a class="header-anchor" href="#v7-1-3-2024-08-25" aria-label="Permalink to &quot;v7.1.3(2024-08-25)&quot;">​</a></h2><ul><li>新增: list和page支持关联查询,支持自定义返回结果类型,并可以在init方法中初始化返回字段类型及数据组装函数定义(参考:<a href="/src/guide/controller.html#查询配置">控制器</a>)</li><li>新增: 分布式ID生成组件(参考:<a href="/src/guide/uniqueIDGen.html">分布式ID</a>)</li><li>新增: 锁工具(参考:<a href="/src/guide/lock.html">锁工具</a>)</li><li>新增: 防重提交注解(参考:<a href="/src/guide/noRepeatSubmit.html">防重提交</a>)</li><li>调整: 缓存数据模板(参考:<a href="/src/guide/cache.html#通过coolcache缓存模板-获取数据">缓存</a>)</li><li>调整: 优化eps解析规则 (参考:<a href="/src/guide/controller.html#接口路由规则">解析规则</a>)</li><li>调整: 优化角色修改循环单个处理为批量处理,并异步进行刷新用户权限</li><li>调整: 图形验证码获取区分app和admin</li><li>修复: 初始化数据,指定id插入不生效问题</li><li>修复: 后台人员查询列表字段关联错误</li></ul><h2 id="v7-1-2-2024-08-04" tabindex="-1">v7.1.2(2024-08-04) <a class="header-anchor" href="#v7-1-2-2024-08-04" aria-label="Permalink to &quot;v7.1.2(2024-08-04)&quot;">​</a></h2><ul><li>新增: 支持postgresql</li><li>新增: 忽略记录请求日志url配置</li><li>新增: app端手机密码登录和手机验证码登录</li><li>调整: 鉴权调整兼容app端</li><li>调整: 优化插件过大加载慢问题,移除插件jar文件落库</li><li>修复: refreshToken可以当token使用问题</li></ul><h2 id="v7-1-1-2024-07-15" tabindex="-1">v7.1.1(2024-07-15) <a class="header-anchor" href="#v7-1-1-2024-07-15" aria-label="Permalink to &quot;v7.1.1(2024-07-15)&quot;">​</a></h2><ul><li>新增 Ai 自动编码功能,简单功能零代码实现;</li><li>新增后台扩展插件,如文件上传、支付、短信等功能可以通过安装插件的方式添加;</li></ul><h2 id="v7-1-0-2024-06-27" tabindex="-1">v7.1.0(2024-06-27) <a class="header-anchor" href="#v7-1-0-2024-06-27" aria-label="Permalink to &quot;v7.1.0(2024-06-27)&quot;">​</a></h2><ul><li>升级到 Springboot3.x;</li><li>升级所有相关依赖到最新;</li><li>跟进<a href="https://cool-js.com" target="_blank" rel="noreferrer">Nodejs 版</a>相关功能;</li><li>优化若干问题;</li></ul>',10),o=[r];function c(s,h,d,n,u,p){return e(),l("div",null,o)}const f=a(t,[["render",c]]);export{m as __pageData,f as default};
@@ -1 +1 @@
import{_ as a,c as l,o as e,a5 as i}from"./chunks/framework.C_oE5szm.js";const m=JSON.parse('{"title":"更新","description":"","frontmatter":{},"headers":[],"relativePath":"src/todo/update.md","filePath":"src/todo/update.md","lastUpdated":1724685357000}'),t={name:"src/todo/update.md"},r=i("",10),o=[r];function c(s,h,d,n,u,p){return e(),l("div",null,o)}const f=a(t,[["render",c]]);export{m as __pageData,f as default};
import{_ as a,c as l,o as e,a5 as i}from"./chunks/framework.C_oE5szm.js";const m=JSON.parse('{"title":"更新","description":"","frontmatter":{},"headers":[],"relativePath":"src/todo/update.md","filePath":"src/todo/update.md","lastUpdated":1724694022000}'),t={name:"src/todo/update.md"},r=i("",10),o=[r];function c(s,h,d,n,u,p){return e(),l("div",null,o)}const f=a(t,[["render",c]]);export{m as __pageData,f as default};
+1 -1
View File
@@ -1 +1 @@
{"index.md":"IDM-wWfu","readme.md":"21sdoxr8","src_about_index.md":"u0DlwXFy","src_guide_ai.md":"BONNk2Tk","src_guide_cache.md":"CFAfegzm","src_guide_controller.md":"CrlXUAp2","src_guide_db.md":"Duwyo5Xx","src_guide_deploy.md":"D3Yfqu-Q","src_guide_dev.md":"Dkd1jFPN","src_guide_dir.md":"RpZMF5oN","src_guide_exception.md":"B8TYnOY4","src_guide_flow.md":"B5L__6Os","src_guide_initdata.md":"BVn22GWI","src_guide_lock.md":"B687k0lQ","src_guide_norepeatsubmit.md":"DwVVy_Kc","src_guide_plugin.md":"CkiuwUnt","src_guide_quick.md":"Bto1F7au","src_guide_recordlog.md":"Dmgx8D5v","src_guide_security.md":"CWvVuPgm","src_guide_service.md":"DFVHuVBZ","src_guide_swagger.md":"Cb0cwFc8","src_guide_uniqueidgen.md":"xLCPnQAi","src_guide_upload.md":"CxcWqhw1","src_introduce_index.md":"DA1PheMx","src_introduce_show.md":"D0p_OwAi","src_introduce_src.md":"Cg4D7UK8","src_question_common.md":"DOoSuwHd","src_todo_plan.md":"OECDxoZt","src_todo_update.md":"BeuhZcon"}
{"index.md":"IDM-wWfu","readme.md":"21sdoxr8","src_about_index.md":"u0DlwXFy","src_guide_ai.md":"BONNk2Tk","src_guide_cache.md":"CFAfegzm","src_guide_controller.md":"DCCxyH1f","src_guide_db.md":"Duwyo5Xx","src_guide_deploy.md":"D3Yfqu-Q","src_guide_dev.md":"Dkd1jFPN","src_guide_dir.md":"RpZMF5oN","src_guide_exception.md":"B8TYnOY4","src_guide_flow.md":"B5L__6Os","src_guide_initdata.md":"BVn22GWI","src_guide_lock.md":"BScXVYUy","src_guide_norepeatsubmit.md":"BwVs_CPb","src_guide_plugin.md":"CkiuwUnt","src_guide_quick.md":"Bto1F7au","src_guide_recordlog.md":"Dmgx8D5v","src_guide_security.md":"CWvVuPgm","src_guide_service.md":"DFVHuVBZ","src_guide_swagger.md":"Cb0cwFc8","src_guide_uniqueidgen.md":"xLCPnQAi","src_guide_upload.md":"CxcWqhw1","src_introduce_index.md":"DA1PheMx","src_introduce_show.md":"D0p_OwAi","src_introduce_src.md":"Cg4D7UK8","src_question_common.md":"DOoSuwHd","src_todo_plan.md":"OECDxoZt","src_todo_update.md":"Da9LYgSk"}
+3 -3
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+3 -3
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+3 -3
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+3 -3
View File
File diff suppressed because one or more lines are too long
+3 -3
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+3 -3
View File
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long