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'; ...@@ -2,6 +2,8 @@ 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 +82,6 @@ export default class EditorController extends Controller { ...@@ -80,7 +82,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 +98,14 @@ export default class EditorController extends Controller { ...@@ -97,8 +98,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 +153,6 @@ export default class EditorController extends Controller { ...@@ -146,7 +153,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 +196,45 @@ export default class EditorController extends Controller { ...@@ -190,4 +196,45 @@ export default class EditorController extends Controller {
} }
ctx.body = ctx.helper.ok(pageInfo); 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'; ...@@ -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.post('/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);
......
...@@ -119,7 +119,12 @@ export default class DynamicForm extends Vue { ...@@ -119,7 +119,12 @@ export default class DynamicForm extends Vue {
const imgName = btoa(`coverImage-${uuidv4().substr(0, 8)}`); const imgName = btoa(`coverImage-${uuidv4().substr(0, 8)}`);
const gridEle = document.querySelector('.Dcm-container-panel'); const gridEle = document.querySelector('.Dcm-container-panel');
this.changeStyle('forward'); 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'); this.changeStyle('backward');
const base64 = canvas.toDataURL(); const base64 = canvas.toDataURL();
const { data: { uptoken } } = await editorApi.getUpToken(); const { data: { uptoken } } = await editorApi.getUpToken();
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
<p slot="title">{{ config.title }}</p> <p slot="title">{{ config.title }}</p>
<div class="dynamic-row-card"> <div class="dynamic-row-card">
<img <img
class="ignore-html2canvas-loop"
:src="config.coverImage || 'http://activitystatic.q-gp.com/low_code.jpg'" :src="config.coverImage || 'http://activitystatic.q-gp.com/low_code.jpg'"
/> />
</div> </div>
...@@ -26,6 +27,7 @@ ...@@ -26,6 +27,7 @@
<p slot="title">{{ config.title }}</p> <p slot="title">{{ config.title }}</p>
<div class="dynamic-row-card"> <div class="dynamic-row-card">
<img <img
class="ignore-html2canvas-loop"
:src="config.coverImage || 'http://activitystatic.q-gp.com/low_code.jpg'" :src="config.coverImage || 'http://activitystatic.q-gp.com/low_code.jpg'"
/> />
</div> </div>
......
...@@ -2176,9 +2176,9 @@ ...@@ -2176,9 +2176,9 @@
} }
}, },
"@qg/citrus-ui": { "@qg/citrus-ui": {
"version": "0.3.61", "version": "0.3.62",
"resolved": "http://npmprivate.quantgroups.com/@qg%2fcitrus-ui/-/citrus-ui-0.3.61.tgz", "resolved": "http://npmprivate.quantgroups.com/@qg%2fcitrus-ui/-/citrus-ui-0.3.62.tgz",
"integrity": "sha512-RHwiyabltYgokRdtn/3WoDaS+zJ2bpdjyOwzaHDkSOy2DNhxWcD3gsOBidiYWewZy3sS1BRbKKk7NMw5vTSocg==", "integrity": "sha512-3GQaG9i/SnmMOOHz/NahuSB8o9t2xtTbXxmX9k5MdU4PJsFApqfN2cjLAEeKqq9/0O+d/AT+Aj/JfUHKVU6m4A==",
"requires": { "requires": {
"@better-scroll/core": "^2.1.1", "@better-scroll/core": "^2.1.1",
"@qg/cherry-ui": "^2.23.9", "@qg/cherry-ui": "^2.23.9",
...@@ -4837,9 +4837,9 @@ ...@@ -4837,9 +4837,9 @@
} }
}, },
"base64-arraybuffer": { "base64-arraybuffer": {
"version": "0.2.0", "version": "1.0.2",
"resolved": "http://npmprivate.quantgroups.com/base64-arraybuffer/-/base64-arraybuffer-0.2.0.tgz", "resolved": "http://npmprivate.quantgroups.com/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
"integrity": "sha512-7emyCsu1/xiBXgQZrscw/8KPRT44I4Yq9Pe6EGs3aPRTsWuggML1/1DTuZUuIaJPIm1FTDUVXl4x/yW8s0kQDQ==" "integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ=="
}, },
"base64-js": { "base64-js": {
"version": "1.5.1", "version": "1.5.1",
...@@ -7368,11 +7368,11 @@ ...@@ -7368,11 +7368,11 @@
} }
}, },
"css-line-break": { "css-line-break": {
"version": "1.1.1", "version": "2.1.0",
"resolved": "http://npmprivate.quantgroups.com/css-line-break/-/css-line-break-1.1.1.tgz", "resolved": "http://npmprivate.quantgroups.com/css-line-break/-/css-line-break-2.1.0.tgz",
"integrity": "sha512-1feNVaM4Fyzdj4mKPIQNL2n70MmuYzAXZ1aytlROFX1JsOo070OsugwGjj7nl6jnDJWHDM8zRZswkmeYVWZJQA==", "integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==",
"requires": { "requires": {
"base64-arraybuffer": "^0.2.0" "utrie": "^1.0.2"
} }
}, },
"css-loader": { "css-loader": {
...@@ -12535,11 +12535,12 @@ ...@@ -12535,11 +12535,12 @@
} }
}, },
"html2canvas": { "html2canvas": {
"version": "1.0.0-rc.7", "version": "1.4.1",
"resolved": "http://npmprivate.quantgroups.com/html2canvas/-/html2canvas-1.0.0-rc.7.tgz", "resolved": "http://npmprivate.quantgroups.com/html2canvas/-/html2canvas-1.4.1.tgz",
"integrity": "sha512-yvPNZGejB2KOyKleZspjK/NruXVQuowu8NnV2HYG7gW7ytzl+umffbtUI62v2dCHQLDdsK6HIDtyJZ0W3neerA==", "integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==",
"requires": { "requires": {
"css-line-break": "1.1.1" "css-line-break": "^2.1.0",
"text-segmentation": "^1.0.3"
} }
}, },
"htmlparser2": { "htmlparser2": {
...@@ -23924,6 +23925,14 @@ ...@@ -23924,6 +23925,14 @@
"integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==",
"dev": true "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": { "text-table": {
"version": "0.2.0", "version": "0.2.0",
"resolved": "http://npmprivate.quantgroups.com/text-table/-/text-table-0.2.0.tgz", "resolved": "http://npmprivate.quantgroups.com/text-table/-/text-table-0.2.0.tgz",
...@@ -24795,6 +24804,14 @@ ...@@ -24795,6 +24804,14 @@
"resolved": "http://npmprivate.quantgroups.com/utils-merge/-/utils-merge-1.0.1.tgz", "resolved": "http://npmprivate.quantgroups.com/utils-merge/-/utils-merge-1.0.1.tgz",
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" "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": { "uuid": {
"version": "3.4.0", "version": "3.4.0",
"resolved": "http://npmprivate.quantgroups.com/uuid/-/uuid-3.4.0.tgz", "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