进销存小程序(一)项目整体功能和设计

1. 设计目标

目标是实现一个进销存的SaaS服务,可以

  • 用户:

    • 用户通过小程序端访问,访问后无需授权即可成为小程序用户,可以创建店铺、加入店铺
  • 店铺:

    • 创建店铺。第一个创建店铺的用户默认为店铺掌柜。其他注册的用户即店员可以通过搜索店铺名称来加入店铺,经过店铺掌柜同意后方可加入店铺,查看店铺下的信息。(店铺 - 店铺掌柜 - 店员
    • 加入店铺。加入店铺后,才可见此店铺下的商品、库存、出入库等信息。
    • 店员管理。掌柜可以在“店员管理”功能入口,审批加入店铺的申请信息。
    • 系统默认有一个名为“演示店铺”的店铺。
  • 商品:

    • 商品新增。新增商品,需要设定商品的分类、品牌、货品名称/款号、规格属性等信息。需要注意的是,在一个分类、品牌、款号项下,“内存:64:G,存储:256:G”与“内存:64:G,存储:128:G”这2种属性规格,代表的是不同的商品。
    • 商品修改。功能与新增类似。只是会做校验,确认修改后的信息跟店铺里的其他商品是不是完全一致。
  • 库存:

    • 入库管理。选择商品后,录入入库数量、总价等信息。
    • 出库管理。同理。增加一个出库类型选择,可以设定不同的出库原因,如销售开单、移仓等。
  • 数据分析:通过上述信息,可以计算一些数据如商品分析、销售分析、库存分析、员工分析、交易流水、利润分析等。(计划)

2. 功能点说明

截止到目前,小程序前端页面与后台接口都已经完成。下面根据页面,简单说明整体的执行流程。

2.1. 首页

常规功能入口

进销存小程序(一)项目整体功能和设计

2.2. 登陆

这里需要注意的是2个地方:1个微信用户和当前用户绑定的过程。2是获取用户信息,如昵称的注意事项

2.2.1. 微信用户和当前用户绑定的过程

这个绑定的过程,是静默无感的,无需用户授权,无弹窗。

有几个术语,code、openid,先参考:https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html,简单的说,openid是微信用户的唯一id,code是小程序端获取的一次性码值,会变,但是通过code换取的openid是一个。

小程序有根据code换取openid的流程

进销存小程序(一)项目整体功能和设计

根据这个流程,在小程序上授权后,小程序js端(后面简称wxjs)是可以拿到code的,把code发送给小程序java后台服务(简称inventory),这里就是inventory第一个接口,接收wxjs提交的code,并在inventory根据code从wx server换取openid,这个openid,会作为一个用户存储在系统中。

2.2.2. 获取用户信息

在需要做业务的时候,才会让用户授权获取昵称,因为在比如“申请加入店铺”的时候,需要把申请人的昵称获取到。具体获取的办法,参考:https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserInfo.html

2.3. 创建店铺

进销存小程序(一)项目整体功能和设计进销存小程序(一)项目整体功能和设计

2.4. 加入店铺

从“加入店铺”入口进入,输入店铺名称搜索,点击加入,即可发起申请,待店铺的掌柜审批通过后即可加入。

进销存小程序(一)项目整体功能和设计进销存小程序(一)项目整体功能和设计

2.5. 创建商品

加入店铺后,从首页的“创建商品”功能入口,去创建商品,填写必要信息。其中规格属性,按照“内存:64:G,存储:128:G,屏幕尺寸:6.5:英寸,颜色:星空灰:”这种格式书写。不同属性间逗号分隔,属性名、属性值、属性单位之间用冒号分隔。

商品分类点击后可以选择分类;

品牌如苹果、华为、小米;

货品款号如P40;

进销存小程序(一)项目整体功能和设计进销存小程序(一)项目整体功能和设计进销存小程序(一)项目整体功能和设计

2.6. 商品信息修改

选择分类、品牌、款号和属性后,才可以确定是要修改哪个商品,然后修改对应的信息。比如这里要修改内存,原先提交的64G明显不合理,改为8G。

进销存小程序(一)项目整体功能和设计

2.7. 入库管理

维护好商品信息后,即可进行入库管理。依次选择分类、品牌、货品款号、规格属性。这里都是级联的,比如选择了手机+苹果,那么选择货品款号的时候,只能看到当前店铺里,苹果手机的款号,看不到其他店铺或非苹果手机的款号。规格属性同理。

在选择好分类、品牌、货品款号、规格属性后,就可以确定是哪个商品,会调用查询接口,把该商品的库存查询并显示在页面上。

进销存小程序(一)项目整体功能和设计

2.8. 出库管理

出库与入库功能类似,但是多加了一个“出库类型”,用于确定是何种原因出库,后续在计算销售利润的时候可以作为依据。

进销存小程序(一)项目整体功能和设计

2.9. 库存盘点

可以只输入分类+品牌,则会搜索到改品牌下的所有款号的商品库存信息。检索条件可以点击折叠。

进销存小程序(一)项目整体功能和设计进销存小程序(一)项目整体功能和设计

2.10. 店员管理

可以查询到,当前的登陆用户,作为店铺掌柜的所有店铺的申请加入信息。可以通过或拒绝。

进销存小程序(一)项目整体功能和设计