中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

wordpress整合ldap重慶網(wǎng)站優(yōu)化公司

wordpress整合ldap,重慶網(wǎng)站優(yōu)化公司,漢南網(wǎng)站建設,肯德基網(wǎng)站建設方案關說不練假把式,在上一,二篇中介紹了我心目中的CRUD的樣子 基于之前的理念,我開發(fā)了一個命名為PasteTemplate的項目,這個項目呢后續(xù)會轉化成項目模板,轉化成項目模板后,后續(xù)需要開發(fā)新的項目就可以基于這…

關說不練假把式,在上一,二篇中介紹了我心目中的CRUD的樣子
在這里插入圖片描述

基于之前的理念,我開發(fā)了一個命名為PasteTemplate的項目,這個項目呢后續(xù)會轉化成項目模板,轉化成項目模板后,后續(xù)需要開發(fā)新的項目就可以基于這個模板創(chuàng)建,這樣就不要copy一個舊的項目,然后刪刪刪,改改改,重命名等操作了
強迫癥,一個項目的名字就得統(tǒng)一,心里才舒服
那么本次作者就帶來了實物,本次主要介紹管理端的內(nèi)容,我們一起來看看
在這里插入圖片描述
這個是后臺,目前使用的是HTML原生寫的,如果說使用VUE的話,會更簡單,這個后續(xù)看情況推出!
先用原生的原因呢,一是順手,二是前期是規(guī)劃期,改動比較多,這個項目開發(fā)過程我是錄制了視頻的,后續(xù)會和項目模板一并放出來!

這個管理端有多少代碼?

可能說代碼量不太合適,我就列出下各個文件的大概情況(文件采用松散編輯模式,就是一個花括號就一行的寫法,所以不存在刻意壓縮代碼行的問題哈!)

文件大小行數(shù)說明
login/index.html8KB177登陸頁面,賬號密碼驗證碼登陸
login.less9KB381登陸頁面的樣式文件
pasteform/index.html12KB212表格列表頁面的主UI頁面
pasteform/index.js22KB682表格頁面的主邏輯JS頁面
pasteform/index.less14KB656表格頁面的樣式文件
pasteform/view.html12KB184表單新增編輯頁面的UI文件
pasteform/view.js27KB820表單新增編輯頁面的邏輯JS代碼
pasteform/view.less10KB499表單編輯新增頁的樣式文件
index.html11KB225首頁,也就是菜單頁面,上圖的這個主頁面,菜單采用API獲取的動態(tài)方式
index.less5KB311首頁的樣式文件
lib/api.js18KB598ajax請求,一些基礎函數(shù)的轉化等,相當于幫助類

還有一些其他的三方組件,比如jquery.js,layer.js,daterange.js,pagenum.js,datepicker.js,template.js,wangedit.js等

為啥才這么幾個文件?

看上圖至少有4個表為啥才這么幾個文件?
文件復用了
比如權限的列表頁面為pasteform/index.html?path=roleInfo,而用戶的列表頁面為pasteform/index.html?path=userInfo
對應的表單頁面為pasteform/view.html?path=roleInfo和pasteform/view.html?path=userInfo
在這里插入圖片描述

實現(xiàn)原理

在執(zhí)行UI之前,獲取對應的模型的模型內(nèi)容,比如新增的時候,獲取對應的AddDto模型的模型屬性,包括不限于,包含了哪些屬性(是否禁用add,edit,del等),有哪些字段,字段的特性是哪些,還有就是字段的默認值!
同理在編輯的時候,會把要編輯的主鍵帶入API中,先查詢這個UpdateDto的模型數(shù)據(jù),然后基于ID獲取這個模型的值,組合后返回給前端
至于表格,請求的時候要讀取ListDto和對應的搜索InputQueryDto的內(nèi)容!

表格頁面功能介紹

在這里插入圖片描述
從上圖中可以看到大概幾個要點!
1.左側的菜單是采用動態(tài)模式的,看圖的中間部分的菜單類型可以看到和左側的一一對應!
2.右側區(qū)域的功能都是動態(tài)的,貌似除了關鍵字輸入和搜索按鈕是固定的,其他都是動態(tài)控制的
3.搜索區(qū)域的內(nèi)容和類型由后端的InputQueryXXX的模型來控制
4.新增,編輯和刪除按鈕由對應模型的ListDto控制
5.列表中支持排序,比如上圖的ID,排序,層級等
6.列表中支持直接顯示外表的對應字段,比如父級ID那一列,直接顯示了父級ID對應的權限的名稱
7.支持狀態(tài)快編,也就如上圖的switch,這個是可以交互的!

外表輸入

在這里插入圖片描述
支持外表輸入,比如要查詢某一個角色有多少用戶,那么用戶列表中,角色ID作為篩選,那角色ID不能自己手動輸入吧
點擊后,會彈出角色列表頁面,選擇要查詢的,然后點擊確定,就會把對應的值輸入到輸入框中(顯示的是友好名)
在這里插入圖片描述
在Model中是這樣配置外表選擇的
在這里插入圖片描述

時間區(qū)間

有些時候需要查詢時間區(qū)間,比如本月新增的用戶有多少
在這里插入圖片描述
在Model中,時間區(qū)間其實是由2個字段表示的,開始字段和結束字段,當然了結束字段需要配置隱藏,如下圖

單選

有時候查詢需要選擇某一個狀態(tài),比如查詢禁用的用戶有多少,查詢狀態(tài)正常的用戶有多少(也就是一個select的選項)

在這里插入圖片描述
在Model中體現(xiàn)為:
在這里插入圖片描述

表單頁面功能介紹

表單頁面也就是新增數(shù)據(jù),或者編輯,如下

基本輸入

一些比如文本,文本域,數(shù)字,開關等的輸入,和基本的一致,約定輸入框的名稱為Model對應字段的注釋部分的前部分,后部分則為placeholder,前后部分使用空格隔開!
在這里插入圖片描述

頭像圖片


不單單支持單圖,還支持多圖模式!

富文本模式

在這里插入圖片描述
系統(tǒng)采用的是wangEdit v5的版本

時間模式

時間上支持單時間和時間區(qū)間模式
在這里插入圖片描述

單選模式

在這里插入圖片描述
單選有一個問題,就是選項是固定的,也就是要預先寫好,如果是動態(tài)的,則使用外表的模式

外表單選

在這里插入圖片描述
點擊和表格那邊的操作模式是一樣的
在這里插入圖片描述
要實現(xiàn)這些功能,只需要在對應的Model做屬性的標記即可,如下

    ///<summary>///測試表 用于測試CURD的表///</summary>public class TestTableAddDto{///<summary>///姓名 模擬短文本輸入///</summary>[MaxLength(32)][Required]public string Name { get; set; }///<summary>///頭像 模擬圖片上傳///</summary>[MaxLength(128)][ColumnDataType("image","1","head","60*60")]public string Head { get; set; }///<summary>///年齡 模擬輸入number///</summary>[Range(5, 90, ErrorMessage = "年齡必須限定在5~90之間!")]public int Age { get; set; }///<summary>///文本區(qū)域 模擬文本區(qū)域的輸入///</summary>[MaxLength(128)]public string Desc { get; set; }///<summary>///富文本 模擬富文本,前端HTML的是使用wangEditv5///</summary>public string Blog { get; set; }///<summary>///加入日期 模擬必填時間的輸入///</summary>public DateTime JoinDate { get; set; }///<summary>///單選 一般表示狀態(tài),內(nèi)定的,有點像Enum,關于Enum后續(xù)會支持///</summary>[ColumnDataType("select", "[{\"name\":\"日類型\",\"value\":0},{\"name\":\"月類型\",\"value\":1},{\"name\":\"年類型\",\"value\":2}]")]public int DateType { get; set; }///<summary>///角色ID 這里一般用于外表,就是選擇其他表的一個數(shù)據(jù)作為輸入內(nèi)容///</summary>[ColumnDataType("outer", "gradeInfo", "", "id", "name")]public int GradeId { get; set; }///<summary>///成績 模擬前端限定2位小數(shù)///</summary>public double Score { get; set; }/// <summary>/// 會員周期 會員生效區(qū)間/// </summary>[ColumnDataType("daterange","dateStart","dateEnd")]public DateTime DateStart { get; set; }/// <summary>/// 會員周期 會員生效區(qū)間/// </summary>[ColumnDataType("hidden")]public DateTime DateEnd { get; set; }}

至于編輯模式,其實編輯模式和新增模式的字段屬性標記同樣適用!
在編輯模式中有一個特別的,就是外表顯示,比如上面的外表選擇中的選擇父級,則在編輯中是這樣的
在這里插入圖片描述

補充

對于上面其實比較糾結的地方應該就是字段的特性ColumnDataType

image

相對于后面的 head 來說,這里是大圖模式,在ListDto中表示使用圖片的模式渲染

字段類型示例說明
args1數(shù)字1圖片數(shù)量
args2字符cate存放在什么位置,上傳圖片的時候會附帶到參數(shù)type中
args3字符60*60圖片是否需要壓縮,壓縮的寬高,不壓縮的設置為0,比如60*0
args4字符arr或str默認值str對應字段的類型,是array類型還是string類型,如果是string類型多個之間用,隔開

head

使用方式同 image 這里表示的是小圖標模式

字段類型示例說明
args1數(shù)字1圖片數(shù)量
args2字符cate存放在什么位置,上傳圖片的時候會附帶到參數(shù)type中
args3字符60*60圖片是否需要壓縮,壓縮的寬高,不壓縮的設置為0,比如60*0
args4字符arr或str默認值str對應字段的類型,是array類型還是string類型,如果是string類型多個之間用,隔開

region

小程序中的地區(qū)選擇,可以配置精確度,到區(qū)還是到縣

字段類型示例說明
args1字符region表示地址選擇的層級,可選region和sub-district
args2字符str可用值str或者arr 表示返回的數(shù)據(jù)類型,str的時候用,隔開

outer

表示一個值需要從外表獲取,編輯的時候如何顯示? 比如fatherId,extendRole

字段類型示例說明
args1字符cateInfo外表的名稱,對應模板的path,或者路徑,路徑一定附帶了/字符示例./abc.html
args2字符extendCates表示顯示的數(shù)據(jù),需要和下面2個配合,是一個當前的擴展,目標數(shù)組要配置hidden
args3字符id獲取返回對象的屬性,一般為id
args4字符nameid的友好名稱顯示,這里指的是外表,比如cateId,需要打開catelist頁面,選擇后,返回cate,則name作為友好顯示,id作為實際值

outers

outer的復數(shù)版本,表示可以從外部列表中選擇多個,比如在創(chuàng)建賬號的時候給他綁定多個角色,就用這個!

字段類型示例說明
args1字符cateInfo外表的名稱,對應模板的path,或者路徑,路徑一定附帶了/字符示例./abc.html
args2字符extendCates表示顯示的數(shù)據(jù),需要和下面2個配合,是一個數(shù)組,目標數(shù)組要配置hidden
args3字符id獲取返回對象的屬性,一般為id
args4字符nameid的友好名稱顯示,這里指的是外表,比如cateId,需要打開catelist頁面,選擇后,返回cate,則name作為友好顯示,id作為實際值

outerdisplay

ListDto中用于外表的顯示,比如有字段cateInfoId,對應的ExtendCateInfo要標記為outerdisplay,args2配置為extendCateInfo?.name || ‘’,否則會顯示為[object object]

字段類型示例說明
args1字符cateInfoId表示這個字段的值,一般不顯示
args2字符extendCateInfo?.name || ‘’表示顯示的名稱,友好名稱,需要后端支持,在前端會處理成.display

navigator

表示這個值需要使用頁面從另外一個列表中獲取,這里表示小程序端的,建議使用outer outerdisplay

字段類型示例說明
args1字符cate.name || ‘’表示顯示cate.name或者空這個一般用于ListDto中
args2字符cateInfo外表的名稱,對應模板的path,可以為空
args3字符/pages/cate/index/?model=select如果對應的表不用模板,則直接表示路徑

datetime

默認的yyyy-MM-dd HH:mm:ss的格式

字段類型示例說明
args1字符yyyy-MM-dd HH:mm:ss表示時間使用的格式

hidden

表示隱藏這個字段,一般是主鍵ID,或者外表鏈接過來的會這配置,比如需要給cate添加子項,則添加由cate那邊過來
這個也適用于ListDto

字段類型示例說明
args1字符bind如果不填表示隱藏,如果填寫了表示頁面的query中model=xxx的時候不隱藏,表示非xxx的時候隱藏,xxx的時候不隱藏

password

密碼框模式

query

需要和 hidden 配合使用一般,表示在表單的時候使用哪個參數(shù)作為數(shù)據(jù)

字段類型示例說明
args1字符cateid表示使用url中的哪個參數(shù)讀取值

readyonly

表示這個字段是只讀的,一般是編輯的時候生效

richtext

如果是字符串,沒有設置maxlength,默認就會變更成richtext,也可以手動強制配置

textarea

如果是字符串,設置maxlength,且設置的值大于128,默認就會變更成textarea,也可以手動強制配置

select

字段類型示例說明
args1字符[{“name”:“大”,“value”:“1”},{“name”:“小”,“value”:“2”}]表示單選的可選值,name是顯示 value是值
args2字符表示值得類型,這里是單個,跟隨主類型走

selects

表示多選,這個表示的是頁面上的多選

字段類型示例說明
args1字符[{“name”:“大”,“value”:“1”},{“name”:“小”,“value”:“2”}]表示單選的可選值,name是顯示 value是值
args2字符str表示值得類型是一個數(shù)組,還是字符串,如果是字符串則使用逗號隔開

sort

表示排序,表示字段的順序,一般表格比較會使用這個

字段類型示例說明
args1數(shù)字0小的排在前面,默認為0

link

這個用于表格顯示,一般表示用于顯示外表的數(shù)據(jù),這個將棄用,使用outerdisplay替換

字段類型示例說明
args1字符extendCate.name顯示的外表鏈接,示例extendCate?.name || ''表示顯示cate.name或者空這個一般用于ListDto中

width

表示這個字段在表格得寬度,可以為*或者對應得數(shù)字,是表格得列的寬度的權重,這個適用于ListDto

字段類型示例說明
args1字符60表示這個列的寬度,可以為數(shù)字也可以是*比如3*這樣

orderby

表示基于哪個字段進行排序,這個一般是ListDto表示表格中,可以基于哪個字段進行排序查詢

字段類型示例說明
args1字符id表示使用id正序排序
args2字符id desc表示使用倒敘排序

datalist

前端表示使用datalist作為選擇數(shù)據(jù)源,前端需要把datalist的id賦值給datalistid,默認為字段name,這個規(guī)則適用于表單和QueryDto

字段類型示例說明
args1字符[{“name”:“正?!?“value”:“1”,“selected”:true}]JSON的字符串,也可以為空
args2字符data_pro表示調(diào)用哪個datalist數(shù)據(jù),表示datalist的id,和args1互斥
args3字符read_pro_datalist()表示需要使用eval執(zhí)行哪個函數(shù),一般和args2配合使用,和args1互斥

daterange

主字段需要設置為daterange,其他字段需要設置hidden,在最后組合數(shù)據(jù)的時候,會基于參數(shù)生成對應的,應該要設置為可null格式

字段類型示例說明
args1字符sdate表示開始時間,最后會傳送yyyy-MM-dd 00:00:00的格式數(shù)據(jù)
args2字符edate表示結束時間,如果你選擇2024-08-31,最后上送的會是2024-08-31 00:00:00
args3字符yyyy-MM-dd 00:00:00表示時間的格式化,默認使用yyyy-MM-dd 00:00:00

disable

特殊限定,限定于class的,表示禁用這個模型的哪些功能,這個一般用于ListDto,因為這些功能都在列表頁面

字段類型示例說明
args1字符add表示忽略新增,也就是不顯示新增按鈕
args2字符edit表示忽略編輯,表示列表中沒有編輯的這個選項,有些數(shù)據(jù)只能看,不需要新增和編輯
args3字符del表示這個表沒有刪除,頁面UI中不需要刪除按鈕

目前還在思考有哪些常用的需要添加進來,

目前還是缺少很多東西的
1.index.js和view.js有很多重復的函數(shù),可以考慮把他們2個綜合一下,后續(xù)好維護
2.一些特殊的常用的功能的實現(xiàn),比如作者的PasteSpider中大量的使用了datalist
3.如何在小程序上接入,畢竟這個項目的初衷就是為了解決小程序上大量表單輸入和編輯的問題而提出的方案
4.后續(xù)大家如何使用,如何按照自己的需求修改規(guī)則等

后續(xù)將放出案例項目和項目模板

我們下期見

http://www.risenshineclean.com/news/3873.html

相關文章:

  • 怎么使用服務器做網(wǎng)站哪里可以引流到精準客戶呢
  • 南山制作網(wǎng)站公司b站推廣網(wǎng)站2024
  • 在線客服系統(tǒng)功能百度禁止seo推廣
  • 做ppt醫(yī)學專業(yè)圖片網(wǎng)站網(wǎng)絡營銷論文畢業(yè)論文
  • 上海專業(yè)做網(wǎng)站價格營銷策劃的重要性
  • wordpress 基本模版淘寶seo
  • 南寧網(wǎng)站空間深圳網(wǎng)絡推廣推薦
  • 網(wǎng)站開發(fā)排行榜最新疫情最新消息
  • 備案時候網(wǎng)站不能打開嗎it教育培訓機構排名
  • logo免費下載網(wǎng)站如何推廣自己的微信公眾號
  • 常熟專業(yè)做網(wǎng)站seo技術顧問阿亮
  • 做網(wǎng)站需要用到那些軟件中國優(yōu)秀網(wǎng)頁設計案例
  • 網(wǎng)頁制作培訓學費seo人員工作內(nèi)容
  • 免費查企業(yè)最好的網(wǎng)站杭州seo博客
  • 陜西印象盒子seo整站優(yōu)化吧
  • php做網(wǎng)站開源項目東莞網(wǎng)站設計
  • 高中學校網(wǎng)站模板如何制作一個網(wǎng)站
  • 網(wǎng)站抄襲別人的做可以嗎網(wǎng)站入口百度
  • 常熟建設銀行 招聘網(wǎng)站seddog站長之家
  • 公司網(wǎng)站維護內(nèi)容重慶seo公司
  • wordpress插件直播長沙seo工作室
  • 專門做面條菜譜的網(wǎng)站輿情監(jiān)測軟件免費版
  • 網(wǎng)站建設的費用是多少錢購物網(wǎng)站如何推廣
  • 做燈箱的網(wǎng)站百度收錄網(wǎng)站提交入口
  • 網(wǎng)站規(guī)劃與建設大作業(yè)b站網(wǎng)站推廣mmm
  • 做棋牌網(wǎng)站合法熱狗seo顧問
  • 黃頁網(wǎng)站是什么指數(shù)
  • 網(wǎng)站建設 app百度怎么優(yōu)化排名
  • 網(wǎng)站背景跟著鼠標動的圖怎么做sem優(yōu)化
  • 東湖南昌網(wǎng)站建設公司杭州網(wǎng)站優(yōu)化效果