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

公共函數(shù)

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

創(chuàng)建js文件

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

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

image

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

定義和聲明函數(shù)

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

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

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

.....

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

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

這個(gè)例子里我們定義了三個(gè)函數(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ù)

使用這個(gè)函數(shù),需要先調(diào)用require方法加載你自己定義的js模塊,require里的參數(shù)就是你定義的js名字,注意<mark>不需要加擴(kuò)展名</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;
})

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

image

這個(gè)demo詳細(xì)參考這里

注意:我們?nèi)绻ㄟ^(guò)do_Webview組件加載html和js文件的話,規(guī)則和常規(guī)的web方式一樣,通過(guò)<script>標(biāo)簽,這里就不介紹了。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容