textshadow(text shadow中文翻譯,text shadow是什么意思,text shadow發(fā)音、用法及例句)
- 內容導航:
- 1、text shadow
- 2、國內低代碼平臺有哪些?
1、text shadow
text shadow發(fā)音
英: 美:
text shadow中文意思翻譯
常見(jiàn)釋義:
文本陰影
text shadow雙語(yǔ)使用場(chǎng)景
1、The following example uses two text-shadow declarations to make a letter press effect (1px top and 1px bottom).───下面的示例使用兩個(gè)文本陰影聲明制作了文字凸版效果(頂部1px和底部1px)。
2、The structure for box shadow is same as the text-shadow property: x-offset, y-offset, blur, and color.───盒陰影的結構和text-shadow相同,x軸偏移,y軸偏移,模糊,顏色。
3、Text shadow is structured in the following order: x-offset, y-offset, blur, and color;───文字陰影的結構順序為:x軸偏移,y軸偏移,模糊,顏色。
4、You apply a shadow to the text of the paragraph by using the text-shadow style.───通過(guò)使用text-shadow樣式來(lái)向這個(gè)段落的文本應用一個(gè)陰影。
5、You can also specify a list of text-shadow (separated by a comma).───您也可以指定一個(gè)文本陰影列表(以逗號分隔)。
6、apply a shadow to the text of the paragraph by using the text-shadow style.───通過(guò)使用text - shadow樣式來(lái)向這個(gè)段落的文本應用一個(gè)陰影。
7、The color of the text shadow.───文本陰影的顏色。
text shadow相似詞語(yǔ)短語(yǔ)
1、dark shadow───暗影
2、to shadow───陰影
3、eye shadow───眼影,眼瞼膏
4、eyeshadow───n.眼影
5、eye shadows───眼影;眼瞼膏
6、beshadow───鋪蓋
7、eye-shadow───眼影,眼瞼膏
2、國內低代碼平臺有哪些?
隨著(zhù)低代碼概念的火熱,相關(guān)的技術(shù)及產(chǎn)品也是層出不窮,不管是老牌行業(yè)軟件廠(chǎng)商還是開(kāi)放平臺廠(chǎng)商,不論是互聯(lián)網(wǎng)行業(yè)企業(yè)SAAS軟件新動(dòng)向還是新興的低代碼創(chuàng )新產(chǎn)品服務(wù),都在第一時(shí)間打出了低代碼這張牌。各個(gè)平臺雖然各有優(yōu)勢,但大多又是自成體系,真正在企業(yè)方面進(jìn)行選擇時(shí)卻一時(shí)難以抉擇。對于低代碼平臺的功能評價(jià),以及各平臺組件間的互聯(lián)互通則成為了市場(chǎng)上迫切需求。
在剛剛過(guò)去的2022年,在平臺互聯(lián)互通的方面,阿里在第二季度推出開(kāi)源引擎 “LowCodeEngin”,國家隊信通院也應市場(chǎng)需求在第四季度推出了《低代碼開(kāi)發(fā)平臺通用技術(shù)要求》,針對低代碼相關(guān)概念以及功能點(diǎn)新型了進(jìn)一步的規范和梳理。
在全面開(kāi)放的大背景下,CodeBee團隊,推出了基于開(kāi)源LGPL協(xié)議 低代碼引擎(LowCodeEngine)。
二,產(chǎn)品組成
低代碼引擎,由界面設計器、OneCode通碼框架以及,DSM領(lǐng)域建模工具 三部分支撐體系相互支撐的部分來(lái)組成,通過(guò)開(kāi)放標準的組件協(xié)議完成相互繼承支持。
(1) 視圖設計器引擎
設計器,采用的是拖拽引擎+插件的構造模型,用戶(hù)可以通過(guò)開(kāi)放的低代碼協(xié)議編寫(xiě)插件。支持JS和JAVA兩種擴展語(yǔ)言。樣式構建提供了標準CSS3編輯器,支持事件動(dòng)作以及函數動(dòng)態(tài)擴展。支持自定義函數庫擴展,支持阿里字體圖片等資源庫。
(2)OneCode通碼編輯器:
OneCode,是一款為低代碼語(yǔ)言定制的統一語(yǔ)法體系,采用Java語(yǔ)言作為原生語(yǔ)言,運行在JVM環(huán)境中,用戶(hù)可以通過(guò)Java語(yǔ)言與低代碼應用進(jìn)行交互,也可以通過(guò)Java語(yǔ)言完成引擎插件,調用代碼引擎完成編譯部署應用。
(3)DSMEngine領(lǐng)域建模:
DSMEngine 是獨立于設計器的OneCode建模工具,平臺采用領(lǐng)域建模模型,支持倉儲管理、聚合應用,以及CodeFactory輸出為OneCode代碼編譯輸出。
DSM模型支持三種建模模式:
(1)CodeFrist 代碼優(yōu)先模式
通過(guò)Java語(yǔ)言 OneCode 模式原生撰寫(xiě)。
(2)ViewFrist 視圖優(yōu)先
通過(guò)視圖引擎拖拽完成前期的交互模型,反向完成DSM模型。
(3)ModuleFrist 模型優(yōu)先
通過(guò)數據庫,微服務(wù)接口等模式,構建基礎模型。
DSM逆向轉換
通過(guò)不同方式完成的DSM模型,可以通過(guò)OneCode 在視圖、Code 、以及Module 三種方式之間自由切換,利用相關(guān)工具完成仿真調試以及部署運行。
DSM第三方語(yǔ)言轉換
DSM出碼模塊采用了獨立的模板架構,除了可以以OneCode形式存在,還可以支持獨立的出碼模塊定制獨立的第三方語(yǔ)言模型輸出。
三,設計器引擎介紹
(1)功能概覽
(2)設計器布局
設計器引擎是低代碼引擎前端的SDK,面向開(kāi)發(fā)人員,他本身不是一套可以適應所有人的低代碼平臺,而是技術(shù)開(kāi)發(fā)人員可以通過(guò)擴展插件,周邊生態(tài),完成自身業(yè)務(wù)的定制,實(shí)現協(xié)同辦公,CRM客戶(hù)管理、物聯(lián)網(wǎng)平臺等通過(guò)低代碼能力賦能業(yè)務(wù)系統
(3)物料庫
"物料":低代碼引擎的核心目的之一是建設跨行業(yè)的低代碼框架,而每個(gè)行業(yè)由于其應用的領(lǐng)域不同,使用的人員以及方法方式不同,在一些底層組件方面會(huì )有會(huì )有加大差距。比如:政府業(yè)務(wù)中會(huì )大量使用的非規則表單元素,企業(yè)應用中各個(gè)行業(yè)自有的圖標體系,物聯(lián)網(wǎng)行業(yè)大量的設備圖標圖片以及實(shí)時(shí)聯(lián)網(wǎng)圖。
(4)組件庫
組件定義:可以用于低代碼平臺的組件,包含了搭建體驗增強配置,可以在設計器中 進(jìn)行拖拽、配置等操作。有兩種分類(lèi)方式:按照場(chǎng)景可以分為基礎組件、業(yè)務(wù)組件、圖 表組件、布局組件和復合組件等。通常用戶(hù)可以自主完成相關(guān)設定,并根據業(yè)務(wù)特點(diǎn)在視圖引擎中進(jìn)行自行擴展(后續章節中會(huì )演示實(shí)際注冊示例)
組件通常是一組完成特定功能的可交互組件,根據不同的引擎模式,在引擎中完成加載渲染配置。
配置示例
Code轉換
組件調試導入
(5)支撐管理
公共資源導入
(6)樣式體系
DOM樹(shù)透視樣式盒
DOM樹(shù)透視
添加圖片注釋?zhuān)怀^(guò) 140 字(可選)
配圖示例代碼
{ "alias":"BuildTreeTreeView", "key":"xui.UI.TreeView", "host":this, "properties":{ "name":"BuildTreeTreeGrid", "items":[ { "borderType":"none", "caption":"JAVA樹(shù)", "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" } } }
動(dòng)態(tài)樣式盒
添加圖片注釋?zhuān)怀^(guò) 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)事件框架
添加圖片注釋?zhuān)怀^(guò) 140 字(可選)
配置代碼示例:
{ "alias":"BuildTreeTreeView", "key":"xui.UI.TreeView", "host":this, "properties":{ "name":"BuildTreeTreeGrid", "items":[ { "borderType":"none", "caption":"JAVA樹(shù)", "dynDestory":false, "hidden":false, "id":"getBuildTree", "imageClass":"bpmfont bpmgongzuoliuxitongpeizhi", "tagVar":{ } } ], "iniFold":false, "dynDestory":true }, "events":{ //獲取數據 "onGetContent":{ "actions":[ { "args":[ "{page.ReloadChild.setQueryData()}", null, null, "{args[1].tagVar}", "" ], "desc":"設置擴展參數", "method":"setQueryData", "redirection":"other:callback:call", "target":"ReloadChild", "type":"control" } ] }, //數據項選擇 "onItemSelected":{ "actions":[ { "args":[ "{args[1].id}" ], "conditions":[ { "symbol":"non-empty", "right":"", "conditionId":"_nonempty_{args[1].className}", "left":"{args[1].className}" } ], "desc":"刪除存在頁(yè)", "method":"removeItems", "target":"BuildTreeTab", "type":"control" } ] } } }
(8)動(dòng)作調用
功能概覽
添加圖片注釋?zhuān)怀^(guò) 140 字(可選)
添加圖片注釋?zhuān)怀^(guò) 140 字(可選)
配置實(shí)例代碼:
{ "args":[ "{page.ReloadChild.setQueryData()}", null, null, "{args[1].tagVar}", "" ], "desc":"設置擴展參數", "method":"setQueryData", "redirection":"other:callback:call", "target":"ReloadChild", "type":"control" }, { "args":[ "{page.ReloadChild.invoke()}", "temp", null, "{args[2]}" ], "desc":"子節點(diǎn)裝載", "method":"invoke", "redirection":"other:callback:call", "return":false, "target":"ReloadChild", "type":"control" } ] }
(9)插件體系
插件是嵌入到設計器的內置管理功能,不同于業(yè)務(wù)組件,插件更多的是系統極的擴展功能。在實(shí)際應用中也比較常見(jiàn),如系統運行期我們要根據用戶(hù)不同顯示不同內容數據,這就需要權限插件來(lái)完成,而業(yè)務(wù)用戶(hù)在使用過(guò)程也會(huì )涉及到大量的業(yè)務(wù)和數據的流轉功能而這些功能則需要動(dòng)態(tài)的來(lái)管理頁(yè)面的屬性,甚至動(dòng)態(tài)生成注入頁(yè)面。這就需要流程插件來(lái)輔助完成。 在實(shí)際開(kāi)發(fā)過(guò)程中特別是真實(shí)項目的工程開(kāi)發(fā)時(shí),我們往往要針對工程方面的進(jìn)行很多的宏操作比如批量的修改特定組件樣式,按特定條件檢索復制組件特性,自動(dòng)添加動(dòng)作等等。這些都需要類(lèi)似的宏插件來(lái)完成,OneCode 在整合后端運行以及服務(wù)部署方面也是按插件體系來(lái)規范的。分別針對,DSM建模提供了DSM插件,發(fā)布管理及運行提供了OPS插件, API整合方面提供了代理服務(wù)器插件,系統插件部分采用全開(kāi)源方式共有需要的用戶(hù)自行修改方便用戶(hù)后期可以參照插件體系來(lái)修改自身的插件體系。
添加圖片注釋?zhuān)怀^(guò) 140 字(可選)
添加圖片注釋?zhuān)怀^(guò) 140 字(可選)
四,OneCode中后臺
OneCode 本身基于JAVA語(yǔ)言體系,是在Java Spring 注解基礎上的一套擴展子集,可以在普通額Java程序中通過(guò)添加注解,來(lái)實(shí)現前后臺與低代碼引擎的交互處理。
(1)渲染原理
(2)示例展示
添加圖片注釋?zhuān)怀^(guò) 140 字(可選)
(3)完整模塊OneCode
添加圖片注釋?zhuān)怀^(guò) 140 字(可選)
添加圖片注釋?zhuān)怀^(guò) 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 = "用戶(hù)名稱(chēng)", required = true) String name; @CustomAnnotation(caption = "賬戶(hù)信息", required = true) String account; @CustomAnnotation(caption = "郵箱") String email; @InputAnnotation(inputType = InputType.password) @CustomAnnotation(caption = "密碼", required = true) String password; @CustomAnnotation(caption = "手機") String mobile; @CustomAnnotation(caption = "部門(mén)名稱(chēng)") 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 = "用戶(hù)名稱(chēng)", required = true) String name; @CustomAnnotation(pid = true, hidden = true) String orgId; @CustomAnnotation(pid = true, hidden = true) String roleId; @CustomAnnotation(caption = "賬戶(hù)信息", required = true) String account; @CustomAnnotation(caption = "郵箱") String email; @InputAnnotation(inputType= InputType.password) @CustomAnnotation(caption = "密碼", required = true) String password; @CustomAnnotation(caption = "手機") 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),是一種設計和開(kāi)發(fā)系統(如電腦軟件)的軟件工程方法學(xué)。它系統使用圖形化特定域語(yǔ)言(DSL),表現系統的各個(gè)方面。DSM的語(yǔ)言?xún)A向于支持比通用建模語(yǔ)言更高級別的抽象,因此需要較少的努力和更少的底層細節來(lái)描述特定系統。
低代碼技術(shù)應用可以通過(guò)提供更強的工具,提升程序員的代碼效率。但其本質(zhì)上也是一種特定場(chǎng)景下的軟件描述方法,這個(gè)層面上低碼技術(shù)和DSM思想是有其相通相同之處的,產(chǎn)品在設計之初就將DSM建模語(yǔ)言的構建以及工具支撐作為了底層支撐設計,將應用中積累的建模應用采用DSM的思想進(jìn)行重構整合在底層打通。
我們將現有的資源類(lèi)的工具,統一到倉庫應用中,包括統一的物料庫導入,統一的數據源(數據庫,外部存儲)管理。并通代碼工廠(chǎng)的輔助構建統一到Contenxt(OneCode)的當前環(huán)境技術(shù)模型中。在各個(gè)特定的業(yè)務(wù)模型中,完成獨立的聚合實(shí)體整合,以及相應的服務(wù)管理,并為相關(guān)的方法模型透視管理服務(wù)。在OneCode 的基礎之上,擺脫傳統的 代碼模板與生成機制。實(shí)現代碼向模型的逆向能力。將DSM設計能貫穿整個(gè)項目開(kāi)發(fā)實(shí)施管理過(guò)程,打造結余真實(shí)的代碼之上的建模語(yǔ)言。
(1)倉儲建模
(2)聚合應用
(3)視圖工廠(chǎng)
(4)支撐域
添加圖片注釋?zhuān)怀^(guò) 140 字(可選)
(5)流程建模
添加圖片注釋?zhuān)怀^(guò) 140 字(可選)
六,應用集成
(1)內核最小集合集成(JS離線(xiàn)應用)
設計器內核完全采用JS腳本完成,是獨立的前端框架。內核版本包括:RAD 頁(yè)面設計編輯器,xui運行運行腳本兩部分。
添加圖片注釋?zhuān)怀^(guò) 140 字(可選)
最小集合僅包含,頁(yè)面設計及器以及插件框架。
設計界面集成:
下載開(kāi)源包后,運行debug.html 即可打開(kāi)編輯器。
添加圖片注釋?zhuān)怀^(guò) 140 字(可選)
集成到自由應用時(shí)只需要,引入兩個(gè)關(guān)鍵的js lib包即可集成到自有的應用。
(2)團隊協(xié)作版
團隊協(xié)作版是獨立的服務(wù)器部署版,在官網(wǎng)上申請賬號后,可以在獨立的服務(wù)器上運行。啟動(dòng)后通過(guò)瀏覽器訪(fǎng)問(wèn) http://demoserver:83 用管理員 sysadmin 登錄:
首次登錄 會(huì )進(jìn)入默認的工程配置界面
配置工程
關(guān)聯(lián)API
設定團隊管理員
版權聲明: 本站僅提供信息存儲空間服務(wù),旨在傳遞更多信息,不擁有所有權,不承擔相關(guān)法律責任,不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責。如因作品內容、版權和其它問(wèn)題需要同本網(wǎng)聯(lián)系的,請發(fā)送郵件至 舉報,一經(jīng)查實(shí),本站將立刻刪除。