注册微信要微信深圳通只可以扫一个人吗帮忙扫才可以注册,谁都扫码呢

1、注册微信开发平台
自行注册,需要注意的是注册邮箱号不用与腾讯其他产品同号。
2、微信开发平台添加网站应用
以上资料提交之后等待TX审核,审核时间大概2天左右,审核通过之后就可以查看AppID AppSecret以及申请微信登录。
注意:如果注册完的开放平台之后有进行开发者认证时,审核通过之后微信登录默认是开通的,如果没有进行开发者认证点击申请开通 时会提醒进行开发者认证(如下图)
3、PC微信登录流程介绍
网站应用微信登录是基于OAuth2.0协议标准构建的微信OAuth2.0授权登录系统。进一步了解OAuth2.0—–
大致的步骤如下:
1. 第三方发起微信授权登录请求,微信用户允许授权第三方应用后,微信会拉起应用或重定向到第三方网站,并且带上授权临时票据code参数;
2. 通过code参数加上AppID和AppSecret等,通过API换取access_token;
3. 通过access_token进行接口调用,获取用户基本数据资源或帮助用户实现基本操作。
具体的步骤如下:
第一步:请求CODE
应用唯一标识
redirect_uri
重定向地址,需要进行UrlEncode
response_type
应用授权作用域,拥有多个作用域用逗号(,)分隔,网页应用目前仅填写snsapi_login即可
用于保持请求和回调的状态,授权请求后原样带回给第三方。该参数可用于防止csrf攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简单的随机数加session进行校验
若提示“该链接无法访问”,请检查参数是否填写错误,如redirect_uri的域名与审核时填写的授权域名不一致或scope不为snsapi_login。
用户允许授权后,将会重定向到redirect_uri的网址上,并且带上code和state参数
redirect_uri?code=CODE&state=STATE
若用户禁止授权,则重定向后不会带上code参数,仅会带上state参数
redirect_uri?state=STATE
<pre class="prettyprint prettyprinted" data-original-code="
private static String qrconnect_url = &https://open.weixin.qq.com/connect/qrconnect&;
* 生成网页二维码授权链接
* @param appId 应用id
* @param redirect_uri 回跳地址
* @return url
public static String getQrConnectURL(String appId, String redirect_uri) {
return getQrConnectURL(appId, redirect_uri, null);
* 生成网页二维码授权链接
* @param appId 应用id
* @param redirect_uri 回跳地址
* @param state 重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节
* @return url
public static String getQrConnectURL(String appId, String redirect_uri, String state) {
Map params = new HashMap();
params.put(&appid&, appId);
params.put(&response_type&, &code&);
params.put(&redirect_uri&, redirect_uri);
params.put(&scope&, &snsapi_login&);
if (StrKit.isBlank(state)) {
params.put(&state&, &wx#wechat_redirect&);
params.put(&state&, state.concat(&#wechat_redirect&));
String para = PaymentKit.packageSign(params, false);
return qrconnect_url + &?& +
}" data-snippet-id="ext.804f0a1ff" data-snippet-saved="false" data-codota-status="done">
private static String qrconnect_url = "https://open.weixin.qq.com/connect/qrconnect";
* 生成网页二维码授权链接
* appId 应用id
* redirect_uri 回跳地址
public static String getQrConnectURL(String appId, String redirect_uri) {
return getQrConnectURL(appId, redirect_uri, null);
* 生成网页二维码授权链接
* appId 应用id
* redirect_uri 回跳地址
* state 重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节
public static String getQrConnectURL(String appId, String redirect_uri, String state) {
Map&String, String& params = new HashMap&String, String&();
params.put("appid", appId);
params.put("response_type", "code");
params.put("redirect_uri", redirect_uri);
params.put("scope", "snsapi_login");
if (StrKit.isBlank(state)) {
params.put("state", "wx#wechat_redirect");
params.put("state", state.concat("#wechat_redirect"));
String para = PaymentKit.packageSign(params, false);
return qrconnect_url + "?" +
1、设置AppId、APPSecret以及回调域名
2、PC访问测试。开源项目中访问地址为:
http://域名/[项目名称]/toWebOauth
//pc扫描登陆
public void toWebOauth(){
String calbackUrl=PropKit.get("domain")+"/oauth/webCallBack";
String url=SnsAccessTokenApi.getQrConnectURL(PropKit.get("webAppId"), calbackUrl,"666");
redirect(url);
如果授权回调域名与开发平台中的填写不一致将会出现以下提示
第二步:通过code获取access_token
第三步:通过access_token调用接口获取用户信息
第二步、第三步过程与微信公众号授权登录一样可以参考之前写的一篇文章
授权后接口调用(UnionID)
获取用户个人信息(UnionID机制)
此接口用于获取用户个人信息。开发者可通过OpenID来获取用户基本信息。特别需要注意的是,如果开发者拥有多个移动应用、网站应用和公众帐号,可通过获取用户基本信息中的unionid来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号,用户的unionid是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid是相同的。请注意,在用户修改微信头像后,旧的微信头像URL将会失效,因此开发者应该自己在获取用户信息后,将头像图片保存下来,避免微信头像URL失效后的异常情况。
接口封装可以参考开源项目中
网页授权(公众号、PC)获取用户信息
params = new HashMap();
params.put(&appid&, appId);
params.put(&response_type&, &code&);
params.put(&redirect_uri&, redirectUri);
// snsapi_base(不弹出授权页面,只能拿到用户openid)
// snsapi_userinfo(弹出授权页面,这个可以通过 openid 拿到昵称、性别、所在地)
if (snsapiBase) {
params.put(&scope&, &snsapi_base&);
params.put(&scope&, &snsapi_userinfo&);
if (StrKit.isBlank(state)) {
params.put(&state&, &wx#wechat_redirect&);
params.put(&state&, state.concat(&#wechat_redirect&));
String para = PaymentKit.packageSign(params, false);
return authorize_uri + &?& +
* 生成网页二维码授权链接
* @param appId 应用id
* @param redirect_uri 回跳地址
* @return url
public static String getQrConnectURL(String appId, String redirect_uri) {
return getQrConnectURL(appId, redirect_uri, null);
* 生成网页二维码授权链接
* @param appId 应用id
* @param redirect_uri 回跳地址
* @param state 重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节
* @return url
public static String getQrConnectURL(String appId, String redirect_uri, String state) {
Map params = new HashMap();
params.put(&appid&, appId);
params.put(&response_type&, &code&);
params.put(&redirect_uri&, redirect_uri);
params.put(&scope&, &snsapi_login&);
if (StrKit.isBlank(state)) {
params.put(&state&, &wx#wechat_redirect&);
params.put(&state&, state.concat(&#wechat_redirect&));
String para = PaymentKit.packageSign(params, false);
return qrconnect_url + &?& +
* 通过code获取access_token
* @param code
第一步获取的code参数
* @param appId
应用唯一标识
* @param secret 应用密钥AppSecret
* @return SnsAccessToken
public static SnsAccessToken getSnsAccessToken(String appId, String secret, String code)
final Map queryParas = ParaMap.create(&appid&, appId).put(&secret&, secret).put(&code&, code).getData();
return RetryUtils.retryOnException(3, new Callable() {
public SnsAccessToken call() throws Exception {
String json = HttpUtils.get(url, queryParas);
return new SnsAccessToken(json);
}" data-snippet-id="ext.fc4c8e08b8a21ac8b08f430a8f26ad21" data-snippet-saved="false" data-codota-status="done">import com.jfinal.kit.StrK
import com.jfinal.weixin.sdk.kit.ParaM
import com.jfinal.weixin.sdk.kit.PaymentK
import com.jfinal.weixin.sdk.utils.HttpU
import com.jfinal.weixin.sdk.utils.RetryU
import java.util.HashM
import java.util.M
import java.util.concurrent.C
public class SnsAccessTokenApi
private static String url = "https://api.weixin.qq.com/sns/oauth2/access_token?grant_type=authorization_code";
private static String authorize_uri = "https://open.weixin.qq.com/connect/oauth2/authorize";
private static String qrconnect_url = "https://open.weixin.qq.com/connect/qrconnect";
* 生成Authorize链接
* appId 应用id
* redirect_uri 回跳地址
* snsapiBase snsapi_base(不弹出授权页面,只能拿到用户openid)snsapi_userinfo(弹出授权页面,这个可以通过 openid 拿到昵称、性别、所在地)
public static String getAuthorizeURL(String appId, String redirect_uri, boolean snsapiBase) {
return getAuthorizeURL(appId, redirect_uri, null, snsapiBase);
* 生成Authorize链接
* appId 应用id
* redirectUri 回跳地址
* state 重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节
* snsapiBase snsapi_base(不弹出授权页面,只能拿到用户openid)snsapi_userinfo(弹出授权页面,这个可以通过 openid 拿到昵称、性别、所在地)
public static String getAuthorizeURL(String appId, String redirectUri, String state, boolean snsapiBase) {
Map&String, String& params = new HashMap&String, String&();
params.put("appid", appId);
params.put("response_type", "code");
params.put("redirect_uri", redirectUri);
if (snsapiBase) {
params.put("scope", "snsapi_base");
params.put("scope", "snsapi_userinfo");
if (StrKit.isBlank(state)) {
params.put("state", "wx#wechat_redirect");
params.put("state", state.concat("#wechat_redirect"));
String para = PaymentKit.packageSign(params, false);
return authorize_uri + "?" +
* 生成网页二维码授权链接
* appId 应用id
* redirect_uri 回跳地址
public static String getQrConnectURL(String appId, String redirect_uri) {
return getQrConnectURL(appId, redirect_uri, null);
* 生成网页二维码授权链接
* appId 应用id
* redirect_uri 回跳地址
* state 重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值,最多128字节
public static String getQrConnectURL(String appId, String redirect_uri, String state) {
Map&String, String& params = new HashMap&String, String&();
params.put("appid", appId);
params.put("response_type", "code");
params.put("redirect_uri", redirect_uri);
params.put("scope", "snsapi_login");
if (StrKit.isBlank(state)) {
params.put("state", "wx#wechat_redirect");
params.put("state", state.concat("#wechat_redirect"));
String para = PaymentKit.packageSign(params, false);
return qrconnect_url + "?" +
* 通过code获取access_token
第一步获取的code参数
应用唯一标识
* secret 应用密钥AppSecret
* SnsAccessToken
public static SnsAccessToken getSnsAccessToken(String appId, String secret, String code)
final Map&String, String& queryParas = ParaMap.create("appid", appId).put("secret", secret).put("code", code).getData();
return RetryUtils.retryOnException(3, new Callable&SnsAccessToken&() {
public SnsAccessToken call() throws Exception {
String json = HttpUtils.get(url, queryParas);
return new SnsAccessToken(json);
用户管理接口,获取用户基本信息(UnionID机制)
* https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
public class UserApi {
private static String getUserInfo = &https://api.weixin.qq.com/cgi-bin/user/info&;
private static String getFollowers = &https://api.weixin.qq.com/cgi-bin/user/get&;
private static String batchGetUserInfo = &https://api.weixin.qq.com/cgi-bin/user/info/batchget?access_token=&;
* 获取用户基本信息(包括UnionID机制)
* @param openId 普通用户的标识,对当前公众号唯一
* @return ApiResult
public static ApiResult getUserInfo(String openId) {
ParaMap pm = ParaMap.create(&access_token&, AccessTokenApi.getAccessTokenStr()).put(&openid&, openId).put(&lang&, &zh_CN&);
return new ApiResult(HttpUtils.get(getUserInfo, pm.getData()));
* 获取用户列表
* @param nextOpenid 第一个拉取的OPENID,不填默认从头开始拉取
* @return ApiResult
public static ApiResult getFollowers(String nextOpenid) {
ParaMap pm = ParaMap.create(&access_token&, AccessTokenApi.getAccessTokenStr());
if (nextOpenid != null)
pm.put(&next_openid&, nextOpenid);
return new ApiResult(HttpUtils.get(getFollowers, pm.getData()));
* 获取用户列表
* @return ApiResult
public static ApiResult getFollows() {
return getFollowers(null);
* 批量获取用户基本信息, by Unas
* @param jsonStr json字符串
* @return ApiResult
public static ApiResult batchGetUserInfo(String jsonStr) {
String jsonResult = HttpUtils.post(batchGetUserInfo + AccessTokenApi.getAccessTokenStr(), jsonStr);
return new ApiResult(jsonResult);
* 批量获取用户基本信息
* @param openIdList openid列表
* @return ApiResult
public static ApiResult batchGetUserInfo(List openIdList) {
Map<String, List<Map>> userListMap = new HashMap<String, List<Map>>();
List<Map> userList = new ArrayList<Map>();
for (String openId : openIdList) {
Map mapData = new HashMap();
mapData.put(&openid&, openId);
mapData.put(&lang&, &zh_CN&);
userList.add(mapData);
userListMap.put(&user_list&, userList);
return batchGetUserInfo(JsonUtils.toJson(userListMap));
private static String updateRemarkUrl = &https://api.weixin.qq.com/cgi-bin/user/info/updateremark?access_token=&;
* 设置备注名
* @param openid 用户标识
* @param remark 新的备注名,长度必须小于30字符
* @return {ApiResult}
public static ApiResult updateRemark(String openid, String remark) {
String url = updateRemarkUrl + AccessTokenApi.getAccessTokenStr();
Map mapData = new HashMap();
mapData.put(&openid&, openid);
mapData.put(&remark&, remark);
String jsonResult = HttpUtils.post(url, JsonUtils.toJson(mapData));
return new ApiResult(jsonResult);
" data-snippet-id="ext.08b5e5d62b4329261fcdd8" data-snippet-saved="false" data-codota-status="done">import com.jfinal.weixin.sdk.kit.ParaM
import com.jfinal.weixin.sdk.utils.HttpU
import com.jfinal.weixin.sdk.utils.JsonU
import java.util.ArrayL
import java.util.HashM
import java.util.L
import java.util.M
* 用户管理 API
* https://api.weixin.qq.com/cgi-bin/user/info?access_token=ACCESS_TOKEN&openid=OPENID&lang=zh_CN
public class UserApi {
private static String getUserInfo = "https://api.weixin.qq.com/cgi-bin/user/info";
private static String getFollowers = "https://api.weixin.qq.com/cgi-bin/user/get";
private static String batchGetUserInfo = "https://api.weixin.qq.com/cgi-bin/user/info/batchget?access_token=";
* 获取用户基本信息(包括UnionID机制)
* openId 普通用户的标识,对当前公众号唯一
* ApiResult
public static ApiResult getUserInfo(String openId) {
ParaMap pm = ParaMap.create("access_token", AccessTokenApi.getAccessTokenStr()).put("openid", openId).put("lang", "zh_CN");
return new ApiResult(HttpUtils.get(getUserInfo, pm.getData()));
* 获取用户列表
* nextOpenid 第一个拉取的OPENID,不填默认从头开始拉取
* ApiResult
public static ApiResult getFollowers(String nextOpenid) {
ParaMap pm = ParaMap.create("access_token", AccessTokenApi.getAccessTokenStr());
if (nextOpenid != null)
pm.put("next_openid", nextOpenid);
return new ApiResult(HttpUtils.get(getFollowers, pm.getData()));
* 获取用户列表
* ApiResult
public static ApiResult getFollows() {
return getFollowers(null);
* 批量获取用户基本信息, by Unas
* jsonStr json字符串
* ApiResult
public static ApiResult batchGetUserInfo(String jsonStr) {
String jsonResult = HttpUtils.post(batchGetUserInfo + AccessTokenApi.getAccessTokenStr(), jsonStr);
return new ApiResult(jsonResult);
* 批量获取用户基本信息
* openIdList openid列表
* ApiResult
public static ApiResult batchGetUserInfo(List&String& openIdList) {
Map&String, List&Map&String, Object&&& userListMap = new HashMap&String, List&Map&String, Object&&&();
List&Map&String, Object&& userList = new ArrayList&Map&String,Object&&();
for (String openId : openIdList) {
Map&String, Object& mapData = new HashMap&String, Object&();
mapData.put("openid", openId);
mapData.put("lang", "zh_CN");
userList.add(mapData);
userListMap.put("user_list", userList);
return batchGetUserInfo(JsonUtils.toJson(userListMap));
private static String updateRemarkUrl = "https://api.weixin.qq.com/cgi-bin/user/info/updateremark?access_token=";
* 设置备注名
* openid 用户标识
* remark 新的备注名,长度必须小于30字符
* {ApiResult}
public static ApiResult updateRemark(String openid, String remark) {
String url = updateRemarkUrl + AccessTokenApi.getAccessTokenStr();
Map&String, String& mapData = new HashMap&String, String&();
mapData.put("openid", openid);
mapData.put("remark", remark);
String jsonResult = HttpUtils.post(url, JsonUtils.toJson(mapData));
return new ApiResult(jsonResult);
[Android版-支付宝APP支付](
记录学习的点滴,以此勉励不断奋斗的自己???
扫码向博主提问
非学,无以致疑;非问,无以广识
擅长领域:
微信支付宝银联支付
微信小程序
微信公众号
通过微信扫描获取用户信息登陆网站
java开发Demo~微信扫码登录demo
微信PC端网站 微信扫码登陆
微信登陆 (微信PC扫码授权登陆) 简单的php代码
微信网页PC端登录扫二维码登录
有关于PC的扫码登录
简单的实现微信获取openid
java微信开发-之如何获取openid 和用户信息
没有更多推荐了,我刚注册个微信登录说我在新手机登录需要扫码验证怎么扫码啊微信都登不上_百度知道
我刚注册个微信登录说我在新手机登录需要扫码验证怎么扫码啊微信都登不上
&#xe6b9;答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
主要经营计算机网络服务,设计、制作、代理、发布国内各类广告,健康信息咨询。
重新验证呀下面的点下,就是微信登录界面下面有个图标选择最后一项就进入下面就有步骤了,
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。您需要通过验证再能继续浏览 3秒后开始验证
丨 粤ICP备号-10 丨 新三板上市公司威锋科技(836555)
增值电信业务经营许可证:
Powered by Discuz!
(C) Joyslink Inc. All rights reserved 保留所有权利主题 : 为什么微信的扫码要比我用的扫码引擎快很多
可可豆: * CB
威望: * 点
在线时间: (时)
注册时间: *
最后登录: *
发自: Web Page
为什么微信的扫码要比我用的扫码引擎快很多&&&
在做扫码的事情,二维码和条码。我试了ZXing、ZBar、还有苹果iOS7之后自带的扫码引擎。可是发现我的扫码总是没有微信的扫码快。而且,很多时候我的扫码没反应,可是微信的就可以扫出来。最严重的是条码。不知道是什么原因。有解决了的童鞋告诉我一下吧。万分感谢!也欢迎大家讨论!
级别: 新手上路
可可豆: 202 CB
威望: 126 点
在线时间: 86(时)
发自: Web Page
早前分析过微信,其也是用zbar,但估计有改过里面的算法。。。所以没办法。
可可豆: * CB
威望: * 点
在线时间: (时)
注册时间: *
最后登录: *
发自: Web Page
Zbar 是很早的东西了,现在源代码都没有维护和更新。ZXing也停止更新了。我测试了苹果自带的扫码,要比三方库快,但是没有微信快。
级别: 新手上路
可可豆: 14 CB
威望: 26 点
在线时间: 150(时)
发自: Web Page
扫描不是太慢的话都不成问题,我所了解的扫码实现也是ZXing、ZBar、还有苹果iOS7自带的,哪种方法简单好配置?
可可豆: * CB
威望: * 点
在线时间: (时)
注册时间: *
最后登录: *
发自: Web Page
ZXing和ZBar 导入的时候需要注意各种兼容,iOS7自带的不需要考虑这些。配置方面还是iOS7自带的方便简单一些。但是iOS7自带的有些弊端,就是扫描条形码不是很给力,遇到弯曲的条形(比如在瓶子上印制的)码就很难扫出来,但是扫描二维码就很给力,瞬间扫描。所以对比之下,我条形码用的是ZXing,二维码用的是iOS7自带。配置的时候要注意焦距,图片质量的配置,这样搭配下来会好很多。但是我现在还有一个问题没有解决,就是对焦速度不快,等对焦速度解决了的话就完美了。现在基本上和微信扫码的速度一样,不考虑对焦速度的话会比微信要快。等把对焦解决了,会提交我的代码,大家参考一下。
级别: 新手上路
可可豆: 14 CB
威望: 26 点
在线时间: 150(时)
发自: Web Page
我用ios7自带的测了一下,秒杀二维码,都没发现对焦这个过程
级别: 新手上路
可可豆: 32 CB
威望: 32 点
在线时间: 108(时)
发自: Web Page
求经验,求分享
级别: 新手上路
可可豆: 23 CB
威望: 23 点
在线时间: 362(时)
发自: Web Page
回 4楼(吊儿郎当、) 的帖子
求分享啊,zBar不支持64位有点不好用了&&&&
级别: 侠客
可可豆: 138 CB
威望: 138 点
在线时间: 358(时)
发自: Web Page
我想知道,我要是想扫相册图片里的二维码怎么办,iOS自带的能办到吗?
可可豆: * CB
威望: * 点
在线时间: (时)
注册时间: *
最后登录: *
发自: Web Page
回 8楼(frew) 的帖子
扫相册里的二维码用不能用iOS自带的,我用的是ZXing解码。
关注本帖(如果有新回复会站内信通知您)
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 关注CVP公众号
扫一扫 浏览移动版【自创】无须注册微信开放平台,使用pc扫二维码登陆 - ThinkPHP框架
做过的人都知道,要使用微信二维码登陆PC网站,不是直接用公众号appid
而是在 open.weixin.qq.com 申请 又要认证,又要交300块一年,腾讯真会挣钱那么我这里做了一个开发的流程图
可能画的不太好,没看懂的请加QQ群
案例已写好
(请注册一个账号,绑定好微信,然后用扫码登陆,暂时麻烦点,没绑定的用户不支持直接扫码绑定,先关注引粉丝哈!)
大概个意思,在这里写一下哈
PC站自己后成一个二维码,生成的时候做一个登陆码
(我称他为验证码,实际就是生成一个唯一的字符串)
我们把他存到临时的数据库,为什么是临时,因为用户登陆完就无效了
我们可以定时清理掉他
用户进行扫一扫的时候,其实就是打开了wap网站
这个登陆码同样带入到了wap网站,记录着,我pc站验证
用户在微信授权登陆(都到wap了,这里用的是公众号的appid了是吧)
用户登陆成功后,我们不是有个登陆码吗,将这个登陆的状态改变
将登陆成功的用户id写入,这样登陆码是不是有用户登陆了
然后我们返回pc站,PC站用AJAX无刷新的去查询这个登陆
查询到有登陆,直接将这个ID号设为登陆状态,那么我们的PC站是不是就登陆成功了
会不会还不明白呢,懂了点赞,不懂加QQ群
这个方法是我自己想出来的,当然互相网那到大,一定也有人有着同样的想法
当然可能有更好的方法,只是我还没想到
代码以后发上来,我暂时还没写好!&//----------------------------------------------------------
&//来源:&梦雪网络
&//作者:&小曾
&//交流群:&
&//官网:&www.php127.com
&//----------------------------------------------------------
积分:4781
ThinkPHP 是一个免费开源的,快速、简单的面向对象的 轻量级PHP开发框架 ,创立于2006年初,遵循Apache2开源协议发布,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,已经成长为国内最领先和最具影响力的WEB应用开发框架,众多的典型案例确保可以稳定用于商业以及门户级的开发。

我要回帖

更多关于 一个人可以注册几个微信号 的文章

 

随机推荐