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

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


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

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

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

前期工作,请将要使用的前端项目源代码后端工具资源下载下来。
前端项目源代码目录如下:
在这里插入图片描述

后端工具资源目录如下图:
在这里插入图片描述


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

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

1.1 index页面

在这里插入图片描述

1.2 my页面

在这里插入图片描述


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

2.1 安装phpStudy工具连接数据库

下载本项目涉及到的phpStudy工具,执行.exe文件,按照下面操作一步一步完成。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在下面这一步,可能会遇到端口被占用浏览器Not Found等问题,如果遇到相关问题可以查看一下避免踩坑的解决方法
在这里插入图片描述
打开浏览器,输入localhost查看连接MySQL是否成功。
在这里插入图片描述
输入用户名root和密码root,点击MySQL检测
在这里插入图片描述
在这里插入图片描述

扫描二维码关注公众号,回复: 12722640 查看本文章

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

连接数据库
在这里插入图片描述
新建数据库
在这里插入图片描述
新建表,保存mynews
在这里插入图片描述
添加一条记录
在这里插入图片描述
新建一个用户
在这里插入图片描述
给news添加一个select权限
在这里插入图片描述
向表中导入事先准备好的新闻素材SQL数据库文件
在这里插入图片描述
在这里插入图片描述

2.3 配置phpStudy搭建本地服务器

在这里插入图片描述
自定义修改文件名
在这里插入图片描述
在浏览器输入127.0.0.1/mynews测试,出现下图则部署成功(注意自定义修改文件名要与浏览器中输入的内容一致)
在这里插入图片描述

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

在phpStudy文件目录中WWW下找到mynews/Application/Common/Conf/config.php
在这里插入图片描述
设置对应的数据库配置,保证成功连接数据库
在这里插入图片描述
再根据下图目录找到Controller中的IndexController.class.php,配置.php文件
在这里插入图片描述
按要求配置,即用php语言实现的程序代码
在这里插入图片描述
在浏览器中输入http://127.0.0.1/mynews/Index/getNewsList测试
在这里插入图片描述
在浏览器中输入http://127.0.0.1/mynews/Index/getNewsById/id/1001测试
在这里插入图片描述
至此,小程序后端的本地服务器已经搭建完成。

三、连接前后端

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请求数据

在这里插入图片描述
代码如下:

//获取新闻列表接口
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
}

猜你喜欢

转载自blog.csdn.net/weixin_44421798/article/details/113721736