当前位置:网站首页 >  教程

企业微信结合小程序0门槛私域流量裂变全链路实操指南

时间:2026年06月03日 20:05:11 来源:易频IT社区

一、前置准备(3步搞定基础环境)

1. 注册企业微信并配置权限

访问 https://work.weixin.qq.com/ 完成企业注册(无需营业执照,用个人身份证注册个体户/企业验证版可满足基础裂变)

  • 验证后登录→ 左侧「应用管理」→ 点击「自建」→「创建应用」→ 填写应用名称「裂变工具」、应用介绍「内部私域裂变用」、上传任意1:1图标→ 点击「创建应用」
  • 记录关键参数:创建成功后,在该应用详情页底部找到「AgentId」「Secret」;返回左侧「我的企业」→ 找到「企业ID」,三个参数复制保存备用
  • 配置客户联系权限:左侧「客户联系」→「权限配置」→ 找到自建的「裂变工具」应用→ 勾选「获取客户列表」「发送消息给客户」「获取客户群列表」「发送消息到客户群」→ 点击「保存」

2. 注册微信小程序并关联企业微信

访问 https://mp.weixin.qq.com/ 注册个人/企业小程序,个人小程序可使用基础免费裂变功能

  • 发布空白测试版:登录小程序后台→ 左侧「开发」→「开发管理」→「开发设置」→ 复制「AppID」「AppSecret」保存→ 点击「开发者工具」下载地址(https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html)安装并登录
  • 打开开发者工具→ 点击「+」新建项目→ 填写「项目名称」「目录」「AppID」(个人小程序选「测试号」也可)→ 模板选「基础模板(JS)」→ 点击「新建」→ 直接点击「上传」→ 填写版本号「1.0.0」、备注「测试关联」→ 回到小程序后台「版本管理」→ 点击「提交审核」→ 审核通过后「发布」
  • 关联企业微信:回到企业微信后台→ 左侧「应用管理」→「应用」→「小程序」→「关联小程序」→ 输入小程序AppID搜索→ 点击「关联」→ 小程序管理员确认关联即可

3. 搭建本地临时测试数据库(无需云服务器)

使用免费本地数据库SQLite+Python轻量后端,全程无需购买服务器

  • 安装Python3:访问 https://www.python.org/downloads/ 下载最新稳定版(注意勾选「Add Python to PATH」)→ 安装完成后打开cmd/终端输入python3 --version(Windows输入python --version)验证
  • 安装轻量依赖库:cmd/终端输入以下命令逐行安装:
    • pip install flask
    • pip install flask-cors
    • pip install qywx-sdk
    • pip install sqlite3

二、核心裂变逻辑代码实现(可直接复制)

1. 后端Python代码(存为server.py)

企业微信结合小程序0门槛私域流量裂变全链路实操指南

创建一个空文件夹「private_domain_fission」,在里面新建server.py文件,粘贴以下代码并替换前置准备中记录的参数:

```python from flask import Flask, request, jsonify from flask_cors import CORS import sqlite3 import qywx_sdk app = Flask(__name__) CORS(app) 替换以下参数 CORP_ID = "你的企业ID" AGENT_ID = 你的AgentId(纯数字) SECRET = "你的应用Secret" MINI_APPID = "你的小程序AppID" 初始化SQLite数据库 def init_db(): conn = sqlite3.connect('fission.db') cursor = conn.cursor() cursor.execute(''' CREATE TABLE IF NOT EXISTS users ( id INTEGER PRIMARY KEY AUTOINCREMENT, wx_user_id TEXT UNIQUE NOT NULL, wx_nickname TEXT NOT NULL, parent_id INTEGER DEFAULT 0, invite_count INTEGER DEFAULT 0, is_rewarded INTEGER DEFAULT 0 ) ''') conn.commit() conn.close() init_db() 企业微信SDK初始化 wx_client = qywx_sdk.Client(corpid=CORP_ID, corpsecret=SECRET) 获取用户信息接口(小程序调用) @app.route('/api/get_user_info', methods=['POST']) def get_user_info(): data = request.get_json() code = data.get('code') parent_id = data.get('parent_id', 0) try: 小程序code换用户信息 res = wx_client.miniprogram.code2session(MINI_APPID, code) wx_user_id = res['openid'] wx_nickname = res.get('nickname', '匿名用户') 注册用户 conn = sqlite3.connect('fission.db') cursor = conn.cursor() cursor.execute('SELECT id FROM users WHERE wx_user_id = ?', (wx_user_id,)) user = cursor.fetchone() if not user: cursor.execute('INSERT INTO users (wx_user_id, wx_nickname, parent_id) VALUES (?, ?, ?)', (wx_user_id, wx_nickname, parent_id)) user_id = cursor.lastrowid 给上级加邀请数 if parent_id != 0: cursor.execute('UPDATE users SET invite_count = invite_count + 1 WHERE id = ?', (parent_id,)) conn.commit() else: user_id = user[0] 获取当前用户信息 cursor.execute('SELECT id, wx_nickname, invite_count, is_rewarded FROM users WHERE id = ?', (user_id,)) current_user = cursor.fetchone() conn.close() return jsonify({'code': 0, 'data': { 'user_id': current_user[0], 'nickname': current_user[1], 'invite_count': current_user[2], 'is_rewarded': current_user[3] }}) except Exception as e: return jsonify({'code': 1, 'msg': str(e)}) 领取奖励接口(可替换为自己的逻辑,比如发优惠券) @app.route('/api/get_reward', methods=['POST']) def get_reward(): data = request.get_json() user_id = data.get('user_id') required_count = 3 设置需要邀请的人数 try: conn = sqlite3.connect('fission.db') cursor = conn.cursor() cursor.execute('SELECT invite_count, is_rewarded FROM users WHERE id = ?', (user_id,)) user = cursor.fetchone() if not user: return jsonify({'code': 1, 'msg': '用户不存在'}) if user[0] < required_count: return jsonify({'code': 1, 'msg': f'还需邀请{required_count - user[0]}人'}) if user[1] == 1: return jsonify({'code': 1, 'msg': '已领取过奖励'}) 更新奖励状态 cursor.execute('UPDATE users SET is_rewarded = 1 WHERE id = ?', (user_id,)) conn.commit() conn.close() return jsonify({'code': 0, 'msg': '奖励领取成功!'}) except Exception as e: return jsonify({'code': 1, 'msg': str(e)}) if __name__ == '__main__': app.run(host='0.0.0.0', port=5000, debug=True) ```

2. 前端小程序代码(替换pages/index下的文件)

打开微信开发者工具,找到左侧「pages/index」,替换index.js、index.wxml、index.wxss的内容:

  • index.js(替换server_url为你的本地IP:5000,本地测试用手机热点,查看手机IP的方法:设置-WLAN-当前热点详情): ```javascript const server_url = "http://你的本地IP:5000/api" Page({ data: { userInfo: null, requiredCount: 3 }, onLoad(options) { const parent_id = options.parent_id || 0 this.getUserInfo(parent_id) }, getUserInfo(parent_id) { wx.login({ success: (res) => { wx.request({ url: server_url + '/get_user_info', method: 'POST', data: { code: res.code, parent_id: parent_id }, success: (resp) => { if (resp.data.code === 0) { this.setData({ userInfo: resp.data.data }) } else { wx.showToast({ title: resp.data.msg, icon: 'none' }) } } }) } }) }, shareInvite() { const that = this wx.showShareMenu({ withShareTicket: true, menus: ['shareAppMessage', 'shareTimeline'] }) }, onShareAppMessage() { return { title: `邀请3人免费领福利,我已经邀请${this.data.userInfo.invite_count}人了!`, path: `/pages/index/index?parent_id=${this.data.userInfo.user_id}` } }, onShareTimeline() { return { title: `邀请3人免费领福利,快来加入!`, path: `/pages/index/index?parent_id=${this.data.userInfo.user_id}` } }, getReward() { wx.request({ url: server_url + '/get_reward', method: 'POST', data: { user_id: this.data.userInfo.user_id }, success: (resp) => { wx.showToast({ title: resp.data.msg, icon: 'none' }) if (resp.data.code === 0) { this.getUserInfo(0) } } }) } }) ```
  • index.wxml: ```html {{userInfo.nickname}} 已邀请:{{userInfo.invite_count}}人 目标:{{requiredCount}}人 ```
  • index.wxss: ```css .container { padding: 40rpx; display: flex; flex-direction: column; gap: 40rpx; align-items: center; } .user-card { width: 100%; background: f5f5f5; padding: 40rpx; border-radius: 20rpx; text-align: center; } .nickname { font-size: 36rpx; font-weight: bold; margin-bottom: 30rpx; } .invite-info { display: flex; justify-content: space-between; margin-bottom: 20rpx; } .current { color: 07c160; } .required { color: 999; } .btn-group { width: 100%; display: flex; flex-direction: column; gap: 20rpx; } .share-btn { background: 07c160; color: white; } .reward-btn { background: 1677ff; color: white; } .reward-btn[disabled] { background: ccc; } ```

三、本地部署+测试+引流到企微

1. 本地部署与测试

  • 打开cmd/终端,进入private_domain_fission文件夹,输入python server.py(Windows)或python3 server.py(Mac/Linux)启动后端
  • 在微信开发者工具中点击「编译」,测试注册、邀请、领取流程;用真机调试(点击「预览」生成二维码,用微信扫码)邀请朋友测试完整链路

2. 简单引流到企微(可选)

在index.wxml的btn-group上方添加一个企业微信联系人二维码组件,引导用户添加企微后发送暗号获得额外抽奖机会:

```html 添加企微客服 额外抽大奖 ``` 同时在index.wxss添加样式: ```css .qywx-card { width: 100%; background: fff8e6; padding: 30rpx; border-radius: 20rpx; text-align: center; } .qywx-title { font-size: 28rpx; color: ff9800; margin-bottom: 20rpx; } ```

四、上线后的优化方向(非必须但实用)

  • 将Python后端部署到免费云服务器(如阿里云函数计算、腾讯云SCF),确保24小时运行
  • 将SQLite替换为免费云数据库(如阿里云RDS MySQL免费版、腾讯云TDSQL-C免费版)
  • 在领取奖励接口中对接企业微信发送红包/优惠券的API

相关推荐

最新

热门

推荐

精选

标签

易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图