一日一技:微信扫码用户帐号绑定

2023-11-06 01:32

本文主要是介绍一日一技:微信扫码用户帐号绑定,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

概述

最近在整一个微信扫码用户帐号绑定功能。为了满足用户帐号绑定场景的需要,通过生成用户自己的二维码,用户扫描后,公众号可以接收到事件推送。

如下

1、用户登录扫码

2、绑定成功

实现思路

扫码绑定账户,其实就是扫描带有用户信息的二维码,微信端接收到消息,会向服务器推送一个扫描事件,服务端接收到信息,进行处理,进而在界面进行信息反馈。

用户登录系统=》生成带有用户id的二维码=》用户打开微信扫码=》

微信服务器向我们的系统回调扫描事件=》得到扫描的用户id+openid=>

进行绑定操作=》进而把结果反映到界面

主要代码实现

1、获取二维码 

string domain = BqoolWebSite.WebSiteMapping[BqoolWebSiteType.BigCRMWebService][CommonSetting.GetEnvironmentMode()];string url = domain + "/api/WeChat/GetQrCode";var data = new GetQrCodeParam(){Account = "xxxxx", //AccountUser_ID = "xxxxx",//User_IDDate = DateTime.UtcNow.ToUnixTimestamp(),Action = BaseRequestParam.ActionType.Get,IsRefresh = false //是否强制刷新 默认false};_nLogger.Info($"WeChat GetQrCode Call BigCRM Web - Url : {url}, data : {data.ToJsonString()}");var result = HttpTools.EncryptPost<GetQrCodeParam, ApiResult>(url, data);_nLogger.Info($"WeChat GetQrCode Call BigCRM Web Result - Url : {url}, result : {result.ToJsonString()}");
if (result.Success && result.Data != null){//  result.Data   GetQrCodeResult}

2、获取绑定信息  

string domain = BqoolWebSite.WebSiteMapping[BqoolWebSiteType.BigCRMWebService][CommonSetting.GetEnvironmentMode()];string url = domain + "/api/WeChat/GetBindInfo";var data = new GetBindInfoParam(){Account = "xxxxx", //AccountUser_ID = "xxxxxx",//User_IDDate = DateTime.UtcNow.ToUnixTimestamp(),Action = BaseRequestParam.ActionType.Get};_nLogger.Info($"WeChat GetBindInfo Call BigCRM Web - Url : {url}, data : {data.ToJsonString()}");var result = HttpTools.EncryptPost<GetBindInfoParam, ApiResult>(url, data);_nLogger.Info($"WeChat GetBindInfo Call BigCRM Web Result - Url : {url}, result : {result.ToJsonString()}");if (result.Success && result.Data != null){//  result.Data   GetBindInfoResult}

3、取消订阅  

string domain = BqoolWebSite.WebSiteMapping[BqoolWebSiteType.BigCRMWebService][CommonSetting.GetEnvironmentMode()];string url = domain + "/api/WeChat/Disconnect";var data = new GetBindInfoParam (){Account = "xxxx", //AccountUser_ID = "xxxxx",//User_IDDate = DateTime.UtcNow.ToUnixTimestamp(),Action = BaseRequestParam.ActionType.Update};_nLogger.Info($"WeChat Disconnect Call BigCRM Web - Url : {url}, data : {data.ToJsonString()}");var result = HttpTools.EncryptPost< GetBindInfoParam, ApiResult>(url, data);_nLogger.Info($"WeChat Disconnect Call BigCRM Web Result - Url : {url}, result : {result.ToJsonString()}");if (result.Success ){//ApiResult}

这篇关于一日一技:微信扫码用户帐号绑定的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/353721

相关文章

W外链微信推广短连接怎么做?

制作微信推广链接的难点分析 一、内容创作难度 制作微信推广链接时,首先需要创作有吸引力的内容。这不仅要求内容本身有趣、有价值,还要能够激起人们的分享欲望。对于许多企业和个人来说,尤其是那些缺乏创意和写作能力的人来说,这是制作微信推广链接的一大难点。 二、精准定位难度 微信用户群体庞大,不同用户的需求和兴趣各异。因此,制作推广链接时需要精准定位目标受众,以便更有效地吸引他们点击并分享链接

SpringMVC入参绑定特别注意

1.直接在controller中定义一个变量,但是此种传输方式有一个限制就是参数名和请求中的参数名必须保持一致,否则失效。 @RequestMapping("test2")@ResponseBodypublic DBHackResponse<UserInfoVo> test2(String id , String name){UserInfoVo userInfoVo = new UserInf

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

Maven(插件配置和生命周期的绑定)

1.这篇文章很好,介绍的maven插件的。 2.maven的source插件为例,可以把源代码打成包。 Goals Overview就可以查看该插件下面所有的目标。 这里我们要使用的是source:jar-no-fork。 3.查看source插件的example,然后配置到riil-collect.xml中。  <build>   <plugins>    <pl

uniapp设置微信小程序的交互反馈

链接:uni.showToast(OBJECT) | uni-app官网 (dcloud.net.cn) 设置操作成功的弹窗: title是我们弹窗提示的文字 showToast是我们在加载的时候进入就会弹出的提示。 2.设置失败的提示窗口和标签 icon:'error'是设置我们失败的logo 设置的文字上限是7个文字,如果需要设置的提示文字过长就需要设置icon并给

vue2实践:el-table实现由用户自己控制行数的动态表格

需求 项目中需要提供一个动态表单,如图: 当我点击添加时,便添加一行;点击右边的删除时,便删除这一行。 至少要有一行数据,但是没有上限。 思路 这种每一行的数据固定,但是不定行数的,很容易想到使用el-table来实现,它可以循环读取:data所绑定的数组,来生成行数据,不同的是: 1、table里面的每一个cell,需要放置一个input来支持用户编辑。 2、最后一列放置两个b

react笔记 8-19 事件对象、获取dom元素、双向绑定

1、事件对象event 通过事件的event对象获取它的dom元素 run=(event)=>{event.target.style="background:yellowgreen" //event的父级为他本身event.target.getAttribute("aid") //这样便获取到了它的自定义属性aid}render() {return (<div><h2>{

react笔记 8-17 属性绑定 class绑定 引入图片 循环遍历

1、绑定属性 constructor(){super()this.state={name:"张三",title:'我是一个title'}}render() {return (<div><div>aaaaaaa{this.state.name}<div title={this.state.title}>我是一个title</div></div></div>)} 绑定属性直接使用花括号{}   注

react笔记 8-16 JSX语法 定义数据 数据绑定

1、jsx语法 和vue一样  只能有一个根标签 一行代码写法 return <div>hello world</div> 多行代码返回必须加括号 return (<div><div>hello world</div><div>aaaaaaa</div></div>) 2、定义数据 数据绑定 constructor(){super()this.state={na

家庭和学生用户笔记本电脑配置方案

2.6.1  家庭和学生用户笔记本电脑配置方案   2.6.1  家庭和学生用户笔记本电脑配置方案   普通家庭用户、学生用户主要用于上网、娱乐、学习等,这类用户要求笔记本电脑的各方面 功能比较均衡。在选购此类笔记本电脑时,主要考虑外观设计方面要比较时尚,而且性能上也要 够强,一些大型复杂的软件以及目前的主流游戏都要能够流畅地运行才行。   对于CPU方面,可以考虑目前主流的第二