开发库存管理SaaS小程序(1) - 公司注册篇
库存管理SaaS小程序的开发目的是让中小企业可以使用小程序来管理库存,省去开发、部署系统的成本。
为了让同一个公司的用户能看见共享的数据,他们需要有一个共同的companyId,具体的实现方法是,某一个用户注册一个公司,然后将companyId分享给其他人加入(将companyId作为邀请码,或者生成二维码供用户扫码),然后这些人成了同一个公司的用户,相互之间能看到该看到的数据,实现库存数据共享。
注册公司代码:
confirmRegist() {let that = this//检查重名companyCollection.where({name: that.data.regCompanyName}).get().then(res => {if (res.data.length > 0) {wx.showToast({title: '公司名已存在!',icon: 'error'})return false} else {companyCollection.add({data: {name: that.data.regCompanyName,status: 1,enableJoin: true //用于控制是否允许加入公司,防止非本公司人员使用邀请码加入}}).then(res => {let joinTime = new Date().getTime()// 将公司写入用户所属公司列表,用于一个用户可以加入多个公司/组织let companys = that.data.user.companys ? that.data.user.companys : []const permission = { sales: true, po: true, product: true, inventory: true, report: true, invOpt: true }companys.push({ name: that.data.regCompanyName, id: res._id, userType: 1, vip: true, permission, joinTime })//更新用户信息,用户当前可操作的公司userCollection.doc(that.data.user._id).update({data: {companyId: res._id,companyName: that.data.regCompanyName,joinTime,userType: 1,vip: true,companys}})wx.showToast({title: '注册成功!',})setTimeout(() => {wx.reLaunch({url: '../index/index',})}, 300);})}})},
加入公司代码:
confirmJoin() {let that = this// 检查是否加过了let companys = that.data.user.companys ? that.data.user.companys : []let isExist = falselet myIndex = 0companys.map((item, index) => {if (item.id == that.data.joinCompanyId) {isExist = truemyIndex = index}})// 如果已经是成员,切换公司if (isExist) {userCollection.doc(that.data.user._id).update({data: {companyId: that.data.joinCompanyId,companyName: companys[myIndex].name,userType: companys[myIndex].userType,vip: companys[myIndex].vip,permission: companys[myIndex].permission}}).then(res => {wx.reLaunch({url: '/pages/index/index',})})return false}//检查公司是否存在companyCollection.where({_id: that.data.joinCompanyId}).get().then(res => {if (res.data.length <= 0) {wx.showToast({title: '邀请码不存在!',icon: 'error'})return false}else if (res.data[0].enableJoin == false) {wx.showToast({title: '不允许加入!',icon: 'error'})return false}else {//加入公司let joinTime = new Date().getTime()// 将公司写入用户所属公司列表let companys = that.data.user.companys ? that.data.user.companys : []const permission = { sales: true, po: true, product: true, inventory: true, report: true, invOpt: true }companys.push({ name: res.data[0].name, id: res.data[0]._id, userType: 2, vip: false, permission, joinTime })userCollection.doc(that.data.user._id).update({data: {companyId: res.data[0]._id,companyName: res.data[0].name,joinTime: joinTime,userType: 2,vip: false,companys,permission}})wx.showToast({title: '加入成功!',})wx.reLaunch({url: '../index/index',})}})},
以上就是库存管理SaaS小程序的公司注册和输入邀请码加入功能,下一篇介绍管理员生成二维码供用户扫码加入的更为便捷的方式。
功能演示,可以在微信中搜索小程序“库存小管家”。
开发库存管理SaaS小程序(1) - 公司注册篇相关推荐
- 手牵手,使用uni-app从零开发一款视频小程序 (系列上 准备工作篇)
系列文章 手牵手,使用uni-app从零开发一款视频小程序 (系列上 准备工作篇) 手牵手,使用uni-app从零开发一款视频小程序 (系列下 开发实战篇) 前言 好久不见,很久没更新博客了,前段时间 ...
- 微信小程序----学生信息注册篇
注册学生信息首先我们要检测学生信息不能为空,然后检测前台传过来的学号是否已经注册,若已注册,返回学号存在:反之添加进数据库 student表: 后台代码: public function index( ...
- 微信 商店服务器,对比saas小程序,云开发,微信小商店
原标题:对比saas小程序,云开发,微信小商店 要做一个小程序,大部分人都知道找第三方的服务商,开通账号,然后把数据内容都放在别人家的服务器中,使用人家提供的免费功能. 但,你有没有想过,如果这家服务 ...
- 分享一款管理微信小程序的神器
相信很多开发者尝试在自己的 App 中引入小程序之前,已经是各种不同平台的小程序开发者了.困扰很多开发者许久的问题「如何将已有的小程序集成在自己的 App 中」在遇到 FinClip 之后已经被解决了 ...
- vue+uni-app商城实战 | 第一篇:从0到1快捷开发一个商城微信小程序,无缝接入OAuth2实现一键授权登录
一. 前言 本篇通过实战来讲述如何使用uni-app快速进行商城微信小程序的开发以及小程序如何接入后台Spring Cloud微服务. 有来商城 youlai-mall 项目是一套全栈商城系统,技术栈 ...
- 开发跨端微信小程序框架选型指南
多端框架uni-app和Taro选型对比 一. 背景 小程序原生开发有不少槽点: 1.原生wxml开发对Node.预编译器.webpack支持不好,影响开发效率和工程构建流程.所以大公司都会用框架开发 ...
- 微信小程序开发详细步骤(企业小程序开发流程)
今天珍奶bb给大家简单唠唠微信小程序开发详细步骤(企业小程序开发流程)? 微信小程序制作流程是什么?微信小程序制作模板套用怎么操作?今天珍奶bb给大家简单唠唠微信小程序制作流程是什么? 在唠微信小程序 ...
- 开发一款微信小程序多少钱?
互联网时代为创新不破,小程序的出现给移动应用带来了一种新的理念,小程序由腾讯开发,背靠12亿微信用户,可以说是自带流量,所以也引起了企业和商家的广泛关注.今天我们来聊一聊制作一个小程序需要哪些流程以及 ...
- 招标投标管理微信小程序解决方案
招投标管理微信小程序是一种基于微信公众平台构建的在线招投标管理平台,适用于各类招投标项目管理,通过小程序内的功能实现投标.查看.评估和管理等各项业务.下面我们来了解一下招投标管理微信小程序的具体功能和 ...
最新文章
- 线刷一加5t android 9,一加5/5T 氢OS 9.0稳定四版 侧边工具 通知特效 Magisk 极速流畅 简约实用-刷机之家...
- CTFshow 命令执行 web65
- struts.xml配置文件结构
- python框架 mysql数据库_在Python的框架中为MySQL实现restful接口的教程
- Intellij IDEA 的使用
- c++ 反射_Java代码审计基础之反射
- 井下三专两闭锁的内容_局部通风机三专两闭锁具体规定
- IDC、刘润:企业如何通过数字化转型,驱动业务发展?附98页PPT
- hdu 4608 I-number(13多校#1 ,1009)
- java抓取百度搜索结果_java实现抓取百度对某站点搜索结果
- MathType中如何快速输入空心字母
- 装tensorflow未果
- 封装继承多态_继承重写重载
- win7局域网计算机无法访问,win7局域网不能访问怎么办_win7系统电脑无法访问局域网怎么办-win7之家...
- scrapy分布式写入到mysql_scrapy-redis分布式爬虫去重异步写入mysql数据库实例代码...
- VS2015专业版+opencv3.3环境配置以及出现计算机中丢失 opencv_world300d.dll的问题
- matlab离散系统pid控制系统,离散系统的数字PID控制仿真
- 通过api获取网易云音乐歌单数据
- MySQL ORDER BY 使用自定义排序顺序
- 微信小程序引用本地js里的json数据