河师大拼团项目总结2.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)