zoukankan      html  css  js  c++  java
  • 微信小程序家庭记账本开发进度六

    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,
    });
    }
    })
    来逻辑处理添加,删除,提交表单
  • 相关阅读:
    招聘测试开发二三事
    首次曝光:大厂都是这样过1024的,看的我酸了
    1024程序员节:今天,我们不加班!
    TesterHome创始人思寒:如何从手工测试进阶自动化测试?十余年经验分享
    ASP.NET网站中设置404自定义错误页面
    IIS 7 应用程序池自动回收关闭的解决方案
    ASP.NET项目中引用全局dll
    ASP.NET WebForm中前台代码如何绑定后台变量
    Git使用过程中出现项目文件无法签入Source Control的情况
    ASP.NET中身份验证的三种方法
  • 原文地址:https://www.cnblogs.com/zlj843767688/p/10416197.html
Copyright © 2011-2022 走看看