From 89b023feefd91b9036578f83a32e6545022ba058 Mon Sep 17 00:00:00 2001 From: apple1991 <43064121+anymypython@users.noreply.github.com> Date: Fri, 22 Mar 2019 22:04:06 +0800 Subject: [PATCH] =?UTF-8?q?Delete=20=E8=A7=A3=E7=AD=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- "\350\247\243\347\255\224" | 143 ------------------------------------- 1 file changed, 143 deletions(-) delete mode 100644 "\350\247\243\347\255\224" diff --git "a/\350\247\243\347\255\224" "b/\350\247\243\347\255\224" deleted file mode 100644 index 3cb4276..0000000 --- "a/\350\247\243\347\255\224" +++ /dev/null @@ -1,143 +0,0 @@ -项目功能介绍(web聊天室7) - 1. 注册, 用户打开APP, 首次打开进入登陆页面, 点击注册按钮,输入用户名, 密码, 确认密码,上传图片 - 点击注册按钮, 用户名密码校验, 校验合格后提示用户注册成功,返回登陆页面 - 2. 登陆: 用户打开APP 即进入登陆页面, 输入用户名密码确认身份, 验证成功即可登陆 - 3. 好友列表: 用户登陆成功, 显示好友列表, 首行提示用户在线人数, - 展示功能: a. 在线人员头像和昵称用彩色展示 - b. 非在线人员头像和昵称灰色, 且颜色淡 - 好友私聊: - 动作: 点击好友展示行任意位置, 进入一对聊天窗口, 可以进行私聊, 按住底部麦克风图标不松手 - 开始录音, 用户需要说的的话结束后松开按钮,立即发送语音给对方, 点击麦克风右边的加号 - 选择相册, 选择图片,选中图片点击右上角确认按钮即可可以发送图片给好友 - 4. 群聊: 现阶段群聊功能, 实现所有使用本APP的用户可以发起和接受群聊 - 进入群聊, 点击底部菜单栏群聊,可以直接进入群聊窗口,聊天方式同上 好友私聊 - - 5. 消息收取, 用户打开APP ,点击好友头像, 进入聊天窗口即可查看聊天记录 - 群聊: 点击底部群聊按钮进入聊天窗口, 即可查看群聊历史记录 - - -智能玩具 -1. 智能玩具项目背景: - 社会上都在异地打工的人很多, 老板意识到孩子和异地打工的家长缺乏沟通, 关系维护,教育成了问题 - 需求: 生产智能玩具代替家长陪伴孩子, 并且成为他们之间的沟通媒介 -2. 项目应用技术以及技术实现功能 - 开发框架: APP ->MUI - 通信->websocket - 后端内容->flask框架 - 数据存储: 语音文件: 文件服务器, flask服务端接收存储 - 消息记录: mongodb, 存取速度快, json格式敏感 - APP消息处理: redis - - 1. 采集数据: (requests+mongodb操作) - requests模块获取网页上部分内容作为内容调试(歌曲)(get/post, headers, url, ) - 文件名生成: uuid4 - 文件记录: {id, title, music(filename),cover, category } mongodb存储, db.content.insert_mant([item, ...]) - - 2. 数据展示: (mdo, mh, mbo, mg, ml, dga, dc, plus, mui.post,websocket建立链接, 自动登陆, window.localStorage.getItem("user_id)) - APP, mui为框架: 首页, 轮播图(主推业务), 九宫格(内容分类), 图文列表(热门歌曲推送) - APP 播放: audio_obj = plus.audio.createPlayer(path) - audio_obj.play - 歌曲播放页面: cover, 操作按钮, 暂停,继续, - - 3. 模拟玩具: (websocket+buton+ audioplay+ js+Recorder.js+h5) - web页面: 按钮模拟玩具按钮: button - 录音模拟玩具录音: 三分js插件: jquery.js, Recorder.js audioContext() navigtor获取录音硬件驱动 - audiopayer模拟音乐播放器: 前端播放元素 - websoket通信: WebSocket : 收发消息 - - 4. 玩具播放歌曲: (websocket收发消息--音乐名称) - APP推送: app播放页面增加发送按钮, 将音乐文件通过后台websocket服务器推给玩具 - ws.send({music: XXX.mp3}) - - 5. APP 与玩具建立关系 - APP用户识别:(h5+mui.post+mongdb操作) - 注册/登陆 {用户名, 密码. phone, avatar, gender, nickname, } 存储:mongodb - - APP绑定自己家孩子的玩具:(uuid, time, mongodb+ mui.post, LT二维码生成, plus.barcode.Barcode) - 玩具唯一标识, "uuid4+time.time+uuid4" - 生成二维码----LT_API,(request) , db-->{id, device_key,} - 绑定入口- 用户个人中心: user_info 个人头像, 管理玩具 - 管理玩具页面: 扫描+ 玩具列表 - 扫描--scanqr- 扫描调用plus.barcode.Barcode("前端元素id") scan.onmarked扫描成功调用函数 - 玩具绑定: {玩具名, 主人名, 主人对用户的称呼, 绑定用户-当前扫描的用户,头像 } - 校验device_key有效性, 是否已经绑定,是否合法, 乙方提供并授权的 - - 用户和孩子建立好友:(数据格式建立, 好友逻辑, mongodb存储) - 用户扫描玩具二维码,即绑定用户, 建立好友关系, 玩具(自己孩子的)-app(自己的app)互为好友 - flask后端接受玩具绑定请求: - 创建玩具: {id, avatar, toy_name, baby_name, bind_user, friend_list, } - 用户创建字段friend_list - 创建双方的聊天窗口 friend_chat, 记录一对一的聊天记录 - 双方记录好友{friend_id, friend_nick, friend_remark, friend_avatar, friend_chat, friend_type(app or toy)} - - 用户和玩具通信:(websocket+文件上传+ mongodb记录聊天记录) - app录音上传: 存储为.mp3格式,网页调试播放限制, 上传生成录音文件, 获取用户在对方好友的昵称, 合成消息提示语音,返回app: {消息提示:filename} - websocket-->传递消息给toy- 您有来自xxx的消息 - toy(web模拟), 点击收取消息, 请求后台消息列表, 播放app录音 - toy回复消息给app: - 录音上传--生成文件--获取文件名--websocket传递给app: app显示好友消息 - page_好友消息列表, 点击好友--查看消息 - - 消息收取, 查看:(mongdb操作, 文件send_file, redis记录未读消息(app), mui.fire), - document.addEventListener(),语音合成) - app: 好友+消息列表: app发送post请求到好友信息, 动态创建好友列表,消息数量 - 聊天窗口: 用户点击好友进入聊天窗口, post请求聊天记录, 点击聊天记录获取并播放语音消息 - 主页消息按钮角标总的消息数量, websocket来来消息,角标数量自动增加, 打开页面,psot向服务器请求未读消息 - 点击聊天窗口, 对应好友消息数量自动清零, 总数量通过事件传递减去, - redis消息在用户获取之后清除归零,未读消息数清除 - - toy: 点击消息收取, 即时通讯时, 记录from_user, 收取当前用户的消息 - 若时离线消息, 点击消息收取, 后端循环消息列表, 将有未读消息的列表返回给toy, - 合成语音提示,谁的消息, 开始播放, 一次点击收取一个好友的未读消息,无消息恢复,没有新的消息, 未读消息归零 - - 玩具主动发起聊天:(baid_ai语音识别,合成, pypinyin, mongdb操作查询好友) - baby语音个AI, AI识别语音,通过关键字: 发消息,给,消息... 识别用户行为 - 查询数据库获取玩具的好友列表, 识别好友是否在, 如果在,返回好友信息,提示可以发送消息了 - 相似度识别同音字 pypinyin(lazy_piny, TONE2,将好友昵称获取名转成拼音, 消息转换拼音做做同音字匹配), - pypin本地加载,识别率高,快  -   - toy语音点歌: (录音上传, bai_ai语音识别, 合成, gensim用本地数据做训练, (jieba分词)相似度匹配) - baby录音,传递给AI, AI通过关键字匹配听歌,来一首,播放等来搜索后台提供内容 - 相似度匹配,gensim, 本地加载,效率高, 识别率高,训练内容指定自有数据 - 匹配到本地歌曲, 返回歌曲文件名, 用户端自动播放 - - toy智能机器人聊天: 接入机器人, 百科问答, 英文学习, - - - toy管理: (qr扫描, post数据提交, ) - 查看toy信息, 身份识别二维码, 通讯录 - 用户可以通过扫描二维码添加好友--app+toy or toy+toy, 不允许app+app - - 好友关系建立: - 发起请求, 后端接受, app接受请求选择接受or拒绝(家长监管) - page扫描二维码按钮 - page-好友请求方填写信息 --[req_user, add_user, type(请求方), remark(给add_user)} - 后端接受并记录请求任务: {req_user, add_user, type(请求方), remark(给add_user), - req_user_nick, req_user_abatar, status} - page-查看好友请求列表 - page-点击请求记录- 操作(接受, 拒绝) - 后端接受操作- 拒绝--请求状态status--2 - 接受--status-1: 建立好友关系,双方列表添加对方为好友, 创建聊天窗口 - - - - 其他: - 扫描选项: - 查询device_key: 非授权-拒绝 - 授权-未绑定-->status_code: 1玩具绑定--(绑定方toy拒绝, app合法) - 设备已经绑定(合法)-->加好友(status_code_2) --扫描入口决定(请求好友身份) - -通讯录--app(请求好友身份) - -3. 产品功能简述 - 1. 用户登陆注册, 进行身份的唯一性确认 - 2. 扫描玩具二维码功能, 实现添加好友和玩具绑定中获取玩具device_key - 3. 遥控玩具: 点击儿歌, 进入播放页面, 点击发送给玩具给自己绑定的玩具, 玩具开机即可立即自动播放 - 4. 首页: 轮播图,展示热点内容, 九宫格展示内容分类, 歌曲列表, 随便展示儿歌 - 5. 用户个人中心: 管理用户拥有的玩具 - 用户个人中心 显示的扫描按钮,点击进入玩具扫描, 扫描设备二维码 进行玩具绑定, 输入必要 - 的玩具信息提交,信息提交后玩具即可与绑定用户成为好友,自动显示在好友列表 - 6. 点击个人中心玩具详细, 点击玩具通讯录的添加好友可以扫描其他玩具的二维码, 给玩具添加好友 - 点击好友列表的加号(+) 扫描玩具,可以添加玩具为APP用户的好友 - 7. 好友请求: 处理添加好友请求, 可以拒绝或者同意对方和玩具成为好友 - 8. APP和玩具聊天, 玩具和玩具语音聊天 - 9. 播放儿歌 点击首页歌曲可以进行歌曲播放