1. Construa um servidor HTTP localmente
1. Use Node.js para construir um servidor HTTP localmente
1) Baixe e instale o Node.js.
Site: https://nodejs.org/en
O lado direito é a versão de manutenção de longo prazo e o lado esquerdo é a versão de adoção inicial.Recomenda-se baixar a versão de manutenção de longo prazo.
2) Após a conclusão da instalação, crie uma pasta localmente. O nome da pasta é arbitrário. O nome da minha pasta é nodeMysqlDemo.
3) Abra a linha de comando
Procure a palavra-chave node e abra o prompt de comando node.js como administrador.
4) Entre na unidade D e entre na pasta que acabou de criar
5) Digite os seguintes comandos por sua vez
[1] Inicialize o projeto e o arquivo de configuração package.json será criado automaticamente.
npm init -y
[2] Instale a estrutura Express para criar servidores HTTP rapidamente
npm install express --save
[3] Instale a modificação do arquivo de monitoramento nodemon
npm install nodemon -g
[4] Instale o pacote mysql
npm install mysql --save
Após a operação ser bem-sucedida, esses arquivos estarão na pasta.
6) Crie o arquivo server.js neste diretório
Se você não sabe como criá-lo, você pode criar primeiro o arquivo de texto server.txt e depois alterar o sufixo para js.
6) Abra o arquivo server.js, escreva o seguinte código do lado do servidor e salve-o
const express=require('express')
const bodyParser =require('body-parser')
const app=express()
const mysql = require('mysql')
app.use(bodyParser.json())
//处理post请求
app.post('/',(req,res) => {
console.log(req.body)
res.json(req.body)
})
app.post('/show',(req,res)=>{
console.log(req.body.name)
const a=req.body.name
var connection=mysql.createConnection({
host:'localhost',
user:'数据库用户名',
password:'数据库密码',
database:'数据库名称'
})
connection.connect();
connection.query("select * from tb_tags where f_tagID='"+a+"'",function(error,results,fields){
if(error) throw console.error;
res.json(results)
console.log(results)
})
connection.end();
})
app.get('/',(req,res)=>{
var connection = mysql.createConnection({
host:'localhost',
user:'数据库用户名',
password:'数据库密码',
database:'数据库名称'
});
connection.connect();
//查找所有的人物名字返回给客户端。其实没必要(测试用的)
connection.query('select * from tb_tags',function(error,results,fields){
if(error) throw error;
res.json(results)
// console.log(results)
})
connection.end();
})
app.listen(3000,()=>{
console.log('server running at http://127.0.0.1:3000')
})
7) Finalmente execute o arquivo na linha de comando para iniciar o servidor
2. O miniaplicativo WeChat obtém conteúdo do banco de dados local
1) Parte do código para obtenção de dados do miniprograma
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
var that = this
wx.request({
url: 'http://127.0.0.1:3000/',
success: function (res) {
console.log(res.data)
// that.setData({ names: res.data })
}
})
},
2) Desative as configurações de verificação de nome de domínio
Para projetos lançados oficialmente, o miniprograma exige que o nome de domínio do servidor seja adicionado ao plano de fundo de gerenciamento do miniprograma. O nome de domínio deve ser registrado no ICP e suportar os protocolos HTTPS e WSS. Para os desenvolvedores, para facilitar o aprendizado, eles podem adicione-o nas ferramentas de desenvolvedor do WeChat. Desative essas verificações para usar um servidor local para testar a funcionalidade da rede. Clique no botão de detalhes na barra de ferramentas, encontre a opção "Não verificar nome de domínio legal, visualização na web (nome de domínio comercial), versão TLS e certificado HTTPS" e marque-a. --------Do livro "Prática de Desenvolvimento de Mini Programa WeChat".
3) Execute o programa e obtenha com sucesso os dados do banco de dados local
Erros comuns:
O banco de dados não está conectado, solicitando Erro: ER_NOT_SUPPORTED_AUTH_MODE: O cliente não suporta protocolo de autenticação
Solução: https://blog.csdn.net/qq_34235767/article/details/127617282