找回密码
 立即注册

扫一扫,访问微社区

查看: 12496|回复: 22

微信小程序demo推荐:汇率计算器;Flexbox,数据缓存及绑定

 火... [复制链接]
发表于 2017-1-9 20:01:41 | 显示全部楼层 |阅读模式


一个微信小程序版的汇率计算器。练手项目,主要是为了学习微信小程序开发。

交互参考了极简汇率

界面及计算的部分代码参考了sCalc

Description

涉及微信小程序开发相关知识:

  • CSS Flexbox布局
  • Page、window、App全局设置,wxml、wxsss、js、json文件使用方法
  • 事件绑定、页面跳转
  • 数据缓存、数据绑定等API
代码示例:


[mw_shl_code=html,true]//index.js

var cName = require('../../utils/currencyNames');

//获取应用实例
var app = getApp()
        Page({
            data: {
                progressTip: ''
            },
                onLoad : function (options) {
                    // 页面初始化 options为页面跳转所带来的参数
                },
                onReady : function () {
                    // 页面渲染完成
                },
                onShow : function () {
                    // 页面显示


                    this.setData({
                        "progressTip": "正在刷新汇率列表..."
                    });

            //1.加载汇率列表
                    var that = this;
                    wx.request({
                        url: app.globalData.fixerApi,
                        data: {},
                        method: 'GET',
                        success: function (res) {
                            //如何解析yahoo api传回来的xml??
                            // success
                            if (res.statusCode == 200) {

                                //补充一个USD做基准利率
                                res.data.rates.USD = 1.0000;

                                wx.setStorageSync('cRates', res.data.rates);

                                //2.加载货币名称列表
                                //TODO:可能要从其他api获取,這里暂时用静态文件代替
                                that.setData({
                                    "progressTip": "正在刷新货币名称..."
                                });
                                wx.setStorageSync('cNames', cName.names);

                                //3.读取用户本地存储的已选货币列表
                                //如果没有,就默认填入四个
                                that.setData({
                                    "progressTip": "检查已选货币..."
                                });
                                var selectCurrencyList = wx.getStorageSync('selectCurrencyList') || []
                                if (selectCurrencyList.length == 0) {
                                    selectCurrencyList = [
                                { id: 0, currencyNameEN: "CNY", currencyCal: "", currencyValue: 0, currencyNameCN: cName.names["CNY"] },
                                { id: 1, currencyNameEN: "HKD", currencyCal: "", currencyValue: 0, currencyNameCN: cName.names["HKD"] },
                                { id: 2, currencyNameEN: "USD", currencyCal: "", currencyValue: 0, currencyNameCN: cName.names["USD"] },
                                { id: 3, currencyNameEN: "JPY", currencyCal: "", currencyValue: 0, currencyNameCN: cName.names["JPY"] },
                                    ];

                                    wx.setStorageSync('selectCurrencyList', selectCurrencyList);
                                }
                                 
                                //4.读取用户本地存储的默认选中货币Id
                                //如果没有,默认为2
                                var highlightedId = wx.getStorageSync('highlightedId') || 0;
                                if (highlightedId == 0) {
                                    highlightedId = 2;

                                    wx.setStorageSync('highlightedId', highlightedId);
                                }


                                //5.所有准备工作完成,redirect到main
                                that.setData({
                                    "progressTip": "正在载入首页..."
                                });
                                wx.redirectTo({
                                    url: '../main/main'
                                })

                            }
                            console.log(res);
                        },
                        fail: function () {
                            // fail
                        },
                        complete: function () {
                            // complete
                        }
                    })
                },
                onHide : function () {
                        // 页面隐藏
                },
                onUnload : function () {
                        // 页面关闭
                }
        })[/mw_shl_code]


游客,如果您要查看本帖隐藏内容请回复

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

0

主题

76

回帖

1373

金钱

新人求带

积分
0
发表于 2017-1-10 08:49:33 | 显示全部楼层
啥也不说了,感谢楼主分享哇!

0

主题

3

回帖

21

金钱

新人求带

积分
0
发表于 2017-1-10 10:58:03 | 显示全部楼层
休息休息
回复

使用道具 举报

0

主题

1

回帖

21

金钱

新人求带

积分
0
发表于 2017-1-10 21:55:09 | 显示全部楼层
正需要,支持楼主大人了!

0

主题

3

回帖

36

金钱

新人求带

积分
0
发表于 2017-7-22 23:41:23 | 显示全部楼层
初级但有用的东西!

0

主题

245

回帖

63

金钱

新人求带

积分
0
发表于 2017-8-15 16:43:06 | 显示全部楼层
感谢楼主分享

0

主题

3

回帖

21

金钱

新人求带

积分
0
发表于 2017-10-26 10:46:41 | 显示全部楼层
有制作教程么

0

主题

5

回帖

23

金钱

新人求带

积分
0
发表于 2017-10-29 20:26:54 | 显示全部楼层
正需要,谢谢楼主

0

主题

3

回帖

47

金钱

新人求带

积分
0
发表于 2017-11-15 17:11:32 | 显示全部楼层
感谢感谢感谢感谢感谢

0

主题

1

回帖

14

金钱

新人求带

积分
0
发表于 2018-7-19 17:49:13 | 显示全部楼层

正需要,支持楼主大人了!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|微信小程序开发|教程|文档|资源汇总_即速论坛 ( 粤ICP备14097199号-1  

GMT+8, 2024-4-20 14:10 , Processed in 0.150676 second(s), 31 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表