lrf402788946 пре 4 година
родитељ
комит
3f4507073f
6 измењених фајлова са 105 додато и 0 уклоњено
  1. 43 0
      app/controller/.config.js
  2. 13 0
      app/controller/config.js
  3. 19 0
      app/model/config.js
  4. 1 0
      app/router.js
  5. 12 0
      app/router/config.js
  6. 17 0
      app/service/config.js

+ 43 - 0
app/controller/.config.js

@@ -0,0 +1,43 @@
+module.exports = {
+  create: {
+    requestBody: ['title','type','setting','remark']
+  },
+  destory: {
+    params: ["!id"],
+    service: "delete"
+  },
+  update: {
+    params: ["!id"],
+    requestBody:['title','type','setting','remark']
+  },
+  show: {
+    parameters: {
+      params: ["!id"]
+    },
+    service: "fetch"
+  },
+  index: {
+    parameters: {
+      query: {
+        "create_time@start": "create_time@start",
+        "create_time@end": "create_time@end",
+      },
+      options: {
+        "meta.status": 0 // 默认条件
+      },
+    },
+   service: "query",
+   options: {
+     query: ["skip", "limit"],
+     sort: ["meta.createdAt"],
+     desc: true,
+     count: true,
+   },
+  },
+  getOne: {
+    parameters: {
+      params: ["!type"]
+    },
+    service: "getOne"
+  },
+}

+ 13 - 0
app/controller/config.js

@@ -0,0 +1,13 @@
+'use strict';
+const meta = require('./.config.js');
+const Controller = require('egg').Controller;
+const { CrudController } = require('naf-framework-mongoose/lib/controller');
+
+// 配置表
+class ConfigController extends Controller {
+  constructor(ctx) {
+    super(ctx);
+    this.service = this.ctx.service.config;
+  }
+}
+module.exports = CrudController(ConfigController, meta);

+ 19 - 0
app/model/config.js

@@ -0,0 +1,19 @@
+'use strict';
+const Schema = require('mongoose').Schema;
+const moment = require('moment');
+const metaPlugin = require('naf-framework-mongoose/lib/model/meta-plugin');
+// 配置表表
+const config = {
+  title: { type: String }, // 标题
+  type: { type: String }, // 类型
+  setting: { type: Object }, // 设置内容
+  remark: { type: String, maxLength: 200 },
+  create_time: { type: String, default: moment().format('YYYY-MM-DD HH:mm:ss') },
+};
+const schema = new Schema(config, { toJSON: { virtuals: true } });
+schema.index({ id: 1 });
+schema.plugin(metaPlugin);
+module.exports = app => {
+  const { mongoose } = app;
+  return mongoose.model('Config', schema, 'config');
+};

+ 1 - 0
app/router.js

@@ -20,4 +20,5 @@ module.exports = app => {
   require('./router/carousel')(app); // 轮播
   require('./router/carousel')(app); // 轮播
   require('./router/xzqh')(app); // 行政区划
   require('./router/xzqh')(app); // 行政区划
   require('./router/set')(app); // 套餐
   require('./router/set')(app); // 套餐
+  require('./router/config')(app); // 配置
 };
 };

+ 12 - 0
app/router/config.js

@@ -0,0 +1,12 @@
+'use strict';
+/**
+ * @param {Egg.Application} app - egg application
+ */
+module.exports = app => {
+  const prefix = '/api/htyd';
+  const index = 'config';
+  const { router, controller } = app;
+  router.get(index, `${prefix}/${index}/:type`, controller[index].getOne);
+  router.resources(index, `${prefix}/${index}`, controller[index]); // index、create、show、destroy
+  router.post(index, `${prefix}/${index}/update/:id`, controller[index].update);
+};

+ 17 - 0
app/service/config.js

@@ -0,0 +1,17 @@
+'use strict';
+const { CrudService } = require('naf-framework-mongoose/lib/service');
+
+// 配置表
+class ConfigService extends CrudService {
+  constructor(ctx) {
+    super(ctx, 'config');
+    this.model = this.ctx.model.Config;
+  }
+
+  async getOne({ type }) {
+    console.log(type);
+    return await this.model.findOne({ type });
+  }
+}
+
+module.exports = ConfigService;