| | |
| | | @GetMapping("/captchaImage") |
| | | public R<Map<String, Object>> getCode() { |
| | | Map<String, Object> ajax = new HashMap<>(); |
| | | boolean captchaOnOff = configService.selectCaptchaOnOff(); |
| | | ajax.put("captchaOnOff", captchaOnOff); |
| | | if (!captchaOnOff) { |
| | | boolean captchaEnabled = configService.selectCaptchaEnabled(); |
| | | ajax.put("captchaEnabled", captchaEnabled); |
| | | if (!captchaEnabled) { |
| | | return R.ok(ajax); |
| | | } |
| | | // ä¿åéªè¯ç ä¿¡æ¯ |
| | |
| | | @SaCheckPermission("monitor:cache:list") |
| | | @GetMapping("/getKeys/{cacheName}") |
| | | public R<Collection<String>> getCacheKeys(@PathVariable String cacheName) { |
| | | Collection<String> cacheKyes = RedisUtils.keys(cacheName + "*"); |
| | | return R.ok(cacheKyes); |
| | | Collection<String> cacheKeys = RedisUtils.keys(cacheName + "*"); |
| | | return R.ok(cacheKeys); |
| | | } |
| | | |
| | | /** |
| | |
| | | function handleUpdate(row) { |
| | | loading.value = true |
| | | reset(); |
| | | const ${pkColumn.javaField} = row.${pkColumn.javaField} || ids.value |
| | | get${BusinessName}(${pkColumn.javaField}).then(response => { |
| | | const _${pkColumn.javaField} = row.${pkColumn.javaField} || ids.value |
| | | get${BusinessName}(_${pkColumn.javaField}).then(response => { |
| | | loading.value = false; |
| | | form.value = response.data; |
| | | #foreach ($column in $columns) |
| | |
| | | |
| | | /** å é¤æé®æä½ */ |
| | | function handleDelete(row) { |
| | | const ${pkColumn.javaField}s = row.${pkColumn.javaField} || ids.value; |
| | | const _${pkColumn.javaField}s = row.${pkColumn.javaField} || ids.value; |
| | | proxy.#[[$modal]]#.confirm('æ¯å¦ç¡®è®¤å é¤${functionName}ç¼å·ä¸º"' + ${pkColumn.javaField}s + '"çæ°æ®é¡¹ï¼').then(function() { |
| | | loading.value = true; |
| | | return del${BusinessName}(${pkColumn.javaField}s); |
| | | return del${BusinessName}(_${pkColumn.javaField}s); |
| | | }).then(() => { |
| | | loading.value = true; |
| | | getList(); |
| | |
| | | * |
| | | * @return trueå¼å¯ï¼falseå
³é |
| | | */ |
| | | boolean selectCaptchaOnOff(); |
| | | boolean selectCaptchaEnabled(); |
| | | |
| | | /** |
| | | * æ¥è¯¢åæ°é
ç½®å表 |
| | |
| | | */ |
| | | public String login(String username, String password, String code, String uuid) { |
| | | HttpServletRequest request = ServletUtils.getRequest(); |
| | | boolean captchaOnOff = configService.selectCaptchaOnOff(); |
| | | boolean captchaEnabled = configService.selectCaptchaEnabled(); |
| | | // éªè¯ç å¼å
³ |
| | | if (captchaOnOff) { |
| | | if (captchaEnabled) { |
| | | validateCaptcha(username, code, uuid, request); |
| | | } |
| | | SysUser user = loadUserByUsername(username); |
| | |
| | | // æ ¡éªç¨æ·ç±»åæ¯å¦åå¨ |
| | | String userType = UserType.getUserType(registerBody.getUserType()).getUserType(); |
| | | |
| | | boolean captchaOnOff = configService.selectCaptchaOnOff(); |
| | | boolean captchaEnabled = configService.selectCaptchaEnabled(); |
| | | // éªè¯ç å¼å
³ |
| | | if (captchaOnOff) { |
| | | if (captchaEnabled) { |
| | | validateCaptcha(username, registerBody.getCode(), registerBody.getUuid(), request); |
| | | } |
| | | |
| | |
| | | * @return trueå¼å¯ï¼falseå
³é |
| | | */ |
| | | @Override |
| | | public boolean selectCaptchaOnOff() { |
| | | String captchaOnOff = selectConfigByKey("sys.account.captchaOnOff"); |
| | | if (StringUtils.isEmpty(captchaOnOff)) { |
| | | public boolean selectCaptchaEnabled() { |
| | | String captchaEnabled = selectConfigByKey("sys.account.captchaEnabled"); |
| | | if (StringUtils.isEmpty(captchaEnabled)) { |
| | | return true; |
| | | } |
| | | return Convert.toBool(captchaOnOff); |
| | | return Convert.toBool(captchaEnabled); |
| | | } |
| | | |
| | | /** |
| | |
| | | import Vue from 'vue'
|
| | | import store from '@/store'
|
| | | import DataDict from '@/utils/dict'
|
| | | import { getDicts as getDicts } from '@/api/system/dict/data'
|
| | |
|
| | | function searchDictByKey(dict, key) {
|
| | | if (key == null && key == "") {
|
| | | return null
|
| | | }
|
| | | try {
|
| | | for (let i = 0; i < dict.length; i++) {
|
| | | if (dict[i].key == key) {
|
| | | return dict[i].value
|
| | | }
|
| | | }
|
| | | } catch (e) {
|
| | | return null
|
| | | }
|
| | | }
|
| | |
|
| | | function install() {
|
| | | Vue.use(DataDict, {
|
| | |
| | | labelField: 'dictLabel',
|
| | | valueField: 'dictValue',
|
| | | request(dictMeta) {
|
| | | return getDicts(dictMeta.type).then(res => res.data)
|
| | | const storeDict = searchDictByKey(store.getters.dict, dictMeta.type)
|
| | | if (storeDict) {
|
| | | return new Promise(resolve => { resolve(storeDict) })
|
| | | } else {
|
| | | return new Promise((resolve, reject) => {
|
| | | getDicts(dictMeta.type).then(res => {
|
| | | store.dispatch('dict/setDict', { key: dictMeta.type, value: res.data })
|
| | | resolve(res.data)
|
| | | }).catch(error => {
|
| | | reject(error)
|
| | | })
|
| | | })
|
| | | }
|
| | | },
|
| | | },
|
| | | },
|
| | |
| | | <template> |
| | | <div ref="rightPanel" :class="{show:show}" class="rightPanel-container"> |
| | | <div ref="rightPanel" class="rightPanel-container"> |
| | | <div class="rightPanel-background" /> |
| | | <div class="rightPanel"> |
| | | <div class="rightPanel-items"> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { addClass, removeClass } from '@/utils' |
| | | |
| | | export default { |
| | | name: 'RightPanel', |
| | | props: { |
| | | clickNotClose: { |
| | | default: false, |
| | | type: Boolean |
| | | }, |
| | | buttonTop: { |
| | | default: 250, |
| | | type: Number |
| | | } |
| | | }, |
| | | computed: { |
| | |
| | | value: val |
| | | }) |
| | | } |
| | | }, |
| | | theme() { |
| | | return this.$store.state.settings.theme |
| | | }, |
| | | } |
| | | }, |
| | | watch: { |
| | | show(value) { |
| | | if (value && !this.clickNotClose) { |
| | | this.addEventClick() |
| | | } |
| | | if (value) { |
| | | addClass(document.body, 'showRightPanel') |
| | | } else { |
| | | removeClass(document.body, 'showRightPanel') |
| | | } |
| | | } |
| | | }, |
| | |
| | | window.addEventListener('click', this.closeSidebar) |
| | | }, |
| | | closeSidebar(evt) { |
| | | const parent = evt.target.closest('.rightPanel') |
| | | const parent = evt.target.closest('.el-drawer__body') |
| | | if (!parent) { |
| | | this.show = false |
| | | window.removeEventListener('click', this.closeSidebar) |
| | |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style> |
| | | .showRightPanel { |
| | | overflow: hidden; |
| | | position: relative; |
| | | width: calc(100% - 15px); |
| | | } |
| | | </style> |
| | | |
| | | <style lang="scss" scoped> |
| | | .rightPanel-background { |
| | |
| | | transform: translate(100%); |
| | | background: #fff; |
| | | z-index: 40000; |
| | | } |
| | | |
| | | .show { |
| | | transition: all .3s cubic-bezier(.7, .3, .1, 1); |
| | | |
| | | .rightPanel-background { |
| | | z-index: 20000; |
| | | opacity: 1; |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | |
| | | .rightPanel { |
| | | transform: translate(0); |
| | | } |
| | | } |
| | | |
| | | .handle-button { |
| | |
| | | <template> |
| | | <el-drawer size="280px" :visible="visible" :with-header="false" :append-to-body="true" :show-close="false"> |
| | | <div class="drawer-container"> |
| | | <div> |
| | | <div class="setting-drawer-content"> |
| | |
| | | <img src="@/assets/images/dark.svg" alt="dark"> |
| | | <div v-if="sideTheme === 'theme-dark'" class="setting-drawer-block-checbox-selectIcon" style="display: block;"> |
| | | <i aria-label="徿 : check" class="anticon anticon-check"> |
| | | <svg viewBox="64 64 896 896" data-icon="check" width="1em" height="1em" :fill="theme" aria-hidden="true" |
| | | focusable="false" class=""> |
| | | <path |
| | | d="M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"/> |
| | | <svg viewBox="64 64 896 896" data-icon="check" width="1em" height="1em" :fill="theme" aria-hidden="true" focusable="false" class=""> |
| | | <path d="M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"/> |
| | | </svg> |
| | | </i> |
| | | </div> |
| | |
| | | <img src="@/assets/images/light.svg" alt="light"> |
| | | <div v-if="sideTheme === 'theme-light'" class="setting-drawer-block-checbox-selectIcon" style="display: block;"> |
| | | <i aria-label="徿 : check" class="anticon anticon-check"> |
| | | <svg viewBox="64 64 896 896" data-icon="check" width="1em" height="1em" :fill="theme" aria-hidden="true" |
| | | focusable="false" class=""> |
| | | <path |
| | | d="M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"/> |
| | | <svg viewBox="64 64 896 896" data-icon="check" width="1em" height="1em" :fill="theme" aria-hidden="true" focusable="false" class=""> |
| | | <path d="M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"/> |
| | | </svg> |
| | | </i> |
| | | </div> |
| | |
| | | <el-button size="small" plain icon="el-icon-refresh" @click="resetSetting">éç½®é
ç½®</el-button> |
| | | </div> |
| | | </div> |
| | | </el-drawer> |
| | | </template> |
| | | |
| | | <script> |
| | |
| | | }; |
| | | }, |
| | | computed: { |
| | | visible: { |
| | | get() { |
| | | return this.$store.state.settings.showSettings |
| | | } |
| | | }, |
| | | fixedHeader: { |
| | | get() { |
| | | return this.$store.state.settings.fixedHeader |
| | |
| | | } |
| | | |
| | | .drawer-container { |
| | | padding: 24px; |
| | | padding: 20px; |
| | | font-size: 14px; |
| | | line-height: 1.5; |
| | | word-wrap: break-word; |
| | |
| | | sidebar: state => state.app.sidebar, |
| | | size: state => state.app.size, |
| | | device: state => state.app.device, |
| | | dict: state => state.dict.dict, |
| | | visitedViews: state => state.tagsView.visitedViews, |
| | | cachedViews: state => state.tagsView.cachedViews, |
| | | token: state => state.user.token, |
| | |
| | | import Vue from 'vue' |
| | | import Vuex from 'vuex' |
| | | import app from './modules/app' |
| | | import dict from './modules/dict' |
| | | import user from './modules/user' |
| | | import tagsView from './modules/tagsView' |
| | | import permission from './modules/permission' |
| | |
| | | const store = new Vuex.Store({ |
| | | modules: { |
| | | app, |
| | | dict, |
| | | user, |
| | | tagsView, |
| | | permission, |
¶Ô±ÈÐÂÎļþ |
| | |
| | | const state = {
|
| | | dict: new Array()
|
| | | }
|
| | | const mutations = {
|
| | | SET_DICT: (state, { key, value }) => {
|
| | | if (key !== null && key !== "") {
|
| | | state.dict.push({
|
| | | key: key,
|
| | | value: value
|
| | | })
|
| | | }
|
| | | },
|
| | | REMOVE_DICT: (state, key) => {
|
| | | try {
|
| | | for (let i = 0; i < state.dict.length; i++) {
|
| | | if (state.dict[i].key == key) {
|
| | | state.dict.splice(i, i)
|
| | | return true
|
| | | }
|
| | | }
|
| | | } catch (e) {
|
| | | }
|
| | | },
|
| | | CLEAN_DICT: (state) => {
|
| | | state.dict = new Array()
|
| | | }
|
| | | }
|
| | |
|
| | | const actions = {
|
| | | // 设置åå
¸
|
| | | setDict({ commit }, data) {
|
| | | commit('SET_DICT', data)
|
| | | },
|
| | | // å é¤åå
¸
|
| | | removeDict({ commit }, key) {
|
| | | commit('REMOVE_DICT', key)
|
| | | },
|
| | | // æ¸
空åå
¸
|
| | | cleanDict({ commit }) {
|
| | | commit('CLEAN_DICT')
|
| | | }
|
| | | }
|
| | |
|
| | | export default {
|
| | | namespaced: true,
|
| | | state,
|
| | | mutations,
|
| | | actions
|
| | | }
|
| | |
|
| | |
| | | <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" /> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item prop="code" v-if="captchaOnOff"> |
| | | <el-form-item prop="code" v-if="captchaEnabled"> |
| | | <el-input |
| | | v-model="loginForm.code" |
| | | auto-complete="off" |
| | |
| | | }, |
| | | loading: false, |
| | | // éªè¯ç å¼å
³ |
| | | captchaOnOff: true, |
| | | captchaEnabled: true, |
| | | // 注åå¼å
³ |
| | | register: false, |
| | | redirect: undefined |
| | |
| | | methods: { |
| | | getCode() { |
| | | getCodeImg().then(res => { |
| | | this.captchaOnOff = res.data.captchaOnOff === undefined ? true : res.data.captchaOnOff; |
| | | if (this.captchaOnOff) { |
| | | this.captchaEnabled = res.data.captchaEnabled === undefined ? true : res.data.captchaEnabled; |
| | | if (this.captchaEnabled) { |
| | | this.codeUrl = "data:image/gif;base64," + res.data.img; |
| | | this.loginForm.uuid = res.data.uuid; |
| | | } |
| | |
| | | this.$router.push({ path: this.redirect || "/" }).catch(()=>{}); |
| | | }).catch(() => { |
| | | this.loading = false; |
| | | if (this.captchaOnOff) { |
| | | if (this.captchaEnabled) { |
| | | this.getCode(); |
| | | } |
| | | }); |
| | |
| | | <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" /> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item prop="code" v-if="captchaOnOff"> |
| | | <el-form-item prop="code" v-if="captchaEnabled"> |
| | | <el-input |
| | | v-model="registerForm.code" |
| | | auto-complete="off" |
| | |
| | | code: [{ required: true, trigger: "change", message: "请è¾å
¥éªè¯ç " }] |
| | | }, |
| | | loading: false, |
| | | captchaOnOff: true |
| | | captchaEnabled: true |
| | | }; |
| | | }, |
| | | created() { |
| | |
| | | methods: { |
| | | getCode() { |
| | | getCodeImg().then(res => { |
| | | this.captchaOnOff = res.data.captchaOnOff === undefined ? true : res.data.captchaOnOff; |
| | | if (this.captchaOnOff) { |
| | | this.captchaEnabled = res.data.captchaEnabled === undefined ? true : res.data.captchaEnabled; |
| | | if (this.captchaEnabled) { |
| | | this.codeUrl = "data:image/gif;base64," + res.data.img; |
| | | this.registerForm.uuid = res.data.uuid; |
| | | } |
| | |
| | | }).catch(() => {}); |
| | | }).catch(() => { |
| | | this.loading = false; |
| | | if (this.captchaOnOff) { |
| | | if (this.captchaEnabled) { |
| | | this.getCode(); |
| | | } |
| | | }) |
| | |
| | | if (valid) { |
| | | if (this.form.dictCode != undefined) { |
| | | updateData(this.form).then(response => { |
| | | this.$store.dispatch('dict/removeDict', this.queryParams.dictType); |
| | | this.$modal.msgSuccess("ä¿®æ¹æå"); |
| | | this.open = false; |
| | | this.getList(); |
| | | }); |
| | | } else { |
| | | addData(this.form).then(response => { |
| | | this.$store.dispatch('dict/removeDict', this.queryParams.dictType); |
| | | this.$modal.msgSuccess("æ°å¢æå"); |
| | | this.open = false; |
| | | this.getList(); |
| | |
| | | }).then(() => { |
| | | this.getList(); |
| | | this.$modal.msgSuccess("å 餿å"); |
| | | this.$store.dispatch('dict/removeDict', this.queryParams.dictType); |
| | | }).catch(() => {}); |
| | | }, |
| | | /** å¯¼åºæé®æä½ */ |
| | |
| | | handleRefreshCache() { |
| | | refreshCache().then(() => { |
| | | this.$modal.msgSuccess("å·æ°æå"); |
| | | this.$store.dispatch('dict/cleanDict'); |
| | | }); |
| | | } |
| | | } |
| | |
| | | <el-input v-model="user.newPassword" placeholder="请è¾å
¥æ°å¯ç " type="password" show-password/> |
| | | </el-form-item> |
| | | <el-form-item label="确认å¯ç " prop="confirmPassword"> |
| | | <el-input v-model="user.confirmPassword" placeholder="请确认å¯ç " type="password" show-password/> |
| | | <el-input v-model="user.confirmPassword" placeholder="请确认æ°å¯ç " type="password" show-password/> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" size="mini" @click="submit">ä¿å</el-button> |
| | |
| | | insert into sys_config values(1, 'ä¸»æ¡æ¶é¡µ-é»è®¤ç®è¤æ ·å¼åç§°', 'sys.index.skinName', 'skin-blue', 'Y', 'admin', sysdate, '', null, 'èè² skin-blueãç»¿è² skin-greenãç´«è² skin-purpleãçº¢è² skin-redãé»è² skin-yellow' ); |
| | | insert into sys_config values(2, 'ç¨æ·ç®¡ç-è´¦å·åå§å¯ç ', 'sys.user.initPassword', '123456', 'Y', 'admin', sysdate, '', null, 'åå§åå¯ç 123456' ); |
| | | insert into sys_config values(3, 'ä¸»æ¡æ¶é¡µ-ä¾§è¾¹æ 主é¢', 'sys.index.sideTheme', 'theme-dark', 'Y', 'admin', sysdate, '', null, 'æ·±è²ä¸»é¢theme-darkï¼æµ
è²ä¸»é¢theme-light' ); |
| | | insert into sys_config values(4, 'è´¦å·èªå©-éªè¯ç å¼å
³', 'sys.account.captchaOnOff', 'true', 'Y', 'admin', sysdate, '', null, 'æ¯å¦å¼å¯éªè¯ç åè½ï¼trueå¼å¯ï¼falseå
³éï¼'); |
| | | insert into sys_config values(4, 'è´¦å·èªå©-éªè¯ç å¼å
³', 'sys.account.captchaEnabled', 'true', 'Y', 'admin', sysdate, '', null, 'æ¯å¦å¼å¯éªè¯ç åè½ï¼trueå¼å¯ï¼falseå
³éï¼'); |
| | | insert into sys_config values(5, 'è´¦å·èªå©-æ¯å¦å¼å¯ç¨æ·æ³¨ååè½', 'sys.account.registerUser', 'false', 'Y', 'admin', sysdate, '', null, 'æ¯å¦å¼å¯æ³¨åç¨æ·åè½ï¼trueå¼å¯ï¼falseå
³éï¼'); |
| | | insert into sys_config values(11, 'OSSé¢è§åè¡¨èµæºå¼å
³', 'sys.oss.previewListResource', 'true', 'Y', 'admin', sysdate, '', null, 'true:å¼å¯, false:å
³é'); |
| | | |
| | |
| | | insert into sys_config values(1, 'ä¸»æ¡æ¶é¡µ-é»è®¤ç®è¤æ ·å¼åç§°', 'sys.index.skinName', 'skin-blue', 'Y', 'admin', now(), '', null, 'èè² skin-blueãç»¿è² skin-greenãç´«è² skin-purpleãçº¢è² skin-redãé»è² skin-yellow' ); |
| | | insert into sys_config values(2, 'ç¨æ·ç®¡ç-è´¦å·åå§å¯ç ', 'sys.user.initPassword', '123456', 'Y', 'admin', now(), '', null, 'åå§åå¯ç 123456' ); |
| | | insert into sys_config values(3, 'ä¸»æ¡æ¶é¡µ-ä¾§è¾¹æ 主é¢', 'sys.index.sideTheme', 'theme-dark', 'Y', 'admin', now(), '', null, 'æ·±è²ä¸»é¢theme-darkï¼æµ
è²ä¸»é¢theme-light' ); |
| | | insert into sys_config values(4, 'è´¦å·èªå©-éªè¯ç å¼å
³', 'sys.account.captchaOnOff', 'true', 'Y', 'admin', now(), '', null, 'æ¯å¦å¼å¯éªè¯ç åè½ï¼trueå¼å¯ï¼falseå
³éï¼'); |
| | | insert into sys_config values(4, 'è´¦å·èªå©-éªè¯ç å¼å
³', 'sys.account.captchaEnabled', 'true', 'Y', 'admin', now(), '', null, 'æ¯å¦å¼å¯éªè¯ç åè½ï¼trueå¼å¯ï¼falseå
³éï¼'); |
| | | insert into sys_config values(5, 'è´¦å·èªå©-æ¯å¦å¼å¯ç¨æ·æ³¨ååè½', 'sys.account.registerUser', 'false', 'Y', 'admin', now(), '', null, 'æ¯å¦å¼å¯æ³¨åç¨æ·åè½ï¼trueå¼å¯ï¼falseå
³éï¼'); |
| | | insert into sys_config values(11, 'OSSé¢è§åè¡¨èµæºå¼å
³', 'sys.oss.previewListResource', 'true', 'Y', 'admin', now(), '', null, 'true:å¼å¯, false:å
³é'); |
| | | |
| | |
| | | insert into sys_config values(1, 'ä¸»æ¡æ¶é¡µ-é»è®¤ç®è¤æ ·å¼åç§°', 'sys.index.skinName', 'skin-blue', 'Y', 'admin', sysdate(), '', null, 'èè² skin-blueãç»¿è² skin-greenãç´«è² skin-purpleãçº¢è² skin-redãé»è² skin-yellow' ); |
| | | insert into sys_config values(2, 'ç¨æ·ç®¡ç-è´¦å·åå§å¯ç ', 'sys.user.initPassword', '123456', 'Y', 'admin', sysdate(), '', null, 'åå§åå¯ç 123456' ); |
| | | insert into sys_config values(3, 'ä¸»æ¡æ¶é¡µ-ä¾§è¾¹æ 主é¢', 'sys.index.sideTheme', 'theme-dark', 'Y', 'admin', sysdate(), '', null, 'æ·±è²ä¸»é¢theme-darkï¼æµ
è²ä¸»é¢theme-light' ); |
| | | insert into sys_config values(4, 'è´¦å·èªå©-éªè¯ç å¼å
³', 'sys.account.captchaOnOff', 'true', 'Y', 'admin', sysdate(), '', null, 'æ¯å¦å¼å¯éªè¯ç åè½ï¼trueå¼å¯ï¼falseå
³éï¼'); |
| | | insert into sys_config values(4, 'è´¦å·èªå©-éªè¯ç å¼å
³', 'sys.account.captchaEnabled', 'true', 'Y', 'admin', sysdate(), '', null, 'æ¯å¦å¼å¯éªè¯ç åè½ï¼trueå¼å¯ï¼falseå
³éï¼'); |
| | | insert into sys_config values(5, 'è´¦å·èªå©-æ¯å¦å¼å¯ç¨æ·æ³¨ååè½', 'sys.account.registerUser', 'false', 'Y', 'admin', sysdate(), '', null, 'æ¯å¦å¼å¯æ³¨åç¨æ·åè½ï¼trueå¼å¯ï¼falseå
³éï¼'); |
| | | insert into sys_config values(11, 'OSSé¢è§åè¡¨èµæºå¼å
³', 'sys.oss.previewListResource', 'true', 'Y', 'admin', sysdate(), '', null, 'true:å¼å¯, false:å
³é'); |
| | | |
| | |
| | | GO |
| | | INSERT [sys_config] ([config_id], [config_name], [config_key], [config_value], [config_type], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (3, N'ä¸»æ¡æ¶é¡µ-ä¾§è¾¹æ 主é¢', N'sys.index.sideTheme', N'theme-dark', N'Y', N'admin', getdate(), N'', NULL, N'æ·±è²ä¸»é¢theme-darkï¼æµ
è²ä¸»é¢theme-light') |
| | | GO |
| | | INSERT [sys_config] ([config_id], [config_name], [config_key], [config_value], [config_type], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (4, N'è´¦å·èªå©-éªè¯ç å¼å
³', N'sys.account.captchaOnOff', N'true', N'Y', N'admin', getdate(), N'', NULL, N'æ¯å¦å¼å¯éªè¯ç åè½ï¼trueå¼å¯ï¼falseå
³éï¼') |
| | | INSERT [sys_config] ([config_id], [config_name], [config_key], [config_value], [config_type], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (4, N'è´¦å·èªå©-éªè¯ç å¼å
³', N'sys.account.captchaEnabled', N'true', N'Y', N'admin', getdate(), N'', NULL, N'æ¯å¦å¼å¯éªè¯ç åè½ï¼trueå¼å¯ï¼falseå
³éï¼') |
| | | GO |
| | | INSERT [sys_config] ([config_id], [config_name], [config_key], [config_value], [config_type], [create_by], [create_time], [update_by], [update_time], [remark]) VALUES (5, N'è´¦å·èªå©-æ¯å¦å¼å¯ç¨æ·æ³¨ååè½', N'sys.account.registerUser', N'false', N'Y', N'admin', getdate(), N'', NULL, N'æ¯å¦å¼å¯æ³¨åç¨æ·åè½ï¼trueå¼å¯ï¼falseå
³éï¼') |
| | | GO |