微信小程序开发实践体验

前言

2017年微信公开课PRO版现场,张小龙宣布,微信小程序将于1月9日正式上线,并现场对小程序做了全面阐述,回答大家最关心的问题。

9476967-fe3fe599ea88ba58.png
image

我大DC作为一个有“科技”含量的互联网公司,在这波热潮下怎么也得凑一波热闹!于是在我的“怂恿”下,我们前端部门开始了微信小程序的踩坑之路。

需求梳理

按照正常的软件开发流程来讲,应该是产品那边先提供原型和文档,然后我们的UI开始设计,但是当时我们产品组全力在搞消费端的APP人员短缺,作为一个喜欢折腾(其实是没有产品资源)的人来讲,最终选择自己来撸原型。最终的结果也只能说“嘿嘿嘿”了!只能说专业的人做专业的事,才能把事情做好。 保密原因,需求原型不能放出。

小程序代码入口

9476967-02903d5ce702a3f9.png
20171121151127427623672.png

小程序代码基本介绍

  • index.js:业务处理代码,语法接触过vue的一定不陌生,es6简洁明了,上手也很快!
9476967-af088e816b7b8928.png
20171121151127607494339.png
  • index.wxml:类似于html里<body></body>里的div结构
9476967-149ef9e31d4d3fdd.png
20171121151127449685630.png
  • index.wxss:类似css
9476967-3150d5fb761ef41e.png
20171121151127968249225.png

组件

9476967-a2f3796cbb43a950.png
20171122151128009313627.png
onReachBottom: function() {
    //上拉加载更多触发 
    console.log("上拉")
    wx.showToast({
        title: '加载更多',
        icon: 'loading',
        duration: 1000
    })
    this.fetchSearchList();//请求接口价值下一页数据
    console.log(this.data.pageNum)  
},
fetchSearchList: function() {//加载一次,页数加1
    var that = this;
    that.setData({
        pageNum: that.data.pageNum + 1
    });
    wx.request({
        url: getData.apiList.news,
        data: {
            'newsReq': {
                'pageNum': that.data.pageNum,
                'pageSize': that.data.pageSize
            }
        },
        method: 'POST', 
        success: function(res) {
            console.log(res);
            console.log(res.data.errorCode);
            if (res.data.errorCode == '1'){
                wx.showToast({
                    title: '没有更多了!',
                    image: '../../images/icons/close.png',
                    duration: 2000
                })
            }else{
                if (!res.data.newsList.length == 0) {
                    // success      
                    let list = res.data.newsList;
                    list.forEach(function (a) {
                      a.title = strDiscode(a.title);
                    });
                    console.log(list);
                    that.data.newsList = that.data.newsList.concat(list);
                    that.setData({
                      newsList: that.data.newsList
                    });
                } else {
                    //没有数据了
                    wx.showToast({
                      title: '没有更多了!',
                      image: '../../images/icons/close.png',
                      duration: 2000
                    })
                  }
                }
            },
            fail: function(res) {
                // fail
            },
            complete: function(res) {
                // complete
            }
        })
    }
  • layer弹窗组件,选择用小程序自带的wx.showToast等方法,具体使用参见官方文档链接

  • 地址组件、列表组件、数据请求组件,时间关系暂时没有单独撸出来

总结

因为小程序内有疑似食品销售内容,公司又没有相关证件,最终小程序虽然开发出来了,但是也胎死腹中。但是通过这个小尝试也体验了一波前后端分离,组件开发。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hurely_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值