����λ�ã���ҳ > �����̳� > �̳� > PasteForm���CRUDʵ����ʵ�ʰ���PasteTemplate���֮3000��(��)

PasteForm���CRUDʵ����ʵ�ʰ���PasteTemplate���֮3000��(��)

��Դ������������|��ʱ�䣺2024-10-01 09:45:59 |���Ķ���108��|�� ��ǩ�� Te a T �� Paste S C �� |����������

��Ϊ�������롱���Ƶ�һ��CRUDʵ����ĿPasteTemplate,�ڶ����е�3����Ŀ����ʵս��Ч���dz��������������PasteFormΪɶ��Ը��Ϊ���CRUD��һЩ�ش�: ��������������PasteForm����Ŀ���� Ŀǰ�������롱����ʹ��PasteForm����Ŀ��"��Builder(

��Ϊ�������롱���Ƶ�һ��CRUDʵ����ĿPasteTemplate,�ڶ����е�3����Ŀ����ʵս��Ч���dz��������������PasteFormΪɶ��Ը��Ϊ���CRUD��һЩ�ش�:
PasteForm×î¼ÑCRUDʵ¼ù£¬Êµ¼Ê°¸ÀýPasteTemplateÏê½âÖ®3000ÎÊ(Èý)

��������������PasteForm����Ŀ����

Ŀǰ�������롱����ʹ��PasteForm����Ŀ��"��Builder(PasteSpider)"�Ͱ�����Ŀ(PasteTemplate),���а�����Ŀ�������
https://gitee.com/pastecode/paste-template ���

PasteForm��CRUDģʽ��ʲô��ɫ��

��������������Ϊ����һ����ĿҪ��С��������ʵ�ִ����ı�����˼�����£�һ������ƵĴ��룬���ǿ���ʹ���Ǹ�����ķ�ʽʵ��ô���Ǿ���Ҫ����ģ�ͣ���λ˼���£���ô���Ǿ���ʹ�õ�CRUD�Ƿ�Ҳ������ô�㣿
���Ǿ�����������ö�����ģ��Dto�ͷ����ԭ��ʵ�ֵ�PasteForm����Ҫ�ŵ�����

1.PasteForm�������һ��˼�룬���ǹ����˵�ҳ���ɺ�˿��ƣ������ǰ�ȫ�Ի������ݵı���

2.ǰ�˱�дһ�κ󣬺��������ñ�д�������ʹ�õ����ҵİ�����Ŀ����ô��ǰ�˶����Բ��ñ�д���������Ҫ���������޸��ֶεȣ�ǰ�˶�������Ҫ�޸Ĵ���

3.ǰ��ҳ��ij�����ԣ�������ĺ����30��������100����������ǰ����˵�������4��ҳ��㶨����Ȼ��һЩ��������󣬻�����Ҫ��д�µģ�

4.���������ƣ�����˵���������һ��˼�룬���ĵİ���ʹ�õ���.netcore+html����ʽʵ�ֵģ���Ҳ����ʹ�ñ���java+vue��ģʽ

5.ͳһ�ԣ�������30������ͼƬ�ϴ����ڱ��������ǵ���ʽ����һ���ģ���Ϊ������ʵʹ�õ���ͬһ��������ҳ��

6.���ͳ�����У������ֶε���ʾ˳���ֶ��Ƿ���ʾ���ֶε�Ĭ��ֵ�ȵȵȣ����ɺ�˶�Ӧ��Dto�����ƺͿ��ƣ�����ͬ�������������ڵ�ǰ��½�û��Ľ�ɫ��ͬ�����������ijһ���ֶ�������������Ŀ�����ѡ�

PasteForm×î¼ÑCRUDʵ¼ù£¬Êµ¼Ê°¸ÀýPasteTemplateÏê½âÖ®3000ÎÊ(Èý)

���������˵Ĵ��룬�о���JSP��?

����PasteForm��ԭ�����Ǻ�˰�����ģ�͵����ԣ��ֶεȷ��ظ�ǰ�ˣ�ǰ�˻��ں�˷��ص���������Ⱦ��UI�ϣ�Ϊ�˱��ڱ�д���Բ�����template��ģʽ����ʵ����JSP���dz�������ѣ�

�ҵ���Ŀӵ��120�����ݱ������Dz���Ҫ��д�ܶ�ĺ���ļ�?

PasteFormԭ����ֻ��3��ҳ��pasteform/index.html,pasteform/view.html,pasteform/detail.html��ֻ����һЩ��������£�������һЩҳ�棬���Ҫ������Ŀ��ʵ��������ʵ���۶��ٸ�����PasteForm��ҳ�涼ֻ����ô����������˵Ȩ�޵�ҳ��Ϊpasteform/index.html?path=roleInfo���û��ı�Ϊpasteform/index.html?path=userInfo,��ᷢ����ʵ������ͬһ��ҳ�棬ֻ�Dz���path��һ�����ѣ����path����WebApi��Service��
��ʵ����ȫ����һ��ҳ�涼��д��ֱ��ʹ�����ṩ�İ�����ĿPasteTemplate�е�pasteform���ļ�!
PasteForm×î¼ÑCRUDʵ¼ù£¬Êµ¼Ê°¸ÀýPasteTemplateÏê½âÖ®3000ÎÊ(Èý)

�ҿ�����PasteTemplate��Ŀ��ʹ��html,js,css��д�ģ�����ʹ��vue��д������ô��

�����ᵽ�ģ�PasteForm��Ҫ�������һ��˼�룬Ҳ�����ɺ�˵�Dto����ǰ�˵�ҳ����ֺͽ����ȣ����Դ�WebApi������õ�ģ��������ֶε���Ϣ�������ʹ����������ʵ�ֹ����˵�ҳ��ã�����ԭ����vue,angular��

pasteform/index.html�Ǹ����ã�

��Ϊ��Ӧ���ݱ�������չʾ�ã�һ��Ϊ����table���֣���Ӧģ��ΪXXXListDto��Ҳ�����������������������ɶ�Ӧ��InputQueryXXX������ģ�;�����һ��ֻ��page,size,word�����ֶΣ���Ȼ�����ҳ��Ҳ�������������ݣ��༭�����飬ɾ���ȵIJ���������

pasteform/view.html����ʲô�õ�?

�������ݣ����߱༭���ݵ�ʱ��ʹ�õĶ������ҳ�棬�������Ƕ�ȡ������ģ�Ͳ�һ��������Ȩ�������roleInfo,����������ʱ��Ϊpasteform/view.html?path=roleInfo����Ӧ������ģ��ΪroleInfoAddDto,���ڱ༭��ʱ��Ϊpasteform/view.html?path=roleInfo&id=3,��Ӧ������ģ��ΪroleInfoUpdateDto��ҳ��������߼����Ǵ�WebApi�л�ö�Ӧģ�ͺ󣬻��ڹ�����Ⱦ��UI�У�����Ĭ��ֵ����ǰֵ�ȣ��ύ��ʱ���ٴ�ҳ���е�form��ȡ��ֵ�ύ����ˣ�����˵��Ҫ�Ŀ��ƻ����ں���У�

pasteform/detail.html����ʲô�õ�?

��Щʱ�����ǵ�����û�취��pasteform/index.htmlҳ������ʾ��ɣ����������б�����Ҫ��һЩ�ֶι����ģ����ʱ������ϣ����һ��ҳ����ʾ��ϸ���ݣ�����detail���Ǹ�����õģ���Ӧ������ģ��ΪXXXDto��

�Ҳ���.netcore��������������дpasteformô

PasteForm�������һ��˼�룬����ʹ����������Ҳ�ǿ��Եģ�������ö���дһ���׵ľ����ˣ����������ʹ��vue+java��ģʽ��һ�ף���˺��Ĵ��밸��

        /// 
        /// ��ȡAddDto������ģ��
        /// 
        /// 
        [HttpGet]
        [TypeFilter(typeof(RoleAttribute), Arguments = new object[] { "root", "root" })]
        public PasteBuilderHelper.VoloModelInfo ReadAddModel()
        {
            var _model = PasteBuilderHelper.ReadModelProperty(new RoleInfoAddDto());
            return _model;
        }

        /// 
        /// ��ȡUpdateDto������ģ��
        /// 
        /// 
        [HttpGet]
        [TypeFilter(typeof(RoleAttribute), Arguments = new object[] { "root", "root" })]
        public async Task ReadUpdateModel(int id)
        {

            var _query = from a in _dbContext.RoleInfo
                         join b in _dbContext.RoleInfo on a.FatherId equals b.Id into c
                         from rol in c.DefaultIfEmpty()
                         select new RoleInfoUpdateDto
                         {
                             Id = a.Id,
                             Desc = a.Desc,
                             FatherId = a.FatherId,
                             Icon = a.Icon,
                             IsEnable = a.IsEnable,
                             Model = a.Model,
                             Name = a.Name,
                             Path = a.Path,
                             Role = a.Role,
                             RoleType = a.RoleType,
                             Sort = a.Sort,
                             ExtendRole = rol != null ? new RoleShortModel
                             {
                                 Id = rol.Id,
                                 Model = rol.Model,
                                 Name = rol.Name,
                                 Path = rol.Path,
                                 Role = rol.Role,
                                 RoleType = rol.RoleType
                             } : null
                         };

            var _info = await _query.Where(x => x.Id == id).AsNoTracking().FirstOrDefaultAsync();
            if (_info == null || _info == default)
            {
                throw new PasteCodeException("��ѯ����Ϣ�����ڣ��޷�ִ�б༭������");
            }
            var _dataModel = PasteBuilderHelper.ReadModelProperty(_info);
            return _dataModel;
        }

        /// 
        /// ��ȡUpdateDto������ģ��
        /// 
        /// 
        [HttpGet]
        [TypeFilter(typeof(RoleAttribute), Arguments = new object[] { "root", "root" })]
        public async Task ReadDetailModel(int id)
        {

            var _query = from a in _dbContext.RoleInfo
                         join b in _dbContext.RoleInfo on a.FatherId equals b.Id into c
                         from rol in c.DefaultIfEmpty()
                         select new RoleInfoDto
                         {
                             Id = a.Id,
                             Desc = a.Desc,
                             FatherId = a.FatherId,
                             Icon = a.Icon,
                             IsEnable = a.IsEnable,
                             Model = a.Model,
                             Name = a.Name,
                             Path = a.Path,
                             Role = a.Role,
                             RoleType = a.RoleType,
                             SortStr = a.SortStr,
                             FatherStr = a.FatherStr,
                             Level = a.Level,
                             RootId = a.RootId,
                             Sort = a.Sort,
                             ExtendRole = rol != null ? new RoleShortModel
                             {
                                 Id = rol.Id,
                                 Model = rol.Model,
                                 Name = rol.Name,
                                 Path = rol.Path,
                                 Role = rol.Role,
                                 RoleType = rol.RoleType
                             } : null
                         };

            var _info = await _query.Where(x => x.Id == id).AsNoTracking().FirstOrDefaultAsync();
            if (_info == null || _info == default)
            {
                throw new PasteCodeException("��ѯ����Ϣ�����ڣ��޷�ִ�б༭������");
            }
            var _dataModel = PasteBuilderHelper.ReadModelProperty(_info);
            return _dataModel;
        }

        /// 
        /// ��ȡListDto������ģ��
        /// 
        /// 
        [HttpGet]
        [TypeFilter(typeof(RoleAttribute), Arguments = new object[] { "root", "root" })]
        public PasteBuilderHelper.VoloModelInfo ReadListModel()
        {
            var _model = PasteBuilderHelper.ReadModelProperty(new RoleInfoListDto());
            var _query_model = PasteBuilderHelper.ReadModelProperty(new InputQueryRoleInfo());
            if (_query_model != null)
            {
                _model.QueryProperties = _query_model.Properties;
            }
            return _model;
        }

PasteFormʹ�õ��ĸ���ģ���Ǹ����õģ�Dto

������Ӵ�Dto��ʱ����ABPvNext,˵�����Dto���ò�˵ObjectMapper,����˵Ȩ�ޱ�RoleInfo,���Ӧ����RoleInfoAddDto,RoleInfoUpdateDto,RoleInfoDto��RoleInfoListDto����ǰʵ�ʿ���������ܻ�������������Dto,�����ҳ��õ�RoleMenuDto,RoleAuthDto�ȣ�PasteForm����Ҫ�õ�ǰ���4����һ�㻹�ḽ��һ��InputQueryRoleInfo!����˵������ʱ���û��ύ������ģ����RoleInfoAddDto,�ύ��API��API������У��Ϸ�����ʹ��AutoMapper��RoleInfoAddDtoת����RoleInfo��Ȼ��д�뵽���ݿ⣡
XXXAddDto:����������ʱ�������ģ�ͣ���Ӧ����pasteform/view.htmlҳ��ʹ��
XXXUpdateDto:�������ݱ༭�޸ĵ�����ģ�ͣ���Ӧ����pasteform/view.htmlҳ��ʹ��
XXXDto:������һ��������ʾ�����ʱ�������ģ�ͣ�Ҳ����pasteform/detail.html��ҳ��ʹ��
XXXListDto:����һ��ʹ�������ݱ���չʾ��ʱ�������ģ�ͣ�Ҳ����pasteform/index.html��ҳ��ʹ��
InputQueryXXX:����һ�����ڱ����Ϸ��������������ģ�ͣ�Ҳ����pasteform/index.html����������ʹ��

����ϴ�ͼƬ?

ͼƬ�������༭��չʾ��չʾ�Ļ��������pasteform/index.html��pasteform/detail.htmlҳ�����ˣ���ʵ�ڱ༭��ʱ��pasteform/view.htmlҳ����Ҳ��չʾ��ֻҪ����Ӧ�ֶ���������[ColumnDataTypeAttribute("image","1","image","60*60")]����

        /// 
        /// ��ͼ �ش���ֵ�Ƕ���ģ�ʹ��,����
        /// 
        [ColumnDataType("image", "3", "img", "60*60")]
        public string Img2 { get; set; }

        /// 
        /// ͼƬ �ش���ʹ��string[]��ģʽ
        /// 
        [ColumnDataType("image", "3", "img", "60*60")]
        public string[] Img3 { get; set; }

�����������������

        ///
        ///�ı����� ģ���ı����������
        ///
        [ColumnDataType("class","fleft")]
        public string Desc { get; set; }

����������Զ�����ʾ

        ///
        ///��ѡ һ���ʾ״̬���ڶ��ģ��е���Enum,����Enum������֧��
        ///
        [ColumnDataType("html", "
{{:=item.dateType}}-{{:=item.gradeId}}
")] public int DateType { get; set; }

�����������ʾ��ť

        /// 
        /// ��ͨ�˵�
        /// 
        [ColumnDataType("menu", "�˵�һ", "open_window('�����û�����','./index.html?path=userInfo&xxid={{:=item.id}}');", "Hui-iconfont-menu")]
        public string Menu2 { get; set; }

�����������ʾ������ť

��Щʱ��������Ҫ���ڵ�ǰ�����ݽ����жϣ��Ƿ���ʾijһ����ť������

        /// 
        /// ��ͨ�����˵�
        /// 
        [ColumnDataType("ifmenu", "item.age==7", "����1", "")]
        public string Menu3 { get; set; }

��ť̫�࣬���ʹ�ð�ť����

        /// 
        /// �˵����Ӳ˵�
        /// 
        [ColumnDataType("menu", "�˵���", "open_window('�����û�����','./index.html?path=userInfo&xxid={{:=item.id}}');", "Hui-iconfont-menu", "box")]
        public string Menu5 { get; set; }

        /// 
        /// �˵������е������˵�
        /// 
        [ColumnDataType("ifmenu", "item.age==8", "����2", "box")]
        public string Menu4 { get; set; }

����������£�ijЩ�ֶ�֧��������

ǰ��ֻ�ǻ���������ԣ��ڲ��µ�ʱ���ش�orderby�ֶθ���ˣ�������Ҫ���ڻش�������ֶν���orderby��ѯ


        ///
        ///����
        ///
        [ColumnDataType("orderby", "Sort","Sort desc")]
        public int Sort { get; set; }

--- δ����������ڼ��� ---

С���Ƽ��Ķ�

�������������Ľ�Ϊ������Ϣ����������������ͬ���޹۵��֤ʵ��������

Te v1.4
Te v1.4
���ͣ���������������Ӫ״̬����ʽ��Ӫ�������ԣ����� ����

��Ϸ����

��Ϸ���

��Ϸ��Ƶ

��Ϸ����

��Ϸ�

TeChewingum��������һ��ģ�ⴥ�ֽ�����������Ϸ����Ϸ�����������ɰ���СŮ������ҿ��Բ������ֶ���
a 1.0
a 1.0
���ͣ���������������Ӫ״̬����ʽ��Ӫ�������ԣ����� ����

��Ϸ����

��Ϸ���

��Ϸ��Ƶ

��Ϸ����

��Ϸ�

��alittletotheleft������������һ��ܻ�ӭ����������������Ϸ����ҵ������Ƕ��ճ������еĸ���������

�����Ƶ����

����

ͬ������

����

ɨ��ά�����������ֻ��汾��

ɨ��ά����������΢�Ź��ںţ�

��վ�������������������ϴ��������ַ���İ�Ȩ���뷢�ʼ�[email protected]

��ICP��2022002427��-10 �湫��������43070202000427��© 2013~2025 haote.com ������