心雨纷扬的博客

一个简单的博客

Abp vNext 学习第四弹 - 图书增删改查

参考上一篇 :Abp vNext 学习(3).

新增图书

你将会了解如何创建一个 modal form 实现新增书籍的功能. model dialog将如下图所示:

New book

阅读全文 »

Abp vNext 学习第三弹 - 图书列表

参考上一篇 :Abp vNext 学习(2).

动态JavaScript代理

JavaScript 端通过AJAX调用HTTP API端点是常见的做法. 你可以使用 $.ajax 或其他工具来调用端点. 但是ABP提供了更好的方法.

ABP动态为所有API端点创建 JavaScript代理. 所以你可以像调用Javascript本地方法一样使用任何端点.

在开发者控制台中进行测试

你可以在自己喜欢的浏览器的开发者控制台轻松的测试JavaScript代理. 运行应用程序,打开浏览器的开发者人员工具(快捷键通常是F12),切换到控制台选项卡,输入以下代码然后按回车:

阅读全文 »

Abp vNext 学习第二弹 - 创建服务端

创建解决方案

参考上一篇 :Abp vNext 学习(1).

创建书籍实体

启动模板中的领域层分为两个项目:

  • Acme.BookStore.Domain包含你的实体, 领域服务和其他核心域对象.
  • Acme.BookStore.Domain.Shared包含可与客户共享的常量,枚举或其他域相关对象.

在解决方案的领域层(Acme.BookStore.Domain项目)中定义你的实体.

该应用程序的主要实体是Book. 在Acme.BookStore.Domain项目中创建一个 Books 文件夹(命名空间),并在其中添加名为 Book 的类,如下所示:

阅读全文 »

Abp vNext 学习第一弹

在本系列教程中, 你将构建一个名为 Acme.BookStore 的用于管理书籍及其作者列表的基于ABP的应用程序. 它是使用以下技术开发的:

  • Entity Framework Core 做为数据库提供程序.
  • MVC / Razor Pages 做为UI框架.

先决条件

开发计算机上应安装以下工具:

一个集成开发环境 (比如: Visual Studio) 它需要支持 .NET 7.0+ 的开发.

Node v16 或 v18

Yarn v1.20+ (不是v2) 1 或 npm v6+ (已跟随Node一起安装)

Redis (启动解决方案使用 Redis 作为 分布式缓存).

安装 Abp CLI

dotnet tool install -g Volo.Abp.Cli

Abp Cli

创建新项目

abp new Acme.BookStore -dbms MYSQL -cs 'Server=xyfy-out.mysql.rds.aliyuncs.com;Database=Acme;User Id=dev;Password=Dzd@2020'

数据库连接字符串仅供参考,实际不能访问。

tiered结构 abp new Acme.BookStore --tiered

阅读全文 »

更改wsl2的存储位置(以docker,Ubuntu为例)

docker

  1. 退出docker

  2. 查看docker挂载信息wsl --list -v

  3. 导出、注销、导入docker-data,其中需要建立对应文件夹wsl\docker-data,wsl\docker,wsl\docker-

    1
    2
    3
    wsl --export docker-desktop-data "E:\wsl\wsl-data\docker-desktop-data.tar"
    wsl --unregister docker-desktop-data
    wsl --import docker-desktop-data "E:\wsl\docker\data" "E:\wsl\wsl-data\docker-desktop-data.tar" --version 2
  4. 导出、注销、导入docker-desktop

    1
    2
    3
    4
    wsl --export docker-desktop "E:\wsl\wsl-data\docker-desktop.tar"
    wsl --unregister docker-desktop
    wsl --import docker-desktop "E:\wsl\docker\desktop" "E:\wsl\wsl-data\docker-desktop.tar" --version 2

阅读全文 »

Gitlab EE安装与破解

安装

设置卷的路径

在设置其他所有内容之前,配置指向配置、日志和数据文件所在的目录的新环境变量。确保目录存在并授予适当的权限。$GITLAB_HOME

linux用户设置为/srv/gitlab

1
export GITLAB_HOME=/srv/gitlab
阅读全文 »

Deploy in Ubuntu –dev

System Init

阿里云上的ECS

数据盘挂载【按需操作】

1
2
3
4
5
6
7
$ sudo apt update
$ sudo apt upgrade -y
$ sudo apt autoremove
$ sudo fdisk -l
# 执行命令后,如果不存在/dev/vdb,表示您的实例没有数据盘。确认数据盘是否已挂载。
$ sudo fdisk -u /dev/vdb # 执行后输入n开始新分区,后续均可回车使用默认值,最后输入 w 保存

阅读全文 »

vscode 插件列表 推荐

  • auto-close-tag
  • Auto Rename Tag
  • eslint 代码格式校验
  • githistory git工具
  • gitlens 强大的git工具
  • guides 代码指南
  • prettier 代码格式化
  • todo-highlight TODO高亮工具
  • vetur vue感知++
  • vscode intellicode

通用枚举遍历

如果你确认你的枚举类型是 int32,可以使用以下方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

/// <summary>
/// 将一个指定的枚举定义(Int)转换成集合对象.
/// </summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
public static void ToList<T>() where T:Enum
{
Array datas = Enum.GetValues(typeof(T));

for (var i = 0; i < datas.Length; i++)
{
object value = datas.GetValue(i);
Console.WriteLine("{0,-9} {1}", value + ":",
(int)value);
//需要注意的是这里的强转(int)value ,所以这里需要你事先确认枚举基础类型,如果是byte,此处会抛出异常
}
}

阅读全文 »