• 微信小程序家庭记账本开发进度六


    app.js

    //app.js
    App({
    onLaunch: function () {
    //调用API从本地缓存中获取数据
    var logs = wx.getStorageSync('logs') || []
    logs.unshift(Date.now())
    wx.setStorageSync('logs', logs)
    },
    getUserInfo:function(cb){
    var that = this
    if(this.globalData.userInfo){
    typeof cb == "function" && cb(this.globalData.userInfo)
    }else{
    //调用登录接口
    wx.login({
    success: function () {
    wx.getUserInfo({
    success: function (res) {
    that.globalData.userInfo = res.userInfo
    typeof cb == "function" && cb(that.globalData.userInfo)
    }
    })
    }
    })
    }
    },
    globalData:{
    userInfo:null
    }
    })
    util.js
    function formatTime(date) {
    var year = date.getFullYear()
    var month = date.getMonth() + 1
    var day = date.getDate()

    var hour = date.getHours()
    var minute = date.getMinutes()
    var second = date.getSeconds()


    return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
    }

    function formatNumber(n) {
    n = n.toString()
    return n[1] ? n : '0' + n
    }

    function clog(data) {
    console.log(data);
    }


    module.exports = {
    formatTime: formatTime,
    clog: clog
    }
    pages/index/index.js
    //index.js

    var util = require("../../utils/util.js");
    //获取应用实例
    var app = getApp();
    Page({
    data: {
    userInfo: {},
    buttonLoading: false,
    accountData: [],
    accountTotal: 0
    },
    onLoad: function () {
    console.log('onLoad')
    var that = this;

    // 获取记录
    var tempAccountData = wx.getStorageSync("accountData") || [];
    this.caculateTotal(tempAccountData);
    this.setData({
    accountData: tempAccountData
    });

    },
    // 计算总额
    caculateTotal: function (data) {
    var tempTotal = 0;
    for (var x in data) {
    tempTotal += parseFloat(data[x].amount);
    }
    this.setData({
    accountTotal: tempTotal
    });
    },
    //表单提交
    formSubmit: function (e) {
    this.setData({
    buttonLoading: true
    });

    var that = this;
    setTimeout(function () {
    var inDetail = e.detail.value.inputdetail;
    var inAmount = e.detail.value.inputamount;
    if (inDetail.toString().length <= 0 || inAmount.toString().length <= 0) {
    console.log("can not empty");
    that.setData({
    buttonLoading: false
    });
    return false;
    }

    //新增记录
    var tempAccountData = wx.getStorageSync("accountData") || [];
    tempAccountData.unshift({ detail: inDetail, amount: inAmount });
    wx.setStorageSync("accountData", tempAccountData);
    that.caculateTotal(tempAccountData);
    that.setData({
    accountData: tempAccountData,
    buttonLoading: false
    });

    }, 1000);
    },
    //删除行
    deleteRow: function (e) {
    var that = this;
    var index = e.target.dataset.indexKey;
    var tempAccountData = wx.getStorageSync("accountData") || [];
    tempAccountData.splice(index, 1);
    wx.setStorageSync("accountData", tempAccountData);
    that.caculateTotal(tempAccountData);
    that.setData({
    accountData: tempAccountData,
    });
    }
    })
    来逻辑处理添加,删除,提交表单
  • 相关阅读:
    【转】异常处理模块
    【转】整套完整安全的API接口解决方案
    百度地图API功能集锦
    VS2015 使用Razor编写MVC视图时,Razor智能提示消失,报各种红线解决方案。
    算法初涉-解决比9*9数独更复杂的结构
    SQL时间相关
    ubuntu 安装
    dwa 设置多个目标点,倒车设计
    ros 信号周期的简单实现
    C++学习记录 第一章:初始
  • 原文地址:https://www.cnblogs.com/zlj843767688/p/10416197.html
Copyright © 2020-2023  润新知