52 Star 495 Fork 103

report / ReportPro

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 19.56 KB
一键复制 编辑 原始数据 按行查看 历史
howcode 提交于 2023-09-25 15:29 . docs:更新文档

ReportPro数据报表 云端版

小程序、H5、PC等多端兼容

star fork

无偿开源!你们的Star是我的动力!

ReportPro 云端数据报表中心

该小程序基于uniCloudAdmin框架开发,主要使用了ucharts和wyb-table两插件实现的数据报表功能,感谢作者秋云和SirW的优秀开源项目

下载地址

特点

  • 前身为UReport插件,与UReport最大不同的:此插件是UReport的升级版,采取了uniCloud云函数开发实现数据中心报表功能。

  • 采用admin插件开发,管理员可配置不同用户的权限来浏览对应的页面,自由实现数据的增删改查

  • 是一款真正的uniCloud Admin 数据报表插件

  • 结合了最新的qiun-data-charts插件完成开发,其作者是开发ucharts的大神秋云,他一直致力于精美、灵活的图表插件开发,故无须担心图表方面的问题

ReportPro各端展示

  • 小程序

  • 小程序

  • H5

  • H5

  • PC端

  • PC

使用说明

  • uniCloud控制台下创建一个属于自己的服务空间。注意:该步骤需要实名认证,并且确保账号与HBuilder登陆的账号一致,否则项目关联不上云服务空间

  • 回到项目中选中uniCloud云空间,右键选中关联云服务空间,选择关联之前创建的服务空间

  • 展开uniCloud文件,选中database目录下的db_init.json文件,右键选择初始化云数据库

  • 选中cloudfunctions文件,右键选择上传所有云函数、公共模块及action

  • 到此项目即可运行起来,如果想将图表放到自己的项目中运行,可查看how-code插件说明文档

注意事项

  • 项目运行起来时,打开微信开发者工具->右上角详情->本地设置->调试基础库,选择最新版本2.16.0或以上
  • 发布到小程序时,在微信公众号平台的开发管理中,配置request合法域名:[https://api.bspapp.com];[https://wthrcdn.etouch.cn];此两项为uniCloud云函数的发起接口api

云端表格

用户

用户表

表名:uni-id-users

字段 类型 必填 描述
_id Object ID 存储文档 ID(用户 ID),系统自动生成
username String 用户名,不允许重复
password String 密码,加密存储
nickname String 用户昵称
gender Integer 用户性别:0 未知 1 男性 2 女性
status Integer 用户状态:0 正常 1 禁用 2 审核中 3 审核拒绝
mobile String 手机号码
mobile_confirmed Integer 手机号验证状态:0 未验证 1 已验证,未验证用户不可登录
email String 邮箱地址
email_confirmed Integer 邮箱验证状态:0 未验证 1 已验证,未验证用户不可登录
avatar String 头像地址
wx_unionid String 微信unionid
wx_openid Object 微信各个平台openid
ali_openid String 支付宝平台openid
comment String 备注
realname_auth Object 实名认证信息
register_date Timestamp 注册时间
register_ip String 注册时 IP 地址
last_login_date Timestamp 最后登录时间
last_login_ip String 最后登录时 IP 地址
login_ip_limit Array 登录 IP 限制
inviter_uid Array 邀请人uid,按层级从下往上排列的uid数组,即第一个是直接上级
my_invite_code String 用户自己的邀请码
role Array 用户角色列表,由role_id组成的数组

验证码表

表名:uni-verify

字段 类型 必填 描述
_id Object ID 存储文档 ID(验证码 ID),系统自动生成
mobile String 手机号,和邮箱二选一
email String 邮箱,和手机号二选一
code String 验证码
type String 验证类型:login, bind, unbind, pay
state Integer 验证状态:0 未验证 1 已验证 2 已作废
ip String 请求时 IP 地址
created_at Timestamp 创建时间
expired_at Timestamp 验证码过期时间

角色表

表名:uni-id-roles

字段 类型 必填 描述
_id Object ID 系统自动生成的Id
role_id String 角色唯一标识
role_name String 角色名,展示用
permission Array 角色拥有的权限列表
comment String 备注
created_date Timestamp 角色创建时间

权限表

表名:uni-id-permissions

字段 类型 必填 描述
_id Object ID 系统自动生成的Id
permission_id String 权限唯一标识
permission_name String 权限名,展示用
comment String 备注
created_date Timestamp 权限创建时间

日志表

表名:uni-id-log

字段 类型 必填 描述
_id Object ID 用户id,参考uni-id-users表
user_id String 权限唯一标识
ua String userAgent
device_uuid String 设备唯一标识(需要加密存储)
type String 登录类型:login代表登陆,logout代表退出
state String 操作状态:结果0 失败、1 成功
ip String ip地址
created_date Timestamp 权限创建时间

具体看Dcloud的uni-id设计

文章&评论

文章表

表名:opendb-news-articles

字段 类型 必填 描述
_id Object ID 存储文档 ID(文章 ID),系统自动生成
user_id String 文章作者ID, 参考uni-id-users
category_id String 分类 id,参考opendb-news-categories
title String 标题
content String 文章内容
excerpt String 文章摘录
article_status Integer 文章状态:0 草稿箱 1 已发布
view_count Integer 阅读数量
like_count Integer 喜欢数、点赞数
is_sticky Boolean 是否置顶
is_essence Boolean 阅读加精
comment_status Integer 评论状态:0 关闭 1 开放
comment_count Integer 评论数量
last_comment_user_id String 最后回复用户 id,参考uni-id-users
avatar String 缩略图地址
publish_date Timestamp 发表时间
publish_ip String 发表时 IP 地址
last_modify_date Timestamp 最后修改时间
last_modify_ip String 最后修改时 IP 地址

文章类别

表名:opendb-news-categories

字段 类型 必填 描述
_id Object ID 存储文档 ID(文章 ID),系统自动生成
name String 类别名称
description String 类别描述
icon String 类别图标地址
sort Integer 类别显示顺序
article_count Integer 该类别下文章数量
create_date Timestamp 创建时间

评论表

表名:opendb-news-comments

字段 类型 必填 描述
_id Object ID 存储文档 ID(文章 ID),系统自动生成
article_id String 文章ID,opendb-news-posts 表中的_id字段
user_id String 评论者ID,参考uni-id-users
comment_content String 评论内容
like_count Integer 评论喜欢数、点赞数
comment_type Integer 回复类型: 0 针对文章的回复 1 针对评论的回复
reply_user_id String 被回复的评论用户ID,comment_type为1时有效
reply_comment_id String 被回复的评论ID,comment_type为1时有效
comment_date Timestamp 评论发表时间
comment_ip String 评论发表时 IP 地址

收藏表

表名:opendb-news-favorite

字段 类型 必填 描述
_id Object ID 存储文档 ID(文章 ID),系统自动生成
article_id String 文章ID,opendb-news-posts 表中的_id字段
user_id String 评论者ID,参考uni-id-users
create_date Timestamp 创建时间

具体查看opendb-news设计

电商系统

商品表

表名:opendb-mall-goods

字段 类型 必填 描述
_id Object ID 存储文档 ID(商品 ID),系统自动生成
category_id String 分类 id,参考opendb-mall-categories
goods_sn String 商品的唯一货号
name String 商品名称
keywords String 商品关键字,为搜索引擎收录使用
goods_desc String 商品详细描述
goods_thumb String 商品缩略图,用于在列表或搜索结果中预览显示
goods_banner_imgs Array 商品详情页的banner图地址
remain_count int 库存数量
month_sell_count int 月销量
total_sell_count int 总销量
comment_count int 累计评论数
is_real Boolean 是否实物
is_on_sale Boolean 是否上架销售
is_alone_sale Boolean 是否能单独销售;如果不能单独销售,则只能作为某商品的配件或者赠品销售
is_best Boolean 是否精品
is_new Boolean 是否新品
is_hot Boolean 是否热销
add_date Timestamp 上架时间
last_modify_date Timestamp 最后修改时间
seller_note String 商家备注,仅商家可见

商品 SKU 表

表名:opendb-mall-sku

名词解释:sku:Stock Keeping Unit。

sku 在电商系统中可定义库存控制的最小单元,同一个商品如有多个属性,则可定义多个sku。举例来说,某手机有8G内存和16G内存,则可定义两个sku,表示这种型号的差异。

理论上,基于商品的每个属性差异,可定义多个sku,比如颜色、重量、大小、材质等,故opendb中的商品sku,仅定义通用售价、库存数量等参数,各属性差异可由开发者自行扩展。

字段 类型 必填 描述
_id Object ID 存储文档 ID(sku ID),系统自动生成
goods_id String 商品 id,参考 opendb-mall-goods 表
sku_name String SKU名称
price int 价格,以分为单位,避免浮点计算的精度问题
market_price int 市场价,以分为单位,避免浮点计算的精度问题
stock int 库存数量
create_date Timestamp 创建时间
update_date Timestamp 修改时间

商品类别

表名:opendb-mall-categories

字段 类型 必填 描述
_id Object ID 存储文档 ID(商品类别 ID),系统自动生成
name String 类别名称
description String 类别描述
create_date Timestamp 创建时间

商品评论表

表名:opendb-mall-comments

字段 类型 必填 描述
_id Object ID 存储文档 ID(评论 ID),系统自动生成
goods_id String 商品ID,opendb-mall-goods 表中的_id字段
user_id String 评论者ID,参考uni-id-users
comment_content String 评论内容
comment_date Timestamp 评论发表时间
comment_ip String 评论发表时 IP 地址

订单表

表名:opendb-mall-order

字段 类型 必填 描述
_id Object ID 存储文档 ID(订单 ID),系统自动生成
order_guid String 唯一订单编号
user_id String 下单用户ID, 参考uni-id-users
good_id String 商品id,参考uni-mall-goods
platform_type int 平台类型:1为线下,2为O2O,3为B2C
total_cash decimal 实付金额
discount_cash decimal 优惠金额
is_promotion int 提取状态:0为待提取,1为提取
payment_date Timestamp 支付时间
cancel_date Timestamp 取消时间
create_date Timestamp 创建时间

指标表

表名:opendb-mall-norm

字段 类型 必填 描述
_id Object ID 存储文档 ID(指标 ID),系统自动生成
name String 指标名称
expect int 目标值
average String 平均完成水平

具体查看opendb-mall设计

常见问题

问题一:图表偶尔加载不出或直接显示报错页面

  • 原因:canvasId重复导致图表加载不出;canvasId丢失导致无法获得dom;
  • 解决方法:请务必在组件上定义canvasId,不能为纯数字、不能为变量、不能重复、尽量长一些;请检查微信小程序的基础库,修改至2.16.0或者最新版本的基础库;请检查父元素或父组件是否用v-if来控制显示,如有请改为v-show,并将v-show的逻辑绑定至组件。

问题二:图表点击显示不出提示信息或点击位置不精准

  • 原因:组件内嵌套组件 + 开启2d模式 + 组件中使用scroll-view标签,使得获取图表的定位不准
  • 解决方法:组价内加入属性 :inScrollView="true" :pageScrollTop="pageScrollTop" :ontouch="true" ,其中pageScrollTop为当前滚动距离顶部的高度

更多问题查看:秋云图表组件工具 -> 常见问题

后期计划

  • 新增更多报表页面
  • 探索qiun-data-charts下datacom的高阶用法

使用手册

uchart官网 table插件使用说明

交流群

  • 微信群,添加howcoder微信拉群(关于插件解答、技术、行业、兴趣交流)

😊 捐助作者

👍👍👍👍👍👍 您的捐助和赞赏,将会是作者howcode更好的维护动力!
JavaScript
1
https://gitee.com/ureport/ReportPro.git
git@gitee.com:ureport/ReportPro.git
ureport
ReportPro
ReportPro
master

搜索帮助