微信小程序快速搭建

article/2025/10/23 22:27:10
1
1. 申请账号

申请账号

1.  进入小程序注册页根据指引填写信息和提交相应的资料,完成账号申请。

说明: 如果跳转后页面出现错误,请刷新访问。

2.  使用申请的微信公众平台账号登录小程序后台,单击开发 > 开发设置,可以看到小程序的AppID,请记录AppID,后续操作中需要使用。

3.  在开发设置 > 服务器域名 > request合法域名中填入您的已备案域名。

2. 安装小程序开发环境并创建项目

安装小程序开发环境并创建项目

1.  安装Node.js开发环境,请到Node.js页面下载并安装Node.js环境。

2.  下载并安装微信小程序开发工具。详细信息请参见开发工具下载。

3.  打开小程序开发工具,然后使用微信扫码登录。

4.  单击加号创建微信小程序示例项目。

5.  参考以下填写项目信息,最后单击新建

  • 项目名称:例如ECSAssistant。
  • 目录:例如D:\workspace\wechat\ECSAssistant。
  • AppID:小程序的唯一标识,从小程序控制台获取,参见步骤一。
  • 开发模式:小程序。
  • 后端服务:不使用云服务。

3. 初识小程序项目结构

初识小程序项目结构

生成的的小程序示例项目结构如下。

ECSAssistant
├── app.js
├── app.json
├── app.wxss
├── pages
│   ├── index
│   │   ├── index.js
│   │   ├── index.json
│   │   ├── index.wxml
│   │   └── index.wxss
│   └── logs
│       ├── logs.js
│       ├── logs.json
│       ├── logs.wxml
│       └── logs.wxss
├── project.config.json
├── sitemap.json
└── utils└── util.js

可以看到小程序的项目结构中有三种前缀为app的文件,它们定义了小程序的一些全局配置。

  • app.json 是小程序的全局配置,用于配置小程序的页面列表、默认窗口标题、导航栏背景色等。更多请参见全局配置。
  • app.acss 定义了全局样式,作用于当前小程序的所有页面。
  • app.js 用于注册小程序应用,可配置小程序的生命周期,声明全局数据,调用丰富的 API。

小程序所有的页面文件都在pages/路径下,页面文件有四种文件类型,分别是.js.wxml.wcss、和.json后缀的文件。相比全局配置文件,页面配置文件只对当前页面生效。其中.wxml文件定义了当前页面的页面结构。小程序中的所有页面都需要在app.json文件中声明。更多请参见代码构成。

此外,项目顶层还有开发工具配置文件project.config.json和爬虫索引文件sitemap.json。

4. 开发小程序

开发小程序

1.  编辑app.json文件,将小程序页面Title修改为ECS小助手,修改后的app.json文件内容如下。

{"pages":["pages/index/index","pages/logs/logs"],"window":{"backgroundTextStyle":"light","navigationBarBackgroundColor": "#fff","navigationBarTitleText": "ECS小助手","navigationBarTextStyle":"black"},"style": "v2","sitemapLocation": "sitemap.json"
}

2.  编辑pages/index/index.wxml文件,定义index页面的页面结构,修改后的index.wxml文件内容如下。

<view class='container'><input placeholder='请输入你的ECS实例ID' class='search-input' value='{{ inputValue }}' bindblur='bindblur'></input><view class='resultView' hidden='{{ showView }}'><text class='result'>CPU数:{{queryResult.Cpu}} 核</text><text class='result'>内存大小:{{queryResult.Memory}} MB</text><text class='result'>操作系统:{{queryResult.OSName}}</text><text class='result'>实例规格:{{queryResult.InstanceType}}</text><text class='result'>公网IP地址:{{queryResult.IpAddress}}</text><text class='result'>网络带宽:{{queryResult.InternetMaxBandwidthOut}} MB/s</text><text class='result'>在线状态:{{queryResult.instanceStatus == 'Running' ? '运行中':'已关机'}}</text></view>
</view>

3.  编辑pages/index/index.wxss文件,定义index的页面样式,修改后的index.wxss文件内容如下。

.search-input {position: relative;margin-bottom: 50rpx;padding-left:80rpx;line-height: 70rpx;height: 80rpx;box-sizing: border-box;border: 2px solid #ff8f0e;border-radius: 100rpx;overflow: hidden;text-overflow: ellipsis;transition: border 0.2s;
}.resultView {margin-top: 70rpx;
}
.result {position: relative;left: 30rpx;display: list-item;font-size: small;
}

4.  编辑pages/index/index.js文件,定义搜索框的失去焦点事件,修改后的index.js文件内容如下。

Page({data: {queryResult: null,showView: 'false',},bindblur: function(e) {let that = this;wx.request({url: 'http://127.0.0.1:5000/ecs/getServerInfo',method: 'GET',data: {instanceId: e.detail.value},success(res) {if(res.statusCode == 200){that.setData({queryResult: res.data,showView: !that.data.showView,});}else{that.setData({showView: 'false',});wx.showToast({title: '请输入正确的实例ID',duration: 1500,icon: 'none',mask: true})}}})}
})

说明: 微信小程序提供了丰富的前端API和服务端API,您可以基于这些API来实现您的小程序功能,更多请参见小程序 API 使用说明。

5. 安装Python开发环境并创建项目

安装Python开发环境并创建项目

1.  下载安装Python开发包。

2.  打开本地命令行终端,使用pip安装以下依赖。

说明: 按下快捷键win+r,在运行窗口输入powershell后回车可打开命令行终端。

# 阿里云SDK核心库
pip install aliyun-python-sdk-core
# 阿里云ECS SDK
pip install aliyun-python-sdk-ecs
# 轻量级Web框架flask
pip install flask

3.  下载安装Python开发的集成环境Pycharm。

4.  打开PyCharm。

5.  单击Create New Project

6.  选择项目路径,然后单击Create完成项目创建。

6. 开发后端服务

开发后端服务

1.  右键单击PyCharm项目根目录,依次选择New > Python File

2.  输入Python File文件名,例如:GetServerInfo,然后选择Python File完成文件创建。

3.  在新建的Python文件中新增以下内容,并将代码中的accessKeyId、accessSecret修改为您自己的AK信息。

# -*- coding: utf-8 -*- from flask import Flask, jsonify, request from aliyunsdkcore.client import AcsClient import json from aliyunsdkecs.request.v20140526 import DescribeInstancesRequest, DescribeInstanceStatusRequest app = Flask(__name__) accessKeyId = 'LTAI4G4dnpbmKBCgug4*****' accessSecret = 'gBivN1nYujUGTBgM448Nt5xex*****' region = 'cn-shenzhen' client = AcsClient(accessKeyId, accessSecret, region) # 在app.route装饰器中声明响应的URL和请求方法 @app.route('/ecs/getServerInfo', methods=['GET']) def getServerInfo(): # GET方式获取请求参数 instanceId = request.args.get("instanceId") if instanceId is None: return "Invalid Parameter" # 查询实例信息 describeInstancesRequest = DescribeInstancesRequest.DescribeInstancesRequest() describeInstancesRequest.set_InstanceIds([instanceId]) describeInstancesResponse = client.do_action_with_exception(describeInstancesRequest) # 返回数据为bytes类型,需要将bytes类型转换为str然后反序列化为json对象 describeInstancesResponse = json.loads(str(describeInstancesResponse, 'utf-8')) instanceInfo = describeInstancesResponse['Instances']['Instance'][0] # 查询实例状态 describeInstanceStatusRequest = DescribeInstanceStatusRequest.DescribeInstanceStatusRequest() describeInstanceStatusRequest.set_InstanceIds([instanceId]) describeInstanceStatusResponse = client.do_action_with_exception(describeInstanceStatusRequest) describeInstanceStatusResponse = json.loads(str(describeInstanceStatusResponse, 'utf-8')) instanceStatus = describeInstanceStatusResponse['InstanceStatuses']['InstanceStatus'][0]['Status'] # 封装结果 result = { # cpu数 'Cpu': instanceInfo['Cpu'], # 内存大小 'Memory': instanceInfo['Memory'], # 操作系统名称 'OSName': instanceInfo['OSName'], # 实例规格 'InstanceType': instanceInfo['InstanceType'], # 实例公网IP地址 'IpAddress': instanceInfo['PublicIpAddress']['IpAddress'][0], # 公网出带宽最大值 'InternetMaxBandwidthOut': instanceInfo['InternetMaxBandwidthOut'], # 实例状态 'instanceStatus': instanceStatus } return jsonify(result) if __name__ == "__main__": app.run()

说明: 您可以访问AccessKey 管理创建和查看您的AccessKey。代码中涉及到的API的更多参数说明请参见DescribeInstances和DescribeInstanceStatus。

7. 本地调试

本地调试

1.  本地运行后端服务。在GetServerInfo.py文件空白处右键单击选择Run 'GetServerInfo',或者使用快捷键Ctrl+Shift+F10快速运行Python文件。

2.  关闭小程序开发者工具的HTTPS安全性校验。
    a. 单击工具栏设置 > 项目设置 > 本地设置

    b. 在本地设置中勾选不校验合法域名、web-view(业务域名)、TLS版本以及HTTPS证书

3.  接下来您可以调用本地后端服务进行小程序的调试。

8. 部署uWSGI Server

部署uWSGI Server

本教程使用的服务器操作系统版本为Ubuntu Server 18.04 LTS,该版本内置了Python3环境。如果您在使用其他版本的操作系统,例如CentOS6.x、CentOS7.x,需要您自行配置Python3环境。

1.  在终端中输入命令ssh -V。

如果显示SSH版本则表示已安装,如下图所示。

如果未安装,请下载安装OpenSSH工具。

2.  在终端中输入命令以下命令,将服务端程序上传到服务器上。

scp D:\workspace\python\ECSAssistant\GetServerInfo.py root@123.123.123.123:/root/

说明:

scp命令的第一个参数为源文件路径,此处为本地文件路径;第二个参数分为三部分,分别是远程服务器的认证用户名、IP地址和要上传到的远程目录。

3.  输入以下命令连接服务器,然后根据提示输入您的服务器密码。

ssh root@123.123.123.123

登录成功后会显示如下信息。

4.  执行以下命令安装Python依赖。

# 阿里云SDK核心库
pip3 install aliyun-python-sdk-core
# 阿里云ECS SDK
pip3 install aliyun-python-sdk-ecs
# 轻量级Web框架flask
pip3 install flask
# Web Server
pip3 install uwsgi

5.  新建uwsgi配置文件。

mkdir /data&&cd /data &&vim uwsgi.ini

按下i键进入编辑模式,新增以下内容。

[uwsgi]
#uwsgi启动时所使用的地址和端口
socket=127.0.0.1:5000
#指向网站目录
chdir=/data#python启动程序文件
wsgi-file=GetServerInfo.py
#python程序内用以启动的application变量名
callable=app#处理器数
processes=4#线程数
threads=2#状态检测地址
stats=127.0.0.1:9191#保存启动之后主进程的pid
pidfile=uwsgi.pid#设置uwsgi后台运行,uwsgi.log保存日志信息 自动生成
daemonize=uwsgi.log

 编辑完成后按Esc键退出编辑模式,然后输入:wq退出编辑器。

6.  运行uwsgi server。

mv /root/GetServerInfo.py /data
uwsgi uwsgi.ini

7.  执行以下命令验证HTTPS服务部署情况。

说明:  

请将api.aliyuntest.com改为您的服务器域名。

 
curl https://api.aliyuntest.com/ecs/getServerInfo
 

命令执行结果如下表示HTTPS服务部署成功。

9. 部署Nginx并配置HTTPS

部署Nginx并配置HTTPS

1.  支付宝小程序要求正式环境中小程序与服务端通信必须使用HTTPS,所以您需要申请一个SSL证书。阿里云为个人开发者提供免费的SSL证书分发服务,请参考文档申请免费DV证书,申请一个SSL证书并进行域名验证。

2.  SSL证书申请审核通过后,将证书上传到您的服务器上,证书文件包括一个.pem和一个.key文件。文件上传命令请参见步骤9.2。

3.  在服务器上执行以下命令安装Nginx。

apt-get update apt-get -y install nginx

4.  新建Nginx配置文件。

vim /etc/nginx/sites-available/app.example.com 

您可以将文件名修改为自己的域名。在文件中新增以下内容。

注意: 请替换下面文件内容中的域名和证书存放地址。

server { # ssl证书使用443 listen 443 ssl default_server; # listen [::]:443 ssl default_server; # 后面是域名 server_name app.example.com; # 证书.pem的存放地址 ssl_certificate /data/ssl/1752675_app.example.com.pem; # 证书.key的存放地址 ssl_certificate_key /data/ssl/1752675_app.example.com.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; root /var/www/html; # Add index.php to the list if you are using PHP index index.html index.htm index.nginx-debian.html; server_name _; location / { # 转发端口 uwsgi_pass 127.0.0.1:5000; include uwsgi_params; } }

5.  将配置文件拷贝到/etc/nginx/sites-enabled/目录下。

ln -s /etc/nginx/sites-available/app.example.com /etc/nginx/sites-enabled/app.example.com 

6.  启动Nginx。

service nginx start

10. 上线小程序

上线小程序

1.  请将小程序pages/index/index.js代码中的本地后端服务地址改为您的后端服务器域名,通信协议改为HTTPS,例如:

https://api.aliyuntest.com/ecs/getServiceInfo

2.  单击右上角工具栏上传,然后在弹出的对话框中单击上传,根据提示输入上传版本号并完成上传。

上传成功后会弹出如下提示。

3.  在开放平台中,单击开发服务 > 版本管理,查看已上传的开发版本。

4.  单击提交审核,填写审核信息。

5.  审核通过后,管理员的微信中会收到小程序通过审核的通知。在审核版本右边单击上线,就可以在微信客户端中查看小程序了。 上架之后即为线上版本。有关小程序生命周期的更多信息请参见小程序协同工作和发布。


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

相关文章

【微信小程序】前端+后端 :第一篇(基于javaweb 案例)

博主&#xff1a;&#x1f44d;不许代码码上红 欢迎&#xff1a;&#x1f40b;点赞、收藏、关注、评论。 文章目录 一、创建javaweb&#xff08;idea&#xff09;二、servlet代码三、配置tomcat四、微信小程序端4.1、创建一个新的页面pages4.2、demo2.js4.3、demo2.wxml 五、运…

怎样创建微信小程序?创建小程序难不难?

小程序现在为众多的企业商家提供了营销上的巨大帮助&#xff0c;小程序也已经成为了这些企业商家的标配&#xff0c;即使是初创的企业商家都会先去了解怎样创建微信小程序&#xff0c;创建小程序难不难等问题&#xff0c;那么下面就给大家分享怎样创建微信小程序&#xff0c;创…

uniapp和springboot微信小程序开发实战:后端架构搭建之创建springboot项目

文章目录 使用STS创建boot项目引入项目依赖配置相关信息配置tomcat配置redis配置mysql数据库6.启动服务验证搭建环境使用STS创建boot项目 打开STS,新建Spring Starter Project项目,出现如下所示界面,根据提示填写图片上需要填写的内容。 引入项目依赖 <!-- redis -->…

微信小程序商城搭建小程序服装购物商城+后台

&#x1f345;文末获取联系&#x1f345; 目录 一、项目介绍 5.2.1 小程序端总体框架 二、项目相关截图 三、源码获取 一、项目介绍 计算机毕业设计微信小程序毕设项目之微信小程序服装商城后台管理系统_哔哩哔哩_bilibili计算机毕业设计微信小程序毕设项目之微信小程序服…

微信小程序搭建怎么做?流程是怎么样?【小程序搭建】

随着微信的日益普及&#xff0c;小程序成为了企业必备的营销工具。而在这个过程中&#xff0c;企业也需要搭建一个自己的小程序来进行推广和销售产品或服务。那么微信小程序搭建怎么做呢&#xff1f; 流程一&#xff1a;小程序账号的注册 注册小程序账号有两种方式&#xff1…

基于Python Django框架后端的微信小程序开发

刚做完一个股票信息服务类的微信小程序&#xff08;小程序名字“博股论基”&#xff0c;大家有兴趣可以搜一下&#xff09;&#xff0c;也有一些心得&#xff0c;在这里记录一下开发过程&#xff0c;算是个开发笔记&#xff0c;同时也希望能给需要的同学一些帮助。 ----------…

非常曲折的新手小白微信小程序springboot后端部署阿里云ESC服务器经历

最近因为参加了大学生“互联网”大赛&#xff0c;需要搭建微信小程序&#xff0c;但发现小程序云开发环境居然收费了&#xff01;于是转战springboot完成后端搭建&#xff0c;再用阿里云送的7个月学生免费服务器部署代码&#xff08;高校计划 - 免费学生云服务器&#xff09; 领…

微信小程序登录注册--python搭建后端

这个程序不连数据库&#xff0c;所以一旦python程序重启前面的注册就没用了 这个程序不连数据库&#xff0c;所以一旦python程序重启前面的注册就没用了 这个程序不连数据库&#xff0c;所以一旦python程序重启前面的注册就没用了 这里无脑简单介绍一下这个low到爆炸的小程序…

微信小程序入门04-后端脚手架搭建

我们上一篇已经介绍了权限系统的库表搭建&#xff0c;光有表还是不够的&#xff0c;我们还需要有一个后台系统和数据库进行交互。搭建后台的时候既需要选择使用什么语言&#xff0c;也需要选择框架。 框架分为前端框架和后端框架。在第一篇微信开发者工具搭建的时候我们其实前…

基于node搭建前端服务器,nodejs做微信小程序后端

利用小程序进行云开发必须安装node.js吗 任何一种后台开发语言都是可以的&#xff0c;只要它能够接收到小程序发出的请求&#xff0c;并且能够按照小程序指定的格式&#xff08;通常就是json&#xff09;返回数据给小程序就行。 但是&#xff0c;小程序官方专门为和php制作了…

微信小程序后台服务怎么搭建

小程序是目前最大的流量风口&#xff0c;与APP不同的是小程序的便捷&#xff0c;也就是小程序的核心竞争力与理念&#xff0c;不过小程序和APP的相同点都是属于应用&#xff0c;因此需要后台服务的支持&#xff0c;微信小程序的后台搭建常用到腾讯云&#xff0c;包括云数据库与…

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

第二章将前端页面的框架基本搭建好了&#xff0c;第三章&#xff0c;我们来做登录功能&#xff0c;登录功能需要在后端获取到用户信息&#xff0c;返回到前端。所以先来搭建后端开发环境 1、后端开发环境介绍 我们的项目用的是前后端分离开发 前端可以理解为微信端&#xff…

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

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

人工智能(搜索策略)

有信息搜索(Informed Search)&#xff1a; 1. 又称为启发式搜索(Heuristic Search) 2. 搜索过程中利用与问题有关的经验信息 3. 引入估计函数(evaluation function)来估计节点位于解路径上的“希望”&#xff0c;函数值越小“希望”越大 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;会产生大量分支…