zoukankan      html  css  js  c++  java
  • 小程序开发日记-03新增合同

    今天把写好的3篇日记搬到了随笔,copy paste了一下。

    这样经验可以分享了,写的不好多包涵,有用的就权当做个参考。

    今日计划开发新增合同部分,工作包括:

    1. 做新增的页面布局wxml
    2. 灌注据(基础类型类的数据),在页面上可以选择。
    3. 开发表单的校验规则rules
    4. 页面逻辑:增加删除合同类型及金额
    5. 页面逻辑:选择合同评审自动填充
    6. 页面逻辑:日期控件找一下
    7. 页面逻辑:选择客户功能,是否需要弹框,如果弹框,则需要和以前的公用。重构?
    8. 组合json数据,以及提交请求request
    9. 改造服务器端的rest 接口,包括能用rest client能够提交成功测试。
    10. 提交成功后,显示弹框,告诉客户的修改时限。

    2天搞不搞的定?玄!,走着看。这还不包括页面的美观,样式的调整!

    下午把页面布局搞了个7788,但发现有些基础数据和常用的功能需要重复代码,不好。想办法重构使之重用。

    1 基础数->全部放到app.globalData中,这些基础数据等程序一加载就load进来。

    2 常用的功能->需要调用wx.request,归置到一个公用的js中,用Promise进行封装。

    -------------------------------------------------------------------------------------------------------------------------------------------

    说说Javascript同步调用调用的事儿:


    function
    sync1(value, callback){ console.log('sync1:' + value) if(callback != null) callback(); } function sync2(value, callback){ console.log('sync2:' + value) if(callback != null) callback(); } function sync3(value, callback){ console.log('sync3:' + value) if(callback != null) callback(); }

    //javascript 方法本身就是同步调用,这样写即可 sync1(
    1) sync2(2) sync3(3) console.log('Hello BJfarmer!'); setTimeout(function(){ console.log('timeout call happended.'); },1000);
    //用callback嵌套的经典写法! sync1(
    1, function(){ sync2(1, function(){ sync3(1, function(){ console.log('Last call is invoked!'); }) }) }); console.log('Hello BJfarmer!');
    //利用Promise then,调用链是同步的。
    new Promise(function(reslove,reject){ console.log('start executing ...'); }).then(new Promise(function(reslove,reject){ sync1(1,function(){}); })).then(new Promise(function(reslove,reject){ sync2(1,function(){}); })).then(new Promise(function(reslove,reject){ sync3(1,function(){}); })).then(new Promise(function(reslove,reject){ console.log('start executing ...done!'); })); console.log('Hello BJfarmer!');

    分割-------------------------------------------------------------------------------------------------------------------------------------------

    晚上一直致力于新的Request框架,将wx.request进行封装,减少重复的代码。引入了新的class Request, 下面是调用的代码:

      var requestHandler = require('../utils/request.js')

    requestHandler.requestDepts().then(res => { that.setData({ depts: res.data }) }, error => { that.setData({ error: error.msg }) } )
    • 这样一个rest调用就能减少10行代码,更加精简;
    • 重复的代码可以归置到一个地方去,减少复制粘贴代码;
    • 封装的类统一将request的log输出;

    感觉不错,但重构代码真心繁琐,需要将以前的代码一起修改,重新测试。

    今天的任务,完成了15%:

    1. 做新增的页面布局wxml (基本完成)
    2. 灌注据(基础类型类的数据),在页面上可以选择。 (进行中。。。)

    2020-12-19

  • 相关阅读:
    数值拓展与函数拓展
    正则小记
    Struts2(三)配置详解
    Struts2(二)工作原理
    Struts2(一)基本配置
    Eclipse新建动态web工程项目出现红叉解决方案
    Spring系列之AOP
    Java动态代理的实现机制
    Spring系列之装配Bean
    Spring系列之基本配置
  • 原文地址:https://www.cnblogs.com/bjfarmer/p/14158215.html
Copyright © 2011-2022 走看看