Commit 8f639126 authored by Xuguangxing's avatar Xuguangxing

feat: 处理量子积木缓存问题

parent 949533b3
...@@ -17,7 +17,7 @@ export default class EditorController extends Controller { ...@@ -17,7 +17,7 @@ export default class EditorController extends Controller {
try { try {
const result = await ctx.model.PageInfo.create({ ...pageInfo, uuid: uuidv1().replace(/-/g, ''), tenantId: ctx.headers['qg-tenant-id']}); const result = await ctx.model.PageInfo.create({ ...pageInfo, uuid: uuidv1().replace(/-/g, ''), tenantId: ctx.headers['qg-tenant-id']});
ctx.body = ctx.helper.ok(result); ctx.body = ctx.helper.ok(result);
await ctx.service.redis.set(`pageInfo:${result.dataValues.uuid}`, result.dataValues); await ctx.service.redis.del(`pageInfo:${result.dataValues.uuid}`);
await ctx.service.redis.del(`page:${result.dataValues.uuid}`); await ctx.service.redis.del(`page:${result.dataValues.uuid}`);
} catch (error) { } catch (error) {
if (error.message.indexOf('Data too long') > -1 && error.message.indexOf('page_data') > -1) { if (error.message.indexOf('Data too long') > -1 && error.message.indexOf('page_data') > -1) {
...@@ -49,7 +49,8 @@ export default class EditorController extends Controller { ...@@ -49,7 +49,8 @@ export default class EditorController extends Controller {
} }
// todo 编辑器获取跳过redis,但需要注意 // todo 编辑器获取跳过redis,但需要注意
public async get(ctx: Context) { public async get(ctx: Context) {
let pageInfo = await ctx.service.redis.get(`pageInfo:${ctx.params.uuid}`); const { isEditor } = ctx.query;
let pageInfo = isEditor ? null : await ctx.service.redis.get(`pageInfo:${ctx.params.uuid}`);
console.log('redis', pageInfo); console.log('redis', pageInfo);
if (!pageInfo) { if (!pageInfo) {
let pageInfo = await ctx.model.PageInfo.findOne({where: { uuid: ctx.params.uuid }}); let pageInfo = await ctx.model.PageInfo.findOne({where: { uuid: ctx.params.uuid }});
...@@ -115,6 +116,7 @@ export default class EditorController extends Controller { ...@@ -115,6 +116,7 @@ export default class EditorController extends Controller {
}); });
for (const item of pageInfo) { for (const item of pageInfo) {
await ctx.service.redis.del(`page:${item.uuid}`); await ctx.service.redis.del(`page:${item.uuid}`);
await ctx.service.redis.del(`pageInfo:${item.uuid}`);
ctx.logger.info(`del redis page key page:${item.uuid}`); ctx.logger.info(`del redis page key page:${item.uuid}`);
} }
ctx.body = ctx.helper.ok(); ctx.body = ctx.helper.ok();
......
...@@ -10,7 +10,7 @@ export default { ...@@ -10,7 +10,7 @@ export default {
return http.post('editor/clearcache'); return http.post('editor/clearcache');
}, },
getPageById(params) { getPageById(params) {
return http.get(`editor/get/${params.pageId}`); return http.get(`editor/get/${params.pageId}?isEditor=1`);
}, },
delPageById(pageId) { delPageById(pageId) {
return http.delete(`editor/${pageId}`); return http.delete(`editor/${pageId}`);
......
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