Rong.Volo.Abp.CodeGenerator.Vue
8.2.2
dotnet add package Rong.Volo.Abp.CodeGenerator.Vue --version 8.2.2
NuGet\Install-Package Rong.Volo.Abp.CodeGenerator.Vue -Version 8.2.2
<PackageReference Include="Rong.Volo.Abp.CodeGenerator.Vue" Version="8.2.2" />
paket add Rong.Volo.Abp.CodeGenerator.Vue --version 8.2.2
#r "nuget: Rong.Volo.Abp.CodeGenerator.Vue, 8.2.2"
// Install Rong.Volo.Abp.CodeGenerator.Vue as a Cake Addin #addin nuget:?package=Rong.Volo.Abp.CodeGenerator.Vue&version=8.2.2 // Install Rong.Volo.Abp.CodeGenerator.Vue as a Cake Tool #tool nuget:?package=Rong.Volo.Abp.CodeGenerator.Vue&version=8.2.2
1.在你的 AbpModule 中 依赖 RongVoloAbpCodeGeneratorVueModule 模块
[DependsOn(
……
//代码生成模块
typeof(RongVoloAbpCodeGeneratorVueModule)
……
)]
public class YourModule : AbpModule
2.特殊组件 和 特性
VueBoolAttribute:bool 组件
VueDictionaryAttribute: 字典组件
VueEditorAttribute:编辑器组件
VueEnumAttribute:枚举组件
VueFileAttribute:文件组件
VueTableSorterAttribute:table是否排序组件
VueTextareaAttribute:内容输入组件
VueValueNameAttribute:对象点拼接显示的属性名称, 如 student.name
VueComponentAttribute: 使用组件
针对 枚举下拉组件,字典下拉组件,bool 下拉组件,文件上传组件,文件预览组件,编辑器 组件,可通过 CodeGeneratorVueOptions 配置来指定,不指定则使用默认组件:
//vue代码生成器
Configure<RongVoloAbpCodeGeneratorVueOptions>(options =>
{
//Ant 的 Tabled 的 DataIndex 嵌套模式:。默认 Array
//2.x 版本 为 a.b.c
//3.x,4.x 版本 为 ['a','b','c']
options.AntTabledDataIndexMode = AntTabledDataIndexModeEnum.Array;
//Vben 组件替换
options.ComponentMapForVben = new();
//枚举Select
options.EnumSelectComponent = "MyEnumSelect";
options.EnumSelectComponentProp = "code";
//枚举Radio
options.EnumRadioComponent = "MyEnumRadio";
options.EnumRadioComponentProp = "code";
//枚举Checkbox
options.EnumCheckboxComponent = "MyEnumCheckbox";
options.EnumCheckboxComponentProp = "code";
//字典Select
options.DictionarySelectComponent = "MyDictSelect";
options.DictionarySelectComponentProp = "code";
//字典Radio
options.DictionaryRadioComponent = "MyDictRadio";
options.DictionaryRadioComponentProp = "code";
//字典Checkbox
options.DictionaryCheckboxComponent = "MyDictCheckbox";
options.DictionaryCheckboxComponentProp = "code";
//bool
options.BoolSelectComponent = "MyBoolSelect";
options.BoolRadioComponent = "MyBoolRadio";
//文件上传
options.FileUploadComponent = "MyUploadFile";
//图片上传
options.ImageUploadComponent = "MyUploadFile";
//文件预览
options.FilePreviewComponent = "MyFileViewList";
options.FilePreviewComponentProp = "fileList";
//图片预览
options.ImagePreviewComponent = "MyImagePreview";
options.ImagePreviewComponentProp = "fileId";
//编辑器
options.EditorComponent = "MyEditor";
});
3.使用
依赖注入 RongVoloAbpCodeGeneratorVueStore 来生成
例子:创建如下控制器,运行 http://localhost:端口/codevue/go ,返回 ok 则生成成功
public class CodeVueController : AbpController
{
private readonly RongVoloAbpCodeGeneratorVueStore _codeGeneratorStore;
public CodeVueController(RongVoloAbpCodeGeneratorVueStore codeGeneratorStore)
{
_codeGeneratorStore = codeGeneratorStore;
}
/// <summary>
/// 代码生成 - 方式1
/// </summary>
/// <returns></returns>+
public async Task<ActionResult> GoAsync()
{
List<TemplateVueModel> list = new List<TemplateVueModel>();
var entitys = typeof(CodeGeneratorDomainModule).Assembly.GetTypes()
.Where(x => typeof(IEntity).IsAssignableFrom(x));
var dtos = typeof(CodeGeneratorApplicationContractsModule).Assembly.GetTypes();
foreach (var entity in entitys)
{
var name = entity.Name;
var displayName = entity.GetCustomAttribute<DisplayAttribute>()?.Name ?? name;
var page = dtos.FirstOrDefault(a => a.Name == $"{name}PageOutput");
var search = dtos.FirstOrDefault(a => a.Name == $"{name}PageSearchInput");
var create = dtos.FirstOrDefault(a => a.Name == $"{name}CreateInput");
var update = dtos.FirstOrDefault(a => a.Name == $"{name}UpdateInput");
var detail = dtos.FirstOrDefault(a => a.Name == $"{name}DetailOutput");
var permission = dtos.FirstOrDefault(a => a.Name == $"{name}Permissions");
string? permissionGroup = permission?.GetField("GroupName")?.GetValue(null)?.ToString();
list.Add(new TemplateVueModel(name, displayName, new TemplateVueModelType()
{
SearchType = search,
PageType = page,
DetailType = detail,
CreateType = create,
UpdateType = update,
}, permissionGroup));
}
//开始生成
await _codeGeneratorStore.StartAsync(list, CodeGeneratorRemoteServiceConsts.RootPath, "E:\\MY\\Rong.CodeGenerator\\vue\\vben_demo", new []{"app"});
return Content("ok");
}}
/// <summary>
/// 代码生成 - 方式二
/// </summary>
/// <returns></returns>+
public async Task<ActionResult> GoAsync()
{
//开始生成
await _codeGeneratorStore.StartAsync(typeof(IEntity),
typeof(CodeGeneratorDomainModule),
typeof(CodeGeneratorApplicationContractsModule),
CodeGeneratorRemoteServiceConsts.RootPath,
"E:\\MY\\Rong.CodeGenerator\\vue\\vben_demo",
//要忽略生成的实体
new []{typeof(App)});
return Content("ok");
}
}
4. 页面位置和命名
1.生成的页面文件在 src/views/ 下,以“小驼峰实体名”为文件夹名:
新增页:add.vue
修改页:modify.vue
主页:index.vue
详情页:detail.vue
详情弹框页: detailDrawer.vue
api接口:api.ts
2.路由: 在src/router/routes/modules/ 下,以“小驼峰实体名”命名:
xxx.ts
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Volo.Abp.TextTemplating.Razor (>= 8.2.2)
-
.NETStandard 2.1
- Volo.Abp.TextTemplating.Razor (>= 8.2.2)
-
net8.0
- Volo.Abp.TextTemplating.Razor (>= 8.2.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated | |
---|---|---|---|
8.2.2 | 115 | 9/3/2024 | |
8.2.1 | 123 | 8/15/2024 | |
8.2.0 | 123 | 8/6/2024 | |
8.1.2 | 106 | 9/3/2024 | |
8.1.1 | 126 | 8/15/2024 | |
8.1.0 | 102 | 8/6/2024 | |
8.0.2 | 114 | 9/3/2024 | |
8.0.1 | 119 | 8/15/2024 | |
8.0.0 | 98 | 8/6/2024 | |
7.4.2 | 97 | 9/3/2024 | |
7.4.1 | 129 | 8/15/2024 | |
7.4.0 | 98 | 8/6/2024 | |
7.3.2 | 103 | 9/3/2024 | |
7.3.1 | 119 | 8/15/2024 | |
7.3.0 | 96 | 8/6/2024 | |
7.2.2 | 104 | 9/3/2024 | |
7.2.1 | 120 | 8/15/2024 | |
7.2.0 | 102 | 8/6/2024 | |
7.1.2 | 107 | 9/3/2024 | |
7.1.1 | 126 | 8/15/2024 | |
7.1.0 | 102 | 8/6/2024 | |
7.0.2 | 108 | 9/3/2024 | |
7.0.1 | 128 | 8/15/2024 | |
7.0.0 | 100 | 8/6/2024 | |
6.0.2 | 105 | 9/3/2024 | |
6.0.1 | 115 | 8/15/2024 | |
6.0.0 | 103 | 8/6/2024 | |
5.3.2 | 101 | 9/3/2024 | |
5.3.1 | 122 | 8/15/2024 | |
5.3.0 | 100 | 8/6/2024 | |
5.2.2 | 105 | 9/3/2024 | |
5.2.1 | 124 | 8/15/2024 | |
5.2.0 | 100 | 8/6/2024 | |
5.1.2 | 98 | 9/3/2024 | |
5.1.1 | 130 | 8/15/2024 | |
5.1.0 | 95 | 8/6/2024 | |
5.0.2 | 114 | 9/3/2024 | |
5.0.1 | 131 | 8/15/2024 | |
5.0.0 | 97 | 8/6/2024 | |
0.3.20 | 90 | 8/3/2024 | |
0.3.19 | 83 | 8/3/2024 | |
0.3.18 | 84 | 8/3/2024 | |
0.3.17 | 71 | 7/31/2024 | |
0.3.15 | 96 | 7/25/2024 | |
0.3.14 | 96 | 7/25/2024 | |
0.3.13 | 82 | 7/25/2024 | |
0.3.12 | 85 | 7/25/2024 | |
0.3.11 | 91 | 7/25/2024 | |
0.3.10 | 117 | 7/24/2024 | |
0.3.9 | 102 | 7/24/2024 | |
0.3.8 | 121 | 7/23/2024 | |
0.3.7 | 121 | 7/23/2024 | |
0.3.6 | 116 | 7/23/2024 | |
0.3.5 | 121 | 7/22/2024 | |
0.3.4 | 115 | 7/22/2024 | |
0.3.3 | 134 | 7/22/2024 | |
0.3.2 | 111 | 7/18/2024 | |
0.3.1 | 107 | 7/16/2024 | |
0.3.0 | 112 | 7/9/2024 | |
0.2.6 | 111 | 7/4/2024 | |
0.2.5 | 112 | 7/3/2024 | |
0.2.4 | 119 | 6/28/2024 | |
0.2.3 | 114 | 6/28/2024 |