Pārlūkot izejas kodu

新增栏目与菜单后台接口

nihao 5 gadi atpakaļ
vecāks
revīzija
01a9ff8443

+ 2 - 2
app/controller/.column.js

@@ -4,14 +4,14 @@ module.exports = {
     "parameters": {
       "query": ["!site"],
     },
-    "requestBody": ["!moudle", "!name", "picurl", "description", "sort", "inMenu", "showModes", "isAudit", "issuer"],
+    "requestBody": ["!moudle", "!name", "picurl", "description", "inMenu", "showModes", "isAudit", "issuer"],
   },
   // 修改栏目
   "update": {
     "parameters": {
       "query": ["!id"],
     },
-    "requestBody": ["moudle", "name", "picurl", "description", "sort", "inMenu", "showModes", "isAudit", "issuer"],
+    "requestBody": ["moudle", "name", "picurl", "description", "inMenu", "showModes", "isAudit", "issuer"],
     // "options": {
     //   "projection": "+name",
     // },

+ 2 - 2
app/controller/.menu.js

@@ -4,14 +4,14 @@ module.exports = {
     "parameters": {
       "query": ["!site"],
     },
-    "requestBody": ["!parentId", "!name", "picurl", "sort", "description", "isShow", "issuer"],
+    "requestBody": ["!parentId", "!name", "picurl", "description", "isShow", "issuer"],
   },
   // 修改菜单
   "update": {
     "parameters": {
       "query": ["!id"],
     },
-    "requestBody": ["!parentId", "!name", "picurl", "sort", "description", "isShow", "issuer"],
+    "requestBody": ["!parentId", "!name", "picurl", "description", "isShow", "issuer"],
     // "options": {
     //   "projection": "+name",
     // },

+ 0 - 2
app/model/column.js

@@ -4,7 +4,6 @@
 'use strict';
 const Schema = require('mongoose').Schema;
 const metaPlugin = require('naf-framework-mongoose/lib/model/meta-plugin');
-
 // // 附件信息
 // const Attachment = new Schema({
 //   name: { type: String, maxLength: 128 },
@@ -21,7 +20,6 @@ const SchemaDefine = {
   inMenu: { type: String, required: false, maxLength: 5 }, // 是否在菜单中显示
   showModes: { type: String, required: false, maxLength: 5 }, // 展现方式
   isAudit: { type: String, required: false, maxLength: 5 }, // 是否需要审核
-  sort: [{ type: Number, maxLength: 5 }], // 排序
   issuer: String, // 栏目单位
   meta: {
     createdBy: String, // 创建用户

+ 0 - 1
app/model/menu.js

@@ -11,7 +11,6 @@ const SchemaDefine = {
   parentId: { type: String, required: true, maxLength: 64 }, // 父级ID
   name: { type: String, required: true, maxLength: 100 }, // 菜单名称
   picurl: { type: String, required: false, maxLength: 256 }, // 栏目图片URL
-  sort: [{ type: Number, maxLength: 5 }], // 排序
   description: { type: String, required: false, maxLength: 256 }, // 栏目描述
   isShow: { type: String, required: false, maxLength: 5 }, // 是否需要审核
   issuer: String, // 栏目单位

+ 23 - 0
app/router.js

@@ -13,6 +13,10 @@ module.exports = app => {
   router.get('/api/site/config', controller.site.config_get); // 获取站点基本信息
   router.get('/api/site/content', controller.site.content); // 获取站点详细信息(关于我们、联系方式)
   router.get('/api/site/list', controller.site.list); // 获取分站列表
+  router.get('/api/column/list', controller.column.list); // 栏目列表,隐藏删除信息,按照置顶和时间排序
+  router.get('/api/column/fetch', controller.column.fetch); // 获取栏目详情
+  router.get('/api/menu/list', controller.menu.list); // 菜单列表,隐藏删除信息,按照置顶和时间排序
+  router.get('/api/menu/fetch', controller.menu.fetch); // 获取菜单详情
 
   // 管理接口
   // 【分站】新闻接口
@@ -22,6 +26,25 @@ module.exports = app => {
   router.post('/admin/news/update', controller.news.update);// 修改新闻信息
   router.post('/admin/news/delete', controller.news.delete);// 删除新闻信息
   router.post('/admin/news/restore', controller.news.restore);// 恢复新闻信息
+
+  // 栏目接口
+  // 【分站】栏目接口
+  router.get('/admin/column/query', controller.column.query);// 查询栏目信息
+  router.get('/admin/column/fetch', controller.column.fetch);// 获得栏目详情
+  router.post('/admin/column/create', controller.column.create);// 发布栏目信息
+  router.post('/admin/column/update', controller.column.update);// 修改栏目信息
+  router.post('/admin/column/delete', controller.column.delete);// 删除栏目信息
+  router.post('/admin/column/restore', controller.column.restore);// 恢复栏目信息
+
+  // 菜单接口
+  // 【分站】菜单接口
+  router.get('/admin/menu/query', controller.menu.query);// 查询菜单信息
+  router.get('/admin/menu/fetch', controller.menu.fetch);// 获得菜单详情
+  router.post('/admin/menu/create', controller.menu.create);// 发布菜单信息
+  router.post('/admin/menu/update', controller.menu.update);// 修改菜单信息
+  router.post('/admin/menu/delete', controller.menu.delete);// 删除菜单信息
+  router.post('/admin/menu/restore', controller.menu.restore);// 恢复菜单信息
+
   // 分站配置接口,用于分站管理员配置本分站信息
   router.get('/admin/site/config', controller.site.config_fetch);// 分站获取自身配置
   router.post('/admin/site/config', controller.site.config_set);// 分站配置自身

+ 5 - 7
app/service/column.js

@@ -9,10 +9,10 @@ const { CrudService } = require('naf-framework-mongoose/lib/service');
 class ColumnService extends CrudService {
   constructor(ctx) {
     super(ctx);
-    this.model = this.ctx.model.column;
+    this.model = this.ctx.model.Column;
   }
 
-  async create({ site }, { moudle, name, picurl, description, inMenu, showModes, isAudit, sort, issuer }) {
+  async create({ site }, { moudle, name, picurl, description, inMenu, showModes, isAudit, issuer }) {
     // 检查数据
     assert(_.isString(site), 'site不能为空');
     assert(_.isString(moudle), 'moudle不能为空');
@@ -22,7 +22,6 @@ class ColumnService extends CrudService {
     assert(!inMenu || _.isString(inMenu), 'inMenu必须为字符串');
     assert(!showModes || _.isString(showModes), 'showModes必须为字符串');
     assert(!isAudit || _.isString(isAudit), 'isAudit必须为字符串');
-    assert(_.isUndefined(sort) || _.isNumber(sort), 'top必须为数字');
     assert(!issuer || _.isString(issuer), 'issuer必须为字符串');
 
     // TODO: 检查用户信息
@@ -31,17 +30,17 @@ class ColumnService extends CrudService {
 
     // TODO:保存数据
     const data = {
-      moudle, name, picurl, description, inMenu, showModes, isAudit, sort, issuer,
+      site , moudle, name, picurl, description, inMenu, showModes, isAudit, issuer,
       meta: { createdBy: userid },
     };
-
+    
     const res = await this.model.create(data);
     return res;
   }
 
   async update({ id }, payload) {
     // 检查数据
-    const { moudle, name, picurl, description, inMenu, showModes, isAudit, sort, issuer } = payload;
+    const { moudle, name, picurl, description, inMenu, showModes, isAudit, issuer } = payload;
     assert(id, 'id不能为空');
     // assert(_.isString(site), 'site不能为空');
     assert(_.isString(moudle), 'moudle不能为空');
@@ -51,7 +50,6 @@ class ColumnService extends CrudService {
     assert(!inMenu || _.isString(inMenu), 'inMenu必须为字符串');
     assert(!showModes || _.isString(showModes), 'showModes必须为字符串');
     assert(!isAudit || _.isString(isAudit), 'isAudit必须为字符串');
-    assert(_.isUndefined(sort) || _.isNumber(sort), 'top必须为数字');
     assert(!issuer || _.isString(issuer), 'issuer必须为字符串');
 
     // TODO: 检查用户信息

+ 4 - 6
app/service/menu.js

@@ -9,17 +9,16 @@ const { CrudService } = require('naf-framework-mongoose/lib/service');
 class MenuService extends CrudService {
   constructor(ctx) {
     super(ctx);
-    this.model = this.ctx.model.menu;
+    this.model = this.ctx.model.Menu;
   }
 
-  async create({ site }, { parentId, name, picurl, sort, description, isShow,  issuer }) {
+  async create({ site }, { parentId, name, picurl, description, isShow,  issuer }) {
     // 检查数据
     assert(_.isString(site), 'site不能为空');
     assert(_.isString(parentId), 'parentId不能为空');
     assert(_.isString(name), 'name不能为空');
     assert(!picurl || _.isString(picurl), 'picurl必须为字符串');
     assert(!description || _.isString(description), 'description必须为字符串');
-    assert(_.isUndefined(sort) || _.isNumber(sort), 'top必须为数字');
     assert(!isShow || _.isString(isShow), 'isShow必须为字符串');
     assert(!issuer || _.isString(issuer), 'issuer必须为字符串');
 
@@ -29,7 +28,7 @@ class MenuService extends CrudService {
 
     // TODO:保存数据
     const data = {
-      parentId, name, picurl, sort, description, isShow, issuer,
+      site,parentId, name, picurl, description, isShow, issuer,
       meta: { createdBy: userid },
     };
 
@@ -39,13 +38,12 @@ class MenuService extends CrudService {
 
   async update({ id }, payload) {
     // 检查数据
-    const { parentId, name, picurl, sort, description, isShow, issuer } = payload;
+    const { parentId, name, picurl, description, isShow, issuer } = payload;
     assert(id, 'id不能为空');
     assert(_.isString(parentId), 'parentId不能为空');
     assert(_.isString(name), 'name不能为空');
     assert(!picurl || _.isString(picurl), 'picurl必须为字符串');
     assert(!description || _.isString(description), 'description必须为字符串');
-    assert(_.isUndefined(sort) || _.isNumber(sort), 'top必须为数字');
     assert(!isShow || _.isString(isShow), 'isShow必须为字符串');
     assert(!issuer || _.isString(issuer), 'issuer必须为字符串');