textshadow(text shadow中文翻譯,text shadow是什么意思,text shadow發(fā)音、用法及例句)
- 內(nèi)容導(dǎo)航:
- 1、text shadow
- 2、國內(nèi)低代碼平臺有哪些?
1、text shadow
text shadow發(fā)音
英: 美:
text shadow中文意思翻譯
常見釋義:
文本陰影
text shadow雙語使用場景
1、The following example uses two text-shadow declarations to make a letter press effect (1px top and 1px bottom).───下面的示例使用兩個文本陰影聲明制作了文字凸版效果(頂部1px和底部1px)。
2、The structure for box shadow is same as the text-shadow property: x-offset, y-offset, blur, and color.───盒陰影的結(jié)構(gòu)和text-shadow相同,x軸偏移,y軸偏移,模糊,顏色。
3、Text shadow is structured in the following order: x-offset, y-offset, blur, and color;───文字陰影的結(jié)構(gòu)順序?yàn)椋簒軸偏移,y軸偏移,模糊,顏色。
4、You apply a shadow to the text of the paragraph by using the text-shadow style.───通過使用text-shadow樣式來向這個段落的文本應(yīng)用一個陰影。
5、You can also specify a list of text-shadow (separated by a comma).───您也可以指定一個文本陰影列表(以逗號分隔)。
6、apply a shadow to the text of the paragraph by using the text-shadow style.───通過使用text - shadow樣式來向這個段落的文本應(yīng)用一個陰影。
7、The color of the text shadow.───文本陰影的顏色。
text shadow相似詞語短語
1、dark shadow───暗影
2、to shadow───陰影
3、eye shadow───眼影,眼瞼膏
4、eyeshadow───n.眼影
5、eye shadows───眼影;眼瞼膏
6、beshadow───鋪蓋
7、eye-shadow───眼影,眼瞼膏
2、國內(nèi)低代碼平臺有哪些?
隨著低代碼概念的火熱,相關(guān)的技術(shù)及產(chǎn)品也是層出不窮,不管是老牌行業(yè)軟件廠商還是開放平臺廠商,不論是互聯(lián)網(wǎng)行業(yè)企業(yè)SAAS軟件新動向還是新興的低代碼創(chuàng)新產(chǎn)品服務(wù),都在第一時間打出了低代碼這張牌。各個平臺雖然各有優(yōu)勢,但大多又是自成體系,真正在企業(yè)方面進(jìn)行選擇時卻一時難以抉擇。對于低代碼平臺的功能評價,以及各平臺組件間的互聯(lián)互通則成為了市場上迫切需求。
在剛剛過去的2022年,在平臺互聯(lián)互通的方面,阿里在第二季度推出開源引擎 “LowCodeEngin”,國家隊信通院也應(yīng)市場需求在第四季度推出了《低代碼開發(fā)平臺通用技術(shù)要求》,針對低代碼相關(guān)概念以及功能點(diǎn)新型了進(jìn)一步的規(guī)范和梳理。
在全面開放的大背景下,CodeBee團(tuán)隊,推出了基于開源LGPL協(xié)議 低代碼引擎(LowCodeEngine)。
二,產(chǎn)品組成
低代碼引擎,由界面設(shè)計器、OneCode通碼框架以及,DSM領(lǐng)域建模工具 三部分支撐體系相互支撐的部分來組成,通過開放標(biāo)準(zhǔn)的組件協(xié)議完成相互繼承支持。
(1) 視圖設(shè)計器引擎
設(shè)計器,采用的是拖拽引擎+插件的構(gòu)造模型,用戶可以通過開放的低代碼協(xié)議編寫插件。支持JS和JAVA兩種擴(kuò)展語言。樣式構(gòu)建提供了標(biāo)準(zhǔn)CSS3編輯器,支持事件動作以及函數(shù)動態(tài)擴(kuò)展。支持自定義函數(shù)庫擴(kuò)展,支持阿里字體圖片等資源庫。
(2)OneCode通碼編輯器:
OneCode,是一款為低代碼語言定制的統(tǒng)一語法體系,采用Java語言作為原生語言,運(yùn)行在JVM環(huán)境中,用戶可以通過Java語言與低代碼應(yīng)用進(jìn)行交互,也可以通過Java語言完成引擎插件,調(diào)用代碼引擎完成編譯部署應(yīng)用。
(3)DSMEngine領(lǐng)域建模:
DSMEngine 是獨(dú)立于設(shè)計器的OneCode建模工具,平臺采用領(lǐng)域建模模型,支持倉儲管理、聚合應(yīng)用,以及CodeFactory輸出為OneCode代碼編譯輸出。
DSM模型支持三種建模模式:
(1)CodeFrist 代碼優(yōu)先模式
通過Java語言 OneCode 模式原生撰寫。
(2)ViewFrist 視圖優(yōu)先
通過視圖引擎拖拽完成前期的交互模型,反向完成DSM模型。
(3)ModuleFrist 模型優(yōu)先
通過數(shù)據(jù)庫,微服務(wù)接口等模式,構(gòu)建基礎(chǔ)模型。
DSM逆向轉(zhuǎn)換
通過不同方式完成的DSM模型,可以通過OneCode 在視圖、Code 、以及Module 三種方式之間自由切換,利用相關(guān)工具完成仿真調(diào)試以及部署運(yùn)行。
DSM第三方語言轉(zhuǎn)換
DSM出碼模塊采用了獨(dú)立的模板架構(gòu),除了可以以O(shè)neCode形式存在,還可以支持獨(dú)立的出碼模塊定制獨(dú)立的第三方語言模型輸出。
三,設(shè)計器引擎介紹
(1)功能概覽
(2)設(shè)計器布局
設(shè)計器引擎是低代碼引擎前端的SDK,面向開發(fā)人員,他本身不是一套可以適應(yīng)所有人的低代碼平臺,而是技術(shù)開發(fā)人員可以通過擴(kuò)展插件,周邊生態(tài),完成自身業(yè)務(wù)的定制,實(shí)現(xiàn)協(xié)同辦公,CRM客戶管理、物聯(lián)網(wǎng)平臺等通過低代碼能力賦能業(yè)務(wù)系統(tǒng)
(3)物料庫
"物料":低代碼引擎的核心目的之一是建設(shè)跨行業(yè)的低代碼框架,而每個行業(yè)由于其應(yīng)用的領(lǐng)域不同,使用的人員以及方法方式不同,在一些底層組件方面會有會有加大差距。比如:政府業(yè)務(wù)中會大量使用的非規(guī)則表單元素,企業(yè)應(yīng)用中各個行業(yè)自有的圖標(biāo)體系,物聯(lián)網(wǎng)行業(yè)大量的設(shè)備圖標(biāo)圖片以及實(shí)時聯(lián)網(wǎng)圖。
(4)組件庫
組件定義:可以用于低代碼平臺的組件,包含了搭建體驗(yàn)增強(qiáng)配置,可以在設(shè)計器中 進(jìn)行拖拽、配置等操作。有兩種分類方式:按照場景可以分為基礎(chǔ)組件、業(yè)務(wù)組件、圖 表組件、布局組件和復(fù)合組件等。通常用戶可以自主完成相關(guān)設(shè)定,并根據(jù)業(yè)務(wù)特點(diǎn)在視圖引擎中進(jìn)行自行擴(kuò)展(后續(xù)章節(jié)中會演示實(shí)際注冊示例)
組件通常是一組完成特定功能的可交互組件,根據(jù)不同的引擎模式,在引擎中完成加載渲染配置。
配置示例
Code轉(zhuǎn)換
組件調(diào)試導(dǎo)入
(5)支撐管理
公共資源導(dǎo)入
(6)樣式體系
DOM樹透視樣式盒
DOM樹透視
添加圖片注釋,不超過 140 字(可選)
配圖示例代碼
{ "alias":"BuildTreeTreeView", "key":"xui.UI.TreeView", "host":this, "properties":{ "name":"BuildTreeTreeGrid", "items":[ { "borderType":"none", "caption":"JAVA樹", "dynDestory":false, "hidden":false, "id":"getBuildTree", "imageClass":"bpmfont bpmgongzuoliuxitongpeizhi", "tagVar":{ } } ], "iniFold":false, "dynDestory":true }, "CS":{ "KEY":{ "color":"#000000", "font-weight":"lighter", "border-radius":"0px 2px 0px 0px" }, "BAR":{ "font-family":"tahoma,geneva,sans-serif" } } }
動態(tài)樣式盒
添加圖片注釋,不超過 140 字(可選)
代碼配置示例
{ "alias":"xui_ui_cssbox1", "key":"xui.UI.CSSBox", "host":this, "properties":{ "className":"xui-css-ame", "normalStatus":{ "color":"#eeeeee", "border-radius":"6px", "box-shadow":"inset 0px 1px 0px #87C1DD", "text-shadow":"0 1px 0 #297192", "$gradient":{ "stops":[ { "pos":"0%", "clr":"#4BA3CC" }, { "pos":"70%", "clr":"#3289B2" } ], "type":"linear", "orient":"T" }, "cursor":"pointer", "border-top":"solid #3899C6 1px", "border-right":"solid #3899C6 1px", "border-bottom":"solid #3899C6 1px", "border-left":"solid #3899C6 1px" }, "hoverStatus":{ "border-radius":"0px 3px 0px 0px" } } }
(7)事件框架
添加圖片注釋,不超過 140 字(可選)
配置代碼示例:
{ "alias":"BuildTreeTreeView", "key":"xui.UI.TreeView", "host":this, "properties":{ "name":"BuildTreeTreeGrid", "items":[ { "borderType":"none", "caption":"JAVA樹", "dynDestory":false, "hidden":false, "id":"getBuildTree", "imageClass":"bpmfont bpmgongzuoliuxitongpeizhi", "tagVar":{ } } ], "iniFold":false, "dynDestory":true }, "events":{ //獲取數(shù)據(jù) "onGetContent":{ "actions":[ { "args":[ "{page.ReloadChild.setQueryData()}", null, null, "{args[1].tagVar}", "" ], "desc":"設(shè)置擴(kuò)展參數(shù)", "method":"setQueryData", "redirection":"other:callback:call", "target":"ReloadChild", "type":"control" } ] }, //數(shù)據(jù)項選擇 "onItemSelected":{ "actions":[ { "args":[ "{args[1].id}" ], "conditions":[ { "symbol":"non-empty", "right":"", "conditionId":"_nonempty_{args[1].className}", "left":"{args[1].className}" } ], "desc":"刪除存在頁", "method":"removeItems", "target":"BuildTreeTab", "type":"control" } ] } } }
(8)動作調(diào)用
功能概覽
添加圖片注釋,不超過 140 字(可選)
添加圖片注釋,不超過 140 字(可選)
配置實(shí)例代碼:
{ "args":[ "{page.ReloadChild.setQueryData()}", null, null, "{args[1].tagVar}", "" ], "desc":"設(shè)置擴(kuò)展參數(shù)", "method":"setQueryData", "redirection":"other:callback:call", "target":"ReloadChild", "type":"control" }, { "args":[ "{page.ReloadChild.invoke()}", "temp", null, "{args[2]}" ], "desc":"子節(jié)點(diǎn)裝載", "method":"invoke", "redirection":"other:callback:call", "return":false, "target":"ReloadChild", "type":"control" } ] }
(9)插件體系
插件是嵌入到設(shè)計器的內(nèi)置管理功能,不同于業(yè)務(wù)組件,插件更多的是系統(tǒng)極的擴(kuò)展功能。在實(shí)際應(yīng)用中也比較常見,如系統(tǒng)運(yùn)行期我們要根據(jù)用戶不同顯示不同內(nèi)容數(shù)據(jù),這就需要權(quán)限插件來完成,而業(yè)務(wù)用戶在使用過程也會涉及到大量的業(yè)務(wù)和數(shù)據(jù)的流轉(zhuǎn)功能而這些功能則需要動態(tài)的來管理頁面的屬性,甚至動態(tài)生成注入頁面。這就需要流程插件來輔助完成。 在實(shí)際開發(fā)過程中特別是真實(shí)項目的工程開發(fā)時,我們往往要針對工程方面的進(jìn)行很多的宏操作比如批量的修改特定組件樣式,按特定條件檢索復(fù)制組件特性,自動添加動作等等。這些都需要類似的宏插件來完成,OneCode 在整合后端運(yùn)行以及服務(wù)部署方面也是按插件體系來規(guī)范的。分別針對,DSM建模提供了DSM插件,發(fā)布管理及運(yùn)行提供了OPS插件, API整合方面提供了代理服務(wù)器插件,系統(tǒng)插件部分采用全開源方式共有需要的用戶自行修改方便用戶后期可以參照插件體系來修改自身的插件體系。
添加圖片注釋,不超過 140 字(可選)
添加圖片注釋,不超過 140 字(可選)
四,OneCode中后臺
OneCode 本身基于JAVA語言體系,是在Java Spring 注解基礎(chǔ)上的一套擴(kuò)展子集,可以在普通額Java程序中通過添加注解,來實(shí)現(xiàn)前后臺與低代碼引擎的交互處理。
(1)渲染原理
(2)示例展示
添加圖片注釋,不超過 140 字(可選)
(3)完整模塊OneCode
添加圖片注釋,不超過 140 字(可選)
添加圖片注釋,不超過 140 字(可選)
@Controller @RequestMapping("/admin/org/person/") @MethodChinaName(cname = "人員管理", imageClass = "spafont spa-icon-login") @Aggregation(sourceClass = PersonService.class) public class PersonAPI { @RequestMapping(method = RequestMethod.POST, value = "Persons") @GridViewAnnotation() @ModuleAnnotation( caption = "人員列表") @APIEventAnnotation(autoRun = true, bindMenu = {CustomMenuItem.reload}) @ResponseBody public ListResultModel getPersons(String orgId) { ListResultModel resultModel = new ListResultModel(); List personList = new ArrayList(); try { personList = getService().getPersons(orgId); resultModel = PageUtil.getDefaultPageList(personList, PersonGridView.class); } catch (Exception e) { e.printStackTrace(); } return resultModel; } @MethodChinaName(cname = "人員信息") @RequestMapping(method = RequestMethod.POST, value = "PersonInfo") @NavGroupViewAnnotation() @APIEventAnnotation(callback = {CustomCallBack.ReloadParent, CustomCallBack.Close}, bindMenu = {CustomMenuItem.editor}) @DialogAnnotation @ModuleAnnotation(caption = "編輯人員信息", width = "800", height = "550") @ResponseBody public ResultModel getPersonInfo(String personId) { ResultModel resultModel = new ResultModel(); return resultModel; } @MethodChinaName(cname = "添加人員") @RequestMapping(method = RequestMethod.POST, value = "AddPersonView") @FormViewAnnotation @APIEventAnnotation(bindMenu = {CustomMenuItem.add}, autoRun = true) @Disabled @ModuleAnnotation( caption = "添加人員信息", width = "370", height = "260") @ResponseBody public ResultModel AddPerson(String orgId) { ResultModel resultModel = new ResultModel(); CtPerson person = new CtPerson(); person.setOrgId(orgId); resultModel.setData(new AddPerson(person)); return resultModel; } @MethodChinaName(cname = "保存成員信息") @RequestMapping(value = {"savePerson"}, method = {RequestMethod.GET, RequestMethod.POST}) @APIEventAnnotation(callback = {CustomCallBack.ReloadParent, CustomCallBack.Close}, bindMenu = CustomMenuItem.save) public @ResponseBody ResultModel savePerson(@RequestBody CtPerson person) { ResultModel userStatusInfo = new ResultModel(); getService().savePerson(person); return userStatusInfo; } @MethodChinaName(cname = "刪除人員") @RequestMapping(value = {"delPerson"}, method = {RequestMethod.GET, RequestMethod.POST}) @APIEventAnnotation(callback = {CustomCallBack.Reload, CustomCallBack.ReloadParent}, bindMenu = CustomMenuItem.delete) public @ResponseBody ResultModel delPerson(String iD) { ResultModel userStatusInfo = new ResultModel(); getService().delPerson(iD); return userStatusInfo; } PersonService getService() { return EsbUtil.parExpression(PersonService.class); } } @PageBar // @GridAnnotation(event = CustomGridEvent.editor, customService = PersonService.class, customMenu = {GridMenu.Add, GridMenu.Delete, GridMenu.Reload}) public class PersonGridView { @CustomAnnotation(pid = true, hidden = true) String orgId; @CustomAnnotation(pid = true, hidden = true) String roleId; @CustomAnnotation(uid = true, hidden = true) String iD; @CustomAnnotation(caption = "用戶名稱", required = true) String name; @CustomAnnotation(caption = "賬戶信息", required = true) String account; @CustomAnnotation(caption = "郵箱") String email; @InputAnnotation(inputType = InputType.password) @CustomAnnotation(caption = "密碼", required = true) String password; @CustomAnnotation(caption = "手機(jī)") String mobile; @CustomAnnotation(caption = "部門名稱") String orgName; public PersonGridView(Person person) { this.iD = person.getID(); this.orgId = person.getOrgId(); this.name = person.getName(); this.account = person.getAccount(); this.password = person.getPassword(); this.mobile = person.getMobile(); this.email = person.getEmail(); Org org = null; try { org = OrgManagerFactory.getOrgManager().getOrgByID(person.getOrgId()); this.orgName = org.getName(); } catch (OrgNotFoundException e) { e.printStackTrace(); } } } @BottomBarMenu @FormAnnotation(bottombarMenu = {CustomFormMenu.Save, CustomFormMenu.Close}, customService = PersonService.class, col = 1) public class AddPerson { @CustomAnnotation(uid = true, hidden = true) String iD; @CustomAnnotation(caption = "用戶名稱", required = true) String name; @CustomAnnotation(pid = true, hidden = true) String orgId; @CustomAnnotation(pid = true, hidden = true) String roleId; @CustomAnnotation(caption = "賬戶信息", required = true) String account; @CustomAnnotation(caption = "郵箱") String email; @InputAnnotation(inputType= InputType.password) @CustomAnnotation(caption = "密碼", required = true) String password; @CustomAnnotation(caption = "手機(jī)") String mobile; public AddPerson(Person person) { this.iD = person.getID(); this.orgId = person.getOrgId(); this.name = person.getName(); this.account = person.getAccount(); this.password = person.getPassword(); this.mobile = person.getMobile(); this.email = person.getEmail(); } }
(五)DSM建模工具
DSM建模,百度百科是這樣定義的:
特定域建模(Domain-specific modeling,DSM),是一種設(shè)計和開發(fā)系統(tǒng)(如電腦軟件)的軟件工程方法學(xué)。它系統(tǒng)使用圖形化特定域語言(DSL),表現(xiàn)系統(tǒng)的各個方面。DSM的語言傾向于支持比通用建模語言更高級別的抽象,因此需要較少的努力和更少的底層細(xì)節(jié)來描述特定系統(tǒng)。
低代碼技術(shù)應(yīng)用可以通過提供更強(qiáng)的工具,提升程序員的代碼效率。但其本質(zhì)上也是一種特定場景下的軟件描述方法,這個層面上低碼技術(shù)和DSM思想是有其相通相同之處的,產(chǎn)品在設(shè)計之初就將DSM建模語言的構(gòu)建以及工具支撐作為了底層支撐設(shè)計,將應(yīng)用中積累的建模應(yīng)用采用DSM的思想進(jìn)行重構(gòu)整合在底層打通。
我們將現(xiàn)有的資源類的工具,統(tǒng)一到倉庫應(yīng)用中,包括統(tǒng)一的物料庫導(dǎo)入,統(tǒng)一的數(shù)據(jù)源(數(shù)據(jù)庫,外部存儲)管理。并通代碼工廠的輔助構(gòu)建統(tǒng)一到Contenxt(OneCode)的當(dāng)前環(huán)境技術(shù)模型中。在各個特定的業(yè)務(wù)模型中,完成獨(dú)立的聚合實(shí)體整合,以及相應(yīng)的服務(wù)管理,并為相關(guān)的方法模型透視管理服務(wù)。在OneCode 的基礎(chǔ)之上,擺脫傳統(tǒng)的 代碼模板與生成機(jī)制。實(shí)現(xiàn)代碼向模型的逆向能力。將DSM設(shè)計能貫穿整個項目開發(fā)實(shí)施管理過程,打造結(jié)余真實(shí)的代碼之上的建模語言。
(1)倉儲建模
(2)聚合應(yīng)用
(3)視圖工廠
(4)支撐域
添加圖片注釋,不超過 140 字(可選)
(5)流程建模
添加圖片注釋,不超過 140 字(可選)
六,應(yīng)用集成
(1)內(nèi)核最小集合集成(JS離線應(yīng)用)
設(shè)計器內(nèi)核完全采用JS腳本完成,是獨(dú)立的前端框架。內(nèi)核版本包括:RAD 頁面設(shè)計編輯器,xui運(yùn)行運(yùn)行腳本兩部分。
添加圖片注釋,不超過 140 字(可選)
最小集合僅包含,頁面設(shè)計及器以及插件框架。
設(shè)計界面集成:
下載開源包后,運(yùn)行debug.html 即可打開編輯器。
添加圖片注釋,不超過 140 字(可選)
集成到自由應(yīng)用時只需要,引入兩個關(guān)鍵的js lib包即可集成到自有的應(yīng)用。
(2)團(tuán)隊協(xié)作版
團(tuán)隊協(xié)作版是獨(dú)立的服務(wù)器部署版,在官網(wǎng)上申請賬號后,可以在獨(dú)立的服務(wù)器上運(yùn)行。啟動后通過瀏覽器訪問 http://demoserver:83 用管理員 sysadmin 登錄:
首次登錄 會進(jìn)入默認(rèn)的工程配置界面
配置工程
關(guān)聯(lián)API
設(shè)定團(tuán)隊管理員
本站其他內(nèi)容推薦
1、retrench idealism contrast unnerve paramedic evocative Gujarati brachiosaurus Runnymede awning
2、play tricks on中文翻譯,play tricks on是什么意思,play tricks on發(fā)音、用法及例句
3、ikat中文翻譯,ikat是什么意思,ikat發(fā)音、用法及例句
4、說實(shí)話的英文(tell you the truth中文翻譯,tell you the truth是什么意思,tell you the truth發(fā)音、用法及例句)
6、路易斯英文,lewis是什么意思,lewis中文翻譯,lewis發(fā)音、用法及例句
7、卻之不恭是什么意思解釋,卻之不恭的意思,卻之不恭成語解釋,卻之不恭是什么意思含義寓意
9、houri是什么意思,houri中文翻譯,houri怎么讀、發(fā)音、用法及例句
10、punish
11、reaffirmed
版權(quán)聲明: 本站僅提供信息存儲空間服務(wù),旨在傳遞更多信息,不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任,不代表本網(wǎng)贊同其觀點(diǎn)和對其真實(shí)性負(fù)責(zé)。如因作品內(nèi)容、版權(quán)和其它問題需要同本網(wǎng)聯(lián)系的,請發(fā)送郵件至 舉報,一經(jīng)查實(shí),本站將立刻刪除。