小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)

之前学习微信小程序开发,主要是基于JS、WXML、WXSS的前端开发,对于后端技术不精的我也是使用了微信开发者工具中的云开发功能,但是今天突发奇想,特别想体验一下全栈式开发微信小程序,学习了一下基于WAMP的新闻网小程序开发。

文章目录

    • 一、前端(实现小程序界面)
        • 1.1 index页面
        • 1.2 my页面
    • 二、后端(搭建本地服务器)
        • 2.1 安装phpStudy工具连接数据库
        • 2.2 使用Navicat数据库工具连接数据库
        • 2.3 配置phpStudy搭建本地服务器
        • 2.4 进一步配置.php文件实现核心功能
    • 三、连接前后端
        • 3.1 找到utils/common.js文件
        • 3.2 修改common.js代码向服务器发送request请求数据


微信小程序全栈式开发之基于WAMP的新闻网小程序开发主体思路如下:

  • 前端:JavaScript、WXML、WXSS
  • 后端:WAMP(Windows + Apache + MySQL + PHP)

在前端新闻网界面前端开发完成后,不使用微信开发者工具中自带的云开发(云数据库)等功能,而是通过使用Apache和PHP脚本程序连接本机的MySQL数据库,将物理机搭建成一个本地服务器,体验一下微信小程序的全栈式开发。

前期工作,请将要使用的前端项目源代码和后端工具资源下载下来。
前端项目源代码目录如下:
小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第1张图片

后端工具资源目录如下图:
小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第2张图片


一、前端(实现小程序界面)

将小程序项目导入到微信开发者工具,项目结构比较简单,只涉及到了两个界面index和my。

1.1 index页面

小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第3张图片

1.2 my页面

小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第4张图片


二、后端(搭建本地服务器)

2.1 安装phpStudy工具连接数据库

下载本项目涉及到的phpStudy工具,执行.exe文件,按照下面操作一步一步完成。
小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第5张图片
小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第6张图片
小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第7张图片
小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第8张图片
在下面这一步,可能会遇到端口被占用浏览器Not Found等问题,如果遇到相关问题可以查看一下避免踩坑的解决方法。
小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第9张图片
打开浏览器,输入localhost查看连接MySQL是否成功。
小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第10张图片
输入用户名root和密码root,点击MySQL检测
小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第11张图片
小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第12张图片

2.2 使用Navicat数据库工具连接数据库

连接数据库
小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第13张图片
新建数据库
小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第14张图片
新建表,保存mynews
小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第15张图片
添加一条记录
小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第16张图片
新建一个用户
小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第17张图片
给news添加一个select权限
小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第18张图片
向表中导入事先准备好的新闻素材SQL数据库文件
小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第19张图片
小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第20张图片

2.3 配置phpStudy搭建本地服务器

小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第21张图片
自定义修改文件名
小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第22张图片
在浏览器输入127.0.0.1/mynews测试,出现下图则部署成功(注意自定义修改文件名要与浏览器中输入的内容一致)
小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第23张图片

2.4 进一步配置.php文件实现核心功能

在phpStudy文件目录中WWW下找到mynews/Application/Common/Conf/config.php
小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第24张图片
设置对应的数据库配置,保证成功连接数据库
小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第25张图片
再根据下图目录找到Controller中的IndexController.class.php,配置.php文件
小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第26张图片
按要求配置,即用php语言实现的程序代码
小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第27张图片
在浏览器中输入http://127.0.0.1/mynews/Index/getNewsList测试
小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第28张图片
在浏览器中输入http://127.0.0.1/mynews/Index/getNewsById/id/1001测试
小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第29张图片
至此,小程序后端的本地服务器已经搭建完成。

三、连接前后端

3.1 找到utils/common.js文件

不是使用小程序中的js程序访问数据,而是通过php文件中的select数据库语言访问数据,修改common.js文件中小程序原来的代码(下面是原来的代码

//获取新闻列表
function getNewList()
{
  let list = [];
  for( var i = 0; i < news.length; i++){
    let obj = {};
    obj.id = news[i].id;
    obj.poster = news[i].poster;
    obj.content = news[i].content;
    obj.add_date = news[i].add_date;
    obj.title = news[i].title;
    list.push(obj);
  }
  return list;
}


//获取新闻内容
function getNewsDetail(newsID)
{
  let message = {
    code:'404',
    news:{}
  };
  for( var i = 0; i < news.length; i++){
    if( newsID == news[i].id ){
      message.code = '200',
      message.news = news[i];
      break;
    }
  }
  return message;
}


module.exports = {
  getNewList:getNewList,
  getNewsDetail:getNewsDetail
}

3.2 修改common.js代码向服务器发送request请求数据

小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)_第30张图片
代码如下:

//获取新闻列表接口
var getNewList = 'http://127.0.0.1/mynews/Index/getNewsList'

//根据新闻ID获取新闻内容接口
var getNewById = 'http://127.0.0.1/mynews/Index/getNewsById'

//跳转新闻浏览页面
function goToDetail(id)
{
  wx.navigateTo({
    url: '../detail/detail?id=' + id,
  })
}

module.exports = {
  getNewList:getNewList,
  getNewById:getNewById,
  // getNewsDetail:this.getNewsDetail,
  goToDetail:goToDetail
}

你可能感兴趣的:(小程序,数据库,java,mysql,php,后端)