公众号-----申请账号,账号管理,开发配置,接口权限详细配置

公众号

微信公众平台,简称公众号。微信推出的自媒体平台,提供一对多的媒体性活动,如消息推送、品牌传播、分享等,已经形成了一种主流的营销方式。

订阅号与服务号的区别

在这里插入图片描述

1. 申请账号

在这里插入图片描述

不同类型账号功能介绍,如下图:

在这里插入图片描述

根据需要选择合适的账号类型,按着注程引导完成注册。

注:个人只能申请注册订阅号

2. 账号管理

微信公众平台官方提供的后台对公众号进行管理。

1. 粉丝管理

  1. 打标签、黑名单
    在这里插入图片描述

  2. 发送消息

在这里插入图片描述

2. 自动回复

  1. 关注时回复

    当公众号被关注时,自动回复一条消息,消息可以是文字、图片、语音、视频等类型。

在这里插入图片描述

效果如下图所示:

在这里插入图片描述

  1. 关键词回复

    管理者预先设置好关键词,当粉丝发送消息时,自动根据关键词对消息内容进行匹配,匹配成后自动回复批定内容,消息可以是图文消息、文字、图片、语音、视频。

在这里插入图片描述

效果如下图所示:
在这里插入图片描述

  1. 收到消息回复

    粉丝发送任意一条消息时,系统自动回复一条消息,消息可以是文字、图片、语音、视频等类型。
    在这里插入图片描述

    效果如下图所示:

在这里插入图片描述

3. 自定义菜单

设置公众号底部菜单,当粉丝点击这些菜单时可以回复一条消息、跳转到某个网页、打开某个小程序等。最多设置3个一级菜单、每个一级菜单最多设置5个二级菜单。

在这里插入图片描述

3. 开发配置

1. 成为开发者

在这里插入图片描述

2.启用密码

在这里插入图片描述

3. 授权

在这里插入图片描述

3. 保存 AppSecret

注:妥善保管 AppSecret,如果忘记了需要进行重置。

在这里插入图片描述

4. 完成

在这里插入图片描述

经过上述操作后获得 AppID、AppSecret这个开发必不可少的信息。

4. 接口权限

微信以接口的形式将众多功能开放出来,供具有开发能力的公司结合自身业务进行定制开发,然而这其中有一些接口如微信支付、微信分享,需要服务号或着认证后才可以被调用。

如下图所示:

在这里插入图片描述

5. 测试账号

微信官方为每个公众号开放了一个测试账号,可以获得大部分的接口权限,一般只用于开发测试阶段。

登录公众号后,选择开发者工具

在这里插入图片描述

再选择公众平台测试账号

在这里插入图片描述

获得供开发测试的 appID、appsecret,如图所示:

在这里插入图片描述

查看粉丝列表
在这里插入图片描述

接口权限列表

在这里插入图片描述

6. JSSDK

在微信中浏览器 H5 页面时,可以调用微信扩展的功能,如自定义分享、微信支付、摇一摇、扫码、语音识别等高级特性。

登录公众号后,选择开发者工具,然后再选择开发者文档,如下图所示:
在这里插入图片描述

1. 绑定域名

为了提高接口调用的安全性,微信官方需要对企业域名进行验证,

登录公众号后,选择公从号设置
在这里插入图片描述

每个公从号最多可以设置3个域名,且必须通过ICP备案的验证。只能通过设置好的域名才能访问JSSDK的接口。

开发阶段一般使用测试账号,测试账号也需要配置安全域名,但是步骤比简单:

在这里插入图片描述

2.验证配置

配置了安全域名后,还必须按着微信官方的验证规则进行验证,要实现这个步骤需要进行编码操作,关于实现逻辑可以参考微信官方的示例

下载示例

官方提供了 java、php、node、python的示例

sample
├── java .................................................. java 示例
│   └── sign.java
├── node .................................................. node 示例
│   ├── check_sign.js
│   ├── node_modules
│   │   └── jssha
│   │       ├── CHANGELOG
│   │       ├── LICENSE
│   │       ├── README.md
│   │       ├── bower.json
│   │       ├── package.json
│   │       └── src
│   │           └── sha.js
│   ├── package.json
│   └── sign.js
├── php .................................................. php 示例
│   ├── access_token.php
│   ├── jsapi_ticket.php
│   ├── jssdk.php
│   └── sample.php
├── python ............................................... python 示例
│   └── sign.py
└── readme.txt

以我们熟悉的 node 为例:

$ cd Server;
$ npm install wechat-jssdk --save

// Server/app.js
const {Wechat} = require('wechat-jssdk');
const wx = new Wechat({
    appId: 'Your appid',
    appSecret: 'Your appsecret'
});

app.get('/weixin', (req, res) => {
    wx.jssdk.getSignature('Your url').then(signatureData => {
        console.log(signatureData);
    });
});

{
    "appId": "wx7cfd1bd1af42d511",
    "timestamp": "1528286021",
    "nonceStr": "8emetkwjlhh",
    "signature": "ff6a515c33b44c02b021dd7cf4b8cdd7badbe2b1",
    "url": "/"
}

3. 调用接口

<!-- view/jssdk/index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>JSSDK使用</title>
</head>
<body>
    <button class="btn1">分享到朋友圈</button>
    <button class="btn2">分享给朋友</button>
    
    <script src="/libs/jquery.min.js"></script>
    <!-- 引入 jssdk -->
    <script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js"></script>
    <script>
        // 注入配置信息
        wx.config({
            debug: true, 
            appId: '{{appId}}',
            timestamp: '{{timestamp}}',
            nonceStr: '{{nonceStr}}',
            signature: '{{signature}}',
            jsApiList: [
                'onMenuShareTimeline',
                'onMenuShareAppMessage'
            ]
        });
        
        // 调用接口
        wx.ready(function () {
            
            // 分享到朋友圈
            $('.btn1').click(function () {
                wx.onMenuShareTimeline({
                    title: '', // 分享标题
                    link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                    imgUrl: '', // 分享图标
                    success: function () {
                    // 用户点击了分享后执行的回调函数
                }
            });
            
            // 分享给朋友
            $('.btn2').click(function () {
                wx.onMenuShareAppMessage({
                    title: '', // 分享标题
                    desc: '', // 分享描述
                    link: '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                    imgUrl: '', // 分享图标
                    type: '', // 分享类型,music、video或link,不填默认为link
                    dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
                    success: function () {
                    	// 用户点击了分享后执行的回调函数
                    }
                });
            });
        });
    </script>
</body>
</html>

7. WeUI

WeUI 是一套同微信原生视觉体验一致的基础样式库,由微信官方设计团队为微信内网页和微信小程序量身设计,令用户的使用感知更加统一。

其本质就是微信官方事先写好CSS,开发时直接将其引入页面即可。

在微信网页或小程序中使用 WeUI,有如下优势:

  1. 同微信客户端一致的视觉效果,令所有微信用户都能更容易地使用你的网站或小程序
  2. 便捷获取快速使用,降低开发和设计成本
  3. 微信设计团队精心打造,清晰明确,简洁大方

使用文档

### UNI-APP 开发微信公众号 (H5) 并集成微信支付 #### 一、准备工作 为了在 Uni-app 中开发微信公众号 H5 应用并集成微信支付功能,需先完成如下准备: 1. **注册微信公众平台账号** - 获取 AppID 和 AppSecret。 2. **配置服务器域名** - 在微信公众平台上设置合法的业务域名、JS接口安全域名等必要信息[^1]。 3. **安装必要的插件和库文件** 对于微信支付的支持,在项目中引入 `wx.js` 文件用于调用微信 JS SDK 接口。同时确保已安装最新版本的 Vue CLI 工具以便更好地管理项目资源。 #### 二、实现流程 ##### (一)初始化环境变量 创建 `.env.development` 或者其他适合当前环境下的配置文件来保存敏感数据如 appId, mchId(商户号), key(密钥),这些参数将在后续请求过程中被使用到。 ```bash VUE_APP_WX_APP_ID=your_app_id_here VUE_APP_MCH_ID=your_merchant_id_here VUE_APP_API_KEY=your_api_key_here ``` ##### (二)获取预支付订单编号(prepay_id) 当用户确认付款金额后,前端应向自己的服务端发起 POST 请求传递商品详情给后台处理逻辑;此时后端负责生成交易单据并向 WeChat Pay API 发送 HTTPS 请求以获得 prepay_id 参数作为响应的一部分返回给客户端应用。 注意:此过程涉及敏感操作建议采用 HTTPS 协议传输数据,并且严格按照官方文档说明构建签名字符串防止篡改攻击风险。 ##### (三)调起微信内嵌浏览器中的支付控件 收到有效的 prepay_id 后即可按照下述方式组装所需参数并通过 wx.chooseWXPay 方法启动内置 Webview 支付界面供顾客输入密码验证身份从而完成整个购物流程: ```javascript // 假设已经获得了prepay_id和其他必需的信息 const payParams = { "appId": process.env.VUE_APP_WX_APP_ID, "timeStamp": new Date().getTime(), "nonceStr": Math.random().toString(36).substr(2), "package": 'prepay_id=' + prepay_id_from_server,// 注意这里的拼接规则可能依据实际情况有所变化 "signType": "MD5", }; // 计算 sign 字段的具体方法请参照 https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=7_7&index=6 let stringA = Object.keys(payParams) .filter(key => payParams[key]) .map(key => `${key}=${encodeURIComponent(payParams[key])}`) .join('&'); stringA += '&key=' + encodeURIComponent(process.env.VUE_APP_API_KEY); payParams.sign = hex_md5(stringA.toUpperCase()); // 调用 chooseWXPay 进行支付 WeixinJSBridge.invoke( 'getBrandWCPayRequest', payParams, function(res){ if(res.err_msg === "get_brand_wcpay_request:ok"){ alert('支付成功!'); }else{ console.error(`支付失败:${res.err_code}`); } }); ``` 上述代码片段展示了如何利用 JavaScript 实现微信支付的核心部分——即通过 WeixinJSBridge 对象访问原生组件进而引导用户至最终结算环节。值得注意的是实际部署之前还需要针对不同场景做充分测试确保兼容性和稳定性。 #### 三、常见问题排查 如果遇到无法正常唤起支付窗口的情况,请检查以下几点: - 是否正确设置了 jsApiList 数组内的权限项; - 检查 URL 地址是否被列入了公众平台的安全白名单之中; - 确认所有参与计算 Sign 的字段都已被正确定义并且顺序无误; - 测试环境中使用的证书是否有效过期等问题也可能会引起异常行为。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

别动我代码儿

感谢技术精进的你,加油不负韶华

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

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

打赏作者

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

抵扣说明:

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

余额充值