uniapp实现base64转成image(实测只能开发工具使用,真机演示使用不了)
分类: 前端
简介: var imgSrc = this.base64Img;//base64编码 var save = wx.getFileSystemManager(); var number = Math.random(); save.writeFile({ filePath: wx.env.USER_DATA_PATH + '/pic' + number + '.png', data: imgSrc, encoding: 'base64', success: res => { wx.saveImageToPhotosAlbum({ filePath: wx.env.USER_DATA_PATH + '/pic' + number + '.png', success: function (res) { wx.showToast({ title: '保存成功', }) }, fail: function (err) { console.log(err) } }) console.log(res) }, fail: err => { console.log(err) } })注:base64Img要去掉data:image/png;base64找到个文章写的一种解决方案,不过不是我这个问题的解决方案,码一下方便之后看看文章链接
efcore的基础应用
分类: 后端
简介:efcore的基础使用一、基础查询//查询第一条数据,为空则抛出异常
数据库上下文.查询类.first()
//查询第一条数据,为空则返回null
数据库上下文.查询类.firstOrdefault()
//查询一条数据,为空则抛出异常,多条数据也抛出异常
数据库上下文.查询类.single()
//查询一条数据,为空则返回null
数据库上下文.查询类.singleOrdefault()
//查询所有数据
数据库上下文.查询类.tolist()
//条件查询
数据库上下文.查询类.where(p => p.id > 1).tolist()
//排序查询——正序
数据库上下文.查询类.OrderBy(p => p.id).tolist()
//排序查询——倒序
数据库上下文.查询类.OrderByDescending(p => p.id).tolist()
//跳过10条数据
数据库上下文.查询类.skip(10).tolist()
//取10条数据
数据库上下文.查询类.take(10).tolist()
//分页查询
var pageIndex = 1;
var pageSize = 10;
var room = context.classRooms.Skip((pageIndex 1)*pageSize).Take(pageSize).ToList();
//非跟踪查询
1.AsNoTracking()——单条
2.批量——修改context
context.ChangeTracker.QueryTrackingBehavior = QueryTrackingBehavior.NoTracking;
3.UseQueryTrackingBehavior二、基础新增//单个添加
数据库上下文.Add(new 查询类(){属性})
//多个添加
context.AddRange(new List<>(Student){ new Student(){classid = 2,name="aaa"}, new Student(){classid = 2,name="bbb"} })三、保存数据1、SaveChange()
2、批量更新和删除ExecuteUpdate/ExecuteDelete
上下文.查询类.where(条件).ExecuteDelete();四、基础修改//读取一个条数
var stuUpdate = context.Students.FirstOrDefault(p => p.Name == "aa");
//修改属性
stuUpdate.Name += "测试修改";
//设置状态为修改
context.Entry().State = EntityState.Modified;
context.SaveChanges(); //批量修改
context.Students.where(p=>p.classid == 2).ExecuteUpdate(s => s.SetProperty(b => b.Name,"[修改]"));五、基础删除//单个删除
var delstu = context.Students.FirstOrDefault();
context.Students.Remove(delstu);
context.SaveChanges();
//批量删除
上下文.查询类.where(条件).ExecuteDelete();六、事务//开启事务
using var transaction = context.Database.BeginTransaction();
try
{ 数据库操作代码 。。。。 //提交事务 transaction.commit(); }catch(Exception ex)
{ //回滚事务 transaction.rollback(); throw;
}七、分组和统计var groupData = context.Students //使用groupby分组,依据classid .GroupBy(s => s.ClassId) .Select(g => new { //拿到classId,由于是按classid分组的,所以使用min或者max都是一样的 ClassId = g.Max(s=>s.classId), StudentCount = g.Count() });
vscode版本升级报错
分类: 前端
简介:今天工作打开vscode时突然弹出“由于找不到ffmpeg.dll,无法继续执行代码”的错误弹窗,本来想着重装vscode,但是官网速度20k每秒下载速度还有vscode的一堆插件和设置,我还是决定看看有没有方法补救。进入文件所在位置后发现多了个名为‘_’的文件夹,缺失的文件都在里面,把文件从中取出放在根目录,vscode就恢复使用了
c#结合ucharts进行年月日切换(最简单版本)
分类: 默认分类
简介:此版本是最基础版,不涉及上下月,上下年衔接。首先确定数据格式// 折线图 Area: { categories: [], series: [] }配置数据模型 public class Datalist { public List<string> categories { get; set; } public List<DataDetail> series { get; set; } } public class DataDetail { public string name { get; set; } public int[] data { get; set; } public string color { get; set; } }程序本体 /// <summary> /// 小程序 获取charts数据 /// </summary> [HttpGet("GetChartsDataByType")] [AllowAnonymous] public async Task<dynamic> GetChartsDataByType(int type) { var businessId = "zagwzq530"; var data = new Datalist(); //获取当前时间 DateTime nowdate = DateTime.Now; var date = nowdate.Date; //通过传入的type决定获取的数据的范围,1为周,2为月,3为年 switch (type) { case 1://根据周查看用户增长量 //限制为7位数的整数数组 //不需要额外填充数据,默认数组就是由7个0组成 int[] a = new int[7]; // 获取周几 DayOfWeek currentDayOfWeek = nowdate.DayOfWeek; // 将周几转成数字 int dayOfWeek = (int)nowdate.DayOfWeek; //动态计算前几日是分别是几号,获取各自的每天的数量 for (int i = 0; i < 6; i++) // 循环一周 { var y = dayOfWeek + i; if (y <= 0) { DateTime twoDaysAgo = nowdate.AddDays(y); var date1 = twoDaysAgo.Date; var entity = _db.Queryable<ArApp_UserEntity>().Where(a => a.CreatorTime.Value.Date == date1).Where(a => a.DeleteMark == null && a.BusinessId == businessId).Count(); a[i] = entity; } } List<string> categories = new List<string>() { "周日", "周一", "周二", "周三", "周四", "周五", "周六" }; List<DataDetail> series = new List<DataDetail>() {new DataDetail() { name = "用户数", data= a, color = "#facc14" }}; data.categories = categories; data.series = series; break; case 2://根据月查看用户增长量 int[] b = new int[4]; //首先根据当前时间获取年,月 var year1 = nowdate.Year; var mouth1 = nowdate.Month; //获取所有今年这个月的数据 var entity1 = _db.Queryable<ArApp_UserEntity>().Where(a => a.CreatorTime.Value.Year == year1 && a.CreatorTime.Value.Month == mouth1).Where(a => a.DeleteMark == null && a.BusinessId == businessId).ToListAsync(); //循环获取所在周,因为就4个值,所以直接switch判断, foreach (var item in entity1.Result) { int weekOfYear = (int)item.CreatorTime.Value.DayOfWeek; if (weekOfYear > 0 && weekOfYear < 5) { switch (weekOfYear) { case 1: b[0] += 1; break; case 2: b[1] += 1; break; case 3: b[2] += 1; break; case 4: b[3] += 1; break; } } }; List<string> categories2 = new List<string>() { "第一周", "第二周", "第三周", "第四周"}; List<DataDetail> series2 = new List<DataDetail>() { new DataDetail() { name = "用户数", data = b, color = "#2fc25b" }}; data.categories = categories2; data.series = series2; break; case 3://根据年查看用户增长量 int[] c = new int[12]; //首先根据当前时间获取年,月 var year = nowdate.Year; var mouth = nowdate.Month; //先判断数据的年份是否一样 //在判断月份 for (int i = 1;i <= mouth;i++ ) { //判断数据的年份是否一样,并且月份也要一样 var entity = _db.Queryable<ArApp_UserEntity>().Where(a => a.CreatorTime.Value.Year == year && a.CreatorTime.Value.Month == i).Where(a => a.DeleteMark == null && a.BusinessId == businessId).Count(); c[i 1] = entity; }; List<string> categories3 = new List<string>() { "1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月" }; List<DataDetail> series3 = new List<DataDetail>() { new DataDetail() { name = "用户数", data = c, color = "#1890ff" } }; data.categories = categories3; data.series = series3; break; default: Console.WriteLine("Invalid number"); break; }; return data; }