Index.vue 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. <template>
  2. <div id="app-base-db">
  3. <div class="one-block-1">
  4. <span>
  5. 1. 本地数据库
  6. </span>
  7. </div>
  8. <div class="one-block-2">
  9. <a-row>
  10. <a-col :span="8">
  11. • LowDB本地JSON数据库
  12. </a-col>
  13. <a-col :span="8">
  14. • 可使用lodash语法
  15. </a-col>
  16. <a-col :span="8">
  17. </a-col>
  18. </a-row>
  19. </div>
  20. <div class="one-block-1">
  21. <span>
  22. 2. 测试数据 (egg http服务)
  23. </span>
  24. </div>
  25. <div class="one-block-2">
  26. <a-row>
  27. <a-col :span="24">
  28. {{ all_list }}
  29. </a-col>
  30. </a-row>
  31. </div>
  32. <div class="one-block-1">
  33. <span>
  34. 3. 添加数据
  35. </span>
  36. </div>
  37. <div class="one-block-2">
  38. <a-row>
  39. <a-col :span="6">
  40. <a-input v-model="name" :value="name" addon-before="姓名" />
  41. </a-col>
  42. <a-col :span="3">
  43. </a-col>
  44. <a-col :span="6">
  45. <a-input v-model="age" :value="age" addon-before="年龄" />
  46. </a-col>
  47. <a-col :span="3">
  48. </a-col>
  49. <a-col :span="6">
  50. <a-button @click="dbOperation('add')">
  51. 添加
  52. </a-button>
  53. </a-col>
  54. </a-row>
  55. </div>
  56. <div class="one-block-1">
  57. <span>
  58. 4. 获取数据
  59. </span>
  60. </div>
  61. <div class="one-block-2">
  62. <a-row>
  63. <a-col :span="6">
  64. <a-input v-model="search_age" :value="search_age" addon-before="年龄" />
  65. </a-col>
  66. <a-col :span="3">
  67. </a-col>
  68. <a-col :span="6">
  69. </a-col>
  70. <a-col :span="3">
  71. </a-col>
  72. <a-col :span="6">
  73. <a-button @click="dbOperation('get')">
  74. 查找
  75. </a-button>
  76. </a-col>
  77. </a-row>
  78. <a-row>
  79. <a-col :span="24">
  80. {{ userList }}
  81. </a-col>
  82. </a-row>
  83. </div>
  84. <div class="one-block-1">
  85. <span>
  86. 5. 修改数据
  87. </span>
  88. </div>
  89. <div class="one-block-2">
  90. <a-row>
  91. <a-col :span="6">
  92. <a-input v-model="update_name" :value="update_name" addon-before="姓名" />
  93. </a-col>
  94. <a-col :span="3">
  95. </a-col>
  96. <a-col :span="6">
  97. <a-input v-model="update_age" :value="update_age" addon-before="年龄" />
  98. </a-col>
  99. <a-col :span="3">
  100. </a-col>
  101. <a-col :span="6">
  102. <a-button @click="dbOperation('update')">
  103. 更新
  104. </a-button>
  105. </a-col>
  106. </a-row>
  107. </div>
  108. <div class="one-block-1">
  109. <span>
  110. 6. 删除数据
  111. </span>
  112. </div>
  113. <div class="one-block-2">
  114. <a-row>
  115. <a-col :span="6">
  116. <a-input v-model="delete_name" :value="delete_name" addon-before="姓名" />
  117. </a-col>
  118. <a-col :span="3">
  119. </a-col>
  120. <a-col :span="6">
  121. </a-col>
  122. <a-col :span="3">
  123. </a-col>
  124. <a-col :span="6">
  125. <a-button @click="dbOperation('del')">
  126. 删除
  127. </a-button>
  128. </a-col>
  129. </a-row>
  130. </div>
  131. </div>
  132. </template>
  133. <script>
  134. import { requestEggApi } from '@/api/main'
  135. export default {
  136. data() {
  137. return {
  138. name: '张三',
  139. age: 10,
  140. userList: ['空'],
  141. search_age: 10,
  142. update_name: '张三',
  143. update_age: 21,
  144. delete_name: '张三',
  145. all_list: ['空']
  146. };
  147. },
  148. mounted () {
  149. this.getAllTestData();
  150. },
  151. methods: {
  152. getAllTestData () {
  153. const self = this;
  154. const params = {
  155. action: 'all',
  156. }
  157. requestEggApi('dbOperation', params).then(res => {
  158. if (res.code !== 0) {
  159. return false
  160. }
  161. if (res.data.all_list.length == 0) {
  162. return false;
  163. }
  164. self.all_list = res.data.all_list;
  165. }).catch(err => {
  166. console.log('err:', err)
  167. })
  168. },
  169. dbOperation (ac) {
  170. const self = this;
  171. const params = {
  172. action: ac,
  173. info: {
  174. name: this.name,
  175. age: parseInt(this.age)
  176. },
  177. search_age: parseInt(this.search_age),
  178. update_name: this.update_name,
  179. update_age: parseInt(this.update_age),
  180. delete_name: this.delete_name,
  181. }
  182. if (ac == 'add' && this.name.length == 0) {
  183. self.$message.error(`请填写数据`);
  184. }
  185. requestEggApi('dbOperation', params).then(res => {
  186. if (res.code !== 0) {
  187. return false
  188. }
  189. if (ac == 'get') {
  190. if (res.data.result.length == 0) {
  191. self.$message.error(`没有数据`);
  192. return;
  193. }
  194. self.userList = res.data.result;
  195. }
  196. if (res.data.all_list.length == 0) {
  197. return;
  198. }
  199. self.all_list = res.data.all_list;
  200. self.$message.success(`success`);
  201. }).catch(err => {
  202. console.log('err:', err)
  203. })
  204. },
  205. }
  206. };
  207. </script>
  208. <style lang="less" scoped>
  209. #app-base-db {
  210. padding: 0px 10px;
  211. text-align: left;
  212. width: 100%;
  213. .one-block-1 {
  214. font-size: 16px;
  215. padding-top: 10px;
  216. }
  217. .one-block-2 {
  218. padding-top: 10px;
  219. }
  220. }
  221. </style>