基于RuoYI-App完善基础框架

本框架基于ruoyiapp进而完善相关基础功能,便于快速开发
框架地址https://gitee.com/zy1217/ruoyi-app-vue3

环境

  • vue3piniavite
  • tailwindcss原子化css、autoprefixerpostcss
  • i18ni18next-scannercrc

功能实现

  • 动态菜单
  • 全局弹窗(对话框、错误提示框、更新弹窗)
  • 多语言(多语言scan和多语言占位符)
  • 全局指令:扫码(v-scan)、权限、角色
  • 菜单搜索和快捷菜单

开发过程中的问题点

  1. taildwind编译后的css包含自定义变量,导致打包后的APP在部分安卓机型中样式丢失,在tailwind.config.jscorePlugins禁用相关插件,其中grid布局里面的语法不适配部分安卓机型,需要自己全局定义grid布局样式
	corePlugins: {
		//以下部分安卓机型不适配--生成的css包含自定义变量,安卓机无法识别
		preflight: false,
		container: false,
		backgroundOpacity: false,//去掉背景里的自定义变量
		textOpacity: false,
		borderOpacity:false,
		gridTemplateColumns:false,
		gridTemplateRows:false,
		gradientColorStops:false,
		// 以下功能小程序不支持  
		space: false, // > 子节点选择器  
		divideWidth: false,
		divideColor: false,
		divideStyle: false,
		divideOpacity: false
	}
  1. 使用uni.uploadFile实现批量文件上传(这里和网页的上传逻辑有一点不一样),其中files的参数如下:
    在这里插入图片描述
    这里的name是和后端的参数对应的,所以我们如果要批量上传,只能让files数组中的name是唯一的不能重复,这样就会导致后端定义的参数files 接收不到,如下图这样定义
public class Param: PagerInfo
{
    public string batch {  get; set; }
    public string fileType {  get; set; }
    public List<IFormFile> files {  get; set; }
}

这里后端接收,就需要特殊处理一下了,首先通过表单提交的数据都会在Form对象中,其中提交的文件都会在FormFiles中,那么接口可以通过以下方式变化一下

 public IActionResult uploadAttachment([FromForm] Param parm)
 {
     if (parm.files == null || parm.files.Count == 0)
     {
         if(HttpContext.Request.Form.Files.Count==0)
            throw new CustomException(ResultCode.PARAM_ERROR, _localizer["uploadfile_not_null"]);
         parm.files = (List<IFormFile>?)HttpContext.Request.Form.Files;
     }
     var response = _QmsZjiqcBaseService.uploadAttachment(parm);
     return SUCCESS(response);
 }

部分效果图

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值