微信公众号项目实战 -- Day1

口衔山石细,心望海波平。 – 唐·韩愈 《学诸进士作精卫衔石填海》

写在前面:这是在下新开的专题,记录分享在微信公众号后台项目开发中的技术点。目前的定位是偏教程,目标是有朝一日整理成册,帮助希望了解公众号开发的同学更无痛的完成入门。目前只有对项目前期的一些思考,并不完整,准备在开发过程中想到什么再慢慢补充。如果在开发过程中发现前文描述已经不合理,或者觉得对项目的想法更成熟了,也会经常对整个专题的文章进行重写。不求快速完成,但求质量比较高。

Day1

需求点

完成公众号后端服务器配置

需求分析

公众号配置服务器需完成 Token 验证才可配置成功,因此你必须在自己服务器上启动一个服务监听服务,当监听到请求调用时根据规则进行验签。
换句话说,微信公众开放平台需要确认此处配置服务器确实是你本人的。
配置服务器

需求实现

初始化项目

# 创建 wp_env 虚环境
python3 -m venv wp_env
# 加载虚环境
source wp_env/bin/activate
# 安装 django
pip install django
# 创建 wechat_power 项目
django-admin startproject wechat_power
# 进入项目根目录
cd wechat_power

初始化验签app

# 创建 auth 应用
python manage.py startapp auth

文件树
修改wechat_power/urls.py文件,新增auth应用的URL配置

from django.contrib import admin

# 新增 include 依赖
from django.urls import path, include

urlpatterns = [

    # 新增auth应用的URL配置
    path('wechat/', include('auth.urls')),

    path('admin/', admin.site.urls),
]

新增auth/urls.py文件

from django.urls import path

from . import views

urlpatterns = [
    path("", views.index, name="index"),
]

修改auth/view.py文件

from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
import hashlib

@csrf_exempt
def index(request):

    # 解析参数
    signature = request.GET.get('signature')
    echostr = request.GET.get('echostr')
    timestamp = request.GET.get('timestamp')
    nonce = request.GET.get('nonce')

    # 公众号网页后台填写的 token 值
    token = 'xxx'

    # 数据加密
    list = [token, timestamp, nonce]
    list.sort()
    sha1 = hashlib.sha1()
    sha1.update(''.join(list).encode('utf-8'))
    hashcode = sha1.hexdigest()

    # 签名验证
    if hashcode == signature:
        return HttpResponse(echostr)
    else:
        return HttpResponse('')

启动服务

python manage.py runserver 0.0.0.0:80

需求上线

将该服务部署到服务器上后,将URL配置到微信公众开发平台中,点击提交配置,验签成功~

btw,可以在评论区提问题、对项目的想法、鞭策在下更新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
您的问题是关于在PHP开发的微信公众号中,如何添加小程序菜单以及如何实现跳转小程序的问题,对吧? 首先,要在微信公众号中添加小程序菜单,您需要在微信公众平台的开发者中心中,通过自定义菜单功能添加一个小程序菜单。具体步骤如下: 1. 登录微信公众平台开发者中心,进入“公众号设置”页面; 2. 在左侧菜单栏中选择“菜单设置”,然后点击“自定义菜单”; 3. 在自定义菜单页面中,点击“添加菜单”按钮; 4. 在添加菜单页面中,选择“小程序”类型; 5. 在小程序菜单设置页面中,填写小程序的AppID、小程序页面路径和小程序的名称; 6. 点击“保存”按钮,即可完成小程序菜单的添加。 接下来,要实现在微信公众号中跳转小程序,您需要在PHP代码中调用微信公众号的JS-SDK,通过JS-SDK提供的API实现跳转小程序的功能。具体步骤如下: 1. 在PHP代码中引入微信公众号的JS-SDK文件; 2. 在PHP代码中调用微信公众号的JS-SDK初始化函数,传入微信公众号的AppID和当前页面的URL; 3. 在需要跳转小程序的地方,调用微信公众号的JS-SDK提供的API,传入小程序的AppID、小程序页面路径和其他参数(如是否要打开小程序的debug模式等); 4. 用户点击跳转小程序的按钮时,JS-SDK会自动调起微信客户端,并跳转到指定的小程序页面。 希望这个回答能够解决您的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Kareza

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值