一:记账小应用var util = require("../../utils/util.js");//获取应用实例var app = getApp();Page({ data: { userInfo: {}, buttonLoading: false, accountData:, accountTotal:0 }, ...

var util = require("../../utils/util.js");//获取应用实例var app = getApp();Page({data: {useo?rInfo: {},buttonLoading: falseo?,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,});}})项目地址:https://github.com/HowName/account-note项目下载:account-note-master.zip
项目为仿今日头条,使用了百度ApiStore接口查询数据,使用微信组件/api有 封装请求方法,底部tab,启动页动画,loading,scroll-view,swiper,列表页支持上下拉加载更多
效果图:

启动欢迎页,几行代码可实现旋转与缩放:
//flash.jsonReady:function(){// 页面渲染完成var that = this,duration = 1500;var animation = wx.createAnimation({duration: duration,});//step() 方法表示一组动画的结束animation.scale(2).rotate(360).step();animation.scale(1).step();this.setData({animationData : animation.export()});var timestamp = new Date().getTime();setTimeout(function(){wx.redirectTo({url: '../index/index?time='+timestamp})},duration*2.5);},
//flash.wxml<image class="flash-img" animation="{{animationData}}" src="{{src}}" ></image>网络请求方法:
//app.jsreq: function(url,data,param){var requestData = {url: url,data: typeof data == 'object' ? data : {},method: typeof param.method == 'string' && param.method.length > 0 ? param.method.toUpperCase() : 'GET',header: typeof param.header == 'object' ? param.header : {},success: function(res) {typeof param.success == 'function' && param.success(res);},fail: function(res){typeof param.fail == 'function' && param.fail(res);},complete: function(res){typeof param.complete == 'function' && param.complete(res);}};wx.request(requestData);},列表页:
//index.jsvar app = getApp(),currentPage = 1;const URL = "http://apis.baidu.com/showapi_open_bus/channel_news/search_news";Page({data:{imgUrls: ['http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg','http://img06.tooopen.com/images/20160818/tooopen_sy_175866434296.jpg','http://img06.tooopen.com/images/20160818/tooopen_sy_175833047715.jpg'],toView: "",loadingHidden:true,renderData:[],},onLoad:function(options){this.loadDataFromServer();},//api读取数据loadDataFromServer: function(){var that = this;that.changeLoadingStatus(false);app.req(URL,{page : currentPage,needContent : 1,},{header: { apikey: app.globalData.apikey },success:function(resp){console.log(resp);console.log("成功加载页数 "+currentPage);var tempData = resp.data.showapi_res_body.pagebean.contentlist;var toViewId = currentPage % 2 == 0 ? "top-id" : "top-id2"; //需要改变值页面才会重新渲染that.setData({//renderData: that.data.renderData.concat(tempData), 合并数组容易超出长度,无法做到无限加载renderData: tempData,toView: toViewId,});that.changeLoadingStatus(true);}});},//加载上一页或者下拉刷新refresh:function(e){currentPage = currentPage > 1 ? --currentPage : 1;this.loadDataFromServer();},//加载下一页loadMore:function(e){++currentPage;this.loadDataFromServer();},//改变loading状态changeLoadingStatus: function(bool){this.setData({loadingHidden: bool});},onReady:function(){// 页面渲染完成wx.setNavigationBarTitle({title: '列表'});},onShow:function(){// 页面显示},onHide:function(){// 页面隐藏},onUnload:function(){// 页面关闭}});
//index.wxml<loading hidden="{{loadingHidden}}">加载中...</loading><scroll-view scroll-y="true" style="height: 100%;" scroll-into-view="{{toView}}" upper-threshold="5" lower-threshold="5" bindscrolltoupper="refresh" bindscrolltolower="loadMore"><swiper indicator-dots="true" id="swiper-view" autoplay="true" interval="2000"><block wx:for="{{imgUrls}}"><swiper-item><image src="{{item}}" width="100%" height="150"/></swiper-item></block></swiper><view id="top-id"> </view><view id="top-id2"> </view><block wx:for="{{renderData}}"><view class="container"> <view class="title"><text class="title-text">{{item.title}}</text></view><view class="images" wx:if="{{item.imageurls.length > 0}}"><block wx:for="{{item.imageurls}}" wx:for-item="imgItem" wx:for-index="imgIndex"><image wx:if="{{imgIndex <= 2}}" src="{{imgItem.url}}"></image></block></view><view class="source">{{item.source}} {{item.pubDate}}</view></view></block></scroll-view>项目地址:https://github.com/HowName/toutiao项目下载:toutiao-master.zip
项目为智能应答机器人,使用了图灵机器人接口,慢慢调戏吧

首页,主要处理页:
//index.jsvar app = getApp();var that;var chatListData = [];Page({data: {askWord: '',userInfo: {},chatList: [],},onLoad: function () {that = this;//获取用户信息app.getUserInfo(function (userInfo) {that.setData({userInfo: userInfo});});},onReady: function () {//问候语setTimeout(function () {that.addChat('你好啊!', 'l');}, 1000);},sendChat: function (e) {let word = e.detail.value.ask_word ? e.detail.value.ask_word : e.detail.value;//支持两种提交方式that.addChat(word, 'r');//请求api获取回答app.req('post', 'openapi/api', {'data': { 'info': word, 'loc': '广州', 'userid': '123' },'success': function (resp) {that.addChat(resp.text, 'l');if (resp.url) {that.addChat(resp.url, 'l');}},});//清空输入框that.setData({askWord: ''});},//新增聊天列表addChat: function (word, orientation) {let ch = { 'text': word, 'time': new Date().getTime(), 'orientation': orientation };chatListData.push(ch);that.setData({chatList: chatListData});}})页面:
//index.wxml<view class="container"><scroll-view class="scrool-view" scroll-y="true"><view class="chat-list"><block wx:for="{{chatList}}" wx:key="time"><view class="chat-left" wx:if="{{item.orientation == 'l'}}"><image class="avatar-img" src="../../res/image/wechat-logo.png"></image><text>{{item.text}}</text></view><view class="chat-right" wx:if="{{item.orientation == 'r'}}"><text>{{item.text}}{{item.url}}</text><image class="avatar-img" src="{{userInfo.avatarUrl}}"></image></view></block></view></scroll-view><form bindsubmit="sendChat"><view class="ask-input-word"><input placeholder="" name="ask_word" type="text" bindconfirm="sendChat" value="{{askWord}}" /><button formType="submit" size="mini">发送</button></view></form></view>网络请求方法:
//app.jsreq: function (method, url, arg) {let domian = 'http://www.tuling123.com/', data = { 'key': '9d2ff29d44b54e55acadbf5643569584' }, dataType = 'json';//为方便广大群众,提供keylet header = { 'content-type': 'application/x-www-form-urlencoded' };if (arg.data) {data = Object.assign(data, arg.data);}if (arg.header) {header = Object.assign(header, arg.header);}if (arg.dataType) {dataType = arg.dataType;}let request = {method: method.toUpperCase(),url: domian + url,data: data,dataType: dataType,header: header,success: function (resp) {console.log('response content:', resp.data);let data = resp.data;typeof arg.success == "function" && arg.success(data);},fail: function () {wx.showToast({title: '请求失败,请稍后再试',icon: 'success',duration: 2000});typeof arg.fail == "function" && arg.fail();},complete: function () {typeof arg.complete == "function" && arg.complete();}};wx.request(request);}项目地址:https://github.com/HowName/smart-robot项目下载:smart-robot-master.zip