system.vue 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145
  1. <template>
  2. <div>
  3. <el-form :model="config" label-width="100px" ref="form" class="system">
  4. <h2>系统配置</h2>
  5. <el-form-item label="多点登录拦截">
  6. <el-checkbox v-model="config.system.useMultipoint">开启</el-checkbox>
  7. </el-form-item>
  8. <el-form-item label="环境值">
  9. <el-input v-model="config.system.env"></el-input>
  10. </el-form-item>
  11. <el-form-item label="端口值">
  12. <el-input v-model="config.system.addr"></el-input>
  13. </el-form-item>
  14. <h2>jwt签名</h2>
  15. <el-form-item label="jwt签名">
  16. <el-input v-model="config.jwt.signingKey"></el-input>
  17. </el-form-item>
  18. <h2>casbin配置</h2>
  19. <el-form-item label="模型地址">
  20. <el-input v-model="config.casbin.modelPath"></el-input>
  21. </el-form-item>
  22. <h2>mysql admin数据库配置</h2>
  23. <el-form-item label="username">
  24. <el-input v-model="config.mysql.username"></el-input>
  25. </el-form-item>
  26. <el-form-item label="password">
  27. <el-input v-model="config.mysql.password"></el-input>
  28. </el-form-item>
  29. <el-form-item label="path">
  30. <el-input v-model="config.mysql.path"></el-input>
  31. </el-form-item>
  32. <el-form-item label="dbname">
  33. <el-input v-model="config.mysql.dbname"></el-input>
  34. </el-form-item>
  35. <el-form-item label="maxIdleConns">
  36. <el-input v-model.number="config.mysql.maxIdleConns"></el-input>
  37. </el-form-item>
  38. <el-form-item label="maxOpenConns">
  39. <el-input v-model.number="config.mysql.maxOpenConns"></el-input>
  40. </el-form-item>
  41. <el-form-item label="logMode">
  42. <el-checkbox v-model="config.log.logMode"></el-checkbox>
  43. </el-form-item>
  44. <h2>Redis admin数据库配置</h2>
  45. <el-form-item label="addr">
  46. <el-input v-model="config.redis.addr"></el-input>
  47. </el-form-item>
  48. <el-form-item label="password">
  49. <el-input v-model="config.redis.password"></el-input>
  50. </el-form-item>
  51. <el-form-item label="db">
  52. <el-input v-model="config.redis.db"></el-input>
  53. </el-form-item>
  54. <h2>七牛密钥配置</h2>
  55. <el-form-item label="accessKey">
  56. <el-input v-model="config.qiniu.accessKey"></el-input>
  57. </el-form-item>
  58. <el-form-item label="secretKey">
  59. <el-input v-model="config.qiniu.secretKey"></el-input>
  60. </el-form-item>
  61. <el-form-item>
  62. <el-button @click="update" type="primary">立即更新</el-button>
  63. <el-button @click="reload" type="primary">重启服务(开发中)</el-button>
  64. </el-form-item>
  65. <h2>验证码配置</h2>
  66. <el-form-item label="keyLong">
  67. <el-input v-model.number="config.captcha.keyLong"></el-input>
  68. </el-form-item>
  69. <el-form-item label="imgWidth">
  70. <el-input v-model.number="config.captcha.imgWidth"></el-input>
  71. </el-form-item>
  72. <el-form-item label="imgHeight">
  73. <el-input v-model.number="config.captcha.imgHeight"></el-input>
  74. </el-form-item>
  75. <el-form-item>
  76. <el-button @click="update" type="primary">立即更新</el-button>
  77. <el-button @click="reload" type="primary">重启服务(开发中)</el-button>
  78. </el-form-item>
  79. <h2>日志配置</h2>
  80. <el-form-item label="prefix">
  81. <el-input v-model.number="config.log.prefix"></el-input>
  82. </el-form-item>
  83. <el-form-item label="logFile">
  84. <el-checkbox v-model="config.log.logFile"></el-checkbox>
  85. </el-form-item>
  86. <el-form-item>
  87. <el-button @click="update" type="primary">立即更新</el-button>
  88. <el-button @click="reload" type="primary">重启服务(开发中)</el-button>
  89. </el-form-item>
  90. </el-form>
  91. </div>
  92. </template>
  93. <script>
  94. import { getSystemConfig, setSystemConfig } from '@/api/system'
  95. export default {
  96. name: 'Config',
  97. data() {
  98. return {
  99. config: {
  100. system: {},
  101. jwt: {},
  102. casbin: {},
  103. mysql: {},
  104. redis: {},
  105. qiniu: {},
  106. captcha:{},
  107. log:{}
  108. }
  109. }
  110. },
  111. async created() {
  112. await this.initForm()
  113. },
  114. methods: {
  115. async initForm() {
  116. const res = await getSystemConfig()
  117. if (res.code == 0) {
  118. this.config = res.data.config
  119. }
  120. },
  121. reload() {},
  122. async update() {
  123. const res = await setSystemConfig({ config: this.config })
  124. if (res.code == 0) {
  125. this.$message({
  126. type: 'success',
  127. message: '配置文件设置成功'
  128. })
  129. await this.initForm()
  130. }
  131. }
  132. }
  133. }
  134. </script>
  135. <style lang="scss">
  136. h2 {
  137. padding: 10px;
  138. margin: 10px 0;
  139. font-size: 16px;
  140. box-shadow:-4px 1px 3px 0px #e7e8e8
  141. }
  142. </style>