河师大拼团项目总结2.0

作者: 胡小毛 | 来源:发表于2021-10-24 11:00 被阅读0次

    微信小程序开发

    1、微信官方开发文档

    https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html

    2、应用列表

    https://dev.dcloud.net.cn/app/index?type=1

    3、小程序

    https://mp.weixin.qq.com/wxamp/user/manage?action=index&use_role=1&token=1507699215&lang=zh_CN

    bug

    1、在微信开发者工具里运行微信小程序出现[ app.json 文件内容错误] (app.json: app.json 未找到)

    解决方案:

    https://blog.csdn.net/fallsTheDust/article/details/119822421

    在project.config.json添加"miniprogramRoot": "./unpackage/dist/dev/mp-weixin"

    2、http://localhost:8000 不在以下 request 合法域名列表中

    https://www.cnblogs.com/tu-0718/p/9690021.html

    解决方案:

     小程序默认不会勾选最后一个不校验合法域名的选框,所以这里需要我们手动勾选不校验合法域名选框

      注:一般建议在开发环境下勾选不校验合法域名选项,但线上正式环境最好不勾选不校验合法域名选框

    3、点击统计页面显示服务器异常

    查看后端日志报空指针异常

    通过dbug  OrdersServiceImpl 定位到  ordersMapper层中的Sql语句查询出现问题

    拼团订单查出id为空的数据,导致空指针异常

    SELECTg.idid,g.titletitle,g.create_timecreate_time,g.price*Count(o.group_booking_id)

    asallMoney,Count(o.group_booking_id)countfromorders oLEFTjoingroup_booking gono.group_booking_id

    =g.idWHEREo.is_payment='1'GROUPBYo.group_booking_idLIMIT10;

    分析Sql语句为左连接,以orders(订单)表为主表

    以group_booking(拼团)表为副表

    当orders表中所有满足is_payment=1的订单都会在结果中查询出来。但是由于group_booking(拼团)表中id为15的拼团被删除了,所以导致查询的结果中出现了第一行id为null的空数据(应该是id为15的拼团,却被删除了),导致了空指针异常,以致于使小程序的最终统计界面出现了服务器异常问题。

    错误解决:

    一开始我将这个 left join 改为了 right join:

    这样就以group_booking(拼团表)为主表,orders(订单)为副表。

    这样确实是暂时解决了问题,只查询了id=17的拼团,但是经过仔细分析后,发现右连接却是治标不治本,为什么,现在开始分析:

    右连接是以拼团表为主表,订单表为副表,当订单表中有多个条件满足要求的时候,在最终的结果中只会显示一条数据。

    这个以orders订单为主表,拼团表为副表,进行左查询,拼团对订单表为一对多,如果右连接,当订单表中有多个满足条件,在结果中只能查出一个,所以采用左连接。

    正确解决:

    将group_booking_id :15  的订单删除

    成功查询出正常拼团数据

    小程序统计页面终于正常显示出数据

    4、Caused by: java.net.BindException: Address already in use: bind

    解决:

    1、cmd命令模式下输入netstat -ano,然后找到占用端口的那个进程 如下图..

    2、PID号为 31852 的进程占用着8000端口,打开任务管理器查看详细信息,查找PID号为 31852 进程,点击结束任务即可

    ( 也可以直接 使用命令 taskkill /pid 31852 /f )

    项目成功跑起

    git

    git stash 用法总结和注意点

    https://www.cnblogs.com/zndxall/archive/2018/09/04/9586088.html

    git教程(开发中使用)

    https://blog.csdn.net/D_ps19990501/article/details/119272740

    git status

    git stash list          :查看stash了哪些存储

    git stash save "名字" :执行存储时,添加备注,方便查找,只有git stash 也要可以的,但查找时不方便识别。

    git pull origin devHu  :(拉取远程仓库代码)

    git stash pop          :取出暂存区代码并删除暂存区  执行完这一步最好在本地再跑一下项目,看有没有问题

    命令恢复之前缓存的工作目录,将缓存堆栈中的对应stash删除,并将对应修改应用到当前的工作目录下,默认为第一个stash,即stash@{0},如果要应用并删除其他stash,命令:git stash pop stash@{$num} ,比如应用并删除第二个:git stash pop stash@{1}

    git add .

    git commit -m ""      :提交代码

    有时改动量大提交不上,并提示已是最新代码

    这时就执行git commit -am "备注信息

    git push:推送到远程仓库

    如果是第一次推送,推送同时要创建远程分支

    git push origin HEAD:[远程仓库开发分支名]推送到远程仓库

    git push upstream HEAD:[中央仓库开发分支名]推送到中央仓库

    稳妥起见之后也建议用git push origin [远程仓库开发分支]

    git push origin HEAD:devHu

    最终上传到我的代码分支

    请求与主代码合并

    部署

    1、docker安装及docker常用命令

    2、docker 构建git+maven+jdk8的centos7环境,实现轻量级的springboot项目的自动化部署

    3、docker安装nginx规范所有项目的反向代理(一个项目一个反向代理的conf配置文件)

    4、docker 构建centos7+git+nvm镜像,实现自主切换node版本统一部署前端vue项目

    5、基于Docker使用Nginx  https://blog.csdn.net/weixin_44932487/article/details/117193191?spm=1001.2014.3001.5501

    相关文章

      网友评论

        本文标题:河师大拼团项目总结2.0

        本文链接:https://www.haomeiwen.com/subject/dvsraltx.html