项目运行及调试
项目clone后直接使用 npm下载依赖,如使用npm推荐使用淘宝镜像(npm i -g cnpm —registry=https://registry.npm.taobao.org);下载命令为cnpm install,运行命令为cnpm run dev。
本地默认访问后端地址为env.js文件中的配置具体如下:
/** @Description: mark* @Author: wangwangwang* @Date: 2020-10-19 10:30:56* @LastEditors: wangwangwang* @LastEditTime: 2021-08-13 13:58:18*/// const url = 'http://10.31.6.130:8070';// const url2 = 'http://10.31.6.130:8070';// const imageUri = 'http://10.31.6.130:8070';const url = 'https://lvshe.huashijc.com';const url2 = 'https://lvshe.huashijc.com';const imageUri = 'https://lvshe.huashijc.com/';export default { url, imageUri, url2 }
小程序开发不存在跨域问题;项目发布时所有接口请求必须是https才能访问。
如遇到小程序修改代码后不生效的问题,请删除weapp文件后重新执行cnpm run dev。
项目结构
同基础系统及ICPS系统
功能权限
小程序分为外部小程序和内部小程序
内部小程序由公司内部提供账号并在基础系统中进行权限分配,小程序登录时获取用户权限进行渲染功能login.wpy
login(_this.loginForm).then(res => {if (res.code !== 1001) {wx.showToast({title: '用户名或密码错误',icon: 'none'})_this.loading = falsereturn}/*** @Description: 登录用户设置菜单* @Param:* @Author: wangwangwang*/wx.setStorage({ key: 'menu', data: res.data.functionLimitList.filter(item => item.folderType===0)});wx.setStorage({key: 'user',data: res.data.userToken,success(res) {_this.loading = falsewx.switchTab({url: './index'})}})})
self.menuList = wx.getStorageSync('menu');
外部人员分为原物料司机、罐车司机、泵工三类。分别在处理分享的页面时将用户的openid与角色进行绑定,再次进入页面时调接口进行判断,从而渲染不同的功能。index.wpy
weixinQuFen({ openId: JSON.parse(response.data).openid }).then(response1 => {if (response1.code === 1001 && response1.data) {if (response1.data.rawDriverStatus === 1) { // 原物料司机self.menuList = self.driver2MenuList;return}if (response1.data.driverStatus === 1) { // 外部罐车司机self.menuList = self.driverMenuList;self.bindWxDriver();return}if (response1.data.pumpingStatus === 1) { // 外部泵工self.menuList = self.pumpMenuList;self.bindWxPumper();return}wx.reLaunch({ url: '/pages/login' });}wx.showToast({title: '当前账户未分配角色',icon: 'none'})setTimeout(() => {wx.reLaunch({ url: '/pages/login' });}, 1000)})
业务逻辑
小程序中无特别注意的逻辑,都是一些简单的逻辑,多看代码就行。
项目部署
在小程序开发工具中点上传按钮进行上传。如遇到文件过大超过2M的问题,先把weapp文件删除后再进行上传操作。
上传成功后由小程序的运维人员提交审核,审核通过后可进行发布。
