3.1【微信小程序全栈开发课程】在本地搭建后端开发环境

article/2025/10/24 2:50:29

第二章将前端页面的框架基本搭建好了,第三章,我们来做登录功能,登录功能需要在后端获取到用户信息,返回到前端。所以先来搭建后端开发环境

1、后端开发环境介绍

我们的项目用的是前后端分离开发

前端可以理解为微信端,对应的是src文件夹,小程序页面的显示都是在前端操作

后端就是需要配置在云服务器上的代码,对应的是server文件夹,数据库读写数据、获得接口数据都是在后端操作

我们开发项目过程中,如果server文件夹在云服务器上,每次修改后端代码后,也就是server文件夹中的代码,都要在微信开发者工具中点击上传

将项目上传到开发环境后1分钟左右才能看到效果,这样不符合咱们的诉求,太麻烦了

所以我们将后端开发环境搭建在本地,换一句话说,暂时将本地电脑当成服务器,这样修改后端代码就能实时看到效果了。

2、下载sever文件夹

点击下面链接下载代码,将解压出的server文件夹粘贴到项目中

点击链接下载代码:
https://pan.baidu.com/s/1lwPPLXF1ZWIkVErFLLnTaQ

粘贴完成后,项目文件夹目录如下:

3、修改server/config.js文件

打开server/config.js文件,将下面代码粘贴到第二行,也就是const CONF = {port: '5757',之间

serverHost: 'localhost',
tunnelServerUrl: '',
tunnelSignatureKey: '27fb7d1c161b7ca52d73cce0f1d833f9f5b5ec89',// 腾讯云相关配置可以查看云 API 秘钥控制台:https://console.cloud.tencent.com/capi
qcloudAppId: '您的腾讯云 AppID',
qcloudSecretId: '您的腾讯云 SecretId',
qcloudSecretKey: '您的腾讯云 SecretKey',
wxMessageToken: 'weixinmsgtoken',networkTimeout: 30000,

粘贴后的效果如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oFx1iHQ6-1571125193611)(https://upload-images.jianshu.io/upload_images/6808783-1bca3b79539ccb66.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

我们需要将qcloudAppId、qcloudSecretId、qcloudSecretKey换成自己的腾讯云数据

首先登录自己的腾讯云,点击下面链接:
https://console.cloud.tencent.com/capi

就会出现下面图片中的信息,其中AppID就是qcloudAppId、SecretId就是qcloudSecretId、SecretKey就是qcloudSecretKey

4、安装mysql数据库

如果已经安装了mysql数据库,可以跳过这一步直接跳到第五步登录数据库

(1)linux系统安装数据库方法:这是安装过程需要设置mysql密码,该密码一定要记住,之后登录数据库会用到
~$ sudo apt-get install mysql-server mysql-client libmysqlclient-dev
(2)windows系统安装数据库方法

https://jingyan.baidu.com/article/5d6edee2b90d3b99eadeec05.html

(3)Mac系统安装数据库方法,一般mac系统都自带数据库,如果没有的话,可以根据下面链接中的步骤安装一个

https://www.jianshu.com/p/07c80a66336d

5、登录数据库

输入mysql -uroot -p进入mysql

~/WeChatProjects/true_hold/server$ mysql -uroot -p
Enter password:

输入create database cAuth;创建一个名为cAuth的database数据库,注意名字必须是cAuth,注意大小写

mysql> create database cAuth;
Query OK, 1 row affected (0.00 sec)

6、修改server/config.js文件

将mysql相关配置修改成本地mysql的配置,就是下面这部分代码,主要就是将密码pass修改成本地mysql的密码,如果没有密码写pass: ‘’就可以了

mysql: {host: 'localhost',port: 3306,user: 'root',db: 'cAuth',pass: '123456',char: 'utf8mb4'
},

7、初始化环境

配置好 config.js 之后,就要开始初始化环境,初始化环境分为两步:

(1)安装依赖
# 切换到服务端代码目录
~/WeChatProjects/true_hold$ cd server/# 安装依赖
~/WeChatProjects/true_hold$ npm install# 安装全局依赖
~/WeChatProjects/true_hold$ sudo npm install -g nodemon
(2)初始化数据库:
~/WeChatProjects/true_hold/server$ node tools/initdb.js
======================================
开始初始化数据库...
准备读取 SQL 文件:/Users/xuzhaoning/WeChatProjects/true_hold/server/tools/cAuth.sql
开始执行 SQL 文件...
数据库初始化成功!

可能出现的错误:

Unhandled rejection Error: Error: ER_NOT_SUPPORTED_AUTH_MODE: Client does not support authentication protocol requested by server; consider upgrading MySQL client

起因:mysql8.0加密方式的原因报错

解决方法如下:

mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changedmysql> alter user 'root'@'localhost' identified with mysql_native_password by '123456';
Query OK, 0 rows affected (0.17 sec)mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
(3)查看数据库当前的表格,可以看到初始化生成了一个cSessionInfo表

这个表是存储用户信息的地方

mysql> use cAuth;
Database changedmysql> show tables;
+-----------------+
| Tables_in_cauth |
+-----------------+
| cSessionInfo    |
+-----------------+
1 rows in set (0.00 sec)

8、启动后端环境

在server文件夹下输入npm run dev启动坏境,就是启动后端环境,这样本地开发环境就搭建好了

~/WeChatProjects/true_hold/server$ npm run dev
//系统返回信息
> koa-weapp-demo@1.0.0 dev /Users/xuzhaoning/WeChatProjects/true_hold/server
> nodemon --config nodemon.json app.js
[nodemon] 1.19.1
[nodemon] reading config ./nodemon.json
[nodemon] to restart at any time, enter `rs`
[nodemon] or send SIGHUP to 72461 to restart
[nodemon] ignoring: .git node_modules/**/node_modules
[nodemon] watching: *.*
[nodemon] watching extensions: js,json
[nodemon] starting `node --harmony app.js`
[nodemon] spawning
[nodemon] child pid: 72464
[nodemon] watching 19 fileskoa:application use - +0mskoa:application use bodyParser +8msqcloud-sdk[init] using config: { set: [Function], serverHost: 'localhost', tunnelServerUrl: '', tunnelSignatureKey: '27fb7d1c161b7ca52d73cce0f1d833f9f5b5ec89', qcloudAppId: '1256820481', qcloudSecretId: 'AKIDjDTn9g48Em9Rg9y5z2hFb3IT2PaZAsYz', qcloudSecretKey: '7Rav62Og9wcmcBwUEmwKn47wXbc0OYAa', wxMessageToken: 'abcdefgh', networkTimeout: 30000, port: '5757', rootPathname: '', appId: '', appSecret: '', useQcloudLogin: true, mysql: { host: 'localhost', port: 3306, user: 'root', db: 'cAuth', pass: '123456', char: 'utf8mb4' }, cos: { region: 'ap-guangzhou', fileBucket: 'qcloudtest', uploadFolder: '' }, wxLoginExpires: 7200 } +0mskoa-router defined route HEAD,GET /weapp/login +0mskoa-router defined route HEAD,GET /weapp/user +2mskoa-router defined route POST /weapp/upload +0mskoa-router defined route HEAD,GET /weapp/tunnel +0mskoa-router defined route POST /weapp/tunnel +0mskoa-router defined route HEAD,GET /weapp/message +0mskoa-router defined route POST /weapp/message +0mskoa:application use dispatch +2skoa:application listen +0mskoa-weapp-demo listening on port 5757 +0ms

9、测试效果

后端环境启动成功后,会开启5757端口,在本地电脑浏览器中输入http://localhost:5757,会返回下面的信息

作者:猫宁一
95后全栈程序媛₍ᐢ •⌄• ᐢ₎一枚~ 热爱学习!热爱编程!
可关注【猫宁一】公众号领取我所有全栈项目代码哦~

点击查看课程目录:微信小程序全栈开发课程目录


http://chatgpt.dhexx.cn/article/yN3KR0u0.shtml

相关文章

微信小程序如何搭建自己的后台(超详细,超完整)(上线必备)!!!

首先,今天是个特殊的日子,请让我先说上一句:幸运女神在微笑 思路 ①:首先我们需要拥有自己的 AppID (有点废话了)。 ②:我们需要有一个后台,即服务器。域名(需备案&am…

人工智能(搜索策略)

有信息搜索(Informed Search): 1. 又称为启发式搜索(Heuristic Search) 2. 搜索过程中利用与问题有关的经验信息 3. 引入估计函数(evaluation function)来估计节点位于解路径上的“希望”,函数值越小“希望”越大 4. 搜索过程中按照估价函数的大小对…

人工智能-搜索----启发式搜索

搜索算法的形式化描述&#xff1a; <状态state、动作motion、状态转移state transition、路径path、测试目标test target> 一、启发式搜索(有信息搜索)&#xff08;Heuristic Search&#xff09; 代表算法&#xff1a;贪婪最佳优先搜索&#xff08;Greedy best-first…

NeevaAI人工智能搜索引擎来了

***ChatGPT 无法为您提供实时数据或事实验证&#xff0c;而NeevaAI可以** 概述 无跟踪。没有偏见。搜索不受企业影响-这是Neeva的标语。Neeva是一款订阅制搜索引擎&#xff0c;是一款很小众的的搜索引擎&#xff0c;由前Google高管Sridhar Ramaswamy创立。Neeva的目标是为用户…

人工智能之搜索方法

人工智能之搜索方法 人工智能课程复习笔记专题 人工智能绪论 人工智能之知识表示 人工智能之搜索方法 人工智能之经典逻辑推理 人工智能之专家系统 人工智能之不确定推理方法 人工智能之机器学习 一、搜索的基本概念 1、搜索的含义 根据问题实际情况&#xff0c;不…

智能搜索引擎 | 驱动电商业务增长实践

开放搜索是阿里集团搜索业务中台&#xff0c;基于大数据深度学习在线服务体系打造的智能搜索云服务产品。拥有核心引擎、召回排序、搜索引导、充分开放等核心能力&#xff0c;可应用在电商行业、教育行业、内容行业等场景。目前帮助数千家客户搭建自己的搜索业务。 实践案例&a…

搜索。。。

1、mysql的like具有局限性 # 体现在功能不全&#xff0c;性能低。不适用于全文搜索&#xff08;日志或简历中搜索字段&#xff09;、没有相关性搜索排名等等 select name from goods WHERE name LIKE "%苹果%"2、试试elasticsearch 搜索 1、解决mysql like 的短板 …

人工智能——图搜索

一&#xff0e;数据驱动和目标驱动搜索 以下情况建议使用目标驱动搜索&#xff1a; &#xff08;1&#xff09;目标或假设是在问题陈述中给出的。例如定理的证明&#xff0c;目标就是定理。 &#xff08;2&#xff09;与问题数据匹配的规则非常多&#xff0c;会产生大量分支…

人工智能搜索策略:A*算法

人工智能搜索策略&#xff1a;A*算法 目录 人工智能搜索策略&#xff1a;A*算法A算法1.全局择优搜索2.局部择优搜索 A*算法1. A*算法的可纳性2. A*算法的最优性3. h(n)的单调限制A* 算法应用举例对A*算法的一点思考熟练掌握A*算法的性质A*算法的性质A*算法的最优性h(n)的单调限…

智能搜索框

html部分 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, i…

Artificial Intelligence 人工智能 AI search AI 搜索

文章目录 前言一、Uninformed Search (无信息搜索&#xff09;二、Data structure for search tree三、Breadth-first search (广度优先搜索)1. Pseudocode for a BFS 四、Depth-first search (深度优先搜索)1. Pseudocode for a DFS 五、Measuring performance六、BFS和DFS时间…

搜索技术——群智能

如果有兴趣了解更多相关内容&#xff0c;欢迎来我的个人网站看看&#xff1a;瞳孔空间 一&#xff1a;初识群智能 1.1&#xff1a;粒子群算法 粒子群算法&#xff0c;也称粒子群优化算法或鸟群觅食算法&#xff08;Particle Swarm Optimization&#xff09;&#xff0c;缩写…

人工智能之搜索算法

通过搜索来解决问题 文章目录 通过搜索来解决问题1. 什么是算法?2. 什么是搜索?3. 搜索算法3.1 如何做路径规划?3.2 搜索过程3.3 通用搜索算法3.4 盲目的搜索算法3.4.1 深度优先遍历(Deep First Search)3.4.2 广度优先遍历(BFS)3.4.3 Dijkstra 算法3.5 启发式搜索算法(有信息…

人工智能:搜索策略

一、无信息的搜索策略 1.宽度优先搜索 2.一致代价搜索 当每一步的行动代价都相等时宽度优先搜索是最优的,因为它总是先扩展深度最浅的未扩展结点。 一致代价搜索( uniform-cost search)扩展的是路径消耗(gn)最小的结点n。这可以通过将边缘结点集组织成按g值排序的队列来实现…

人工智能中的搜索

最近在mooc学习人工智能&#xff1a;模型于算法&#xff0c;下面记录课上的例子和学到的东西。 首先&#xff0c;人工智能搜索是从海量的信息源中通过约束条件和额外信息运用算法找到问题所对应的答案。 正所谓&#xff0c;你见&#xff0c;或者不见我&#xff0c;我就在那里不…

人工智能——搜索技术

转载&#xff1a;https://blog.csdn.net/Sun7_She/article/details/40344329 AI-3的80~84不懂 A*算法不懂 引言&#xff1a; 什么是搜索&#xff1a; 根据问题的实际情况不断寻找可利用的知识&#xff0c;构造出一条代价较少的推理路线&#xff0c;使问题得到圆满的解决的过程称…

新一代智能搜索引擎,让搜索一击即中

什么是搜索&#xff1f; 搜索引擎的英文为search engine。 搜索引擎是一个对互联网信息资源进行搜索整理和分类&#xff0c;并储存在专属网络数据库中供用户查询的系统&#xff0c;包括信息搜集、信息分类、用户查询三部分。 从使用者的角度看&#xff0c;搜索引擎提供一个包含…

浅谈人工智能搜索技术论文

摘要&#xff1a;本文简单阐述了人工智能中的智能搜索技术的概念以及启发式搜索算法&#xff0c;介绍了几种启发式搜索函数的选择及其研究中遇到的难题&#xff0c;并从中求解来探讨解决问题的思路。 关键词&#xff1a;智能搜索&#xff1b;状态空间&#xff1b;与/或树&…

Python搭建代理IP池(三)- 检测 IP

在获取 IP 时&#xff0c;已经成功将各个网站的代理 IP 获取下来了&#xff0c;然后就需要一个检测模块来对所有的代理进行一轮轮的检测&#xff0c;检测可用就设置为满分&#xff0c;不可用分数就减 1&#xff0c;这样就可以实时改变每个代理的可用情况&#xff0c;在获取有效…

ProxyPool 爬虫代理IP池(分享)

GitHub - jhao104/proxy_pool: Python爬虫代理IP池(proxy pool)https://github.com/jhao104/proxy_pool/ProxyPool 爬虫代理IP池项目,主要功能为定时采集网上发布的免费代理验证入库&#xff0c;定时验证入库的代理保证代理的可用性&#xff0c;提供API和CLI两种使用方式。同时…