# 微信SDK-Demo
**Repository Path**: develop_rookie/wechat-sdk-demo
## Basic Information
- **Project Name**: 微信SDK-Demo
- **Description**: 前端uniapp和微信原生、后端thinkphp的微信SDK-Demo代码
- **Primary Language**: PHP
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 12
- **Forks**: 5
- **Created**: 2024-04-03
- **Last Updated**: 2025-05-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# ThinkPHP+EasyWeChat+微信小程序Demo代码
## 介绍
这是一个ThinkPHP+微信小程序的demo代码,后台包含ThinkPHP6和ThinkPHP8两个版本,微信小程序包含uniapp和微信原生两个版本,可以根据你自己的情况选择合适的版本
代码只能为了让新手简单了解一下EasyWeChat和微信SDK使用
thinkphp6是使用微信支付V2秘钥的后台,建议搭配php7以上使用
thinkphp8是使用微信支付V3秘钥的后台,必须搭配php8以上使用
wechat-uniapp是uniapp写的小程序代码
wechat-native是微信原生写的小程序代码
如果觉得不错,右上角点个 ⭐ Star,谢谢鼓励与支持
## 功能列表
- [x] 获取微信用户头像
- [x] 获取微信用户昵称
- [x] 获取微信用户openid
- [x] 获取微信用户手机号
- [x] 唤醒微信小程序支付
- [x] 微信支付通知回调
- [x] 微信小程序订单查询
- [x] 微信小程序订单退款
## 安装教程
1. ```git clone https://gitee.com/develop_rookie/wechat-sdk-demo.git``` 下载代码
2. ```cd wechat-sdk-demo/thinkphp6``` 或者 ```cd wechat-sdk-demo/thinkphp8``` 进入thinkphp6或者thinkphp8目录
3. **使用thinkphp6建议php7以上环境,使用thinkphp8必须php8以上环境**
运行 composer install 安装ThinkPHP和EasyWeChat,成功后可以运行 php think run,在浏览器访问 http://localhost:8000 测试是否正常
4. 配置本地访问thinkphp6或者thinkphp8项目,我本地设置的域名是 www.tp6.com 和 www.tp8.com,实际使用请改成你自己的域名
5. ```cp .example.env .env```
复制本地的配置并修改为你自己的信息
thinkphp6主要是
```
[WECHAT]
app_id = app_id
secret = secret
mch_id = mch_id
v2_key = v2_key
v3_key = v3_key
```
thinkphp8主要是
```
WECHAT_APP_ID = WECHAT_APP_ID
WECHAT_SECRET = WECHAT_SECRET
WECHAT_MCH_ID = WECHAT_MCH_ID
WECHAT_V2_KEY = WECHAT_V2_KEY
WECHAT_V3_KEY = WECHAT_V3_KEY
```
6. 测试uniapp代码
1. 修改wechat-uniapp/pages/index目录下index.vue文件url为你配置的本地访问地址
2. 修改wechat-uniapp/pages/index目录下pay.vue文件url为你配置的本地访问地址
3. 修改manifest.json文件mp-weixin中appid为你自己的微信小程序appid
4. 使用HBuilder X编辑器运行到小程序模拟器进行测试
7. 测试微信原生代码
1. 使用微信开发者工具打开小程序项目,AppID选择你自己的微信小程序appid
2. 修改wechat-native/pages/index目录下index.js文件url为你配置的本地访问地址
3. 修改wechat-native/pages/pay目录下index.js文件url为你配置的本地访问地址
## 特别注意
1. 使用本地访问地址测试时微信开发者工具要在本地设置勾选不验证合法域名
2. **请勿将私钥文件暴露在公共场合,如上传至Git或将其写入客户端代码等。**
3. 使用thinkphp6测试小程序订单退款时,需要有商户 API 证书和商户 API 私钥,存放位置在runtime/cert目录下,文件名cert.pem和key.pem,可以通过修改thinkphp6/config目录下wechat.php文件以下代码
```
// 绝对路径
'cert_path' => app()->getRuntimePath() . '/cert/cert.pem',
// 绝对路径
'key_path' => app()->getRuntimePath() . '/cert/key.pem',
```
进行修改
4. 使用thinkphp8测试小程序支付、订单查询和订单退款时,需要有商户 API 证书和商户 API 私钥,存放位置在runtime/cert目录下,文件名cert.pem和key.pem,可以通过修改thinkphp8/config目录下wechat.php文件以下代码
```
// 绝对路径
'cert_path' => app()->getRuntimePath() . '/cert/cert.pem',
// 绝对路径
'key_path' => app()->getRuntimePath() . '/cert/key.pem',
```
进行修改
## 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
## 特别鸣谢
感谢以下的项目,排名不分先后
[ThinkPHP](http://www.thinkphp.cn)
[EasyWechat](https://easywechat.com)
[uni-app](https://uniapp.dcloud.net.cn)
[微信官方文档](https://developers.weixin.qq.com/doc)
### 前端部分界面展示
#### 小程序原生
#### uniapp
## 联系作者
请大家使用时根据示例代码来,有bug直接提交 issue;提供付费技术支持。
## 若对您有帮助,可以赞助并支持下作者哦,谢谢!
### 支付宝红包
