/** 转载请保留原地址以及版权声明,请勿恶意修改

*  作者:杨浩瑞  QQ:1420213383  独立博客:http://www.yxxrui.cn

* 【后台】http://xiaoshuo.qqsiot.cn/manager 【前台】http://y6.qqsiot.cn

*  管理员账号:admin  渠道商账号:channel  代理商账号:agent  演示密码:123456

**/


一、微信小说分销系统是什么?

微信小说分销系统是一种合法变现系统,通过购买小说,添加到系统中,然后寻找一些需要粉丝变现的公众号管理者来做自己的渠道商,然后读者阅读小说,充值的钱80%-90%直接给渠道商。平台收取10%-20%,当然,比例自己可以设置。

二、为什么要多网页授权登录

对于微信小说分销系统来说,必然会出现多个公众号的情况,其实就是多个渠道商,每个渠道商都拥有一个公众号,为了更好的隔离渠道商,设计每个渠道商分配一个专属子域名,比如y{0}.qqsiot.cn。

为了更好的用户体验,需要实现自动登录和识别用户的功能,这样读者打开网站的时候不需要输入账号和密码之类的信息来验证信息,除了自动登录,还可以方便后期付款的时候可以调起微信支付。

三、多公众号设计方案

既然考虑到用户体验,不想让验证账号密码,减少繁琐的步骤,那么直接使用微信的无感授权登录方式,snsapi_base方式可以在用户没有关注公众号的时候获取到该用户的openid,并且不需要谈起授权页面,对于用户来说,整个过程是无感的,但是不好的地方在于,此方法无法获取到用户的详细信息,比如昵称、性别、年龄等(不方便后期分析网站的用户喜好和分布)。还有一种方式:snsapi_userinfo,此方式如果是从公众号内部进入的话是没有授权弹窗的,但是如果用户没有关注公众号,此时会弹出是否授权的页面,如果用户拒绝授权,那势必会造成一些不好的后果。

虽然snsapi_base方式无法获取到用户详细信息,但是可以考虑使用其他的办法解决,两个地方可以处理:

1、当用户阅读到一定章节的时候,提示关注公众号,关注成功后,微信会向我们的服务器推送一条关注消息,此时通过微信的获取用户消息接口去获取该用户的信息

  收到的关注推送如下:

2、每次阅读时需要判断是否关注,若用户未关注,则提示关注,若已关注,并且数据库中记录是未关注,那么更新一下用户的详细信息

上边两个地方都提到了获取用户详细信息的接口,接口地址为:https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN

可以获取到如下信息:

有点跑题了,言归正传.

四、后台配置基本的公众号信息

每个渠道商可以后台设置自己的公众号的微信号、AppId、AppSecret,然后再微信公众号后台配置授权域名等信息,如下图:

微信后台需要配置的信息如下图:

五、源码分析

这些配置好之后,在数据库中保存这些信息,当用户打开网站的时候,拿出这些信息去授权。

不要一味地去授权,先判断一下是不是在微信浏览器打开的,如果是的话才会去授权,如果不是的话,跳转到关注页面,此页面也是自己写的,上边有公众号的二维码,方便用户使用手机微信扫描关注。

如果是微信端,那么先获取渠道商的AppId,并且记录授权后需要跳转的地址,甚至是获取code和openid后再次跳转的地址。

此时授权成功,并且如果用户没有注册会自动注册,如果已经注册了,则直接打开刚才被拦截的页面,另外代码里边还写了支付页面的拦截,以此实现支付独立的功能。

后台手机查看,完美匹配

转载于:https://www.cnblogs.com/yxxrui/p/like_818tu_novels_zhangzhongyun.html

类似818tu.c微信小说分销系统设计之多公众号网页授权自动登录源码分享相关推荐

  1. Thinkphp 微信公众号开发3-微信登录源码

    Thinkphp 微信公众号开发3-微信登录源码 微信官方的开发文档 微信官方开发文档传送门 官方提供的方式 那我们要做的流程如下 虽然官方写了一堆文字看的一脸懵 但是我们只需要清楚流程就可以了 获取 ...

  2. 微信公众号网页授权思路解析及具体代码

    微信公众号网页授权思路解析及具体代码 微信开发文档 实现方式也是两种: 1.静默授权登录 授权登录以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静 ...

  3. php微信授权没有code返回,解决关于微信公众号网页授权获取code参数的问题

    解决关于微信公众号网页授权获取code参数的问题 发布时间:2018-07-24 23:21, 浏览次数:3327 , 标签: code * 在微信网页授权过程中,需要获取code参数,因为我用的是公 ...

  4. 微信公众号网页授权--前端获取code及用户信息(vue)

    前段时间开发微信公众号网页授权,虽然网上已经有很多关于这方面的博客或者教程,但是第一次开发还是遇到挺多坑的,以下分享一下我的踩坑填坑之路. 一.测试号相关配置 首先在你公司申请的测试号上配置好相关信息 ...

  5. 微信公众号网页授权--前端获取code及用户信息(vue)【简单详细版】

    嗨喽大家好,前段时间开发微信公众号网页授权,虽然网上已经有很多关于这方面的博客或者教程,但是第一次开发还是遇到挺多坑的,以下分享一下我的遇到的一些问题的见解,希望对你们有帮助. 一.测试号相关配置 首 ...

  6. 微信网页扫码登录和公众号网页授权登录的比较

    最近在做PC二维码扫码登录的功能,总结了一些问题 # 主要区别 二者的主要区别: 差异 PC网页扫码登录 公众号网页授权登录 账号要求 需要开放平台账号创建网站应用 一个认证过的服务号就可以(也可以使 ...

  7. 从零接入微信公众号(Java实现 附源码)

    目录 从零接入微信公众号 一.微信测试号的申请与关注 1.申请 2.访问域名配置 3.关注 二.测试号快速生成底部导航栏 1.获取 access_token 2.自定义菜单 三.微信公众号网页授权 1 ...

  8. 微信公众号网页授权,获取用户信息以及openid -- PHP后台

    微信公众号网页授权,获取用户信息以及openid 这几天做项目,想通过公众号的appid获取用户的openid就,然后在网上查资料,问朋友,最后找到了方法,就是这个网页授权. 起初一直很蒙,这个怎么弄 ...

  9. 微信公众号网页授权时序图

    微信公众号网页授权时序图 公众号网页授权时序图

  10. 微信公众号网页授权登录的超简单实现步骤

    微信开放平台为第三方移动程序提供分享.传播的接口, 使用户可将第三方程序的内容发布给好友或分享至朋友圈, 下面这篇文章主要给大家介绍了关于微信公众号网页授权登录的超简单实现方法, 需要的朋友可以参考下 ...

最新文章

  1. android 轮播 中间变大,如何实现中间大两头小的轮播效果
  2. iptables利用ipt_recent做防刷限制
  3. Android快速阅读依赖的代码,Java Android快速阅读完整文件
  4. 机器学习第4天:线性回归及梯度下降
  5. oracle 202,Oracle Certification 1Z0-202题库
  6. Android取消EditText自动获取焦点默认行为
  7. vuex-class用法
  8. 三维数组设置索引_10-Unity入门学习之C#基础9「数组」
  9. PHP单选框实现的方法,jQuery简单实现遍历单选框的方法
  10. std string与线程安全,是std :: regex线程安全吗?
  11. 轻量级 HTTP(s) 代理 TinyProxy
  12. 数学建模学习笔记(六):排队论模型
  13. 支持html手机音乐代码,仿酷狗html5手机音乐播放器主要部分代码分享
  14. html实现多文件打包下载 (mp4文件)
  15. CSS3炫酷模糊发光文字动画js特效
  16. 美国南加州大学骆沁毅:构建高性能的异构分布式训练算法
  17. Oracle数据库递归查询
  18. javaee之spring3
  19. Async 异步转同步
  20. 编写一个简单的javaweb网上商城项目

热门文章

  1. Android实现文字和图片混排(文字环绕图片)效果
  2. SVPWM算法原理及详解
  3. 如何利用 Flutter 实现炫酷的 3D 卡片和帅气的 360° 展示效果
  4. 每日一题_36. 有效的数独
  5. Python OpenCV 美女换装,图像处理取经之旅第 19 天
  6. scrt_sfx安装
  7. EDA软件_AD14绘制等长线
  8. 二次规划(QP)与OSQP求解器
  9. Hashtable--练习题44:把繁体字转换为简体字
  10. 在线解方程软件集合(收藏)