更新记录

1.0.3(2026-10-17) 下载此版本

  • 角色管理补齐编辑/删除/搜索,用户列表新增角色/标签/注册时间列及筛选
  • 优惠券、广告、配送/客服设置、领菜卡、新增用户/菜单/标签等表单增加校验与重复拦截
  • 删除确认补充对象名称,套用模板前增加覆盖确认
  • 修复页面配置保存丢弃线上数据、编辑页时间回填异常、新增页复用上次值、批量重置密码、应用管理 AppID 搜索等问题
  • 用户日志区分登录成功/失败,核心敏感操作新增审计日志
  • 商品列表/营销总览区分接口失败与空数据,统计页与秒杀页适配手机宽度,时间格式统一
  • 移除 uni-stat 统计相关代码与首页流量卡片
  • 升级 uni_modules 插件

1.0.2(2026-10-13) 下载此版本

  • 优化登录
  • 优化角色管理

1.0.1(2026-08-15) 下载此版本

更新商品管理

查看更多

平台兼容性

云端兼容性

支付宝云 腾讯云 阿里云
√ √ √

uni-app(4.36)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- √ √ √ √ × - - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - - -

其他

多语言 暗黑模式 宽屏模式 蒸汽模式
√ × √ ×

鲜集 Market 后台管理系统安装教程

鲜集 Market 后台管理系统基于 uni-admin、uni-app Vue 3、uniCloud、uni-id 和 Element Plus 开发,用于管理“鲜集商城-线上超市”的业务数据、用户、角色、权限及运营配置。

本教程适用于 DCloud 插件市场项目:鲜集商城-线上超市 的后台管理系统。请在 HBuilderX 中打开后台项目目录后按本文完成安装、部署和运行。

⚠️ 必须与商城前台部署在同一个 uniCloud 服务空间。 本后台不能单独使用:商品、订单、营销、店铺等商城模块全部调用前台项目的 cloud-mall 云函数,支付订单统计调用前台项目的 uni-pay-co 云对象,这两者只随“鲜集商城-线上超市”前台项目提供,后台项目中没有。请先部署商城前台,再为后台绑定同一个服务空间,详见下文绑定 uniCloud 服务空间。

环境要求

  • HBuilderX:建议使用 5.24 或更高版本
  • DCloud 账号:用于登录 HBuilderX、绑定和部署 uniCloud 服务空间
  • uniCloud 服务空间:当前项目使用 uniCloud-aliyun,必须使用已部署商城前台项目的那个阿里云服务空间
  • 商城前台项目:鲜集商城-线上超市 已导入并完成云函数、数据库部署
  • 浏览器:Chrome、Edge 或其他 Chromium 内核浏览器,用于运行后台 H5 管理端
  • Node.js:通常使用 HBuilderX 内置 Node.js 即可;如需命令行安装依赖,可使用本机 Node.js 18+

获取项目

从 DCloud 插件市场下载或导入项目后,解压到本地目录。后台管理系统需要作为一个独立 uni-app 项目打开,目录中应包含 manifest.json、pages.json、main.js、uniCloud-aliyun/ 等文件和目录。

安装前端依赖

后台项目依赖 element-plus 和 @element-plus/icons-vue。首次运行前,在后台项目根目录执行:

npm install

如果不使用命令行,也可以在 HBuilderX 中打开后台项目目录后,根据编辑器提示安装缺失依赖。

打开后台项目

  1. 启动 HBuilderX。
  2. 选择“文件 -> 打开目录”。
  3. 打开后台管理系统所在目录。
  4. 确认项目根目录下能看到 manifest.json、pages.json、main.js、uniCloud-aliyun/ 等文件和目录。

绑定 uniCloud 服务空间

  1. 在 HBuilderX 左侧项目树中找到 uniCloud-aliyun。
  2. 右键 uniCloud-aliyun,选择“关联云服务空间或项目”。
  3. 选择商城前台项目已绑定的那个阿里云 uniCloud 服务空间(不要新建)。
  4. 绑定完成后,确认 uniCloud-aliyun 目录不再提示未关联服务空间。

后台与“鲜集商城-线上超市”前台必须使用同一个 uniCloud 服务空间,原因:

  • 云函数依赖:后台的商城模块(商品、分类、订单、售后、营销活动、优惠券、广告、店铺、首页统计等)全部通过 cloud-mall 云函数读写数据,支付订单统计页调用 uni-pay-co 云对象;这两者由前台项目部署,后台项目不含。绑定到其他空间时,这些页面会报“云函数不存在”或一直加载失败。
  • 数据与账号共用:账号、角色、商品、订单等都在同一套云数据库中;后台登录依赖前台 npm run init 生成的测试账号(见登录后台)。
  • 公共配置共用:两个项目各带一份 uni_modules/uni-config-center,上传时会整包覆盖云端同名公共模块。其中 uni-id(尤其 passwordSecret、tokenSecret)与 cloud-mall 配置两边必须保持一致,否则会出现密码校验失败、token 互不认的问题;修改配置时请两个项目同步修改。

推荐的部署顺序:先导入并部署商城前台项目(云函数、数据库、npm run init),再按本文部署后台。

初始化数据库

项目数据库 schema 和初始化数据位于:

  • uniCloud-aliyun/database/*.schema.json
  • uniCloud-aliyun/database/*.init_data.json

初始化步骤:

  1. 在 HBuilderX 中展开 uniCloud-aliyun/database。
  2. 右键数据库目录或具体 schema 文件,上传所有数据库 schema。
  3. 右键对应的 *.init_data.json 文件,导入初始化数据。
  4. 重点确认以下初始化数据已导入:
    • uni-id-users.init_data.json
    • uni-id-roles.init_data.json
    • uni-id-permissions.init_data.json
    • opendb-admin-menus.init_data.json

这些数据用于后台登录、角色权限和菜单显示。如果登录成功但菜单为空,通常是菜单或权限初始化数据未导入。

部署云函数和公共模块

后台依赖 uniCloud 云函数、云对象及部分 uni_modules 内置云函数。首次安装需要部署:

  1. 右键 uniCloud-aliyun/cloudfunctions,选择“上传所有云函数、公共模块及actions”。
  2. 如只想按需部署,至少确认以下目录已上传:
    • uniCloud-aliyun/cloudfunctions/uni-portal
    • uniCloud-aliyun/cloudfunctions/ext-storage-co
    • uniCloud-aliyun/cloudfunctions/uni-sms-co
    • uniCloud-aliyun/cloudfunctions/uni-upgrade-center
    • uni_modules/uni-id-pages/uniCloud/cloudfunctions/uni-id-co
    • uni_modules/uni-captcha/uniCloud/cloudfunctions/uni-captcha-co
  3. 如果 HBuilderX 提示需要上传公共模块,按提示一并上传。
  4. 确认同一服务空间中已存在商城前台部署的 cloud-mall 云函数和 uni-pay-co 云对象(uniCloud Web 控制台 → 云函数/云对象列表)。它们不在本项目中,缺失时请回到前台项目上传。

修改云函数后,需要重新上传对应云函数才会在云端生效。

运行后台管理端

  1. 在 HBuilderX 中打开后台管理系统项目。
  2. 点击菜单“运行 -> 运行到浏览器 -> Chrome”或选择其他浏览器。
  3. 编译完成后访问 HBuilderX 自动打开的地址。
  4. 后台 H5 路由基础路径为 /admin/,如果手动部署到服务器,请确保站点路径与 manifest.json 中的 h5.router.base 保持一致。

登录后台

测试账号由商城前台项目的 npm run init 生成(写入前台项目的 uniCloud-aliyun/database/uni-id-users.init_data.json,右键该文件 → 初始化云数据库 后生效),初始密码见前台项目 scripts/init.js 的 testUserPassword(本文档不再写明文,共用 / 生产空间的账号密码请向项目负责人索取):

角色 用户名 手机号 可见范围
超级管理员 (admin) admin 199oooo6666 全部功能
店主(只读,shop_preview) test_owner 199oooo9999 仅名下店铺,不能修改数据
后台预览(只读,preview) preview 无 全部店铺与功能,不能修改数据

手机号中间的 4 位 o 实际为数字 0;登录框填用户名或手机号均可。共用 / 生产空间必须删除这些测试账号或改成强密码——初始密码随代码公开,任何人都能用它登录。

shop_preview / preview 是只读体验角色:只能调用后台查询接口,写接口一律 403(规则见商城前台项目的 cloud-mall/utils/readonly-role.js)。界面上的保存 / 删除等按钮仍会显示,点击后提示无权限。

要求:

  • 后台与商城前台的 uni-id passwordSecret 必须一致(密码哈希由它计算),否则密码校验不通过。
  • 账号的 dcloud_appid 数组需包含本后台项目 manifest.json 的 appid。前台 npm run init 能读到同级 ../admin/manifest.json 或环境变量 UNI_ADMIN_APP_ID 时会自动写入;否则到 uniCloud Web 控制台 → 云数据库 → uni-id-users 手动追加。

若不使用测试账号,请在 uni-id-users 表中自行创建管理员用户,并为其绑定 admin 角色。

登录后如出现无权限、菜单为空或页面 403,检查:

  • uni-id-users 是否存在管理员用户
  • uni-id-roles 是否存在管理员角色
  • uni-id-permissions 是否已导入权限数据
  • opendb-admin-menus 是否已导入菜单数据
  • 云函数 uni-id-co 是否已部署成功

发布部署

后台主要以 H5 方式部署:

  1. 在 HBuilderX 中选择“发行 -> 网站-H5手机版”。
  2. 按需配置发行目录。
  3. 将生成的 H5 静态文件上传到 Web 服务器。
  4. 如果部署路径不是 /admin/,需要同步修改 manifest.json 的 h5.router.base 后重新发行。

常见问题

依赖缺失或 Element Plus 报错

在后台项目根目录重新执行:

npm install

然后重新运行到浏览器。

无法连接 uniCloud

确认 HBuilderX 已登录 DCloud 账号,uniCloud-aliyun 已绑定服务空间,并且相关云函数已上传部署。

商城相关页面报“云函数不存在”或数据一直加载失败

后台绑定的服务空间与商城前台不是同一个,或前台的 cloud-mall 云函数尚未部署。请把后台改绑到前台所在的服务空间,并在前台项目中上传 cloud-mall;支付订单统计页同理需要前台的 uni-pay-co。

登录后没有菜单

通常是 opendb-admin-menus.init_data.json、uni-id-roles.init_data.json 或 uni-id-permissions.init_data.json 未导入,重新导入初始化数据后刷新后台。

修改云函数后本地看不到效果

云端调用以已部署版本为准。修改 uniCloud-aliyun/cloudfunctions 或 uni_modules/*/uniCloud/cloudfunctions 下的云函数后,需要重新上传部署。

技术栈

  • uni-app Vue 3
  • uni-admin
  • uniCloud 阿里云服务空间
  • uni-id 用户、角色、权限体系
  • Element Plus
  • @element-plus/icons-vue

隐私、权限声明

1. 本插件需要申请的系统权限列表:

无

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

无

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

无

许可协议

MIT License

Copyright (c) 2020 DCloud

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.