Giter VIP home page Giter VIP logo

colder.admin.antdvue's People

Contributors

coldairarrow avatar giant150 avatar kevin100702 avatar lybing avatar shawdren avatar zeje avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

colder.admin.antdvue's Issues

布尔值

数据库里的布尔值类型为tinyint(4)的时候,API出现
"Msg": "Operator '=' incompatible with operand types 'SByte' and 'Boolean'",
是不是生成的时候Map有错误?

怎么查询表中包含Deleted=true的数据?

代码中,全局业务仓储类,里面查询表中数据,都默认是Deleted=false的数据,请问怎么能够过滤掉这个条件。

        public IQueryable GetIQueryable(Type type)
        {
            var q = _db.GetIQueryable(type);
            if (NeedLogicDelete(type))
            {
                q = q.Where($"{Deleted} = @0", false);
            }

            return q;
        }

有2個建議,希望能支持一下

  1. appsettings.Development.json 能支持這個配置文件,這樣方式調試時,使用不同的數據庫地址
    我目前在使用Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT"); 判斷環境來達到此目的,不知道方法可好。不過再更新代碼時,這些都會被替換,不太方便。

2.GlobalSwitch.cs 文件中public static readonly DatabaseType DatabaseType = DatabaseType.MySql;
这个数据库类型,是否考虑放在appsettings.json文件中呢?更新代碼時,這些都被替換了。

后端JsonParamter拦截器报错导致进不了接口的断点,注释JsonParamter拦截器可进断点

前端:
var bannerpic = [1, 2, 3]
var params = {
bannerpic: bannerpic
}
this.$http.post('/ArticleManage/Article_Info/AddData', params).then(resJson => {
if (resJson.Success) {
this.$message.success('操作成功!')
this.visible = false
} else {
this.$message.error(resJson.Msg)
}

F12查看
Content-Type: application/json
RequsetPayload参数:
bannerpic: [1, 2, 3]

报错:在JsonParamter拦截器阶段报错
在Extention.Object.cs下的ChangeType_ByConvert()方法第245行
▶ | $exception | {"Invalid cast from 'System.String' to 'System.Collections.Generic.List`1[[Coldairarrow.Util.PicDTO, Coldairarrow.Util, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]]'."} | System.InvalidCastException

使用ApiPermission检查权限,当没有相应权限时,context返回异常

如题,不会返回自定义的msg( context.Result = Error("权限不足!");),日志:
1层错误:
消息:
If an IAsyncActionFilter provides a result value by setting the Result property of ActionExecutingContext to a non-null value, then it cannot call the next filter by invoking ActionExecutionDelegate.
位置:
at Coldairarrow.Api.BaseActionFilterAsync.OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next) in D:\Learn\DotnetCore\Colder.Admin\src\Coldairarrow.Api\00Filter\BaseActionFilterAsync.cs:line 21

数据库使用 Heroku 的 PostgreSQL 时碰到问题

HeroKu 是一个云端託管平台,有提供免费的方案的 PostgreSQL 使用
我想要使用这个平台来做为线上测试的平台并且暂时使用他的 PostgreSQL

以下是我的问题描述与我所做的更动,想请教是否有没注意的程式逻辑,亦感谢大佬开源出如此好用的框架造福大家

我连接本地计算机上 PostgreSQL 运作正常,但当我使用了 HeroKu PostgreSQL 时出现了错误
我依照了网路上的 教学 修改了

Colder.Admin.AntdVue\src\Coldairarrow.DataRepository\DbFactory.cs 行 61

case DatabaseType.PostgreSql: builder.UseNpgsql(dbConnection, optionBuilder =>
{
    optionBuilder.RemoteCertificateValidationCallback((sender, certificate, 
    chain, errors) => true);
}); break;

Colder.Admin.AntdVue\src\Coldairarrow.Api\appsettings.json

"BaseDb": " {---连接字串---};sslmode=Require;"

但依然於 Coldairarrow.DataRepository -> BaseDbContext ->SaveChanges() 行29 出現以下問題

System.Security.Authentication.AuthenticationException: 'The remote certificate is invalid according to the validation procedure.

如有不够充足的问题描述请不吝告知,定补上也希望大佬帮帮萌新解惑

试用了一下很好很强大,但是有个小小的建议

目前大部分netcorer的项目应该都是(也有可能是我见识短浅)Code First的吧,自动升成代码的确不错,但是要是可以基于codefirst进行生成就好了,比如根据codefirst ef自动生成数据库,然后通过框架生成代码并且不覆盖手写的ef实体

多数据库操作下EFCore.Sharding报错

在添加了一个库后使用新增的ItestRepository,
public interface ItestRepository : IRepository { }
startup新增注册代码:
config.UseDatabase<ItestRepository>(Configuration.GetConnectionString("XBRLDb"), Configuration["DatabaseType"].ToEnum<DatabaseType>());
运行程序,操作一个数据修改保存后,就会在EFCore.Sharding.DistributedTransaction这里
public async Task BeginTransactionAsync(IsolationLevel isolationLevel) { OpenTransaction = true; _isolationLevel = isolationLevel; foreach (var aRepository in _repositories) { await (aRepository as IInternalTransaction).BeginTransactionAsync(isolationLevel); } }
循环两个Repository执行,第二次则会报错。
System.NullReferenceException:“Object reference not set to an instance of an object.” (... as EFCore.Sharding.IInternalTransaction) 返回 null。

完善代码

非常好的开发模板!
这里是不是忘记添加代码实现了:
public async Task UpdateAnyAsync(List entities, List properties) where T : class, new()
{
return await UpdateAnyAsync(entities, properties);
}
另外,可否尝试添加AsNoTracking。

await q.Where(where).ToListAsync() 报错

q是IQueryable<Article_Info>类型

  • return await q.Where(where).GetPagination(pagination).ToListAsync();--能正常返回数据
  • return await q.Where(where).ToListAsync(); --报错

报错信息
The source IQueryable doesn't implement IAsyncEnumerable<Coldairarrow.Entity.ArticleManage.Article_Info>. Only sources that implement IAsyncEnumerable can be used for Entity Framework asynchronous operations.

升级前端报错

yarn upgrade后,报错,
ERROR Failed to compile with 1 errors 上午11:47:09

error in ./src/utils/routerUtil.js

Module build failed (from ./node_modules/@vue/cli-plugin-eslint/node_modules/eslint-loader/index.js):

file encoding

Can you fix page encoding for some pages under 04Business/Business_Manage.

this.$http.post()如何手动定义请求的content-type

我折腾了好久, 发现框架里post请求的this.$http.post()是在axios-plugin.js进行封装的(里面自动携带token、rootUrl、axios拦截回调等功能),也就是说发送post请求得用this.$http.post()。
但是经过我多次测试,发现
1、如果post里传的参数是序列化后的对象(即Json.stringif),那么F12查看header头里的Content-type会变成application/x-www-form-urlencoded
2、如果post里传的参数是json对象(不序列化),Content-type 自动变为application/json

Content-type的不同对后台接口有较大影响。我的接口参数定义的是实体类的话就必须满足下面两种情况的任意一种:
1、contentType为application/json,则必须要传递序列化过的对象;
2、application/x-www-form-urlencoded,则前端直接传递json类型的对象即可。

但是这两种都和现有的测试结果正好相反,也就是说无法满足 application/json--序列化 或application/x-www-form-urlencoded-- Json对象。

解决思路:1、可否在不全局修改content-type情况下 指定某个 this.$http.post()是何种content-type,我在网上看到 .ajax{}和.axios是可以指定content-type的,但是这个this.$http.post()网上说在后面加 emulateJSON: true,经过测试没有任何作用,还是自动变换content-type,并且emulateJSON: true是vue-resource里的属性,我全局搜索项目没发现vue-resource的代码
2、可否满足像我上面说的两种情况一样,根据传的参数的对象不同,自动变化Content-Type(本框架确实实现了,但是和我想要的结果正好相反,我不清楚它是如何自动根据参数来变换Content-Type的)

附上我参考的博客:https://www.cnblogs.com/landeanfen/p/5337072.html#_label4

user扩展

你好!
想添加更多的用户属性,是加一个和base user一对一新表呢? 还是直接base user上添加属性?
你能不能做更多的例子?

IdentityServer4

不知作者有没有打算要集成IdentityServer4进来呢

实体映射

当表存在多个主键的时候 实体多个字段加上特性key,映射失败

前端分页问题!!!

目前测试发现前端自定义排序字段的时候,会覆盖,并且为空,默认变成ID.
定义有问题,这样就不如不定义sorter,反正会覆盖
sorter: { field: 'CreateTime', order: 'desc' },
handleTableChange(pagination, filters, sorter) {
this.pagination = { ...pagination }
this.filters = { ...filters }
//this.sorter = { ...sorter } ????=Object.assign(this.sorter, { ...sorter })
this.getDataList()
}

建议表模型多设计几种

在另个开源项目里面发现的设计方式:
1、TopBasePoco是框架所有模型的基类,它只定义了一个Guid的主键,所有其他模型都必须直接或间接继承TopBasePoco,否则框架的其他自动化操作无法执行。
2、BasePoco是框架所有内置模型的基类,它在TopBasePoco的基础上增加了创建人,修改人,创建时间和修改时间四个字段,对于大多数模型,这些字段都是需要的,建议用户自定义的模型都继承BasePoco。
3、PersistPoco在BasePoco的基础上增加了IsValid字段,指示框架对这类模型进行假删除。

这个项目里面给了3种表模型,希望本项目也能更灵活点。

5.7.30 MySQL Community Server报错

//MySQl "BaseDb": "server=localhost;user id=root;password=xxxx;persistsecurityinfo=True;database=colderadmin;SslMode=none"
使用MySQL后,先是不认识SslMode参数,去掉SslMode后,登陆执行,数据库访问失败
{ "Success": false, "ErrorCode": 0, "Msg": "A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)" }
数据库中已经导入了MySQL.sql文件
`
mysql> use colderadmin;
Database changed
mysql> show tables;
+-----------------------+
| Tables_in_colderadmin |
+-----------------------+
| base_action |
| base_appsecret |
| base_buildtest |
| base_dblink |
| base_department |
| base_log |
| base_role |
| base_roleaction |
| base_user |
| base_userlog |
| base_userrole |
+-----------------------+
11 rows in set (0.00 sec)

mysql>
`

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.