微信小程序开发入门

本文最后更新于 2024年1月27日 下午

微信小程序开发入门

本文是逸夫408实验室本科生同学的入门培训资料,受委托发表至本网站。如果有任何错误信息,欢迎反馈至:794358907@qq.com。

本次demo的所有代码将采用文件形式发送,大家可以直接将文件放到IDE中。其难度相对而言较大,建议在有一定python和微信小程序开发基础后,仔细阅读并理解。
## 前期准备工作 ### 小程序部分 为了避免申请配置域名的麻烦以及等待的时间,进入微信开发者工具后,选择申请测试号(右上角):

进入如下网页后,点击申请地址:

然后请记住你的appid和appsecret:

同时,在详情——本地设置中,点击勾选不校验合法域名,web-view(业务域名),TLS版本以及HTTPS证书:

Python(数据库)部分

首先需要安装MySQL,用来进行对数据库的操作,官网网址:https://dev.mysql.com/downloads/windows/installer/
安装教程:https://www.runoob.com/w3cnote/windows10-mysql-installer.html
注意,千万要记住你安装时配置的数据库密码,这在后面操作中十分关键!
还有一个可视化的数据库操作软件Navicat,官网地址http://www.navicat.com.cn/ ,进去选择产品——免费试用,试用期限14天,到期后卸载了重新下一遍就行了(老白嫖玩家了)。其界面如下:

关于python,python版本建议选择3.9。在第三方库的安装中,有几个必要的库:pip,Flask,PyMySQL,PyMysqlDB,SQLAlchemy,crypto,mysql,mysql-connector, mysql-connector-python,mysqlclient,request,requests,wxPython(注意看清楚自己吧库安装的地方是是虚拟环境还是自己本机的环境,下图显示的是安装在本机环境中)

如果在file-setting中无法安装,可以试试在命令行中使用pip安装。命令pip install XXXX。以上所有库如果有始终无法安装成功的情况,可以来找学长咨询。其中crypto库的安装有一点问题需要注意,按照网址https://www.cnblogs.com/fawaikuangtu123/p/9761943.html中所说的去操作。

操作流程

第一步

Python代码文件main.py中,db_name语句中需要在root后输入你的数据库密码:

解释:

①:MySQL用户名
②:MySQL密码
③:MySQL 端口号(默认3306)
④:在MySQl中创建的一个数据库名
其中localhost意思是本机的IP地址
代码整体应用示例:

1
2
3
4
5
6
7
8
9
10
11
12
#db_name='mysql+mysqlconnector://xiaoshi:jc16636683CJ@Localhost:3306/cyst1'
engine = create_engine(db_name)#创立线程池
'''
示例:
engine = create_engine('dialect+driver://username:password@host:port/database')
dialect --数据库类型
driver --数据库驱动选择
username --数据库用户名
password --用户密码host服务器地址
port --端口
database --数据库
'''

补充:创建一个数据库

方法一:打开可视化软件Navicat,右键连接的mysql(本例中名为xiaoshi),点击新建数据库

方法二:打开MySQL客户端,直接输入创建数据库指令,create database name;

1
2
mysql> create database xiaoshi;
>> Query Ok. 1 row affected (0.01 sec)

第二步

还需要将你的appid和appsecret写入下面划线的单引号里面:

以上配置好了python中的控制程序,之后调整前端的设置和代码。

第三步

小程序代码中的IP地址记得改成本机地址127.0.0.1(位于app.js中)。

解释:地址“127.0.0.1”是回送地址,在任何时候都是指向本机地址(一般用于测试)

微信小程序前端部分大致分为两个页面,编译后首先进入首页:

点击登录按钮后,程序会读取你的用户信息,根据以下规则,与数据库进行交互后会将你的微信头像和昵称显示于页面上:

而点击跳转页面,将会进入:

在点击图中按钮,选择QQ聊天文件(随便加的)之后,小程序将给传入后台一个密码(变量名“nishisha”,值“hehe”),服务器端接收到此变量,将会从数据库传送部分数据给小程序:

注意事项

这里特地提一下python文件中的AES文件,它的主要作用是加密数据,以防有人拿到部分用户数据后推测出其他的数据。这里演示一个简单的使用方式:

1
2
3
4
5
aes=AES.UseAES("zifuchuan")
q=aes.encrypt("呵呵")
print(q)
a=aesdecode_bytes(q)
print(a)

在进行了加密-打印-解密-打印的操作后,它的结果为:

1
2
>> EPU0DIzAJEsfC0OvcLgnkA==
>> 呵呵

可参考的学习资料: 高级加密标准(AES)是最为常见的对称加密算法,微信小程序使用的就是这个加密算法。
对称加密算法是指加密和解密使用相同的密钥。
https://blog.csdn.net/qq_28205153/article/details/55798628

python代码解读

sqlalchemy库

1
2
3
from sqlalchemy import create_engine,String, Integer, Column, ForignKey, Table, Sequence, Text, func
from sqlalchemy.ect.declarative import declarative_base
from sqlalchemy.orm import sessionmaker, relationship

sqlalchemy是一个python语言实现的的针对关系型数据库的orm库。可用于连接大多数常见的数据库,比如Postges、MySQL、SQLite、Oracle等。
通过orm将编程语言的对象模型和数据库的关系模型建立映射关系,这样我们在使用编程语言对数据库进行操作的时候可以直接使用编程语言的对象模型进行操作就可以了,而不用直接使用sql语言。

适合学习下的链接:python 之路,Day11 - sqlalchemy ORM - 金角大王 - 博客园 (cnblogs.com)

json库

使用 Python 语言来编码和解码 JSON 对象

requests库

requests库是一个常用的用于http请求的模块,可以方便的对网页进行爬取。

使用例子:python中requests库使用方法详解 - 知乎 (zhihu.com)

flask库

Flask是一个用Python编写的Web应用程序框架。
(Web应用框架是一种开发框架,支持动态网站、网络应用程序及网络服务的开发)


微信小程序开发入门
https://l61012345.top/2022/05/08/YF408学习资料/微信小程序/
作者
Yushen Chen
发布于
2022年5月8日
更新于
2024年1月27日
许可协议