feat: 大屏
This commit is contained in:
5
plop/plopfile.js
Normal file
5
plop/plopfile.js
Normal file
@@ -0,0 +1,5 @@
|
||||
const storeGenerator = require('./store-template/prompt')
|
||||
|
||||
module.exports = (plop) => {
|
||||
plop.setGenerator('store', storeGenerator)
|
||||
}
|
||||
3
plop/store-template/index.d.hbs
Normal file
3
plop/store-template/index.d.hbs
Normal file
@@ -0,0 +1,3 @@
|
||||
export interface {{upperDataName}}StoreType {
|
||||
|
||||
}
|
||||
11
plop/store-template/index.hbs
Normal file
11
plop/store-template/index.hbs
Normal file
@@ -0,0 +1,11 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { {{upperDataName}}StoreType } from './{{name}}Store.d'
|
||||
import { setLocalStorage, getLocalStorage } from '@/utils'
|
||||
import { StorageEnum } from '@/enums/storageEnum'
|
||||
|
||||
export const use{{upperDataName}}Store = defineStore({
|
||||
id: 'use{{upperDataName}}Store',
|
||||
state: (): {{upperDataName}}StoreType => ({}),
|
||||
getters: {},
|
||||
actions: {}
|
||||
})
|
||||
45
plop/store-template/prompt.js
Normal file
45
plop/store-template/prompt.js
Normal file
@@ -0,0 +1,45 @@
|
||||
module.exports = {
|
||||
description: 'create a store',
|
||||
prompts: [
|
||||
{
|
||||
type: 'input',
|
||||
name: 'name',
|
||||
message: 'Please enter store name,such as "newStoreName" :',
|
||||
validate (value) {
|
||||
if (!value || value.trim === '') {
|
||||
return 'name is required';
|
||||
}
|
||||
return true;
|
||||
},
|
||||
}
|
||||
],
|
||||
actions: (data) => {
|
||||
const dataName = data.name
|
||||
|
||||
// 首字母大写
|
||||
const upperDataName = dataName.slice(0, 1).toUpperCase() + dataName.slice(1)
|
||||
|
||||
const actions = [
|
||||
{
|
||||
type: 'add',
|
||||
path: `${process.cwd()}/src/store/modules/${dataName}Store/${dataName}Store.ts`, // 这里的name就是上面定义的键
|
||||
templateFile: './store-template/index.hbs',
|
||||
data: {
|
||||
name: data.name,
|
||||
upperDataName,
|
||||
}
|
||||
},
|
||||
{
|
||||
type: 'add',
|
||||
path: `${process.cwd()}/src/store/modules/${dataName}Store/${dataName}Store.d.ts`, // 这里的name就是上面定义的键
|
||||
templateFile: './store-template/index.d.hbs',
|
||||
data: {
|
||||
name: data.name,
|
||||
upperDataName,
|
||||
}
|
||||
},
|
||||
]
|
||||
|
||||
return actions
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user