Compare commits

..

10 Commits

Author SHA1 Message Date
chenchun
3e18af626b Update README.md 2022-05-29 16:56:46 +08:00
chenchun
89dd5b79d6 Merge branch 'sqlsugar-dev' into sqlsugar 2022-05-29 16:56:11 +08:00
chenchun
356f71f13e 添加高级保存及查询排序方式 2022-05-29 16:56:02 +08:00
橙子
2f5d71a299 Merge branch 'sqlsugar-dev' into sqlsugar 2022-05-28 10:32:50 +08:00
橙子
b581c12edb 实体更改使用newjson 2022-05-28 10:32:12 +08:00
橙子
d4d6aeb0b4 Update README.md 2022-05-25 23:18:31 +08:00
橙子
77114e6cfc Merge branch 'sqlsugar-dev' into sqlsugar 2022-05-22 20:58:26 +08:00
橙子
e14a078440 修复了前端用户信息更新存储的bug 2022-05-22 20:58:17 +08:00
橙子
3b38a0d628 完善界面 2022-05-19 23:29:37 +08:00
橙子
927d8cb6c9 Update README.md 2022-05-14 17:51:09 +08:00
10 changed files with 76 additions and 11 deletions

View File

@@ -22,8 +22,7 @@ Yi框架-一套与SqlSugar一样爽的.Net6低代码开源框架。
适合.Net6学习、Sqlsugar学习 、项目二次开发。
集大成者,终究轮子
Yi框架最新版本标签`v1.1.7`,具体版本可以查看标签迭代
Yi框架最新版本标签`v1.1.8`,具体版本可以查看标签迭代
项目与Sqlsugar同步更新但这作者老杰哥代码天天爆肝到凌晨两点我们也尽量会跟上他的脚步。更新频繁所以可watching持续关注。
@@ -97,9 +96,8 @@ WebFirst开发所有代码生成器已经配置完成无需任何操作数
- [x] 支持采用`异步`开发awit/async
- [x] 支持数据库主从`读写分离`
- [x] 支持功能替换,无需改动代码,只需配置`json文件`进行装配即可
- [x] ~~-支持采用DbFirst开发方式使用`T4模板代码生成器`自动映射模型一键生成Service及IService所有代码~~
- [x] 支持WebFirst无需改动代码自动生成全套代码与数据库只需点点点
- [x] ~~-支持`用户-角色-菜单-接口`以及vue2.0前端全部逻辑代码,下载无需修改直接使用~~
- [x] 支持`用户-角色-菜单-接口`以及vue2.0前端全部逻辑代码,下载无需修改直接使用
- [x] 支持`Aop封装`FilterAop、IocAop、LogAop、SqlAop
- [x] 支持`Log4Net日志`记录自动生成至bin目录下的logs文件夹
- [x] 支持`DbSeed数据库种子数据`接入
@@ -115,7 +113,6 @@ WebFirst开发所有代码生成器已经配置完成无需任何操作数
- [x] 支持`Ocelot`网关路由、服务聚合、服务发现、认证、鉴权、限流、熔断、缓存、Header头传递
- [x] 支持`Apollo`全局配置中心;
- [x] 支持`docker`镜像制作
- [x] ~~-支持页面`静态化处理`,将动态页面生成静态页面~~
- [x] 支持`Quartz.net`任务调度,实现任意接口被调度
- [x] 支持`ELK`log4net+kafka+es+logstach+kibana
- [x] 支持`IdentityService4`授权中心
@@ -125,7 +122,7 @@ WebFirst开发所有代码生成器已经配置完成无需任何操作数
- [x] 支持`Docker+k8s`部署
- [x] 支持`Jenkins+CI/CD`
- [x] 支持`AutoMapper`模块映射
- [ ] 支持`微信支付`(没账号)
- [x] 支持`微信支付`
- [x] 支持`单表多租户`常用功能
- [x] 支持`逻辑删除`常用功能
- [x] 支持`操作日志`常用功能

View File

@@ -23,6 +23,12 @@
<param name="registerDto"></param>
<returns></returns>
</member>
<member name="M:Yi.Framework.ApiMicroservice.Controllers.AccountController.Logout">
<summary>
没啥说,登出
</summary>
<returns></returns>
</member>
<member name="M:Yi.Framework.ApiMicroservice.Controllers.AccountController.GetUserAllInfo">
<summary>
通过已登录的用户获取用户信息及菜单

View File

@@ -70,6 +70,10 @@ namespace Yi.Framework.ApiMicroservice.Controllers
return Result.SuccessError("注册失败!用户名已存在!");
}
/// <summary>
/// 没啥说,登出
/// </summary>
/// <returns></returns>
[HttpPost]
public Result Logout()
{

View File

@@ -14,6 +14,7 @@ namespace Yi.Framework.Model.Query
public List<QueryParameter> Parameters { get; set; } = new List<QueryParameter>();
public List<string> OrderBys { get; set; } = new List<string>();
public bool IsAsc { get; set; } = false;
}
public class QueryCondition
@@ -21,5 +22,7 @@ namespace Yi.Framework.Model.Query
public List<QueryParameter> Parameters { get; set; } = new List<QueryParameter>();
public List<string> OrderBys { get; set; } = new List<string>();
public bool IsAsc { get; set; } = false;
}
}

View File

@@ -1,10 +1,10 @@
using Newtonsoft.Json.Converters;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
namespace Yi.Framework.Model.Query

View File

@@ -24,5 +24,6 @@ namespace Yi.Framework.Repository
public Task<List<S>> UseSqlAsync<S>(string sql, object parameters = null);
public Task<bool> UseSqlAsync(string sql, object parameters = null);
ISugarQueryable<T> QueryConditionHandler(QueryCondition pars);
Task<bool> UpdateSuperSaveAsync(T data, Expression<Func<T, object>> columns);
}
}

View File

@@ -144,12 +144,52 @@ namespace Yi.Framework.Repository
{
foreach (var item in pars.OrderBys)
{
query.OrderBy(item.ToSqlFilter());
if (pars.IsAsc)
{
query.OrderBy(item.ToSqlFilter() + " asc");
}
else
{
query.OrderBy(item.ToSqlFilter() + " desc");
}
}
}
return query.Where(sugarParamters);
}
/// <summary>
/// 更新高级保存,验证重复
/// </summary>
/// <param name="list"></param>
/// <param name="columns"></param>
/// <returns></returns>
public async Task<bool> UpdateSuperSaveAsync(T data, Expression<Func<T, object>> columns)
{
var x = _Db.Storageable(data)
.SplitError(it => it.Any())
.SplitUpdate(it => true)
.WhereColumns(columns)//这里用name作为数据库查找条件
.ToStorage();
return await x.AsInsertable.ExecuteCommandAsync() > 0;//插入可插入部分
}
/// <summary>
/// 添加高级保存,验证重复
/// </summary>
/// <param name="list"></param>
/// <param name="columns"></param>
/// <returns></returns>
public async Task<bool> InsertSuperSaveAsync(T data, Expression<Func<T, object>> columns)
{
var x = _Db.Storageable(data)
.SplitError(it => it.Any())
.SplitInsert(it => true)
.WhereColumns(columns)//这里用name作为数据库查找条件
.ToStorage();
return await x.AsInsertable.ExecuteCommandAsync() > 0;//插入可插入部分
}
}

View File

@@ -40,6 +40,11 @@ const mutations = { //变化//载荷
state.user = user
setUser(user)
},
SET_NEW_USER(state, userInfo) {
state.user.user = userInfo
setUser(state.user)
},
SetGradient(state, gradient) {
state.drawer.gradient = gradient
},
@@ -90,7 +95,11 @@ const actions = { //动作
var code=[];
resp2.data.menus.forEach(element => {
code.push(element.permissionCode)
if(element.permissionCode!="")
{
code.push(element.permissionCode)
}
});
commit('SET_PER', code)

View File

@@ -47,6 +47,11 @@
hoverable
item-text="menuName"
>
<template v-slot:prepend="{ item }">
<v-icon>
{{ item.menuIcon }}
</v-icon>
</template>
<template v-slot:append="{ item }">
<app-btn v-if="item.menuType==0">路由:{{ item.router }}</app-btn>
<app-btn v-if="item.menuType==1" color="secondary">权限:{{ item.permissionCode }}</app-btn>

View File

@@ -335,7 +335,7 @@ export default {
this.editInfo = Object.assign({}, this.userInfo);
this.roleInfo = resp.data.roles;
this.menuInfo = resp.data.menus;
this.$store.commit("SET_USER", this.userInfo);
this.$store.commit("SET_NEW_USER", this.userInfo);
});
},
choiceImg() {