文章目录

  • 1. 设计目标
  • 2. 功能点说明
    • 2.1. 首页
    • 2.2. 登陆
      • 2.2.1. 微信用户和当前用户绑定的过程
      • 2.2.2. 获取用户信息
    • 2.3. 创建店铺
    • 2.4. 加入店铺
    • 2.5. 创建商品
    • 2.6. 商品信息修改
    • 2.7. 入库管理
    • 2.8. 出库管理
    • 2.9. 库存盘点
    • 2.10. 店员管理

系列文章清单:
进销存小程序(一)项目整体功能和设计
进销存小程序(二)数据库设计
进销存小程序(三)接口设计

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. 店员管理

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

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

  1. 进销存小程序源码 php,Thinkphp响应式进销存仓库管理系统

    文件名大小更新时间 Thinkphp响应式进销存仓库管理系统02018-01-08 Thinkphp响应式进销存仓库管理系统\.htaccess3212017-02-17 Thinkphp响应式进销存 ...

  2. ASP.NET商品进销存管理系统【附项目下载地址】

    该项目为期末的一次大作业,整个项目功能完整,界面美观,设计齐全!!! 一.开发环境 操作系统:windows 10 浏览器:chrome浏览器 开发工具:Microsoft Visual Studio ...

  3. 企业进销存进货销售仓储管理系统-JAVA【数据库设计、源码、开题报告】

    第一章 绪论 1.1  选题背景 近几年来,传统商业与电商似乎是水火不容,大有不是你死便是我活的劲头.一直以来舆论都是一边倒的电商将迅速取代传统零售的论调,然而几年过去,电商的发展确实值得侧目,但传统 ...

  4. 进销存软件:仓库动态盘货功能

    在过去的市场认知中,认为只有仓库设施非常复杂且庞大的大型企业才需要应用仓库管理软件. 但随着市场发展,企业竞争愈发激烈,不论是大型企业还是中小微企业,为了维持自身的竞争优势,保持优良口碑,不仅需要在产 ...

  5. java 进销存 springmvc SSM crm 项目 系统

    系统介绍: 1.系统采用主流的 SSM 框架 jsp JSTL bootstrap html5 (PC浏览器使用) 2.springmvc +spring4.3.7+ mybaits3.3 SSM 普 ...

  6. SSH实现进销存(ERP)项目之订单管理模块解析(附源码地址)

    项目清单: 1,struts2.hibernate.spring 2,前后台传值使用json 3,数据库使用了Oracle 4,对员工表及采购单表采用了后端分页 5,使用了时间控件 项目结构,MVC模 ...

  7. C#毕业设计——基于C#+asp.net+sqlserver药店进销存管理系统设计与实现(毕业论文+程序源码)——进销存管理系统

    基于C#+asp.net+sqlserver药店进销存管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+sqlserver药店进销存管理系统设计与实现,文章末尾 ...

  8. 《进销存管理系统——“系统管理”模块》项目研发阶段性总结

    <进销存管理系统--"系统管理"模块> 项目研发阶段性总结 项目概要 登录页面(图1): 图1 然后我们来看看系统的主要模块有哪些,如下(图2): 整个"进销 ...

  9. 珠宝管理系统java,基于jsp的珠宝首饰进销存管理系统-JavaEE实现珠宝首饰进销存管理系统 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的珠宝首饰进销存管理系统, 该项目可用各类java课程设计大作业中, 珠宝首饰进销存管理系统的系统架构分为前后台两部 ...

  10. java web 医疗器械_基于jsp的医疗器械进销存管理-JavaEE实现医疗器械进销存管理 - java项目源码...

    基于jsp+servlet+pojo+mysql实现一个javaee/javaweb的医疗器械进销存管理, 该项目可用各类java课程设计大作业中, 医疗器械进销存管理的系统架构分为前后台两部分, 最 ...

最新文章

  1. 软考下午题详解---uml图
  2. find——文件查找命令 linux一些常用命令
  3. Python函数参数中的冒号与箭头
  4. mybatis-spring 入门到实例
  5. 大明王朝简史,笑疯了哈哈哈哈哈哈……
  6. 智能时代,企业如何“聚数为智”加速数字化转型?
  7. java版b2b2c社交电商spring cloud分布式微服务-服务提供与调用
  8. cmake添加查找目录_cmake find_package路径详解
  9. 类的运用,求矩形面积
  10. MVN TEST指定运行脚本
  11. 小程序接入h5页面_小程序和H5页面的相互跳转
  12. TCP 和 UDP 区别及使用场景(详细)
  13. 后台开发笔记-在服务器上运行java后台项目
  14. 请教刷机教程9008线刷
  15. 英文句子比较大小c语言,怎么用C语言写个程序找出两个英文句子中相同的英文单词...
  16. 记一次给笔记本安装固态硬盘
  17. eclipse常用搜索快捷键
  18. 计算机内存类型包括什么,计算机内存类型是什么
  19. 【Ubuntu】Ubuntu更换主题
  20. 阿里云云计算高级工程师ACP认证(Alibaba Cloud Certified Professional - Cloud Computing)考试大纲

热门文章

  1. 图片放大后怎么把图片变清晰?
  2. MySQL(4) 数据库增删改查SQL语句(整理集合大全)
  3. JavaScript如何计算两个日期之间的时间差?
  4. oracle数据库中的通配符,ORACLE学习笔记系列(9)通配符和特殊字符
  5. 如何快速搜索文件和文件内容
  6. Matlab【光学】波动光光学系统
  7. 共模电感 | 关键参数的计算步骤
  8. Navicat for MySQL 安装教程
  9. 修正 Delphi XE10.4 quickEdit 显示不完整的问题
  10. 目标跟踪(二):拓展卡尔曼滤波(EKF)