美文网首页
轻应用:发票小助手开发示例(Vue + Amaze UI + O

轻应用:发票小助手开发示例(Vue + Amaze UI + O

作者: 暗夜在火星 | 来源:发表于2018-01-27 15:20 被阅读161次

开发示例:发票小助手

基于Amaze UI + Vue + OkayApi 开发,构建一个可用于纪录公司发票信息的小助手。

在线示例和源代码

终实现效果,请访问(同时支持手机端和PC端访问):http://demo.okayapi.com/fabiao/

项目源代码下载,请前往码云okayapi-demo

实现思路与接口设计

此发票小助手可以在未登录情况下使用,而发票可以多个,因此,关键点是:免登录 + 集合数据。因此可以使用小白接口提供的应用集合数据。所以: 

添加发票,使用添加元素接口

获取发票列表,使用获取集合列表接口

生成二维码,使用根据文本内容,生成二维码接口

下面是相关的实现说明。 

实现发票添加功能

页面表单开发好后,使用Vue的表单绑定,将输入框的输入与变量绑定。如对于添加发票的表单: 

企业名称 *
纳税人识别号 *
企业地址

然后,在【保存】按钮添加响应事件,并通过Ajax接口请求,将发票信息保存到应用集合数据。 

varaddFaBiaoApp=newVue({el:'#addFaBiaoApp',data:{company_id:'',company_name:'',company_address:'',tips:''},methods:{add:function(){let_self=thisletcid=retrieveCid()letsetData={company_id:_self.company_id,company_name:_self.company_name,company_address:_self.company_address}$.ajax({url:'/okayapi.php',dataType:'json',data:{s:'App.Main_Set.Add',key:cid,data:JSON.stringify(setData)}}).done(function(rs){if(rs.data&&rs.data.err_code==0){_self.tips='发票添加成功,正在刷新当前页面~~'window.location.href='/fabiao/';}});}}})

成功保存后,可以在小白后台查看到对应的应用集合数据,例如: 

这样,就实现了前端应用的开发,对小白接口的调用,以及通过小白后台进行数据管理。 

实现显示发票列表功能

添加发票信息后,就可以在页面初始化时,进行数据列表的获取了。 

通过PHP代理请求: 

http://demo.okayapi.com/okayapi.php?s=App.Main_Set.GetList&key=fabiao_1517027656000&sort=2&perpage=4

成功情况下,接口返回的结果数据,类似如下: 

{

    "ret": 200,

    "data": {

        "err_code": 0,

        "err_msg": "",

        "items": [

            {

                "id": 12,

                "key": "fabiao_1517027656000",

                "data": {

                    "company_id": "9144xxxxxxx514927N ",

                    "company_name": "深圳市XXX公司",

                    "company_address": "企业地址:深圳市宝安区xxx路xxx号xxx区"

                },

                "keyword": "",

                "weight": 0,

                "add_time": "2018-01-27 14:54:35",

                "update_time": ""

            },

            // 多组,略……

        ],

        "total": 5,

        "page": 1,

        "perpage": 4

    },

    "msg": ""

}

截图为: 

而,发票列表页面的模板非常简单,通过for循环便可以将数据进行渲染了。HTML模板代码是: 

{{ item.company_name }}纳税人识别号:{{ item.company_id }}
查看二维码企业地址:{{ item.company_address }}
查看二维码

结合Vue,实现JS初始化函数init()即可: 

var myFaBiaoApp = new Vue({

    el: '#myFaBiaoApp',

    data: {

        fabiao_list: []

    },

    methods: {

        init: function() {

            let _self = this

            let cid = retrieveCid()

            $.ajax({

              url: '/okayapi.php',

              dataType: 'json',

              data: { s: 'App.Main_Set.GetList', key: cid, sort: "2", perpage: 4 } // 取前4个,按创建时间逆序

            }).done(function (rs) {

                if (rs.data && rs.data.err_code == 0) {

                    $.each(rs.data.items, function (index, el) {

                      let item = {

                        company_id: el.data.company_id,

                        company_name: el.data.company_name,

                        company_address: el.data.company_address,

                        add_time: el.add_time

                      }

                      _self.fabiao_list.push(item)

                    })

                }

            });

        }

    }

})

myFaBiaoApp.init()

渲染出来的效果类似这样: 

运行效果截图

H5首页 - 1

H5首页(发票信息展示) - 2

H5首页(添加发票信息) - 3

PC版本效果

© 2017-2018 小白接口 All Rights Reserved. 粤ICP备15028808号-3技术QQ群:660311764

相关文章

网友评论

      本文标题:轻应用:发票小助手开发示例(Vue + Amaze UI + O

      本文链接:https://www.haomeiwen.com/subject/yhbnaxtx.html