WEX5工具進行webapp的開發


wex5

  UI2

   采用UI2進行界面的設計,有圖形拖拽功能,能輕松的設計出一套webap應用框架,只是缺少數據。

    其中最值得一提的是Data 與 BaasData組件

  

    data組件(能直接映射數據到指定的行)的使用:

      var orderData = this.comp("orderData");

      //清楚數據
        cartData.clear();

      //刪除指定行數據
        orderData.deleteData(orderRows);

      //向data中添加一行數據
        var orderRows = orderData.newData({
          index : 0,
          defaultValues : [ {
          "fID" : orderID,
          "fCreateTime" : justep.Date.toString(new Date(), justep.Date.STANDART_FORMAT),
          "fContent" : content,
          "fUserID" : userData.val("fID"),
          "fUserName" : userData.val("fName"),
          "fPhoneNumber" : userData.val("fPhoneNumber"),
          "fAddress" : userData.val("fAddress"),
          "fSum" : cartData.sum("calcMoney") + ""
          //"fPayState" : 0
          } ]
        });

        

      baasData組件(與data組件不同不是本地的綁定數據庫Action)     

        //保存數據到服務器
          orderData.saveData({
            "onSuccess" : success,
              "onError" : error});

 

       TableName 同時可以設置綁定數據庫Action 即save與 query


      設置了autoLoad = false時,需要找到組件去 orderData.refreshData(); 手動加載

 

 

    Baas:

       1. 通過baas服務器進行請求的轉發

 

        2.  綁定數據源,設置數據庫動作。

       3。 通過js向baas發送請求:         

        justep.Baas.sendRequest({
          "url" : "/czworks/loginService",
          "action" : "doWxLogin",
          "async" : true,
          "params" : {
                code : weixinCode,
                language : language,
                sysname : "crm"
                },
          "success" : function(data) {
              if (data.IsSucess) {
                localStorage.setItem(LOCALSTORAGE_KEY_USERNO, data.userno.toLowerCase());
                localStorage.setItem(LOCALSTORAGE_KEY_ORGNO, data.orgno);
                localStorage.setItem(LOCALSTORAGE_KEY_SESSIONID, data.sessionId)
                var userInfoBean = data.ParamModel;
                localStorage.setItem(LOCALSTORAGE_KEY_USERNAME, userInfoBean.DB_USER_NAME);
                var params = {userInfo : data.ParamModel,functionList : data.Datas.functionLis};

                justep.Shell.showPage("main", params);
              } else {
                justep.Util.hint(loginfailed + data.ErrorMessage);
                  }
              }

 

      Native:

            進行移動端app的編輯與編譯。

 

 

     PS:    

      1 .頁面的整體架構(pages)

        this.shellImpl = new ShellImpl(this, {
        "contentsXid" : "pages",
        "pageMappings" : {
            "main" : {url : require.toUrl('./main.w')},
            "login" : {url : require.toUrl('./login.w')}}
         });


       // 頁面的替換
        justep.Shell.setIsSinglePage(true);
        justep.Shell.showPage("login");

      //也可以作用於沒有寫過映射的URl
        var completeListUrl = require.toUrl('$UI/czworks/crm/base/customerList.w');
        justep.Shell.showPage(completeListUrl);


      //將相對路徑轉化為絕對路徑
        require.toUrl('./main.w');

      //本地的存儲與讀取
        localStorage.setItem(LOCALSTORAGE_KEY_USERNO, data.userno.toLowerCase());
        localStorage.getItem("LOCALSTORAGE_KEY_USERNO");

      //獲取這個model中的對象
        model.getElementByXid("functionCol" + index);
        this.comp("functionCol1")

      //獲取和設置model中對象的屬性
        checkbox.get("checked")
        this.comp('mainBtn').set({icon : "img:$UI/czworks/mes/img/icon_main_1.png|$UI/czworks/mes/img/icon_main_0.png"});

      //圖表對象的處理(百度echarts)
        1,只需要在相應的位置設置一個div來占據位置,設置寬和高

        2,myChart = echarts.init(this.getElementByXid('chartReportDiv2'));ss
          myChart.setOption(option); //option是用於配置的json數據,參考 http://echarts.baidu.com/index.html

      //整個瀏覽器URL重定向
        window.location.href = "./index.w";

      //從row上面取數據 和 設置數據
        row.val("num"); row.val("num",row.val("num")+1);

   

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM