Files
Developer 0b3d8b6be6 Initial commit: Integral Shop CRMEB Project
Backend: Spring Boot 2.2.6 + MyBatis Plus
- crmeb-admin: Admin API module
- crmeb-service: Business logic
- crmeb-common: Common utilities
- crmeb-front: Frontend API

Frontend: Vue 2.6.10 + Element UI 2.13.0
- Admin management system
- 454 Vue components

Analyzed by Miao Agent on 2026-02-28
Project Score: 5.5/10
Security: High Risk (JWT bypass, API over-permission)
2026-02-28 04:10:52 +08:00

56 lines
1.2 KiB
JavaScript

const { notEmpty } = require('../utils.js')
module.exports = {
description: 'generate vue component',
prompts: [{
type: 'input',
name: 'name',
message: 'component name please',
validate: notEmpty('name')
},
{
type: 'checkbox',
name: 'blocks',
message: 'Blocks:',
choices: [{
name: '<wxTemplate>',
value: 'template',
checked: true
},
{
name: '<script>',
value: 'script',
checked: true
},
{
name: 'style',
value: 'style',
checked: true
}
],
validate(value) {
if (value.indexOf('script') === -1 && value.indexOf('template') === -1) {
return 'Components require at least a <script> or <wxTemplate> tag.'
}
return true
}
}
],
actions: data => {
const name = '{{properCase name}}'
const actions = [{
type: 'add',
path: `src/components/${name}/index.vue`,
templateFile: 'plop-templates/component/index.hbs',
data: {
name: name,
template: data.blocks.includes('template'),
script: data.blocks.includes('script'),
style: data.blocks.includes('style')
}
}]
return actions
}
}