AppWorker教程-公共函數(shù)

公共函數(shù)

AppWorker平臺通常的邏輯代碼都是在ui文件對應(yīng)的ui.js里編寫,ui.js是隨ui文件自動生成的。我們通常也需要自定義一些js模塊,封裝一些javascript代碼作為函數(shù)可以被重復(fù)調(diào)用。
我們通過一個demo來說明這個問題。

創(chuàng)建js文件

source下的script下創(chuàng)建一個自己的js文件,可以創(chuàng)建子目錄,但是<mark>極力推薦只放在</mark>source/script這個根目錄下

放在別的目錄下也可以,包括放在data:// 下,但是如果要加密,只會加密這個source/script下的js文件,所以推薦只放在source/script下

image

在這個demo里定義了2個js文件,一個是souce://script/util.jssource://script/ui/util.js

定義和聲明函數(shù)

在這個js文件里正常定義js的函數(shù),然后利用module.exports聲明這個函數(shù)可以被外部使用

注意:在自定義的js文件里使用AppWorker的函數(shù)和API,需要先額外加載一下AppWorker的庫,參考示例第一句

//聲明
module.exports.encode = base64encode;
module.exports.decode = base64decode;

.....

function base64encode(str) { //通過JavaScript實現(xiàn)base64編碼
   ......
    return out;  
}

var alg = d1.sm("do_Algorithm");
function base64decode(str) {//通過AppWorker的do_Algorithm組件來實現(xiàn)base64的解碼
        return alg.base64Sync("decode",str);
}

這個例子里我們定義了三個函數(shù)

  1. base64的編碼的encode函數(shù)。定義在source/script/util.js
  2. base64的解碼的decode函數(shù)。定義在source/script/util.js
  3. 定義返回按鈕closepage的功能的init函數(shù)。定義在source/script/ui/util.js

使用函數(shù)

使用這個函數(shù),需要先調(diào)用require方法加載你自己定義的js模塊,require里的參數(shù)就是你定義的js名字,注意<mark>不需要加擴展名</mark>

var nf = sm("do_Notification");
var util = require("util");//加載source/script/util.js模塊
//也可以寫成require("source://script/util");不要后綴
var ui_util = require("ui/util");//加載source/script/ui/util.js模塊
//也可以寫成require("source://script/ui/util");不要后綴
//返回按鈕
ui_util.init("close");

//
.....
encodeButton.on("touch", function() {
        var src = srcTextBox.text;
        var dest = util.encode(src);
        destTextBox.text = dest;
})

decodeButton.on("touch", function() {
        var src = destTextBox.text;
        var dest = util.decode(src);
        srcTextBox.text = dest;
})

這個demo點擊 Base64編碼按鈕把用戶輸入的字符串轉(zhuǎn)成base64字符串,點擊Base64解碼再把base64字符串返回原字符串

image

這個demo詳細參考這里

注意:我們?nèi)绻ㄟ^do_Webview組件加載html和js文件的話,規(guī)則和常規(guī)的web方式一樣,通過<script>標簽,這里就不介紹了。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容