7 Star 10 Fork 7

galaxyx / ActivityHelper

Create your Gitee Account
Explore and code with more than 6 million developers,Free private repositories !:)
Sign up
Clone or download
开发文档_BJUT活动助手.md 9.23 KB
Copy Edit Web IDE Raw Blame History
RTkaixa authored 2020-11-15 23:24 . 修改开发文档

BJUT活动助手开发文档 :)


使用eslint和husky

安装eslint和husky

如果想要使用eslint和husky规范代码格式,需要安装npm。

将项目代码克隆到本地后打开命令行执行以下命令

cd miniprogram # 假定你已经进入活动助手的项目根目录
npm i

安装完成后,miniprogram文件夹中会出现一个新的文件夹node_modules(该文件夹在提交时会被忽略)

使用

在命令行中使用

每次使用命令行提交代码时会触发husky的钩子自动进行代码检测,也可以在命令行中输入npm run lint手动检测代码。

在开发者工具中使用

根据官方教程安装eslint扩展,启用后即可支持eslint。

但是不知道为什么,在开发者工具中提交代码不会触发husky的pre-commit钩子。

前端页面目录

  • 一级页面

    页面名 文件路径
    主页 pages/home/home 活动展示 (采用卡片布局 力争简洁清晰)
    发现页 pages/discovery/discovery 提供类别和时间两个筛选方式 ;有类别 和 日历 两个顶部tab
    个人页 pages/me/me 分为"活动收藏""报名列表""发布管理(仅管理者)"模块 ;
  • 二级页面

    页面名 文件路径 入口页面/事件 功能
    活动详情页 packageA/activityDetail/activityDetail 每个活动块都可以通过点击跳转至详情页 列举活动各项信息;提供报名按钮;可评论(暂不设置回复功能)
    个人信息页 packageA/info/info 个人页右上角的编辑信息按钮 ;首页右上角的头像 可编辑个人信息;可通过点击身份认证按钮,申请认证活动管理者
    类别详情页 packageA/list/list 发现页类别tab的每个类别;活动详情页底部的同类别活动
    搜索活动页 packageA/search/search 主页的搜索按钮
    新建活动页 packageB/newActivity/newActivity 个人页的发布管理模块里的加号按钮+
    删改活动页 packageB/editActivity/editActivity 个人页的发布管理模块里 点击某一活动后出现弹出框 选择删改活动
    报名统计页 packageB/regDetail/regDetail 个人页的发布管理模块里 点击某一活动后出现弹出框 选择查看报名 显示报名者信息;实时excel导出
    组织认证页 packageB/inputOrg/inputOrg 个人信息页 完成信息注册后的账户 点击左下角"认证"按钮并确认后 跳转至认证页 用户填写所在组织,该用户角色role将转换为2
    设置反馈页 packageB/setting/setting 个人页右上角的设置按钮 可注销帐号(暂未实现);对小程序进行bug反馈;显示小程序的版本信息等

注:该小程序采用分包加载(便于提高加载速度),一级页面放在主包里;二级页面放在两个分包packageA和packageB里

前端页面风格

  • 页面风格

    扁平/简洁/多留白 增加行间距2倍起 多使用动画达到流畅的切换效果 参考ios风格 宽度100% 高度auto的流式布局

  • 主题色

    背景白色 #ffffff 普通字体 #000000 注释字体 #868688 主题颜色 #80a0c0

  • 页面边距

    width : 90% margin: 0 auto

  • 字体大小

    一级标题font-size:50rpx font-weight:700 二级标题font-size:35rpx font-weight:600 普通文字font-size:25rpx font-weight:400

注: 开发者工具中的颜色显示 和手机调试显示的颜色 出入较大

数据库

  • 用户信息表 user

属性 说明 插入前的校验方法 非空约束
_id
_openid
name 姓名 由字母或汉字及点组成的1-30位字符串
uid 学号 15-21开头的8位数字&查重(待优化)
tel 通用的手机号正则校验
email 通用的邮箱正则校验
dep1 通过选择器输入数据 无需校验
dep2 通过选择器输入数据 无需校验
org 部门(only for 活动管理者) 1-30位字符
role 角色(普通学生0 活动管理者1 认证中2) 无需校验
avatarUrl 头像 自动获取
gender 性别(男1女2) 自动获取
nickName 昵称 自动获取
country 国家 自动获取
province 自动获取
city 城市 自动获取

- 与该表相关的操作 -

用户第一次onload该小程序时,user表记录其微信头像/昵称/性别/国/省/市等信息;

用户每次打开小程序时,app.js负责将用户数据存入(或更新)本地缓存,包括openid/role/org/tel/nickName/avatarUrl/gender;之后可直接调用wx.getStorageSync()调用即可

未完善个人信息时,可以进行收藏活动。user表存其openid,其他属性暂不设置;

未完善个人信息时,不可以进行报名活动。会跳转至个人信息页,先补充信息后才能报名;

修改个人信息后点击提交,会更新user表中对应用户的数据;

点击申请认证按钮,需输入所属部门,再更新user表中对应用户的role值为2;

  • 活动信息表 activity

属性 说明 插入前的校验方法 非空约束
_id
_openid 发布者openid 自动生成 无需校验
title 活动名称 1-30位字符
host 承办部门 默认为发布者的org 且不能更改 所以无需校验
type 类型标签(存typeid 用时需联合type表查询) 通过选择器输入 无需校验
numMax 最高人数限制 整数/^[0-9]+$/
regNum(已废弃) 报名人数 目前改为每次从报名表里查询
addr 地点(addr1和addr2的一个合并字符串) 选择器输入 无需校验
addr1 地点(线上/本部/通州) 选择器输入 无需校验
addr2 地点(详细地点) 选择器输入 无需校验
actTimeBegin 活动开始时间 选择器输入 无需校验
actTimeEnd 活动截至时间
regTimeBegin 报名开始时间 应早于活动截止时间
regTimeEnd 报名截至时间 应早于活动截止时间
intro 活动介绍 <500字
cover 活动封面图 对图片大小及比例进行检验(需小于云存储可达的最大文件大小)
contact 手机号/邮箱 默认为发布者手机号 但是可以更改(调用util里的手机号/邮箱检验 满足其一即可)
link(暂未实现) 活动相关链接(仅能放一条)

注: host 属性 活动承办部门,默认为发布者所属部门 intro属性 活动介绍,用户输入时可采用富文本编辑器编辑

  • 活动报名表 register

属性 说明 插入前的校验方法 非空约束
_id
openid 报名者openid
aid 活动id
regTime 报名时间
  • 活动收藏表 collect

属性 说明 插入前的校验方法 非空约束
_id
openid 收藏者openid
aid 活动id
collectTime 收藏时间
  • 活动评论表 comment

属性 说明 插入前的校验方法 非空约束
_id
_updateTime 数据更新时间(在后台系统上更改时 系统会自动增加该条目 非人工输入)
_openid 评论者openid
aid 活动id
nickName 评论者昵称 无需校验 但是这里会写死 之后不会再更改
comment 评论内容
time 评论时间
  • 活动类型表type (仅存放数据 若业务不变 一般对该表删改)

  • 活动地址表place (仅存放数据 若业务不变 一般不对该表删改)

  • 订阅信息表message (一般通过云函数进行数据增删改 该表不直接删改)

  • tcb-ext-cms-**** (后台管理平台需要的一些表 直接在后台网站上操作 请不要对其数据库内修改/js调用修改)

Comment ( 0 )

Sign in for post a comment

JavaScript
1
https://gitee.com/trackx/ActivityHelper.git
git@gitee.com:trackx/ActivityHelper.git
trackx
ActivityHelper
ActivityHelper
master

Search