Commit 98816ece authored by 徐光星's avatar 徐光星

Merge branch 'feat/1229' into 'master'

Feat/1229

See merge request !99
parents d4e49092 6ca3a8c4
......@@ -2,6 +2,8 @@ import { Controller, Context } from 'egg';
import _, { omitBy } from 'lodash';
import { v1 as uuidv1 } from 'uuid';
import { PageHistory } from '../model/pageHistory';
import * as path from 'path';
const { api } = require(path.resolve('./config/apollo.json'));
export default class EditorController extends Controller {
public async login(ctx: Context) {
......@@ -80,7 +82,6 @@ export default class EditorController extends Controller {
public async getList(ctx: Context) {
const { type, pageSize, pageNo, author, pageName, isPublish, pageDescribe, uuid } = ctx.query;
const { like } = ctx.model.Sequelize.Op;
let where = omitBy({
author: author && { like: `%${author}%`},
pageName: pageName && { like: `%${pageName}%`},
......@@ -97,8 +98,14 @@ export default class EditorController extends Controller {
} else if (type === 'template') {
where = { ...where, isTemplate: 1 };
}
const { count: total, rows: data } = await ctx.model.PageInfo.findAndCountAll({ where, limit: +pageSize || 10,
offset: (+pageNo - 1) * +pageSize || 0, order: [['updated_at', 'DESC']], include: [PageHistory.scope('relative')]});
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', 'author', 'updated_at', 'isTemplate', 'coverImage', 'pageDescribe', 'pageName', 'tenantId'],
include: [PageHistory.scope('relative')]
});
data.map(item => {
item.pageHistory && item.pageHistory.reverse();
})
......@@ -146,7 +153,6 @@ export default class EditorController extends Controller {
const params = ctx.request.body;
const id = params.id;
const author = params.author;
console.log(params)
if (!id) {
ctx.body = {};
return;
......@@ -190,4 +196,45 @@ export default class EditorController extends Controller {
}
ctx.body = ctx.helper.ok(pageInfo);
}
public async getListForActivityCalendar(ctx: Context) {
let { exposureTime } = ctx.request.body;
exposureTime = exposureTime.replace(/-/g, '/').split(' ')[0]
console.log(exposureTime);
// let where:any = omitBy({
// // validStartTime: {
// // [ctx.model.Sequelize.Op.lte]: exposureTime
// // },
// // validEndTime: {
// // [ctx.model.Sequelize.Op.gte]: exposureTime
// // },
// enable: 1,
// isPublish: 1,
// tenantId: '560761',
// }, v => !v);
// where[ctx.model.Sequelize.fn('validStartTime', '%Y/%m/%d')] = {
// [ctx.model.Sequelize.Op.lte]: exposureTime
// }
// where[ctx.model.Sequelize.fn('validEndTime', '%Y/%m/%d')] = {
// [ctx.model.Sequelize.Op.gte]: exposureTime
// }
// const { rows: data } = await ctx.model.PageInfo.findAndCountAll({
// where,
// order: [['updated_at', 'DESC']],
// attributes: ['id', 'uuid', 'pageName', 'tenantId', 'validStartTime', 'validEndTime']
// });
const data = await ctx.model.query(
"SELECT `id`, `uuid`, `page_name` AS `pageName`, `tenant_id` AS `tenantId`, `validStartTime`, `validEndTime` FROM page_config_info WHERE DATE_FORMAT(`validStartTime`, '%Y/%m/%d') <= '"+ exposureTime +"' AND DATE_FORMAT(`validEndTime`, '%Y/%m/%d') >= '" + exposureTime + "' AND `page_config_info`.`enable` = 1 AND `page_config_info`.`is_publish` = 1 AND `page_config_info`.`tenant_id` = '560761'", {
type: ctx.model.QueryTypes.SELECT
}
)
const res = data.map(item => {
item.url = `${api.h5Host}/activity/${item.uuid}?tenantId=${item.tenantId}&vccToken={token}&appChannel={appChannel}`;
item.uuid && delete item.uuid;
item.tenantId && delete item.tenantId;
return item;
})
ctx.body = ctx.helper.ok(res);
}
}
\ No newline at end of file
......@@ -122,7 +122,7 @@ import { PageInfo } from './pageInfo';
get() {
const moment = require('moment');
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;
......
......@@ -13,6 +13,7 @@ export default (application: Application) => {
router.post('/editor/update', controller.editor.update);
router.post('/editor/clearcache', controller.editor.clearCache);
router.get('/editor/get/list', controller.editor.getList);
router.post('/editor/getList/activityCalendar', controller.editor.getListForActivityCalendar);
router.get('/editor/get/template', controller.editor.getTemplateList);
router.get('/editor/getServerTime', controller.editor.getServerTime);
router.get('/editor/get/:uuid', controller.editor.get);
......
......@@ -119,7 +119,12 @@ export default class DynamicForm extends Vue {
const imgName = btoa(`coverImage-${uuidv4().substr(0, 8)}`);
const gridEle = document.querySelector('.Dcm-container-panel');
this.changeStyle('forward');
const canvas = await html2canvas(gridEle as HTMLElement, { useCORS: true, allowTaint: true });
const canvas = await html2canvas(gridEle as HTMLElement, { useCORS: true, allowTaint: true, ignoreElements: (element: any) => {
if (element.className.toLowerCase() == 'ignore-html2canvas-loop') {
return element;
}
return false;
} });
this.changeStyle('backward');
const base64 = canvas.toDataURL();
const { data: { uptoken } } = await editorApi.getUpToken();
......
......@@ -9,6 +9,7 @@
<p slot="title">{{ config.title }}</p>
<div class="dynamic-row-card">
<img
class="ignore-html2canvas-loop"
:src="config.coverImage || 'http://activitystatic.q-gp.com/low_code.jpg'"
/>
</div>
......@@ -26,6 +27,7 @@
<p slot="title">{{ config.title }}</p>
<div class="dynamic-row-card">
<img
class="ignore-html2canvas-loop"
:src="config.coverImage || 'http://activitystatic.q-gp.com/low_code.jpg'"
/>
</div>
......
......@@ -2176,9 +2176,9 @@
}
},
"@qg/citrus-ui": {
"version": "0.3.61",
"resolved": "http://npmprivate.quantgroups.com/@qg%2fcitrus-ui/-/citrus-ui-0.3.61.tgz",
"integrity": "sha512-RHwiyabltYgokRdtn/3WoDaS+zJ2bpdjyOwzaHDkSOy2DNhxWcD3gsOBidiYWewZy3sS1BRbKKk7NMw5vTSocg==",
"version": "0.3.62",
"resolved": "http://npmprivate.quantgroups.com/@qg%2fcitrus-ui/-/citrus-ui-0.3.62.tgz",
"integrity": "sha512-3GQaG9i/SnmMOOHz/NahuSB8o9t2xtTbXxmX9k5MdU4PJsFApqfN2cjLAEeKqq9/0O+d/AT+Aj/JfUHKVU6m4A==",
"requires": {
"@better-scroll/core": "^2.1.1",
"@qg/cherry-ui": "^2.23.9",
......@@ -4837,9 +4837,9 @@
}
},
"base64-arraybuffer": {
"version": "0.2.0",
"resolved": "http://npmprivate.quantgroups.com/base64-arraybuffer/-/base64-arraybuffer-0.2.0.tgz",
"integrity": "sha512-7emyCsu1/xiBXgQZrscw/8KPRT44I4Yq9Pe6EGs3aPRTsWuggML1/1DTuZUuIaJPIm1FTDUVXl4x/yW8s0kQDQ=="
"version": "1.0.2",
"resolved": "http://npmprivate.quantgroups.com/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
"integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ=="
},
"base64-js": {
"version": "1.5.1",
......@@ -7368,11 +7368,11 @@
}
},
"css-line-break": {
"version": "1.1.1",
"resolved": "http://npmprivate.quantgroups.com/css-line-break/-/css-line-break-1.1.1.tgz",
"integrity": "sha512-1feNVaM4Fyzdj4mKPIQNL2n70MmuYzAXZ1aytlROFX1JsOo070OsugwGjj7nl6jnDJWHDM8zRZswkmeYVWZJQA==",
"version": "2.1.0",
"resolved": "http://npmprivate.quantgroups.com/css-line-break/-/css-line-break-2.1.0.tgz",
"integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==",
"requires": {
"base64-arraybuffer": "^0.2.0"
"utrie": "^1.0.2"
}
},
"css-loader": {
......@@ -12535,11 +12535,12 @@
}
},
"html2canvas": {
"version": "1.0.0-rc.7",
"resolved": "http://npmprivate.quantgroups.com/html2canvas/-/html2canvas-1.0.0-rc.7.tgz",
"integrity": "sha512-yvPNZGejB2KOyKleZspjK/NruXVQuowu8NnV2HYG7gW7ytzl+umffbtUI62v2dCHQLDdsK6HIDtyJZ0W3neerA==",
"version": "1.4.1",
"resolved": "http://npmprivate.quantgroups.com/html2canvas/-/html2canvas-1.4.1.tgz",
"integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==",
"requires": {
"css-line-break": "1.1.1"
"css-line-break": "^2.1.0",
"text-segmentation": "^1.0.3"
}
},
"htmlparser2": {
......@@ -23924,6 +23925,14 @@
"integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==",
"dev": true
},
"text-segmentation": {
"version": "1.0.3",
"resolved": "http://npmprivate.quantgroups.com/text-segmentation/-/text-segmentation-1.0.3.tgz",
"integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==",
"requires": {
"utrie": "^1.0.2"
}
},
"text-table": {
"version": "0.2.0",
"resolved": "http://npmprivate.quantgroups.com/text-table/-/text-table-0.2.0.tgz",
......@@ -24795,6 +24804,14 @@
"resolved": "http://npmprivate.quantgroups.com/utils-merge/-/utils-merge-1.0.1.tgz",
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM="
},
"utrie": {
"version": "1.0.2",
"resolved": "http://npmprivate.quantgroups.com/utrie/-/utrie-1.0.2.tgz",
"integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==",
"requires": {
"base64-arraybuffer": "^1.0.2"
}
},
"uuid": {
"version": "3.4.0",
"resolved": "http://npmprivate.quantgroups.com/uuid/-/uuid-3.4.0.tgz",
......
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