国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于微信平臺的邊坡穩(wěn)定計算程序開發(fā)

2019-08-01 01:52:06陳國周詹素華陳為群
數(shù)字技術(shù)與應用 2019年4期
關(guān)鍵詞:程序開發(fā)微信小程序微信平臺

陳國周 詹素華 陳為群

摘要:微信平臺為程序開發(fā)者提供了強大的開發(fā)工具,適合用來開發(fā)移動互聯(lián)的邊坡穩(wěn)定計算程序。本文介紹了微信平臺在移動端程序開發(fā)方面的優(yōu)勢,給出邊坡工程移動端程序開發(fā)的流程圖以及詳細步驟,包括圖形實時顯示方法、計算模塊的代碼編寫、微信小程序的預覽及發(fā)布流程,最后形成了程序掃描碼,讀者直接用微信掃碼可以進行邊坡穩(wěn)定計算。

關(guān)鍵詞:邊坡工程;計算程序;微信平臺;微信小程序;移動端軟件;程序開發(fā)

中圖分類號:TU43 文獻標識碼:A 文章編號:1007-9416(2019)04-0189-03

0 引言

滑坡在我國是常見的地質(zhì)災害,因此邊坡工程是巖土工程中經(jīng)常遇到的工程類型,很多較成熟的商業(yè)軟件都提供了這方面的計算模塊,如FLAC、Plaxis、Geostudio、理正巖土、同濟啟明星、MIDAS等,這些軟件可以完成較為復雜的邊坡工程設(shè)計[1,2]。也有一些研究人員使用各種程序語言開發(fā)了相關(guān)的計算軟件[3-5]。隨著移動互聯(lián)時代的來臨,用戶需要更加方便快捷的計算工具,如果能使用隨身攜帶的手機移動端來計算,將是個很方便的方法。黃宏偉預測,利用云計算技術(shù),巖土工程專業(yè)計算分析軟件將由產(chǎn)品模式轉(zhuǎn)變?yōu)榉漳J?,這樣更易于推廣,能更好地滿足客戶需求[6]。楊敏認為,在未來基于網(wǎng)絡(luò)的社會中,軟件的服務將有一個重要特征:軟件產(chǎn)品與服務融為一體,例如在線計算、查詢,直接通過網(wǎng)絡(luò)實現(xiàn)該功能,即軟件本身就是以服務的形式存在[7]。崔年治認為在軟件開發(fā)方面,應該以共享數(shù)據(jù)為連接紐帶,把移動技術(shù)、云存儲、云計算、BIM、物聯(lián)網(wǎng)等各種新技術(shù)充分貫通,集成應用,可節(jié)約出大量的時間去提高設(shè)計的質(zhì)量[8]。

筆者認為在移動互聯(lián)時代,巖土工程的專業(yè)軟件會分化,一個方向是向更復雜的多相耦合、多工種協(xié)同去發(fā)展,需要更大的內(nèi)存、更快的計算能力;另一個方向則是走去中心化的道路,把較簡單的計算功能(比如邊坡穩(wěn)定的計算公式)轉(zhuǎn)移到移動端,以方便巖土工作者使用[9]。本文介紹了基于微信平臺的邊坡穩(wěn)定計算軟件開發(fā)過程與使用效果。

1 微信小程序簡介

微信公眾平臺是騰訊公司打造的一個綜合平臺,提供微信公眾號及微信小程序的注冊開發(fā)。依托微信平臺的小程序開發(fā),可以通過盡可能簡單、高效的方式讓開發(fā)者在微信中開發(fā)具有原生APP體驗的服務。微信小程序是基于數(shù)據(jù)驅(qū)動的模式,有很多組件(視圖組件)可以選用,但是沒有window、document的概念,因此無法使用Dom庫,如JQuery。

程序開發(fā)者需要使用騰訊公司提供的“開發(fā)者工具”,來完成小程序創(chuàng)建和代碼編輯。開發(fā)者工具在電腦上安裝完成后,打開并使用微信掃碼登錄。選擇創(chuàng)建“項目”,填入申請到的AppID,設(shè)置一個本地項目的名稱,比如“基坑工程項目”,并選擇一個本地的文件夾作為代碼存儲的目錄,點擊“新建項目”就開始了程序的編寫[10]。

2 微信小程序框架

微信小程序框架的核心是一個響應的數(shù)據(jù)綁定系統(tǒng)。整個系統(tǒng)分為兩塊,即視圖層(View)和邏輯層(App Service),如圖1所示,并在視圖層與邏輯層間提供了數(shù)據(jù)傳輸和事件系統(tǒng),可以讓開發(fā)者可以方便地聚焦于數(shù)據(jù)與邏輯上。

框架可以讓數(shù)據(jù)與視圖非常簡單地保持同步。當做數(shù)據(jù)修改的時候,只需要在邏輯層修改數(shù)據(jù),視圖層就會做相應的更新??蚣苓€提供了豐富的微信原生API,可以方便的調(diào)起微信提供的能力,如獲取用戶信息,本地存儲,支付功能等[11]。

在進行移動端軟件開發(fā)時,會用到多個頁面,比如邊坡工程至少需要土層輸入頁面、邊坡尺寸頁面、支護頁面、計算結(jié)果頁面等等。而微信小程序框架管理了整個程序的頁面路由,可以做到頁面間的無縫切換,并給以頁面完整的生命周期。開發(fā)者需要做的只是將頁面的數(shù)據(jù)、方法及生命周期函數(shù)注冊進框架中,其他的一切復雜的操作都交由框架處理。

3 程序流程及其實現(xiàn)

3.1 程序流程圖

根據(jù)所要實現(xiàn)的功能,筆者給出程序的流程圖如圖2所示。從流程圖可以看出,程序中有較多的頁面跳轉(zhuǎn)與返回,因為手機屏幕相對電腦屏幕來說小了很多,需要通過多個頁面來實現(xiàn)特定的功能。

3.2 程序?qū)崿F(xiàn)

3.2.1 圖形的實時顯示

在移動端軟件中,友好的圖形界面是必不可少的,微信小程序中的繪圖和Android、OS等移動開發(fā)是相同的,都是創(chuàng)建個上下文,在畫布canvas上畫出圖形。canvas標簽默認寬度為300px,高度為225px,但我們希望畫面隨著用戶的手機屏幕的大小而自動變化,這就需要調(diào)用手機屏幕的寬度及高度尺寸,代碼如下所示:

var app = getApp();

var context = null;

var isButtonDown = false;

var canvasw = 0;

var canvash = 0;

wx.getSystemInfo({

success: function (res) {

canvasw = res.windowWidth;

canvash = res.windowHeight;

}

});

畫布canvas就像是數(shù)學上的坐標軸,以屏幕左上角為圓點,X軸向右為正,Y軸向下為正(這點和數(shù)學上相反的)。

3.2.2 計算模塊

邊坡穩(wěn)定計算軟件的核心內(nèi)容是其計算模塊,該模塊屬于小程序的邏輯層,是用JavaScript編寫的,放在后綴為js的文件里。邏輯層將數(shù)據(jù)進行處理后發(fā)送給視圖層,同時接受視圖層的事件反饋。在JavaScript 的基礎(chǔ)上,微信小程序有自己的特點:①增加 App 和 Page 方法,進行程序和頁面的注冊。②提供豐富的API,如掃一掃,支付等微信特有能力。③每個頁面有獨立的作用域,并提供模塊化能力。④開發(fā)者寫的所有代碼最終將會打包成一份 JavaScript,并在小程序啟動的時候運行,直到小程序銷毀。下面以土壓力系數(shù)計算為例,代碼如下:

//KaSoil土層主動土壓力系數(shù),KpSoil被動土壓力系數(shù)

var KaSoil = [10];

var KpSoil = [10];

for (var i = 0; i < NumberSoilLayer; i++) {

KaSoil[i] = Math.pow(Math.tan(Math.PI * (45 - 0.5 * soilPara[i][2]) / 180), 2);

KpSoil[i] = Math.pow(Math.tan(Math.PI * (45 + 0.5 * soilPara[i][2]) / 180), 2);

//

}

4 程序效果

4.1 程序的預覽與發(fā)布

開發(fā)者可以使用開發(fā)工具來預覽小程序,檢查小程序在移動客戶端上的真實表現(xiàn)。點擊開發(fā)工具頂部操作欄的預覽按鈕,開發(fā)工具會自動打包當前項目,并上傳小程序代碼至微信的服務器,成功之后會在界面上顯示一個二維碼。使用微信掃碼即可在手機客戶端上看到小程序的真實表現(xiàn),并且在手機上使用。由于最終程序是運行于微信平臺,為了保證小程序的質(zhì)量,以及符合相關(guān)的規(guī)范,小程序的發(fā)布需要經(jīng)過騰訊公司審核[12]。點擊開發(fā)者工具頂部操作欄的上傳按鈕,填寫版本號以及項目備注,上傳代碼提交審核。審核通過之后,需要開發(fā)者手動點擊發(fā)布,小程序才會發(fā)布到線上提供服務。用戶要使用該程序,只需在手機的微信里搜索“土木計算”小程序,打開之后就可以使用?;蛘哂梦⑿艗叽a圖3所示的小程序二維碼,直接進入程序首頁。

4.2 程序運行效果

在手機微信里打開“土木計算”小程序(如圖4所示),點擊里面的“邊坡穩(wěn)定分析”模塊,就進入“邊坡穩(wěn)定計算”的界面,輸入相關(guān)的土層參數(shù)、邊坡尺寸參數(shù),然后點擊“計算”,這時程序會提示是否需要支護,如果需要支護則輸入錨桿參數(shù),再點擊“計算”。

輸入邊坡高度為45m,邊坡水平投影長度為66m?;衙媾c水平夾角25度。土體參數(shù)容重20kN/m3,粘聚力18.5kPa,摩擦角15°,計算出無支護狀態(tài)下邊坡穩(wěn)定系數(shù)是0.91,不能滿足規(guī)范的穩(wěn)定安全要求。接下來增加支護措施,點擊“輸入支護信息”,輸入錨桿的排數(shù)、單根錨桿的錨固力、錨桿與水平的夾角及錨桿的水平間距。這些數(shù)據(jù)可以反復調(diào)整,比如當錨桿排數(shù)為11排、單根錨固力為1000KN、錨桿水平夾角未20度、錨桿水平間距為4m時(如圖5所示),計算得到的穩(wěn)定系數(shù)是1.34,滿足規(guī)范的要求。

5 結(jié)語

本文基于微信平臺開發(fā)了邊坡穩(wěn)定計算程序,主要得出以下結(jié)論:

(1)使用微信平臺提供的開發(fā)工具,可以開發(fā)出邊坡穩(wěn)定計算程序,經(jīng)幾百位用戶的試用,該程序可以滿足基本的計算要求。

(2)該程序運行在手機移動端,不必下載安裝,直接在微信里打開即可計算。程序本身大小不足1M,基本對智能手機內(nèi)存沒有影響。

(3)由于微信平臺對程序容量的限制,該程序?qū)儆谳p便型的應用,更加復雜的功能,比如自動生成計算書還無法實現(xiàn)。

本程序只是應用了微信平臺所提供的一部分工具,還有很多微信平臺的潛力沒有充分挖掘出來,計算程序還有待于后續(xù)進一步完善。

參考文獻

[1] 聶磊,張銀興.理正深基坑及巖土軟件使用的若干問題探討[J].工業(yè)建筑,2016,46(增刊):515-517.

[2] 李方成,郭利娜,胡斌,蔣海飛,徐海清.基于MIDAS軟件探討施工工序?qū)ι罨臃€(wěn)定性的影響[J].長江科學院院報,2013,30(3):49-55.

[3] 陳國周.巖土錨固工程中若干問題的研究[D].大連理工大學,2008.

[4] 馬鄖,魏志云,徐光黎,董家興,李受祉.基坑雙排樁支護結(jié)構(gòu)設(shè)計計算軟件開發(fā)及應用[J].巖土力學,2014,35(3):862-870.

[5] 陳國周,張建勛,賈金青.巖質(zhì)邊坡錨桿支護的三維穩(wěn)定分析及工程應用[J].山東理工大學學報,2010,24(2):12-15.

[6] 黃宏偉,聶新堯.云計算為巖土工程帶來的機遇與挑戰(zhàn)[C].第三屆全國工程風險與保險研究學術(shù)研討會,2014:183-187.

[7] 楊敏,肖珂,張俊峰.巖土工程軟件的發(fā)展方向[J].巖土工程界,2001,10(4):18-19.

[8] 崔年治.BIM思想在邊坡治理分析軟件中的應用[J].工程勘察,2017年增刊(1):90-95.

[9] 陳國周,劉春亮,江凡.巖土工程移動端程序開發(fā)[J].建筑科學,2018,34(sup):95-99.

[10] 易偉.微信小程序快速開發(fā)[M].北京:人民郵電出版社,2017:28-29.

[11] 李駿,邊思.微信小程序開發(fā)入門及案例詳解[M].機械工業(yè)出版社,2017.

猜你喜歡
程序開發(fā)微信小程序微信平臺
APP應用程序開發(fā)模式探究
電子制作(2019年19期)2019-11-23 08:42:02
基于TestStand的自動檢測程序開發(fā)
電子測試(2018年11期)2018-06-26 05:56:16
信息技術(shù)與專業(yè)課程融合路徑探索
決策探索(2017年12期)2017-07-13 11:11:12
基于嵌入式系統(tǒng)Windows CE的應用程序開發(fā)
基于App inventor 2手機程序開發(fā)過程的學習與實——以“喵喵定時器”APP開發(fā)為例
電子制作(2017年1期)2017-05-17 03:54:08
當圖書館遇上微信小程序
圖書與情報(2016年6期)2017-04-17 23:54:02
新媒體時代微信輿情的監(jiān)控策略研究
基于微信平臺的高中物理“翻轉(zhuǎn)課堂”教學初探
考試周刊(2016年77期)2016-10-09 11:51:15
科技期刊全媒體出版實施方案探析
出版廣角(2016年4期)2016-04-20 00:53:45
微信平臺在稅務專業(yè)研究生教學中的應用研究
承德县| 于田县| 汝城县| 江川县| 青海省| 尼木县| 青阳县| 锡林浩特市| 连城县| 庄河市| 阿勒泰市| 蒙山县| 同心县| 阿拉善右旗| 长宁县| 滦南县| 泗洪县| 定安县| 若羌县| 清原| 麻栗坡县| 浪卡子县| 曲靖市| 华容县| 麻城市| 姜堰市| 中宁县| 百色市| 七台河市| 堆龙德庆县| 额尔古纳市| 玛沁县| 惠来县| 武山县| 溆浦县| 新巴尔虎右旗| 新兴县| 碌曲县| 澎湖县| 五峰| 合作市|