Commit 87851282 authored by 郝聪敏's avatar 郝聪敏

fix: 修改bug

parent 40477b88
...@@ -15,6 +15,7 @@ export default class EditorController extends Controller { ...@@ -15,6 +15,7 @@ export default class EditorController extends Controller {
public async save(ctx: Context) { public async save(ctx: Context) {
const pageInfo = ctx.request.body; const pageInfo = ctx.request.body;
const result = await ctx.model.PageInfo.create({ ...pageInfo, uuid: uuidv1().replace(/-/g, '')}); const result = await ctx.model.PageInfo.create({ ...pageInfo, uuid: uuidv1().replace(/-/g, '')});
await ctx.service.redis.set(`pageInfo:${result.dataValues.uuid}`, result.dataValues);
ctx.body = ctx.helper.ok(result); ctx.body = ctx.helper.ok(result);
} }
...@@ -24,11 +25,19 @@ export default class EditorController extends Controller { ...@@ -24,11 +25,19 @@ export default class EditorController extends Controller {
pageInfo.uuid = uuidv1().replace(/-/g, ''); pageInfo.uuid = uuidv1().replace(/-/g, '');
} }
const result = await ctx.model.PageInfo.update(pageInfo, {where: { uuid: pageInfo.uuid }}); const result = await ctx.model.PageInfo.update(pageInfo, {where: { uuid: pageInfo.uuid }});
await ctx.service.redis.set(`pageInfo:${pageInfo.uuid}`, pageInfo);
await ctx.service.redis.del(`page:${pageInfo.uuid}`);
ctx.body = ctx.helper.ok(result); ctx.body = ctx.helper.ok(result);
} }
public async get(ctx: Context) { public async get(ctx: Context) {
const pageInfo = await ctx.model.PageInfo.findOne({where: { uuid: ctx.params.uuid }}); console.time('getPageInfo');
let pageInfo = await ctx.service.redis.get(`pageInfo:${ctx.params.uuid}`);
if (!pageInfo) {
pageInfo = await ctx.model.PageInfo.findOne({where: { uuid: ctx.params.uuid }});
await ctx.service.redis.set(`pageInfo:${ctx.params.uuid}`, pageInfo);
}
console.timeEnd('getPageInfo');
ctx.body = ctx.helper.ok(pageInfo); ctx.body = ctx.helper.ok(pageInfo);
} }
......
import { Context, Service } from 'egg';
export default class ArticeService extends Service {
private context: Context;
constructor(ctx: Context) {
super(ctx);
this.context = ctx;
}
async set(key, value, seconds = 1000 * 60 * 60 * 24) {
value = JSON.stringify(value);
if (this.context.app.redis) {
await this.context.app.redis.set(key, value, 'EX', seconds);
}
}
async get(key) {
if (this.context.app.redis) {
const data = await this.context.app.redis.get(key);
if (!data) {
return;
}
return JSON.parse(data);
}
}
async del(key) {
await this.context.app.redis.del(key);
}
}
declare module 'egg' {
interface Application {
redis: any;
}
}
\ No newline at end of file
...@@ -71,10 +71,12 @@ export default class DynamicComponent extends Vue { ...@@ -71,10 +71,12 @@ export default class DynamicComponent extends Vue {
} }
addEle(eleName) { addEle(eleName) {
console.log('addEle', eleName); // console.log('addEle', eleName);
const { compontObj, page } = this.genrateCom(eleName); const { compontObj, page } = this.genrateCom(eleName);
if (eleName.includes('template')) { if (eleName.includes('template')) {
this.$emit('addEle', { template: page }); this.$emit('addEle', { template: page });
} else if (eleName === 'freedom-container' || eleName === 'goods-tabs') {
this.$emit('addEle', { ...compontObj, child: [] });
} else { } else {
this.$emit('addEle', compontObj); this.$emit('addEle', compontObj);
} }
......
...@@ -9,7 +9,7 @@ export default class CouponTableModal extends Vue { ...@@ -9,7 +9,7 @@ export default class CouponTableModal extends Vue {
@Prop({ default: () => ([]), type: Array }) value; @Prop({ default: () => ([]), type: Array }) value;
@Prop({ default: () => ([]), type: Array }) formControl; @Prop({ default: () => ([]), type: Array }) formControl;
coupon: object = cloneDeep(this.value); coupon: object[] = cloneDeep(this.value);
templates: object[] = []; templates: object[] = [];
table: object[] = [ table: object[] = [
{ {
...@@ -38,7 +38,7 @@ export default class CouponTableModal extends Vue { ...@@ -38,7 +38,7 @@ export default class CouponTableModal extends Vue {
: `自领取${item.receiverDaysValid}天后生效,有效天数${item.validDays}天`; : `自领取${item.receiverDaysValid}天后生效,有效天数${item.validDays}天`;
// item.useTime = item.useTimeStart ? `${item.useTimeStart}-${item.useTimeEnd}` : `自领取${item.receiverDaysValid}天后生效,有效天数${item.validDays}天`; // item.useTime = item.useTimeStart ? `${item.useTimeStart}-${item.useTimeEnd}` : `自领取${item.receiverDaysValid}天后生效,有效天数${item.validDays}天`;
const selections = this.templates.length ? this.templates : this.coupon; const selections = this.templates.length ? this.templates : this.coupon;
console.log('query', selections, this.coupon); console.log('query', selections, this.templates, this.coupon);
if (selections.some(v => v === item.id)) { if (selections.some(v => v === item.id)) {
item._checked = true; item._checked = true;
} }
......
...@@ -21,6 +21,7 @@ export default class DynamicForm extends Mixins(DynamicFormMixin) { ...@@ -21,6 +21,7 @@ export default class DynamicForm extends Mixins(DynamicFormMixin) {
modal: boolean = false; modal: boolean = false;
selections: object[] = []; selections: object[] = [];
activeName: number = 0; activeName: number = 0;
tableData: object[] = [];
get idsLength() { get idsLength() {
if (validateType(this.value) === 'object') { if (validateType(this.value) === 'object') {
...@@ -30,10 +31,28 @@ export default class DynamicForm extends Mixins(DynamicFormMixin) { ...@@ -30,10 +31,28 @@ export default class DynamicForm extends Mixins(DynamicFormMixin) {
} }
getDefaultIds() { getDefaultIds() {
let defaultIds = this.value;
if (validateType(this.value) === 'object') { if (validateType(this.value) === 'object') {
return this.value?.ids; defaultIds = this.value?.ids;
}
let filterIds = [];
if (this.table.length > 1) {
filterIds = this.tableData.map(v => v[this.table[this.activeName].key]);
} else {
filterIds = this.tableData.map(v => v.id);
}
const rs = defaultIds.filter(v => !filterIds.includes(v));
return rs;
}
getSelectionsIds() {
if (this.table.length > 1) {
return this.selections.map(v => v[this.table[this.activeName].key]);
} else {
return this.selections.map(v => v.id);
} }
return this.value;
} }
@Watch('curEleIndex', { immediate: true }) @Watch('curEleIndex', { immediate: true })
...@@ -86,15 +105,16 @@ export default class DynamicForm extends Mixins(DynamicFormMixin) { ...@@ -86,15 +105,16 @@ export default class DynamicForm extends Mixins(DynamicFormMixin) {
} }
ok() { ok() {
const selections = this.selections.length ? this.selections : this.getDefaultIds(); const ids = [...this.getSelectionsIds(), ...this.getDefaultIds()];
this.selections = [];
// console.log('commit', selections); // console.log('commit', selections);
if (this.table.length > 1) { if (this.table.length > 1) {
this.$emit('input', { this.$emit('input', {
type: this.table[this.activeName].type, type: this.table[this.activeName].type,
ids: selections.map(v => v[this.table[this.activeName].key]) ids
}); });
} else { } else {
this.$emit('input', selections.map(v => v.id)); this.$emit('input', ids);
} }
} }
......
...@@ -33,6 +33,7 @@ ...@@ -33,6 +33,7 @@
:request="item.query" :request="item.query"
:hideAdd="true" :hideAdd="true"
:height="500" :height="500"
:tableData.sync="tableData"
@on-selection-change="selectionChange" @on-selection-change="selectionChange"
@on-select-cancel="selectionCancel" @on-select-cancel="selectionCancel"
> >
......
...@@ -238,7 +238,13 @@ export default class DynamicForm extends Mixins(ContextMenuMixin, DynamicFormMix ...@@ -238,7 +238,13 @@ export default class DynamicForm extends Mixins(ContextMenuMixin, DynamicFormMix
// console.log('onFormChange', newVal?.id, oldVal?.id); // console.log('onFormChange', newVal?.id, oldVal?.id);
if (newVal?.id !== oldVal?.id) { return; } if (newVal?.id !== oldVal?.id) { return; }
const params = pick(this.form, this.curFormKey); const params = pick(this.form, this.curFormKey);
this.$nextTick(() => this.adjustHeight()); this.$nextTick(() => {
const element = this.pageData.elements[this.curEleIndex];
// swiper refresh 后会自动调整
if (element.name !== 'cs-guide-cube') {
this.adjustHeight();
}
});
this.$emit('modProps', params, 'component'); this.$emit('modProps', params, 'component');
} }
......
...@@ -87,6 +87,7 @@ export default class FreedomContainer extends Mixins(ContextMenuMixin, Transform ...@@ -87,6 +87,7 @@ export default class FreedomContainer extends Mixins(ContextMenuMixin, Transform
// 获取point计算后样式 // 获取point计算后样式
setPointStyle() { setPointStyle() {
this.$nextTick(() => { this.$nextTick(() => {
if (!this.curChildIndex && this.curChildIndex !== 0) { return; }
const [height, width] = this.getHW(this.curChildIndex); const [height, width] = this.getHW(this.curChildIndex);
const childEle = this.childItem.child[this.curChildIndex]; const childEle = this.childItem.child[this.curChildIndex];
this.setDotsStyle(); this.setDotsStyle();
...@@ -108,8 +109,10 @@ export default class FreedomContainer extends Mixins(ContextMenuMixin, Transform ...@@ -108,8 +109,10 @@ export default class FreedomContainer extends Mixins(ContextMenuMixin, Transform
} }
getHW(index) { getHW(index) {
console.log('getHW', index);
if (!this.$refs.childComponent || !this.$refs.childComponent.length) { return [0, 0]; } if (!this.$refs.childComponent || !this.$refs.childComponent.length) { return [0, 0]; }
const childComponent = this.$refs.childComponent[index]; const childComponent = this.$refs.childComponent[index];
if (!childComponent || !childComponent.$el) { return [0, 0]; }
return [getStyle(childComponent.$el, 'height'), getStyle(childComponent.$el, 'width')]; return [getStyle(childComponent.$el, 'height'), getStyle(childComponent.$el, 'width')];
} }
......
...@@ -51,7 +51,7 @@ export default { ...@@ -51,7 +51,7 @@ export default {
props: { props: {
columns: { columns: {
type: Array, type: Array,
default: () => ({}) default: () => ([])
}, },
hideAdd: Boolean, hideAdd: Boolean,
request: Function, request: Function,
...@@ -100,6 +100,7 @@ export default { ...@@ -100,6 +100,7 @@ export default {
const getQueryData = (await this.request(this.searchForm)) || {}; const getQueryData = (await this.request(this.searchForm)) || {};
this.tableData = getQueryData.data || []; this.tableData = getQueryData.data || [];
this.total = getQueryData.total || 0; this.total = getQueryData.total || 0;
this.$emit('update:tableData', this.tableData);
} }
}); });
}, },
......
...@@ -3,7 +3,11 @@ ...@@ -3,7 +3,11 @@
"use strict"; "use strict";
const npm = require("npm"); const npm = require("npm");
npm.load(() => { npm.load(() => {
npm.run("start"); if (process.env.NODE_ENV === 'production') {
npm.run("start");
} else {
npm.run("test");
}
}); });
\ No newline at end of file
...@@ -33,6 +33,18 @@ export default (appInfo: EggAppConfig) => { ...@@ -33,6 +33,18 @@ export default (appInfo: EggAppConfig) => {
exports.sequelize = localMysqlConfig; exports.sequelize = localMysqlConfig;
exports.redis = {
default: {
keyPrefix: appInfo.name + ':',
},
client: {
port: 31565, // Redis port
host: '172.17.5.13', // Redis host
password: '',
db: 0
}
};
exports.webpack = { exports.webpack = {
webpackConfigList: getWebpackConfig(), webpackConfigList: getWebpackConfig(),
browser: 'http://localhost:7001/editor/list' browser: 'http://localhost:7001/editor/list'
......
...@@ -35,5 +35,31 @@ export default (appInfo: EggAppConfig) => { ...@@ -35,5 +35,31 @@ export default (appInfo: EggAppConfig) => {
exports.sequelize = process.env.NAMESPACE ? localMysqlConfig : prodMysqlConfig; exports.sequelize = process.env.NAMESPACE ? localMysqlConfig : prodMysqlConfig;
const prodRedisConfig = {
default: {
keyPrefix: appInfo.name + ':',
},
client: {
port: 6379, // Redis port
host: 'front-redis.quantgroups.com', // Redis host
password: 'ln4^ESq80j4nrTMZ',
db: 0
}
};
const localRedisConfig = {
default: {
keyPrefix: appInfo.name + ':',
},
client: {
port: 31565, // Redis port
host: '172.17.5.13', // Redis host
password: '',
db: 0
}
};
exports.redis = process.env.NAMESPACE ? prodRedisConfig : localRedisConfig;
return exports; return exports;
}; };
...@@ -8,5 +8,9 @@ export default { ...@@ -8,5 +8,9 @@ export default {
sequelize: { sequelize: {
enable: true, enable: true,
package: 'egg-sequelize-ts' package: 'egg-sequelize-ts'
},
redis: {
enable: true,
package: 'egg-redis'
} }
}; };
\ No newline at end of file
...@@ -1469,9 +1469,9 @@ ...@@ -1469,9 +1469,9 @@
"integrity": "sha512-DvJbbn3dUgMxDnJLH+RZQPnXak1h4ZVYQ7CWiFWjQwBFkVajT4rfw2PdpHLTSTwxrYfnoEXkuBiwkDm6tPMQeA==" "integrity": "sha512-DvJbbn3dUgMxDnJLH+RZQPnXak1h4ZVYQ7CWiFWjQwBFkVajT4rfw2PdpHLTSTwxrYfnoEXkuBiwkDm6tPMQeA=="
}, },
"@qg/cherry-ui": { "@qg/cherry-ui": {
"version": "2.20.3", "version": "2.20.6",
"resolved": "http://npmprivate.quantgroups.com/@qg%2fcherry-ui/-/cherry-ui-2.20.3.tgz", "resolved": "http://npmprivate.quantgroups.com/@qg%2fcherry-ui/-/cherry-ui-2.20.6.tgz",
"integrity": "sha512-QFZdYc4F3v3Y+c4kz+dHjk5ooo+g12LeJi5HpWmPDCKoWRrgqW0soimLDoMx3cJkUsw2i1SzEjZ7URISJC1EMg==", "integrity": "sha512-meVa0I+uoKkit49zVqlqDVvMwjzMnSOp034BiB+YEHgJ8XJsCweewZxaR2PHyQEUf5x3oKgnAWGDFldGq/ERbg==",
"requires": { "requires": {
"@popperjs/core": "^2.5.4", "@popperjs/core": "^2.5.4",
"vue-lazyload": "^1.3.3", "vue-lazyload": "^1.3.3",
...@@ -1479,14 +1479,15 @@ ...@@ -1479,14 +1479,15 @@
} }
}, },
"@qg/citrus-ui": { "@qg/citrus-ui": {
"version": "0.0.42", "version": "0.0.43",
"resolved": "http://npmprivate.quantgroups.com/@qg%2fcitrus-ui/-/citrus-ui-0.0.42.tgz", "resolved": "http://npmprivate.quantgroups.com/@qg%2fcitrus-ui/-/citrus-ui-0.0.43.tgz",
"integrity": "sha512-hBHTOdXCpfI42BxKtivJOldjRIZM77Vpmg54A5oqe/okEmQwUOzWg81CNAJm/+C0ruNzLviEH7RMEIx2A8daJA==", "integrity": "sha512-QakgSgeh1f8I1FHGdAoBFhNIZTpbWowkeiYlWtlFXhwzrvaXC6Cea5c8WPBzCWPgy8iyEzqFmLz91A8wswIHmA==",
"requires": { "requires": {
"@better-scroll/core": "^2.1.1", "@better-scroll/core": "^2.1.1",
"@qg/cherry-ui": "^2.20.5", "@qg/cherry-ui": "^2.20.5",
"@qg/js-bridge": "^1.1.9", "@qg/js-bridge": "^1.1.9",
"axios": "^0.21.1", "axios": "^0.21.1",
"intersection-observer": "^0.12.0",
"js-cookie": "^2.2.1", "js-cookie": "^2.2.1",
"lodash-es": "^4.17.21", "lodash-es": "^4.17.21",
"sa-sdk-javascript": "^1.16.1", "sa-sdk-javascript": "^1.16.1",
...@@ -1495,9 +1496,9 @@ ...@@ -1495,9 +1496,9 @@
}, },
"dependencies": { "dependencies": {
"@qg/cherry-ui": { "@qg/cherry-ui": {
"version": "2.20.5", "version": "2.20.6",
"resolved": "http://npmprivate.quantgroups.com/@qg%2fcherry-ui/-/cherry-ui-2.20.5.tgz", "resolved": "http://npmprivate.quantgroups.com/@qg%2fcherry-ui/-/cherry-ui-2.20.6.tgz",
"integrity": "sha512-DL3ZtlydZzj8uz+Z7WavMUD9qq0xXTig+cb05FtajKXsY8ZjHIaZJQmUB3kYJQzeWfks1nubJDb4UcG4GdMm6A==", "integrity": "sha512-meVa0I+uoKkit49zVqlqDVvMwjzMnSOp034BiB+YEHgJ8XJsCweewZxaR2PHyQEUf5x3oKgnAWGDFldGq/ERbg==",
"requires": { "requires": {
"@popperjs/core": "^2.5.4", "@popperjs/core": "^2.5.4",
"vue-lazyload": "^1.3.3", "vue-lazyload": "^1.3.3",
...@@ -1646,6 +1647,14 @@ ...@@ -1646,6 +1647,14 @@
"resolved": "http://npmprivate.quantgroups.com/@types%2fhttp-errors/-/http-errors-1.8.0.tgz", "resolved": "http://npmprivate.quantgroups.com/@types%2fhttp-errors/-/http-errors-1.8.0.tgz",
"integrity": "sha512-2aoSC4UUbHDj2uCsCxcG/vRMXey/m17bC7UwitVm5hn22nI8O8Y9iDpA76Orc+DWkQ4zZrOKEshCqR/jSuXAHA==" "integrity": "sha512-2aoSC4UUbHDj2uCsCxcG/vRMXey/m17bC7UwitVm5hn22nI8O8Y9iDpA76Orc+DWkQ4zZrOKEshCqR/jSuXAHA=="
}, },
"@types/ioredis": {
"version": "4.22.1",
"resolved": "http://npmprivate.quantgroups.com/@types%2fioredis/-/ioredis-4.22.1.tgz",
"integrity": "sha512-GxXT828fkvBeThO68ZJg8cD2haqea5ANBJaxA+UZqLranNkEnQ8N7QLPtykwWbN/sRQz75O7kj+PNmCKF4CEKw==",
"requires": {
"@types/node": "*"
}
},
"@types/istanbul-lib-coverage": { "@types/istanbul-lib-coverage": {
"version": "2.0.3", "version": "2.0.3",
"resolved": "http://npmprivate.quantgroups.com/@types%2fistanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz", "resolved": "http://npmprivate.quantgroups.com/@types%2fistanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz",
...@@ -5102,6 +5111,11 @@ ...@@ -5102,6 +5111,11 @@
} }
} }
}, },
"cluster-key-slot": {
"version": "1.1.0",
"resolved": "http://npmprivate.quantgroups.com/cluster-key-slot/-/cluster-key-slot-1.1.0.tgz",
"integrity": "sha512-2Nii8p3RwAPiFwsnZvukotvow2rIHM+yQ6ZcBXGHdniadkYGZYiGmkHJIbZPIV9nfv7m/U1IPMVVcAhoWFeklw=="
},
"cluster-reload": { "cluster-reload": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "http://npmprivate.quantgroups.com/cluster-reload/-/cluster-reload-1.0.2.tgz", "resolved": "http://npmprivate.quantgroups.com/cluster-reload/-/cluster-reload-1.0.2.tgz",
...@@ -7794,6 +7808,16 @@ ...@@ -7794,6 +7808,16 @@
} }
} }
}, },
"egg-redis": {
"version": "2.4.0",
"resolved": "http://npmprivate.quantgroups.com/egg-redis/-/egg-redis-2.4.0.tgz",
"integrity": "sha512-c8NBivXMfHhxBh2hdAFlYP5R1790SF+E9dMCEN54Qbgu3QsMKoGH3Db5dN2cZ6SpBD0XED/Evlcl0LXqNecToA==",
"requires": {
"@types/ioredis": "^4.0.10",
"await-first": "^1.0.0",
"ioredis": "^4.9.0"
}
},
"egg-schedule": { "egg-schedule": {
"version": "3.6.6", "version": "3.6.6",
"resolved": "http://npmprivate.quantgroups.com/egg-schedule/-/egg-schedule-3.6.6.tgz", "resolved": "http://npmprivate.quantgroups.com/egg-schedule/-/egg-schedule-3.6.6.tgz",
...@@ -11382,6 +11406,11 @@ ...@@ -11382,6 +11406,11 @@
"resolved": "http://npmprivate.quantgroups.com/interpret/-/interpret-1.4.0.tgz", "resolved": "http://npmprivate.quantgroups.com/interpret/-/interpret-1.4.0.tgz",
"integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA=="
}, },
"intersection-observer": {
"version": "0.12.0",
"resolved": "http://npmprivate.quantgroups.com/intersection-observer/-/intersection-observer-0.12.0.tgz",
"integrity": "sha512-2Vkz8z46Dv401zTWudDGwO7KiGHNDkMv417T5ItcNYfmvHR/1qCTVBO9vwH8zZmQ0WkA/1ARwpysR9bsnop4NQ=="
},
"invariant": { "invariant": {
"version": "2.2.4", "version": "2.2.4",
"resolved": "http://npmprivate.quantgroups.com/invariant/-/invariant-2.2.4.tgz", "resolved": "http://npmprivate.quantgroups.com/invariant/-/invariant-2.2.4.tgz",
...@@ -11395,6 +11424,38 @@ ...@@ -11395,6 +11424,38 @@
"resolved": "http://npmprivate.quantgroups.com/invert-kv/-/invert-kv-2.0.0.tgz", "resolved": "http://npmprivate.quantgroups.com/invert-kv/-/invert-kv-2.0.0.tgz",
"integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA=="
}, },
"ioredis": {
"version": "4.24.4",
"resolved": "http://npmprivate.quantgroups.com/ioredis/-/ioredis-4.24.4.tgz",
"integrity": "sha512-v28xxBENyTmReC6lVTL7EkAPjVF8cuGtDEjGDi1Z2n7htsC2WdiDceZrCIPeuPiLa6kDFWHb1Y8O0upZROsMgA==",
"requires": {
"cluster-key-slot": "^1.1.0",
"debug": "^4.3.1",
"denque": "^1.1.0",
"lodash.defaults": "^4.2.0",
"lodash.flatten": "^4.4.0",
"p-map": "^2.1.0",
"redis-commands": "1.7.0",
"redis-errors": "^1.2.0",
"redis-parser": "^3.0.0",
"standard-as-callback": "^2.1.0"
},
"dependencies": {
"debug": {
"version": "4.3.1",
"resolved": "http://npmprivate.quantgroups.com/debug/-/debug-4.3.1.tgz",
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"requires": {
"ms": "2.1.2"
}
},
"ms": {
"version": "2.1.2",
"resolved": "http://npmprivate.quantgroups.com/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
}
}
},
"ip": { "ip": {
"version": "1.1.5", "version": "1.1.5",
"resolved": "http://npmprivate.quantgroups.com/ip/-/ip-1.1.5.tgz", "resolved": "http://npmprivate.quantgroups.com/ip/-/ip-1.1.5.tgz",
...@@ -12464,6 +12525,11 @@ ...@@ -12464,6 +12525,11 @@
"resolved": "http://npmprivate.quantgroups.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz", "resolved": "http://npmprivate.quantgroups.com/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
"integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw="
}, },
"lodash.flatten": {
"version": "4.4.0",
"resolved": "http://npmprivate.quantgroups.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz",
"integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8="
},
"lodash.get": { "lodash.get": {
"version": "4.4.2", "version": "4.4.2",
"resolved": "http://npmprivate.quantgroups.com/lodash.get/-/lodash.get-4.4.2.tgz", "resolved": "http://npmprivate.quantgroups.com/lodash.get/-/lodash.get-4.4.2.tgz",
...@@ -17878,6 +17944,11 @@ ...@@ -17878,6 +17944,11 @@
"p-limit": "^2.0.0" "p-limit": "^2.0.0"
} }
}, },
"p-map": {
"version": "2.1.0",
"resolved": "http://npmprivate.quantgroups.com/p-map/-/p-map-2.1.0.tgz",
"integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw=="
},
"p-try": { "p-try": {
"version": "2.2.0", "version": "2.2.0",
"resolved": "http://npmprivate.quantgroups.com/p-try/-/p-try-2.2.0.tgz", "resolved": "http://npmprivate.quantgroups.com/p-try/-/p-try-2.2.0.tgz",
...@@ -19451,6 +19522,24 @@ ...@@ -19451,6 +19522,24 @@
"strip-indent": "^1.0.1" "strip-indent": "^1.0.1"
} }
}, },
"redis-commands": {
"version": "1.7.0",
"resolved": "http://npmprivate.quantgroups.com/redis-commands/-/redis-commands-1.7.0.tgz",
"integrity": "sha512-nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ=="
},
"redis-errors": {
"version": "1.2.0",
"resolved": "http://npmprivate.quantgroups.com/redis-errors/-/redis-errors-1.2.0.tgz",
"integrity": "sha1-62LSrbFeTq9GEMBK/hUpOEJQq60="
},
"redis-parser": {
"version": "3.0.0",
"resolved": "http://npmprivate.quantgroups.com/redis-parser/-/redis-parser-3.0.0.tgz",
"integrity": "sha1-tm2CjNyv5rS4pCin3vTGvKwxyLQ=",
"requires": {
"redis-errors": "^1.0.0"
}
},
"reflect-metadata": { "reflect-metadata": {
"version": "0.1.13", "version": "0.1.13",
"resolved": "http://npmprivate.quantgroups.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz", "resolved": "http://npmprivate.quantgroups.com/reflect-metadata/-/reflect-metadata-0.1.13.tgz",
...@@ -20736,6 +20825,11 @@ ...@@ -20736,6 +20825,11 @@
"resolved": "http://npmprivate.quantgroups.com/stack-trace/-/stack-trace-0.0.10.tgz", "resolved": "http://npmprivate.quantgroups.com/stack-trace/-/stack-trace-0.0.10.tgz",
"integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=" "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA="
}, },
"standard-as-callback": {
"version": "2.1.0",
"resolved": "http://npmprivate.quantgroups.com/standard-as-callback/-/standard-as-callback-2.1.0.tgz",
"integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A=="
},
"static-extend": { "static-extend": {
"version": "0.1.2", "version": "0.1.2",
"resolved": "http://npmprivate.quantgroups.com/static-extend/-/static-extend-0.1.2.tgz", "resolved": "http://npmprivate.quantgroups.com/static-extend/-/static-extend-0.1.2.tgz",
......
...@@ -3,7 +3,8 @@ ...@@ -3,7 +3,8 @@
"version": "0.0.1", "version": "0.0.1",
"description": "低代码平台", "description": "低代码平台",
"scripts": { "scripts": {
"start": "egg-scripts start --port 80", "start": "egg-scripts start --port 9050",
"test": "egg-scripts start --port 80 --workers 1",
"stop": "egg-scripts stop", "stop": "egg-scripts stop",
"backend": "nohup egg-scripts start --port 7001 --workers 4", "backend": "nohup egg-scripts start --port 7001 --workers 4",
"dev": "egg-bin dev -r egg-ts-helper/register", "dev": "egg-bin dev -r egg-ts-helper/register",
...@@ -13,7 +14,7 @@ ...@@ -13,7 +14,7 @@
"clean": "ets clean", "clean": "ets clean",
"kill": "easy kill", "kill": "easy kill",
"lint": "tslint --project . -c tslint.json", "lint": "tslint --project . -c tslint.json",
"fix": "tslint --fix --project . -c tslint.json 'app/web/**/*{.ts}'", "fix": "tslint --fix --project . -c tslint.json 'app/**/*{.ts}'",
"ii": "npm install --registry https://registry.npm.taobao.org", "ii": "npm install --registry https://registry.npm.taobao.org",
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s" "changelog": "conventional-changelog -p angular -i CHANGELOG.md -s"
}, },
...@@ -23,8 +24,8 @@ ...@@ -23,8 +24,8 @@
"@easy-team/easywebpack-cli": "^4.0.0", "@easy-team/easywebpack-cli": "^4.0.0",
"@easy-team/easywebpack-vue": "^4.0.0", "@easy-team/easywebpack-vue": "^4.0.0",
"@hubcarl/json-typescript-mapper": "^2.0.0", "@hubcarl/json-typescript-mapper": "^2.0.0",
"@qg/cherry-ui": "^2.20.3", "@qg/cherry-ui": "^2.20.6",
"@qg/citrus-ui": "0.0.42", "@qg/citrus-ui": "0.0.43",
"@riophae/vue-treeselect": "^0.4.0", "@riophae/vue-treeselect": "^0.4.0",
"@types/lodash": "^4.14.117", "@types/lodash": "^4.14.117",
"@types/node": "^10.12.0", "@types/node": "^10.12.0",
...@@ -35,6 +36,7 @@ ...@@ -35,6 +36,7 @@
"egg": "^2.3.0", "egg": "^2.3.0",
"egg-bin": "^4.9.0", "egg-bin": "^4.9.0",
"egg-cors": "^2.1.1", "egg-cors": "^2.1.1",
"egg-redis": "^2.4.0",
"egg-scripts": "^2.10.0", "egg-scripts": "^2.10.0",
"egg-sequelize-ts": "^0.2.3-0", "egg-sequelize-ts": "^0.2.3-0",
"egg-ts-helper": "^1.13.0", "egg-ts-helper": "^1.13.0",
......
// This file is created by egg-ts-helper@1.25.8
// Do not modify this file!!!!!!!!!
import 'egg';
type AnyClass = new (...args: any[]) => any;
type AnyFunc<T = any> = (...args: any[]) => T;
type CanExportFunc = AnyFunc<Promise<any>> | AnyFunc<IterableIterator<any>>;
type AutoInstanceType<T, U = T extends CanExportFunc ? T : T extends AnyFunc ? ReturnType<T> : T> = U extends AnyClass ? InstanceType<U> : U;
import ExportRedis from '../../../app/service/redis';
declare module 'egg' {
interface IService {
redis: AutoInstanceType<typeof ExportRedis>;
}
}
...@@ -17,6 +17,7 @@ import 'egg-view'; ...@@ -17,6 +17,7 @@ import 'egg-view';
import 'egg-cors'; import 'egg-cors';
import 'egg-view-vue-ssr'; import 'egg-view-vue-ssr';
import 'egg-sequelize-ts'; import 'egg-sequelize-ts';
import 'egg-redis';
import 'egg-webpack'; import 'egg-webpack';
import 'egg-webpack-vue'; import 'egg-webpack-vue';
import { EggPluginItem } from 'egg'; import { EggPluginItem } from 'egg';
...@@ -37,6 +38,7 @@ declare module 'egg' { ...@@ -37,6 +38,7 @@ declare module 'egg' {
cors?: EggPluginItem; cors?: EggPluginItem;
vuessr?: EggPluginItem; vuessr?: EggPluginItem;
sequelize?: EggPluginItem; sequelize?: EggPluginItem;
redis?: EggPluginItem;
webpack?: EggPluginItem; webpack?: EggPluginItem;
webpackvue?: EggPluginItem; webpackvue?: EggPluginItem;
} }
......
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