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

2023-05-16

文章目录

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • HTTP中的GET和POST方法详解

    一般来说GET是获取数据 xff0c POST是提交数据的 但是因为GET和POST都是HTTP的方法 xff0c HTTP又是基于TCP IP的关于数据在万维网中如何让通讯的协议 从本质上讲 xff0c GET和POST都是HTTP请求
  • 使用SocketTask,弃用wx

    经验总结 微信小程序websocket的注意事项 xff1a 使用SocketTask xff0c 弃用wx 示例代码 socketTask的示例代码如下 引用在微信小程序的一个页面中开启多个websocket连接的代码 var ws1 6
  • SimpleNES的编译与运行

    前言 如题 xff0c 最近搜索一些C 43 43 项目无意中看到它 xff0c 然后就动手构建了一把 xff0c 当然过程肯定会遇到一些问题的了 不然也不会写这篇文章跟大家分享了呀 xff0c 是吧 xff01 来来来 xff0c 先给大
  • 【注意/切记】 Android JIN开发过程中不要把long当jlong使用

    遇到问题 C C 43 43 调Java方法时直接把long类型的变量 xff0c 传给CallStaticVoidMethod导致对应的Java静态方法接收到了错误的long值 PS 实际的业务场比较复杂 浪费了好多时间去分析才定位到是这
  • Man手册常用快捷键之万事找h键

    最强最核心最根本的快捷键是 gt gt gt gt gt h 最核心 look everything you want to know is here 基本与常用 p 上翻一屏 control 43 p 上滚一行 n下播一屏 control
  • 2023年clang12编译问题与解决的记录

    最近编译clang12以及尝试基于clang开发一个C 43 43 的静态代码分析工具 xff0c 如下是遇到的环境相关的编译问题与解决方案 在此做个记录 xff0c 同时供可能会遇到同样问题的同学参考 环境说明 注 xff1a 如下是最终
  • Clang dump AST需要注意的事项

    Clang dump AST本质上是对一个OC C C 43 43 源文件编译单元执行编译 xff0c 即跟编译相关的配置都是要注意相关的参数 xff0c 比如依赖的头文件的路径 xff0c 特别编译的源文件依赖的其它路径下的头文件 xff
  • URI与URL的区别

    xff08 原网址 xff1a http zhidao baidu com question 38764759 html xff09 Web上可用的每种资源 HTML文档 图像 视频片段 程序等 由一个通过通用资源标志符 xff08 Uni
  • Python datetime  和 str 相互转化

    datetime 转化为 str now 61 datetime datetime now now strftime 39 Y m d H M S 39 print now 输出2012 03 05 16 26 23 870105 strf
  • BASE64编码规则

    Base64编码要求把3个8位字节 xff08 3 8 61 24 xff09 转化为4个6位的字节 xff08 4 6 61 24 xff09 xff0c 之后在6位的前面补两个0 xff0c 形成8位一个字节的形式 例如字符串 张3 x
  • Cygwin基本命令的使用方法

    原文链接 xff1a http blog chinaunix net space php uid 61 25580079 amp do 61 blog amp id 61 190413 基本操作命令 ls 以默认方式显示当前目录文件列表 l
  • 正确设置了charles,使用charles抓包某些app,无法抓到的原因(Android手机)

    Charles配置绝对正确 xff0c 还是使终抓不到包的可能的一种情况是 xff01 xff01 xff01 应用使用的网络库不支持代理 xff0c 所有的网络请求没有走代理 xff0c 而是走的正常wifi直连 当时的情况如下 xff1
  • 拉起抖音APP视频页的scheme

    拉起scheme地协议 snssdk1128 span class hljs regexp aweme span span class hljs regexp detail span span class hljs number 65344
  • 1. Windows下使用Mingw-w64 GCC编译安装Lua5.1.5

    除了一些游戏开发的脚本领域 xff0c 在以OpenResty作为Web框架的后端开发中 xff0c Lua也会大量的使用 xff0c 这就难免要对在Shell中测试 验证Lua语法 为此 xff0c 小编写了一篇在Windows环境下编译
  • VSCode Python3 三方库

    Mac VSCode python3 配置 setting 默认已经安装VSCode背景操作 默认已经安装VSCode 网上已经有好多教程安装使用Python3 这里只记录python3 的配置问题 背景 从想学Python 到实际操刀来
  • SylixOS命令行下内存操作/测试工具

    源头 memAccessCmd是用于SylixOS下对内存 寄存器进行访问和测试的工具 SylixOS下调测程序 xff0c 无论是应用 驱动还是内核 xff0c 如果能查看并操作指定内存 寄存器 xff0c 将是一个非常有效的手段 作者在
  • 博客里程碑

    2022 07 20 周三 排名突破5000好难啊 xff01 2022 07 26 周二 又前进了几名 xff0c 进入4000内了
  • 【bug秘史】UINT8数据超出类型范围输出0x0102

    案发现场 开发一个项目 xff0c 前期测试环境是 xff1a simulator 43 sparc leon3 43 sylxios 里面通信协议用到了很多和校验 xff0c 于是便有如下实现函数 xff1a span class tok
  • Ubuntu18.04 安装 Odoo10

    安装Ubuntu 18 04 xff0c 省略 安装时 xff0c 默认用户名为 odoo ubuntu 16 04 开始 使用 systemd 管理服务 xff0c 但是systemd 兼容 sysv init 脚本 下载 odoo源码

随机推荐

  • Git提交后,文件夹任然有红色叹号提示

    最近用TortoiseGit操作出现一个问题 xff0c 明明全部提交并同步了 xff0c nand文件夹上还是有红色叹号 xff0c 表示该文件下内有未提交内容或错误 查看Git仓库发现有yaffsMount c和yaffsmount c
  • 使用SylixOS虚拟串口,实现系统串口自由

    在博客 开启虚拟机第二串口命令行 讲了如何让虚拟机中的串口对接到Windows系统虚拟串口或物理串口 在simulator中并不是所有平台都有第二串口 xff0c 得bsp支持才行 xff0c 而且最多也只能有第二个而不能有第三第四个 对于
  • 大咖说|翼辉丁晓华:我们已经真正意义上感受到了原始创新带来的巨大价值

    大咖说 翼辉丁晓华 xff1a 我们已经真正意义上感受到了原始创新带来的巨大价值 大咖说 是由工控中国策划发起的人物专访类栏目 xff0c 旨在发掘工业控制系统产业链典型企业家代表 行业专家的前沿洞见 xff0c 通过深度访谈对话 xff0
  • 高效工作学习方法四则

    开始做比准备做更重要 xff0c 不要等到条件完全具备才开始 完成比完美更重要 xff0c 尤其是一开始不要最求完美 xff0c 会严重影响完成进度 一个不能完成的工作连完美的前提都丧失了 去做精力管理而不是时间管理 按精力安排工作而不是按
  • 《XXX重点项目质量保证措施》文档模板

    质量保障措施 研制过程中的质量控制在研制过程中 xff0c 不随意更改技术要求 xff0c 对任何技术要求更改 xff0c 都会与用户单位协商 xff0c 得到认可后方可实施 在研制过程中 xff0c 对影响技术性能的关键指标需外协时 xf
  • VDT (virtual device on tcp) 基于tcp通信的虚拟设备工具集

    概要 VDT virtual device on tcp 基于tcp通信的虚拟设备工具集 DOT device on tcp 创建虚拟字符设备 xff0c 通过tcp收发来读写 DTT device to tcp 打开字符设备 xff0c
  • debian11 安装后必备配置

    debian11 安装后必备配置 运行环境 xff1a PVE v7 2 11 CT容器 系统版本 xff1a Debian 11 standard 11 3 1 amd64 tar zst 启动信息 Debian GNU Linux sp
  • RealEvo许可证协议

    一直使用RealEvo V4 0 0版 xff0c 今天因license到期 xff0c 索性一同安装下新版的IDE 当前最新RealEvo IDE版本为 V5 0 5 xff0c V5 0 0 V5 0 3版本存在一些bug xff0c
  • SylixOS该怎么学

    个人整理的SylixOS学习路线和方法 xff0c 会不定期补充 欢迎大家给出建议
  • sparc-sylixos-elf-gcc平台选项

    sparc sylixos elf gcc exe target help The following options are target specific span class token parameter variable m32
  • Ubuntu18.04 方便好用的截图工具

    安装flameshot 下载地址 xff1a https github com lupoDharkael flameshot 安装命令 xff1a sudo apt get install flameshot 配置快捷键 设置 gt 设备
  • SPARC体系下硬浮点编译故障分析

    问题说明 之前extension版的app工程都是用的软浮点编译的 xff0c 在增加姿控算法库后 xff0c 统一改用硬浮点运行 xff0c 发现之前一个浮点数解析不对了 xff0c 排查发现和工程编译选项有关 xff0c 为软浮点时正常
  • SylixOS下DNS配置

    SylixOS下支持DNS xff08 域名解析 xff09 服务 xff0c 既可以通过域名地址来访问网络地址 测试 先进行一个域名解析的测试 xff1a 由上图可知 xff0c 在其他网络配置正确的情况下 xff0c SylixOS可以
  • SylixOS 教培官网上线

    4月末翼辉创建的包括SylixOS教培在内的文档中心已上线 今天SylixOS教培又上线了 Shell 命令手册 和 IDE 使用手册 方便大家学习和查阅SylixOS相关知识点 SylixOS教培官网 https docs acoinfo
  • SylixOS App 运行时出现“vprocRun() error: can not find entry function.”错误提示原因及解决方法

    针对只使用静态库 xff0c 不使用共享库的业务场景 xff0c 如果libsylixos Output目录下的 libvpmpdm so文件被删除 xff0c SylixOS App程序将自动连接libvpmpdm a文件 xff0c 这
  • 【无标题】

    环境变量 xff08 environment variables xff09 是一组键值对 xff08 key 61 value xff09 列表 xff0c 每一项键值对为一个环境变量 xff0c 分环境变量名和环境变量值 xff0c 两
  • c#爬虫-1688官网自动以图搜图

    背景 在1688有个功能 xff0c 就是上传图片 xff0c 就可以找到类似的商品 如下 网址 xff1a https www 1688 com 这时候 xff0c 我们可以使用程序来代替 xff0c 大批量的完成图片上传功能 实现思路
  • 关于大端序和小段序

    Most Significant Byte 指多字节序列中具有最大权重的 字节 wiki中的解释 xff1a Most Significant Bit 是指一个n位 二进制数字中的n 1位 xff0c 具有最高的权值 与之相反的称之为最低有
  • 使用Project进行项目管理

    文章目录 1 Project可以做哪些 xff1f 1 1 功能清单1 2 本文将会涉及到的内容 2 常见操作2 1 设置 xff1a 自动任务2 2 设置 xff1a 任务的时间格式2 3 日历设置 xff1a 项目开始时间2 4 日历设
  • 进销存小程序(一)项目整体功能和设计

    文章目录 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 库存盘