Commit 16edc776 authored by 徐光星's avatar 徐光星

feat: 对活动日历功能提供查询活动页面接口

parent d4e49092
...@@ -2,6 +2,9 @@ import { Controller, Context } from 'egg'; ...@@ -2,6 +2,9 @@ import { Controller, Context } from 'egg';
import _, { omitBy } from 'lodash'; import _, { omitBy } from 'lodash';
import { v1 as uuidv1 } from 'uuid'; import { v1 as uuidv1 } from 'uuid';
import { PageHistory } from '../model/pageHistory'; import { PageHistory } from '../model/pageHistory';
import * as path from 'path';
const { api } = require(path.resolve('./config/apollo.json'));
export default class EditorController extends Controller { export default class EditorController extends Controller {
public async login(ctx: Context) { public async login(ctx: Context) {
...@@ -80,7 +83,6 @@ export default class EditorController extends Controller { ...@@ -80,7 +83,6 @@ export default class EditorController extends Controller {
public async getList(ctx: Context) { public async getList(ctx: Context) {
const { type, pageSize, pageNo, author, pageName, isPublish, pageDescribe, uuid } = ctx.query; const { type, pageSize, pageNo, author, pageName, isPublish, pageDescribe, uuid } = ctx.query;
const { like } = ctx.model.Sequelize.Op;
let where = omitBy({ let where = omitBy({
author: author && { like: `%${author}%`}, author: author && { like: `%${author}%`},
pageName: pageName && { like: `%${pageName}%`}, pageName: pageName && { like: `%${pageName}%`},
...@@ -97,8 +99,14 @@ export default class EditorController extends Controller { ...@@ -97,8 +99,14 @@ export default class EditorController extends Controller {
} else if (type === 'template') { } else if (type === 'template') {
where = { ...where, isTemplate: 1 }; where = { ...where, isTemplate: 1 };
} }
const { count: total, rows: data } = await ctx.model.PageInfo.findAndCountAll({ where, limit: +pageSize || 10, const { count: total, rows: data } = await ctx.model.PageInfo.findAndCountAll({
offset: (+pageNo - 1) * +pageSize || 0, order: [['updated_at', 'DESC']], include: [PageHistory.scope('relative')]}); where,
limit: +pageSize || 10,
offset: (+pageNo - 1) * +pageSize || 0,
order: [['updated_at', 'DESC']],
attributes: ['id', 'uuid', 'author', 'updated_at', 'isTemplate', 'coverImage', 'pageDescribe', 'pageName', 'tenantId'],
include: [PageHistory.scope('relative')]
});
data.map(item => { data.map(item => {
item.pageHistory && item.pageHistory.reverse(); item.pageHistory && item.pageHistory.reverse();
}) })
...@@ -146,7 +154,6 @@ export default class EditorController extends Controller { ...@@ -146,7 +154,6 @@ export default class EditorController extends Controller {
const params = ctx.request.body; const params = ctx.request.body;
const id = params.id; const id = params.id;
const author = params.author; const author = params.author;
console.log(params)
if (!id) { if (!id) {
ctx.body = {}; ctx.body = {};
return; return;
...@@ -190,4 +197,26 @@ export default class EditorController extends Controller { ...@@ -190,4 +197,26 @@ export default class EditorController extends Controller {
} }
ctx.body = ctx.helper.ok(pageInfo); ctx.body = ctx.helper.ok(pageInfo);
} }
public async getListForActivityCalendar(ctx: Context) {
const { pageSize, pageNo, pageName, tenantId, id} = ctx.query;
let where = omitBy({
pageName: pageName && { like: `%${pageName}%`},
id,
enable: 1,
isPublish: 1,
tenantId: tenantId || '560761'
}, v => !v);
const { count: total, rows: data } = await ctx.model.PageInfo.findAndCountAll({
where,
limit: +pageSize || 10,
offset: (+pageNo - 1) * +pageSize || 0,
order: [['updated_at', 'DESC']],
attributes: ['id', 'uuid', 'pageName', 'tenantId', 'validStartTime', 'validEndTime']
});
const res = data.map(item => {
item.dataValues.url = `${api.h5Host}/activity/${item.uuid}?tenantId=${item.tenantId}&vccToken={token}&appChannel={appChannel}`;
return item;
})
ctx.body = ctx.helper.ok({ total, data: res });
}
} }
\ No newline at end of file
...@@ -122,7 +122,7 @@ import { PageInfo } from './pageInfo'; ...@@ -122,7 +122,7 @@ import { PageInfo } from './pageInfo';
get() { get() {
const moment = require('moment'); const moment = require('moment');
const updatedAt = this.getDataValue('updatedAt'); const updatedAt = this.getDataValue('updatedAt');
return moment(updatedAt).utc().zone(-8).format('YYYY-MM-DD HH:mm:ss'); return moment(updatedAt).utcOffset('+08:00').format('YYYY-MM-DD HH:mm:ss');
}, },
}) })
updatedAt: string; updatedAt: string;
......
...@@ -13,6 +13,7 @@ export default (application: Application) => { ...@@ -13,6 +13,7 @@ export default (application: Application) => {
router.post('/editor/update', controller.editor.update); router.post('/editor/update', controller.editor.update);
router.post('/editor/clearcache', controller.editor.clearCache); router.post('/editor/clearcache', controller.editor.clearCache);
router.get('/editor/get/list', controller.editor.getList); router.get('/editor/get/list', controller.editor.getList);
router.get('/editor/getList/activityCalendar', controller.editor.getListForActivityCalendar);
router.get('/editor/get/template', controller.editor.getTemplateList); router.get('/editor/get/template', controller.editor.getTemplateList);
router.get('/editor/getServerTime', controller.editor.getServerTime); router.get('/editor/getServerTime', controller.editor.getServerTime);
router.get('/editor/get/:uuid', controller.editor.get); router.get('/editor/get/:uuid', controller.editor.get);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment