(github附源码)毕设微信小程序二手书交易后台PHP微擎

毕业论文答辩结束啦,分享下做微信小程序的经验,完成这次毕设途中真是很多心酸,走了很多弯路,由于初次做微信小程序,初次接触js这种语法,也没用过PHP开发过后台,前期只是认为微信小程序就是一个前端兼后台的,直接可以操作数据库,到后面发现其实并不是如此,微信小程序前端只是一个界面展示和一些逻辑层的设计,最后还是需要开发后台把前端的传来的数据请求进行处理,后台产生响应,做一些类似对数据库的操作。前期刚开始后台使用基于Javaspring boot和my Batis框架开发的,后面由于Java这些框架没学过,后台开发的经验基本没有,遇到很多问题,由于时间的问题只能放弃Java后台,改成快速开发的PHP做后台,选用了很多框架,前期试了thinkPHP、yii可能熟悉起来还是需要一些时间,后面找到了比较快速的微擎框架,只需要自己写后台管理的模块就行,它会自动添加到后台的系统里去。前期在微信前端和后台请求数据上一直研究了很长时间,微信限制了域名,必须是加了HTTPS证书的域名才是合法域名,从刚开始的用nodejs搭建一个webserve,然后进行nginx反向代理才可以进行请求,为了省去麻烦就去阿里云买了一个服务器,从域名解析到环境配置整个过程也是很多问题,后续掉的一些接口也出现了很多问题,调腾讯的定位接口,一直没有成功,搞了好久,最后在发现调的接口没有加到微信请求服务器合法域名里面。为了实现我的扫码识别,特别去调用了豆瓣的接口,由于豆瓣把那个接口给堵住了,一直出现被禁止,最后找了很多方法有试过代理服务器,改过json包传输的格式,最后才解决这个问题。

大概讲下流程吧

1.前期准备

购买阿里云服务器CenOS7.3 64位1核CPU2G内存1M带宽40G系统盘,购买域名完成备案。

2.安装Linux宝塔面板

首次进入购买的阿里云服务器后台重置密码,进入后台安全组添加8888端口,下载putty通过你云服务器的公网IP地址账号密码ssh远程连接你的阿里云服务器,输入Linux下宝塔面板安装命令:yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh

3.域名解析

在阿里云找到域名选项,将刚添加的域名解析到所购买服务器的外网IP上。

4.环境配置

通过生成的宝塔账号密码登录宝塔面板,安装好mysql5.6.43,PHP-5.6,Nginx 1.15.8,phpMyAdmin 4.7,在面板的首页添加站点依次输入域名、数据库账号和密码。

5.微擎框架的安装

我的博客其他文章有写,就不赘述了,对于微擎对接微信小程序二次开发建议可以去看看b站上面有这个视频讲的挺好的。

以上一套流程走完之后呢,差不多开发环境配置好了,就可以开发了。

 

6. 产品架构

(github附源码)毕设微信小程序二手书交易后台PHP微擎_第1张图片

7.微信小程序功能

(github附源码)毕设微信小程序二手书交易后台PHP微擎_第2张图片

8.核心界面

 

(github附源码)毕设微信小程序二手书交易后台PHP微擎_第3张图片(github附源码)毕设微信小程序二手书交易后台PHP微擎_第4张图片(github附源码)毕设微信小程序二手书交易后台PHP微擎_第5张图片(github附源码)毕设微信小程序二手书交易后台PHP微擎_第6张图片(github附源码)毕设微信小程序二手书交易后台PHP微擎_第7张图片

 

9.前端微信小程序源码目录结构

(github附源码)毕设微信小程序二手书交易后台PHP微擎_第8张图片

10.后台PHP微擎源码目录结构

(github附源码)毕设微信小程序二手书交易后台PHP微擎_第9张图片

11.微信小程序和后台微擎框架之间通信原理与实现

小程序接口文件位于模块根目录名称为wxapp.php,小程序的接口action定义好后可以直接通过以下URL请求:

http://pro.we7.cc/app/index.php?i=281&c=entry&a=wxapp&do=index&m=we7_testhook&sign=f04b5e2487d0fc9f6139f05bcf8b824c为了保证接口通信安全,如果在wxapp接口类中定义了 token 则在请求时会进行验证签名。签名算法将链接地址的所有参数按字母排序后拼接上 siteinfo.token 的值然后md5。先将querystring中的值取出,然后字母升序排序后连接得到的结果然后再拼接上siteinfo.token得到一个值,然后进行MD5得到签名,带入GET参数。

配置方法:直接打开微信小程序新建一个配置接口文件siteinfo.Js,然后修改uniacid和acid的参数,改成后台登录时候地址栏中URL所传的uniacid值。

module.exports = {
    name: "fjnuusedbook",
  uniacid: "2",                   //小程序的uniacid
    acid: "2",
    multiid: "0",
    version: "1.0.1",
  siteroot: "https://www.example.com/app/index.php",  //站点URL
    design_method: "3"
};

源码已经上传到GitHub 帮忙点个小心心喔

注:电脑银盘坏了,后台php代码没有了,只剩前端小程序的代码,后台自己可选择熟悉的语言来写,减少对微擎框架的依赖和使用,毕竟微擎的框架需要买他的模块去开发后台,微擎框架好处就是后台开发比较简单其次是可以定制处相应的后台html的后台管理界面,这都比较复杂了用于企业级的开发。如果只是出于学习微信小程序,前端代码足矣,自己可以搭后台,处理前端的一些请求,把请求结果返回给前端就基本能实现一些简单的功能。

github: https://github.com/williamhjc/usedbook/tree/master

你可能感兴趣的:(微信小程序)