小白全栈日记:小程序前端+Thinkphp6后端开发全记录1
本文目标:
1.生成小程序项目骨架
2.搭建后端项目骨架
3.进行前后端通信测试
清晰的目录结构对业务逻辑的开发很有帮助,这一步虽然简单,但也需要认真对待
一、小程序骨架
这是小程序生成的默认项目结构
在保留原有结构的基础上,在根目录新建一个static文件夹,与pages和utils两个文件夹平级,在static文件夹下新建一个image文件夹,用于存放一些小程序需要用到的静态资源,就本项目而言,就是一些图片,比如tabBar需要用到的图标等。
接下来删除一些默认代码:
- 删除app.wxss中的所有代码
- 先删除app.json中"pages/logs/logs"这句以及上一句的逗号,然后删除pages文件夹下的logs文件夹。(index文件夹先留着,用于做一些小测试)
- 删除app.js中onLaunch函数
修改完成后的项目结构:
至此小程序项目骨架整理完毕,下面进行后端项目骨架的开发
二、后端项目骨架–ThinkPHP6.0
-
安装ThinkPHP6
如图所示,thinkphp从6.0开始无法从官网直接下载也不支持git,只能用composer安装,
但是使用composer时有的小伙伴会出现这样或那样的问题。
所以我保存着一整套thinkPHP6的文件,需要开发一个新项目时,直接复制一份,粘贴到项目根目录即可。 -
目录结构
用VScode打开项目后,结构如下:
没啥需要修改的,先这么用着 -
测试thinkPHP是否安装成功
在浏览器中输入http://127.0.0.1/zhiyi/api/public/index.php/index/index,如下图
!!注意!!
我的Apache服务器的网站根目录是一个叫APP的文件夹,后端项目位于APP/zhiyi/api下,所以我写请求地址时是写127.0.0.1/zhiyi/api你不能这么输入,需要改成自己的项目路径
格式就是http:127.0.0.1/你的项目路径/public/index.php/index/index
还有:public/后面是可以省略的
三、前后端通信测试
在小程序的index页新建一个button标签,在按钮上定义一个方法,用来向后端发送一次网络请求
现在app.js中定义baseUrl:
然后在index页引入app,拼接成完整的网络请求地址
app.globalData.baseUrl + 'index/test’指向的是后端index控制器下的test方法
在后端的controller文件夹下的Index.php中定义一个方法test(),用于响应小程序传过来的请求,并返回一句json格式的话“我是后端数据”
如果小程序能收到数据并打印到控制台,说明通信成功
通信成功
关于thinkphp的调试模式
现在我把小程序的网络请求路径从index/text改成index/test1,由于我并没有定义test1方法,所以此次请求肯定会报错,打开小程序的控制台,在Network中可看到报错信息如下:‘页面错误!请稍后再试~’。
这个报错信息对于开发者而言是很不友好的,看上去不详细,不知道具体错在哪。
解决这个问题很简单,打开后端项目中的config文件夹下的app.php,把最下面一行的’show_error_msg’ => false,改成true就行了
这样,thinkPHP的调试模式就打开了,再遇到报错,会显示详细的错误信息,方便我们定位差错。
修改后,再次发送请求,报错信息如下:
这次的错误提示就很清晰了。
小程序的网络请求不涉及跨域,是比较简单的。当然,跨域问题也很好解决,以后碰到了再说。
我默认大家会小程序和thinkPHP的基本使用,所以我不会讲button标签怎么用或者如何在class类中定义方法,这些太基础了
明天是数据库搭建、小程序用户登录和图片上传
想要thinkPHP6.0文件的,可以直接私信我