手机微信隐藏电脑端登录端web网站,怎么用微信登录

微信,是一个生活方式 超过十亿人使用的手机应用 支持发送语音短信、视频、图片和文字 可以群聊,仅耗少量流量,适合大部分智能手机
微信 2.3.6 for Mac 发布
微信 for iOS / Android
微信 2.6.3 for Windows 发布
微信网页版 扫一扫二维码 就能在浏览器上使用微信
微信 Mac 版 极致简洁,迅捷沟通
微信 Windows 版 让沟通更方便扫描二维码手机浏览
请完成以下验证码
KEYICMS/教程
网站/微信源码
JS插件/素材
手机网站模板
响应式模板
PC网站模板
KEYICMS模板
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
HTML5手机网站
Discuz模板
响应式模板
HTML5后台模板
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
jQuery/js插件
Discuz!插件
APP及手机网站UI/素材
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
科蚁网小编/
前端加油站
前端发展很快,现代浏览器原生 API 已经足够好用。我们并不需要为了操作 DOM、Event 等再学习一下 jQuery 的 API。同时由于 React、Angular、Vue 等框架的流行,直接操作 DOM 不再是好的模式,j
在《Effective前端6:避免页面卡顿》这篇里面介绍了浏览器渲染页面的过程:并且《从Chrome源码看浏览器如何构建DOM树》介绍了第一步如何解析Html构建DOM树,这个过程大概如下:浏览器每收到一段
假设有以下html/css:div style=&border:1px solid #000; width:50%; height: 100 margin: 0 auto&/div这在浏览器上面将显示一个框:为了画出这个框,首先要知道从哪里开始画、画多大,其次
一位前端开发者分享她的工作流与理想工具集选项。每个新项目总会带来一段令人兴奋的旅程,但糟糕的规划也可能毁掉这一切。人们往往将前端开发工作流程视为繁琐且优先级较低的任务,但由此带来的
本文主要讲了实际业务在结合 vue 开发的过程中的探索与实践。业务介绍基于目标用户的孩子画像,打通、聚合京东现有体系关联资源,建立共生关系的开放式生态平台,涵盖满足家庭陪伴孩子成长过程
响应式Web设计的运用越来越更加广泛。因此,做为一名Web开发人员和前端设计师,我们有必要了解更多的有关于响应式设计的工具和资源,使其更容易为我们创建响应式的Web站点。前面本站为大家推荐
每周,优设的小编们都会从浩瀚的互联网里,帮您精挑细选最优秀的网站设计。静下心来,抽出十分钟来看看国外最新的设计流行趋势吧。点击网站链接可以直接跳转到网站。MosaicSiminkiGroovesharkCr
强烈推荐:25个超赞的色块化、模块化网页!Web 设计的8大趋势中,其中就包含了色块设计、超大号的图片、聚焦简洁、响应式设计、视差滚动、强调字体。辣!25个鲜活灵动的案例来了,绝对会有打动
推荐:网页设计趋势案例:15个华丽丽的模糊大背景网页设计现在大模糊背景图像在网页设计中越来越受欢迎,高斯模糊的加入不仅创建了一个朦胧弥漫的效果,具备高端观赏性的同时,它还可以强制性引
这些网站里汇集了不同类别的设计素材,比如icon、字体、平面、PS、网页模板等等,每一个都是国际上的人气大站,值得设计师们收藏起来。1、Lava360Lava360是一个平面设计和网页设计博客站点,主
编者按:今天@意匠id介绍的这10个网站,除了有海量的LOGO设计案例,有的还附上了完整详实的介绍,无论是汲取灵感还是学习知识都非常方便。话不多说,直接上干货!Brands of the world这是一个非
每年年底总结总能给过去的一年收个尾,为新的一年找准方向,越来越多的科技企业、设计机构也开始热衷于在网站上呈现年度总结。虽然传统意义上的正式评估会让人觉得枯燥,但是在网页设计的圈子里
HTML5资讯动态
关注H5行业前沿资讯了解最新发展方向
论坛交流心得
遇到问题无法解决?不用担心新手疑难杂症
建站必备工具
快速下载工具工欲善其事,必先利其器
& 扫码关注科蚁网
Copyright (C)
All rights reserved.
科蚁网力争为建站爱好者提供最好最全的HTML5网站模板、教程、jquery特效、网站源码等资源, 部分资源来自网络收集及网友发布,并不代表本站观点,如果本站部分内容侵犯您的权益,请您告知,科蚁网会立即处理。
Powered by Discuz! X3.4&
版权所有:成都智创科蚁科技有限公司扫一扫,随时随地挑选人才和公司
全球知识工作者一站式工作平台
随时掌握一手咨询
手机web网页,同时,该网页可以在微信公众号中显示
参与此项目的服务商
近3个月成交0笔|好评率
等2位服务商参与了此项目
项目需求详情:
做一个类似拼车的网站
圆满完成的项目
进行中的项目要求:公众号必须先认证,认证费用¥300/年,比较黑
一、微信登录核心代码
//核心代码,没判断异常
1、登录页面
protected void Page_Load(object sender, EventArgs e)
if (!IsPostBack)
string appid = "wx86d";
string redirect_uri = HttpUtility.UrlEncode("http://www.114390.com/");
url = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + appid + "&redirect_uri=" + redirect_uri + "&response_type=code&scope=snsapi_userinfo&state=STATE#wechat_redirect";
2、登录成功后回调页面
protected void Page_Load(object sender, EventArgs e)
if (!IsPostBack)
string appid = "wx86d";
string AppSecret="16fedfafjkdfjkdjfkdjfer3er5jkdfjrer5";
if (!string.IsNullOrEmpty(Request.QueryString["code"]))
//第一步:通过回调地址获取code
string code = Request.QueryString["code"];
//第二步:通过code换取网页授权access_token
string url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=" + appid + "&secret=" + AppSecret + "&code=" + code + "&grant_type=authorization_code";
string html = MyCLib.NetClass.SendUrl(url,System.Text.Encoding.UTF8);
NameValueCollection tokenJSON = ParseJson(html);
Dictionary&string, string& tokenJSON = JsonConvert.DeserializeObject&Dictionary&string, string&&(html);
string access_token = tokenJSON["access_token"];
string openid = tokenJSON["openid"];
//第三步:拉取用户信息(需scope为 snsapi_userinfo)
url = "https://api.weixin.qq.com/sns/userinfo?access_token=" + access_token + "&openid=" + openid + "&lang=zh_CN";
html = MyCLib.NetClass.SendUrl(url, System.Text.Encoding.UTF8);
Dictionary&string, string& userJSON = JsonConvert.DeserializeObject&Dictionary&string, string&&(html);
Response.Write("北京时间:" + DateTime.Now.ToString());
Response.Write("&br&");
Response.Write("&b&微信登录成功,获取用户信息&/b&");
Response.Write("&br&&br&&br&");
Response.Write("昵称:" + userJSON["nickname"]);
Response.Write("&br&");
string[] arrSex = { "未知","男","女"};
Response.Write("性别:" + arrSex[int.Parse(userJSON["sex"].Replace(",", ""))]);
Response.Write("&br&");
Response.Write("省份:" + userJSON["province"]);
Response.Write("&br&");
Response.Write("城市:" + userJSON["city"]);
Response.Write("&br&");
string headimgurl = userJSON["headimgurl"].Replace(@"\/", "/");
Response.Write("头像:&img src='" + headimgurl + "' width='50px' height='50px'&");
Response.Write("&br&");
Response.Write("openid:" + userJSON["openid"]);
Response.Write("&br&");
Response.Write("unionid:" + userJSON["unionid");
Response.Redirect("login.aspx", true);
二、微信网页授权说明
如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。
关于网页授权回调域名的说明
1、在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的开发者中心页配置授权回调域名。请注意,这里填写的是域名(是一个字符串),而不是URL,因此请勿加 http:// 等协议头;&
2、授权回调域名配置规范为全域名,比如需要网页授权的域名为:www.qq.com,配置以后此域名下面的页面http://www.qq.com/music.html 、 http://www.qq.com/login.html 都可以进行OAuth2.0鉴权。但http://pay.qq.com 、 http://music.qq.com 、 http://qq.com无法进行OAuth2.0鉴权&
3、如果公众号登录授权给了第三方开发者来进行管理,则不必做任何设置,由第三方代替公众号实现网页授权即可&
关于网页授权的两种scope的区别说明
1、以snsapi_base为scope发起的网页授权,是用来获取进入页面的用户的openid的,并且是静默授权并自动跳转到回调页的。用户感知的就是直接进入了回调页(往往是业务页面)
2、以snsapi_userinfo为scope发起的网页授权,是用来获取用户的基本信息的。但这种授权需要用户手动同意,并且由于用户同意过,所以无须关注,就可在授权后获取该用户的基本信息。&
3、用户管理类接口中的&获取用户基本信息接口&,是在用户和公众号产生消息交互或关注后事件推送后,才能根据用户OpenID来获取用户基本信息。这个接口,包括其他微信接口,都是需要该用户(即openid)关注了公众号后,才能调用成功的。&
关于网页授权access_token和普通access_token的区别
1、微信网页授权是通过OAuth2.0机制实现的,在用户授权给公众号后,公众号可以获取到一个网页授权特有的接口调用凭证(网页授权access_token),通过网页授权access_token可以进行授权后接口调用,如获取用户基本信息;&
2、其他微信接口,需要通过基础支持中的&获取access_token&接口来获取到的普通access_token调用。&
关于UnionID机制
1、请注意,网页授权获取用户基本信息也遵循UnionID机制。即如果开发者有在多个公众号,或在公众号、移动应用之间统一用户帐号的需求,需要前往微信开放平台(open.weixin.qq.com)绑定公众号后,才可利用UnionID机制来满足上述需求。&
2、UnionID机制的作用说明:如果开发者拥有多个移动应用、网站应用和公众帐号,可通过获取用户基本信息中的unionid来区分用户的唯一性,因为同一用户,对同一个微信开放平台下的不同应用(移动应用、网站应用和公众帐号),unionid是相同的。&
关于特殊场景下的静默授权
1、上面已经提到,对于以snsapi_base为scope的网页授权,就静默授权的,用户无感知;&
2、对于已关注公众号的用户,如果用户从公众号的会话或者自定义菜单进入本公众号的网页授权页,即使是scope为snsapi_userinfo,也是静默授权,用户无感知。&
具体而言,网页授权流程分为四步:
1、引导用户进入授权页面同意授权,获取code&
2、通过code换取网页授权access_token(与基础支持中的access_token不同)&
3、如果需要,开发者可以刷新网页授权access_token,避免过期&
4、通过网页授权access_token和openid获取用户基本信息(支持UnionID机制)&
第一步:用户同意授权,获取code
在确保微信公众账号拥有授权作用域(scope参数)的权限的前提下(服务号获得高级接口后,默认拥有scope参数中的snsapi_base和snsapi_userinfo),引导关注者打开如下页面:
https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect
若提示&该链接无法访问&,请检查参数是否填写错误,是否拥有scope参数对应的授权作用域权限。&
尤其注意:由于授权操作安全等级较高,所以在发起授权请求时,微信会对授权链接做正则强匹配校验,如果链接的参数顺序不对,授权页面将无法正常访问
参考链接(请在微信客户端中打开此链接体验)
scope为snsapi_base
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx520c15f&redirect_uri=https%3A%2F%2Fchong.qq.com%2Fphp%2Findex.php%3Fd%3D%26c%3DwxAdap
ter%26m%3DmobileDeal%26showwxpaytitle%3D1%26vb2ctag%3D4_4_60&response_type=code&scope=snsapi_bas
e&state=123#wechat_redirect
Scope为snsapi_userinfo
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wxf0e81c3bee622d60&redirect_uri=http%3A%2F%2Fnba.bluewebgame.com%2Foauth_response.php&response_type=
code&scope=snsapi_userinfo&state=STATE#wechat_redirect&
尤其注意:跳转回调redirect_uri,应当使用https链接来确保授权code的安全性。
公众号的唯一标识
redirect_uri
授权后重定向的回调链接地址,请使用urlencode对链接进行处理
response_type
返回类型,请填写code
应用授权作用域,snsapi_base (不弹出授权页面,直接跳转,只能获取用户openid),snsapi_userinfo (弹出授权页面,可通过openid拿到昵称、性别、所在地。并且,即使在未关注的情况下,只要用户授权,也能获取其信息)
重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节
#wechat_redirect
无论直接打开还是做页面302重定向时候,必须带此参数
下图为scope等于snsapi_userinfo时的授权页面:
用户同意授权后
如果用户同意授权,页面将跳转至&redirect_uri/?code=CODE&state=STATE。
code说明 : code作为换取access_token的票据,每次用户授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期。&
第二步:通过code换取网页授权access_token
首先请注意,这里通过code换取的是一个特殊的网页授权access_token,与基础支持中的access_token(该access_token用于调用其他接口)不同。公众号可通过下述接口来获取网页授权access_token。如果网页授权的作用域为snsapi_base,则本步骤中获取到网页授权access_token的同时,也获取到了openid,snsapi_base式的网页授权流程即到此为止。
尤其注意:由于公众号的secret和获取到的access_token安全级别都非常高,必须只保存在服务器,不允许传给客户端。后续刷新access_token、通过access_token获取用户信息等步骤,也必须从服务器发起。
获取code后,请求以下链接获取access_token: &
https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code&
公众号的唯一标识
公众号的appsecret
填写第一步获取的code参数
grant_type
填写为authorization_code &&
正确时返回的JSON数据包如下:
{ "access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE" }
access_token
网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同
expires_in
access_token接口调用凭证超时时间,单位(秒)
refresh_token
用户刷新access_token
用户唯一标识,请注意,在未关注公众号时,用户访问公众号的网页,也会产生一个用户和公众号唯一的OpenID
用户授权的作用域,使用逗号(,)分隔
错误时微信会返回JSON数据包如下(示例为Code无效错误):
{"errcode":40029,"errmsg":"invalid code"}
第三步:刷新access_token(如果需要)
由于access_token拥有较短的有效期,当access_token超时后,可以使用refresh_token进行刷新,refresh_token有效期为30天,当refresh_token失效之后,需要用户重新授权。
获取第二步的refresh_token后,请求以下链接获取access_token: &
https://api.weixin.qq.com/sns/oauth2/refresh_token?appid=APPID&grant_type=refresh_token&refresh_token=REFRESH_TOKEN
公众号的唯一标识
grant_type
填写为refresh_token
refresh_token
填写通过access_token获取到的refresh_token参数 &
正确时返回的JSON数据包如下:
{ "access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE" }
access_token
网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同
expires_in
access_token接口调用凭证超时时间,单位(秒)
refresh_token
用户刷新access_token
用户唯一标识
用户授权的作用域,使用逗号(,)分隔
错误时微信会返回JSON数据包如下(示例为code无效错误):
{"errcode":40029,"errmsg":"invalid code"}
第四步:拉取用户信息(需scope为 snsapi_userinfo)
如果网页授权作用域为snsapi_userinfo,则此时开发者可以通过access_token和openid拉取用户信息了。
http:GET(请使用https协议)
https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN&
access_token
网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同
用户的唯一标识
返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语
正确时返回的JSON数据包如下:
"openid":" OPENID",
" nickname": NICKNAME,
"sex":"1",
"province":"PROVINCE"
"city":"CITY",
"country":"COUNTRY",
"headimgurl":
"http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ
4eMsv84eavHiaiceqxibJxCfHe/46",
"privilege":[ "PRIVILEGE1" "PRIVILEGE2"
"unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"
json格式化工具:
用户的唯一标识
用户的性别,值为1时是男性,值为2时是女性,值为0时是未知
用户个人资料填写的省份
普通用户个人资料填写的城市
国家,如中国为CN
headimgurl
用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空。若用户更换头像,原有头像URL将失效。
用户特权信息,json 数组,如微信沃卡用户为(chinaunicom)
只有在用户将公众号绑定到微信开放平台帐号后,才会出现该字段。
错误时微信会返回JSON数据包如下(示例为openid无效):
{"errcode":40003,"errmsg":" invalid openid "}
微信公众平台开发说明:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp&token=&lang=zh_CN
C#微信登录-电脑版扫描二维码登录请看我上一篇文章
阅读(...) 评论()通过微信公众号平台网页授权机制,实现登录功能 - 简书
通过微信公众号平台网页授权机制,实现登录功能
在日常开发中越来越多的使用到微信开放平台的OAuth授权认证实现登录逻辑,这样即能快速的开发,又能依托于微信帝国的强大用户量来实现用户转化。但是从网站方出发点看,我们可以做更多事情,更好与用户进行交互,以便更高效的转化用户。
微信开放平台登录
传统的微信开放平台登录的流程为:
扫描二维码
在手机端微信确认登录
接收到微信消息提醒
就是这个第三步对于我们是在是没什么用处,如果这里收到的是我们定制的一些信息那就太棒了,比如说登录成功后用户接收到一些网站方的推广信息。
微信公众号平台登录
下面我们就利用公众号平台的网页授权机制来实现登录功能:
如果用户在微信客户端中访问第三方网页,公众号可以通过微信网页授权机制,来获取用户基本信息,进而实现业务逻辑。
分配登录二维码:
因为微信网页授权是没有二维码扫描的步骤的,所以二维码要自己生成。又因为,整个登录流程中涉及的到三方设备(Server、手机、web),导致session无法得到共享,所以要分配身份标识(本例中使用uuid)。
web 端进行长轮询
当手机进行扫码动作时,导致web端的进程中断,服务端无法通知浏览器登录状态,所以web端浏览器要和Server端保持长连接(推荐使用websocket)进行通讯。
手机端微信扫码
手机微信内显示登录成功后的网页
这四步中其实主要问题就在于如何进行手机和web的session映射,进而使用长连接通知浏览器登录状态。当登录成功后,我们可以自主的向用户推送我们想要用户看到的页面。
gongzili456#gmail.com
X399平台点睛之笔ZENITHEXTREME引爆性能狂潮 近期,X399平台的顶级性能浮出水面,各家媒体的全方位测试犹如一支强心剂,让PC玩家大呼过瘾。我们惊喜地发现,国内外各大科技媒体一致选用了ROGZENITH EXTREME这款主板。它是华硕目前最顶级的X399芯片...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金相信有很多朋友...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金 相信有很多...
一、什么是OAuth2.0 官方网站:http://oauth.net/ http://oauth.net/2/ 权威定义:OAuth is An open protocol to allow secure authorization in a simple and sta...
很早前就想了解下微信公众号开发,懒和拖延症让这计划迟迟没落实,正巧新项目有了微信公众号的业务,我心中没数地回应,我来!顿时,无形的压力向上冒,不知何从下手,果然是矛盾体质,好奇向往新事物又恐惧陌生,心中两种声音在争论,保守派说你摊上了,激进派说微信小程序都推行了,还不去了解...
一.君子报仇,十年不晚 锣鼓喧天,张灯结彩。今晚的严府无疑是京城最热闹的地方。 看那满座宾朋,看那满桌珍馐,看那满堂华服,看那满庭贺礼。而这一切锦衣玉食散发的光,都不及正襟危坐在高堂之上位极人臣的权力中心——严嵩。 我注视着严嵩,这个嘉靖皇帝身边红透半边天的内阁首辅,大明王...
先要感谢茶学的小哥哥小姐姐和参演人带来的精彩表演,还有后天辛苦的工作人员们。 一场开场舞惊艳到了我。在此之前,茶在我们印象中就是柔弱似水的,如流水缓缓流淌一般。今天却给了我另一种感觉,音乐、舞蹈,都让我知道,茶,也可以是豪放不羁的,这样的感觉,和武侠小说中描写的英雄会面很相...
题记——生物的一切行为都是为了将自己的基因延续下去,这一观点基本能够解释当前绝大部分的生物行为 1.刚出生的幼鸟,不到2个小时,就要面临人生的第一次抉择,他们必须从高200米的悬崖跳下去,没有任何保护措施,只能依靠翅膀的挥动来略微的减缓下落的速度。这一窝有5个小宝宝,他们全...
一棵草 在山角处 飞来的蝴蝶 迟疑的落下 仅暂歇一会 没说一句话 又飞离了 那棵草
0 因为一直都在这个时间管理的圈子,在过去 2011 年起,那时候还是大四(2012 年时我才大五毕业)就开始做各种关于效率提升的分享与培训,然后发现一种普遍的现象,听的时候可以非常兴奋,不过结束之后也就是结束了,95% 以上的人在生活上面没有任何变化。 后来身边又慢慢多了...}

我要回帖

更多关于 微信签到一天10元 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信