背景

摄影师预约小程序功能是一种方便摄影师和客户之间进行预约和安排拍摄的工具。通过该功能,摄影师可以在小程序上设置自己的可预约时间,客户可以根据摄影师的日程安排选择合适的时间进行预约。这样可以提高预约的效率,减少沟通成本,方便双方的安排

功能规划

  • 首页展示:展示最新的摄影作品、摄影师推荐、热门摄影主题等内容,吸引用户关注。
  • 摄影师列表:列出所有注册的摄影师信息,包括摄影师的作品集、个人简介、星级等,方便用户选择合适的摄影师。
  • 预约功能:用户可以根据自己的需求选择摄影师,并进行预约。预约时可以选择拍摄时间、地点、主题等,并填写相关要求。
  • 预约管理:用户可以查看自己的预约记录,包括已完成的预约和待确认的预约,也可以取消预约。

概要设计

image.png
image.png

技术选型

  • 本项目使用微信小程序平台进行开发。
  • 使用腾讯专门的小程序云开发技术,云资源包含云函数,数据库,带宽,存储空间,定时器等,资源配额价格低廉,无需域名和服务器即可搭建。
  • 小程序本身的即用即走,适合小工具的使用场景,也适合快速开发迭代。
  • 资源承载力可根据业务发展需要随时弹性扩展。

    数据库设计


JoinModel.DB_STRUCTURE = {
    _pid: 'string|true',
    JOIN_ID: 'string|true',

    JOIN_EDIT_ADMIN_ID: 'string|false|comment=最近修改的管理员ID',
    JOIN_EDIT_ADMIN_NAME: 'string|false|comment=最近修改的管理员名',
    JOIN_EDIT_ADMIN_TIME: 'int|true|default=0|comment=管理员最近修改的时间',
    JOIN_EDIT_ADMIN_STATUS: 'int|false|comment=最近管理员修改为的状态 ',

    JOIN_IS_ADMIN: 'int|true|default=0|comment=是否管理员添加 0/1',

    JOIN_CODE: 'string|true|comment=核验码15位',
    JOIN_IS_CHECKIN: 'int|true|default=0|comment=是否核销 0/1 ',
    JOIN_CHECKIN_TIME: 'int|true|default=0',

    JOIN_USER_ID: 'string|true|comment=用户ID',
    JOIN_MEET_ID: 'string|true|comment=预约PK',
    JOIN_MEET_CATE_ID: 'string|true',
    JOIN_MEET_CATE_NAME: 'string|true',
    JOIN_MEET_TITLE: 'string|true|comment=项目',
    JOIN_MEET_DAY: 'string|true|comment=日期',
    JOIN_MEET_TIME_START: 'string|true|comment=时段开始',
    JOIN_MEET_TIME_END: 'string|true|comment=时段结束',
    JOIN_MEET_TIME_MARK: 'string|true|comment=时段标识',

    JOIN_COMPLETE_END_TIME: 'string|false|comment=完整结束时间',

    JOIN_START_TIME: 'int|true|comment=开始时间戳',

    JOIN_FORMS: 'array|true|default=[]|comment=表单',
    /* title:
       mark:
       type:
       val:
    */
    JOIN_OBJ: 'object|true|default={}',

    JOIN_STATUS: 'int|true|default=1|comment=状态 1=预约成功,10=已取消, 99=系统取消',

    JOIN_REASON: 'string|false|comment=审核拒绝或者取消理由',

    JOIN_ADD_TIME: 'int|true',
    JOIN_EDIT_TIME: 'int|true',
    JOIN_ADD_IP: 'string|false',
    JOIN_EDIT_IP: 'string|false',
};

MeetModel.DB_STRUCTURE = {
    _pid: 'string|true',
    MEET_ID: 'string|true',
    MEET_ADMIN_ID: 'string|true|comment=添加的管理员',
    MEET_TITLE: 'string|true|comment=标题',
 
    MEET_JOIN_FORMS: 'array|true|default=[]|comment=表单字段设置',
    MEET_DAYS: 'array|true|default=[]|comment=最近一次修改保存的可用日期',

    MEET_CATE_ID: 'string|true|comment=分类编号',
    MEET_CATE_NAME: 'string|true|comment=分类冗余', 

    MEET_FORMS: 'array|true|default=[]',
    MEET_OBJ: 'object|true|default={}',  

    MEET_CANCEL_SET: 'int|true|default=1|comment=取消设置 0=不允,1=允许,2=仅开始前可取消',

    MEET_STATUS: 'int|true|default=1|comment=状态 0=未启用,1=使用中,9=停止预约,10=已关闭',
    MEET_ORDER: 'int|true|default=9999',
    MEET_VOUCH: 'int|true|default=0',

    MEET_QR: 'string|false',

    MEET_PHONE: 'string|false|comment=登录手机',
    MEET_PASSWORD: 'string|false|comment=登录密码',
    MEET_TOKEN: 'string|false|comment=当前登录token',
    MEET_TOKEN_TIME: 'int|true|default=0|comment=当前登录token time',
    MEET_MINI_OPENID: 'string|false|comment=小程序openid',
    MEET_LOGIN_CNT: 'int|true|default=0|comment=登陆次数',
    MEET_LOGIN_TIME: 'int|false|comment=最近登录时间',

    MEET_VIEW_CNT: 'int|true|default=0',

    MEET_ADD_TIME: 'int|true',
    MEET_EDIT_TIME: 'int|true',
    MEET_ADD_IP: 'string|false',
    MEET_EDIT_IP: 'string|false',
};

UI设计

image.png
image.png
image.png
image.png
image.png

image.png

摄影师端UI

image.png
image.png
image.png
image.png
image.png

git

代码下载


CC同学呀
27 声望13 粉丝

鹅厂程序猿一枚,交流v: cclinux0730