• 前段时间写了关于微信支付接入,顺便就把获取用户昵称,头像的方式也归纳下,这个其实挺简单的,具体的方法看官方文档即可。这里只提几个重点。scope参数看过微信文档的话,微信的规定是,对于scope参数,如果需要...

    前段时间写了关于微信支付接入,顺便就把获取用户昵称,头像的方式也归纳下,这个其实挺简单的,具体的方法看官方文档即可。这里只提几个重点。

    scope参数

    看过微信文档的话,微信的规定是,对于scope参数,如果需要获取用户信息的话,scope参数为snsapi_userinfo。但是我接下来,使用过一次userinfo,实际上用snsapi_base也可以获得用户信息,一模一样的返回值,对于获取头像和昵称完全没有任何问题

    获取头像

    获取头像其实有一点麻烦的就是跨域问题。要解决这个跨域问题,可以采用设置一个代理服务器,或者通过配置相关服务器(ngix,apache)来解决。这个网上方法很多,我这里说的是不通过配置服务器的方法。

    在我们的项目中,我并不想使用配置一个web服务器或者代理,因为我们是游戏服务器,我们是自己实现的,并没有使用什么web服务器框架,那么这种情况下,我们解决跨域的问题就是由我们的服务器后端直接对跨域资源发起请求,在获得对应的资源后,再返回前端。OK,这就是具体方法

    具体实现时,其实很简单,获取到头像的url后,直接发起一个http请求并获取返回即可。

    注意:http请求方式为“GET”

    另外需要提的一点是,对response的返回,要直接使用stream.Read,如果使用streamReader,以文本方式读取字节流读出来的数据是无法转成图片的。(我查阅过MSDN关于这两个接口的说明,只是读取时一个是文本形式,一个是字节流形式,其他并没有过多的说有什么区别)。

    然后记得将字节流以Base64方式转换,交由我们的前端处理

    request = HttpWebRequest.Create(url);
    request.Method = "GET";
    response = request.GetResponse();
    stream = response.GetResponseStream();
    var buffer = new byte[4096];
    var num = stream.Read(buffer, 0, 4096);
    var head = Convert.ToBase64String(buffer, 0, num);
    
    stream.Dispose();
    response.Close();

    上面的代码有一个问题,我后来才注意到,就是当图片比较大的时候,比如头像地址最后的参数是64以上,或是/0(此时返回640*640大小的图片),这个时候,stream可能一次不能读取完所有的数据,所以修改代码为

    var request = HttpWebRequest.Create(url);
    request.Method = "GET";
    var response = request.GetResponse();
    var stream = response.GetResponseStream();
    var buffer = new byte[response.ContentLength];
    var num = stream.Read(buffer, 0, (int)response.ContentLength);
    var total = num;
    while(num > 0)
    {
        num = stream.Read(buffer, total, (int)(response.ContentLength - total));
        total += num;
    }
    head = Convert.ToBase64String(buffer, 0, total);
    展开全文
  • 前几天做的一个项目,微信助力活动,需要获取微信用户的头像,然后存表,在获取微信头像的时候,遇到了两个问题,可能很普通的问题,解决起来也很好解决! 问题一Accesstoken 问题 网页授权的 AccessToken 和...

    前几天做的一个项目,微信助力活动,需要获取微信用户的头像,然后存表,在获取微信头像的时候,遇到了两个问题,可能很普通的问题,解决起来也很好解决!



    • 问题一Accesstoken 问题(获取信息接口的问题)

    网页授权的 AccessToken 和获取用户信息的 AccessToken 不是一个东西。

    也就是获取用户信息接口地址应是
    
    https://api.weixin.qq.com/sns/userinfo
    
    而不是
    
    https://api.weixin.qq.com/cgi-bin/user/info

    • 问题二 48001错误问题

    微信错误: 微信登录提示48001,{“errcode”:48001,”errmsg”:”api unauthorized, hints: [ req_id: 1QoCla0699ns81 ]”}
    原因:
    ①:你的服务号必须是通过腾讯认证,每年是300元,如果没有认证而导致的错误提示,那就去认证,别往下看了!如果你已认证,本条原因排除,那么请继续往下看
    ②:你是否是第三方网页,第三方网页的话,那么你的url地址里面的scope这个参数要填写”snsapi_userinfo”,否则会报这个错!原因如下!
    URL地址:https://open.weixin.qq.com/connect/oauth2/authorize?appid={0}&redirect_uri={1}&response_type=code&scope={2}&state=ok#wechat_redirect

    scope参数对应值的解释:
    snsapi_base 不需要用户点同意,直接跳转到授权后的页面,只能用于获取openid,不能获取用户基本信息
    snsapi_userinfo 会征求用户同意,授权后,可以获取用户基本信息

    需要snsapi_userinfo 的授权域,不然就会拿不到头像啦



    • 问题三 机械返回的问题

    当微信回调地址拼上code参数之后,就会用code拿到头像,但是如果我们点进下一个链接,然后在通过手机返回之前拼接的code页面之时,那个连接的code 则会失效,则我们需要重新获取认证

               if(isset($wx_arr['errcode'])){  //当手机机械按钮返回的时候code已经使用过会出现报错  需要重新拿code <br>
                $return_url = '/wap/activityhelp-1.html?uid='.$_GET['uid'].'&amp;model='.$_GET['model']; <br>
                $return_url = 'http://'.$_SERVER['HTTP_HOST'].$return_url; <br>
                if($_GET['time']) { <br>
                    $return_url = $return_url.'&amp;time='.$_GET['time']; <br>
                } <br>
                $appId_to_get_code = trim($wxpayjsapi_conf['setting']['appId']); <br>
                $wechat_object->get_code($appId_to_get_code, $return_url); <br>
            }</li>
    </ul>
    展开全文
  • 微信开发工具里兼容了代码版本管理的功能,通过和Git远程连接,可以解决此问题。 首先新创建一个微信小程序项目 微信开发工具右上角就是版本管理。详情->本地设置中 勾选不校验域名选项。在版本管理之前,我们...

    微信开发工具里兼容了代码版本管理的功能,通过和Git远程连接,可以解决此问题。
    首先新创建一个微信小程序项目
    微信版本管理入口
    微信开发工具右上角就是版本管理。详情->本地设置中 勾选不校验域名选项。在版本管理之前,我们需要在Git做些准备
    在这里插入图片描述
    上网找到Git官网,有账号的登录Git,没有的申请注册,一般是要绑定邮箱的。
    在这里插入图片描述
    登录后选择右上角的 + 号新建仓库。第一次用的朋友在此之前选择头像->设置->个人空间地址->填写好自己的空间地址。不贴图了哈
    在这里插入图片描述
    点击后填写仓库名称、路径(英文)、描述,代码开放的话选择公有。下面选择语言JavaScript,点击创建。到此Git部分准备完毕,回到开发者工具,点击版本管理进行配置。

    点击版本管理->初始化仓库->确定提交文件后出现以下界面
    在这里插入图片描述
    界面被分为三块,左边工作区,中间修改区,右边文件详细代码显示区。
    选择工作区->设置->通用->编辑 编辑刚刚注册的Git用户名和邮箱。
    在这里插入图片描述
    填写完毕后选择网络认证,认证方式选择用户名密码,输入Git用户名密码
    在这里插入图片描述
    选择远程->添加,填写名称,可以自定或者就是仓库的名称,URL在新建的Git仓库页面的克隆/下载中获取,复制就行了
    在这里插入图片描述
    在这里插入图片描述
    完成后就可以向Git中远程传送代码文件了,选择左上角的推送,这里的分支就是相当文件夹的意思,创建仓库后默认会有一个master分支,选择推送到以下远程仓库分支就行,也可以选择下面的新建分支,确定后就完成了推送。
    在这里插入图片描述
    左上角还有其他的功能,拉取,抓取,当一个项目过大时,可以创建一个团队分工协作,而这个版本管理能起到重要作用。它可拉取其他组员修改过的代码,也可以修改代码后上传到仓库同步代码。下图是修改区,这里会显示你在编写代码时修改过的文件,勾选状态,在下框中填写这次你修改代码的标题,点击提交,作为修改记录,可以在历史记录中查看。

    在这里插入图片描述

    以上是微信开发工具版本管理同步的全部内容,配置好了版本管理之后能大大地提高项目开发的效率,也方便代码文件的存储和共享。

    展开全文
  • 微信开发时候在做消息接口交互的时候需要使用带微信加密ID(OpenId),下面讲讲述2中类型方式获取微信OpenID,接收事件推送方式和网页授权获取用户基本信息方式获取

    在微信开发时候在做消息接口交互的时候需要使用带微信加密ID(OpenId),下面讲讲述2中类型方式获取微信OpenID,接收事件推送方式和网页授权获取用户基本信息方式获取。

    1、通过接收被动消息方式获取OpenId(接收事件推送方式),以下事件中都可以获取到OpenID

    关注/取消关注事件

    用户在关注与取消关注公众号时,微信会把这个事件推送到开发者填写的URL。方便开发者给用户下发欢迎消息或者做帐号的解绑。

    微信服务器在五秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次

    关于重试的消息排重,推荐使用FromUserName + CreateTime 排重。

    假如服务器无法保证在五秒内处理并回复,可以直接回复空串,微信服务器不会对此作任何处理,并且不会发起重试。

    推送XML数据包示例:

    <xml>
    <ToUserName><![CDATA[toUser]]></ToUserName>
    <FromUserName><![CDATA[FromUser]]></FromUserName>
    <CreateTime>123456789</CreateTime>
    <MsgType><![CDATA[event]]></MsgType>
    <Event><![CDATA[subscribe]]></Event>
    </xml>
    

    参数说明:

    参数描述
    ToUserName开发者微信号
    FromUserName发送方帐号(一个OpenID)
    CreateTime消息创建时间 (整型)
    MsgType消息类型,event
    Event事件类型,subscribe(订阅)、unsubscribe(取消订阅)

    使用网页调试工具调试该接口

    扫描带参数二维码事件

    用户扫描带场景值二维码时,可能推送以下两种事件:

    1. 如果用户还未关注公众号,则用户可以关注公众号,关注后微信会将带场景值关注事件推送给开发者。
    2. 如果用户已经关注公众号,则微信会将带场景值扫描事件推送给开发者。

    1. 用户未关注时,进行关注后的事件推送

    推送XML数据包示例:

    <xml><ToUserName><![CDATA[toUser]]></ToUserName>
    <FromUserName><![CDATA[FromUser]]></FromUserName>
    <CreateTime>123456789</CreateTime>
    <MsgType><![CDATA[event]]></MsgType>
    <Event><![CDATA[subscribe]]></Event>
    <EventKey><![CDATA[qrscene_123123]]></EventKey>
    <Ticket><![CDATA[TICKET]]></Ticket>
    </xml>
    

    参数说明:

    参数描述
    ToUserName开发者微信号
    FromUserName发送方帐号(一个OpenID)
    CreateTime消息创建时间 (整型)
    MsgType消息类型,event
    Event事件类型,subscribe
    EventKey事件KEY值,qrscene_为前缀,后面为二维码的参数值
    Ticket二维码的ticket,可用来换取二维码图片

    2. 用户已关注时的事件推送

    推送XML数据包示例:

    <xml>
    <ToUserName><![CDATA[toUser]]></ToUserName>
    <FromUserName><![CDATA[FromUser]]></FromUserName>
    <CreateTime>123456789</CreateTime>
    <MsgType><![CDATA[event]]></MsgType>
    <Event><![CDATA[SCAN]]></Event>
    <EventKey><![CDATA[SCENE_VALUE]]></EventKey>
    <Ticket><![CDATA[TICKET]]></Ticket>
    </xml>
    

    参数说明:

    参数描述
    ToUserName开发者微信号
    FromUserName发送方帐号(一个OpenID)
    CreateTime消息创建时间 (整型)
    MsgType消息类型,event
    Event事件类型,SCAN
    EventKey事件KEY值,是一个32位无符号整数,即创建二维码时的二维码scene_id
    Ticket二维码的ticket,可用来换取二维码图片

    使用网页调试工具调试该接口

    上报地理位置事件

    用户同意上报地理位置后,每次进入公众号会话时,都会在进入时上报地理位置,或在进入会话后每5秒上报一次地理位置,公众号可以在公众平台网站中修改以上设置。上报地理位置时,微信会将上报地理位置事件推送到开发者填写的URL。

    推送XML数据包示例:

    <xml>
    <ToUserName><![CDATA[toUser]]></ToUserName>
    <FromUserName><![CDATA[fromUser]]></FromUserName>
    <CreateTime>123456789</CreateTime>
    <MsgType><![CDATA[event]]></MsgType>
    <Event><![CDATA[LOCATION]]></Event>
    <Latitude>23.137466</Latitude>
    <Longitude>113.352425</Longitude>
    <Precision>119.385040</Precision>
    </xml>
    

    参数说明:

    参数描述
    ToUserName开发者微信号
    FromUserName发送方帐号(一个OpenID)
    CreateTime消息创建时间 (整型)
    MsgType消息类型,event
    Event事件类型,LOCATION
    Latitude地理位置纬度
    Longitude地理位置经度
    Precision地理位置精度

    使用网页调试工具调试该接口

    自定义菜单事件

    用户点击自定义菜单后,微信会把点击事件推送给开发者,请注意,点击菜单弹出子菜单,不会产生上报。

    点击菜单拉取消息时的事件推送

    推送XML数据包示例:

    <xml>
    <ToUserName><![CDATA[toUser]]></ToUserName>
    <FromUserName><![CDATA[FromUser]]></FromUserName>
    <CreateTime>123456789</CreateTime>
    <MsgType><![CDATA[event]]></MsgType>
    <Event><![CDATA[CLICK]]></Event>
    <EventKey><![CDATA[EVENTKEY]]></EventKey>
    </xml>
    

    参数说明:

    参数描述
    ToUserName开发者微信号
    FromUserName发送方帐号(一个OpenID)
    CreateTime消息创建时间 (整型)
    MsgType消息类型,event
    Event事件类型,CLICK
    EventKey事件KEY值,与自定义菜单接口中KEY值对应


    点击菜单跳转链接时的事件推送

    推送XML数据包示例:

    <xml>
    <ToUserName><![CDATA[toUser]]></ToUserName>
    <FromUserName><![CDATA[FromUser]]></FromUserName>
    <CreateTime>123456789</CreateTime>
    <MsgType><![CDATA[event]]></MsgType>
    <Event><![CDATA[VIEW]]></Event>
    <EventKey><![CDATA[www.qq.com]]></EventKey>
    </xml>
    

    参数说明:

    参数描述
    ToUserName开发者微信号
    FromUserName发送方帐号(一个OpenID)
    CreateTime消息创建时间 (整型)
    MsgType消息类型,event
    Event事件类型,VIEW
    EventKey事件KEY值,设置的跳转URL

    使用网页调试工具调试该接口

     以上信息摘自微信公众平台接收事件推送章节。点击查看原始帮助文档-接收事件推送


    2、通过第三方网页授权方式获取OpenID,采用第三方网页授权(OAuth2.0授权登录)

    如果用户在微信中(Web微信除外)访问公众号的第三方网页,公众号开发者可以通过此接口获取当前用户基本信息(包括昵称、性别、城市、国家)。利用用户信息,可以实现体验优化、用户来源统计、帐号绑定、用户身份鉴权等功能。请注意,“获取用户基本信息接口是在用户和公众号产生消息交互时,才能根据用户OpenID获取用户基本信息,而网页授权的方式获取用户基本信息,则无需消息交互,只是用户进入到公众号的网页,就可弹出请求用户授权的界面,用户授权后,就可获得其基本信息(此过程甚至不需要用户已经关注公众号。)”

    微信OAuth2.0授权登录让微信用户使用微信身份安全登录第三方应用或网站,在微信用户授权登录已接入微信OAuth2.0的第三方应用后,第三方可以获取到用户的接口调用凭证(access_token),通过access_token可以进行微信开放平台授权关系接口调用,从而可实现获取微信用户基本开放信息和帮助用户实现基础开放功能等。

    在微信公众号请求用户网页授权之前,开发者需要先到公众平台网站的我的服务页中配置授权回调域名。请注意,这里填写的域名不要加http://

    关于配置授权回调域名的说明:

    授权回调域名配置规范为全域名,比如需要网页授权的域名为:www.qq.com,配置以后此域名下面的页面http://www.qq.com/music.htmlhttp://www.qq.com/login.html 都可以进行OAuth2.0鉴权。但http://pay.qq.comhttp://music.qq.comhttp://qq.com  无法进行OAuth2.0鉴权。
    

    具体而言,网页授权流程分为四步:

    1. 引导用户进入授权页面同意授权,获取code
    2. 通过code换取网页授权access_token(与基础支持中的access_token不同)
    3. 如果需要,开发者可以刷新网页授权access_token,避免过期
    4. 通过网页授权access_token和openid获取用户基本信息

    目录

    [隐藏]

    第一步:用户同意授权,获取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=wx520c15f417810387&redirect_uri=http%3A%2F%2Fchong.qq.com%2Fphp%2Findex.php%3Fd%3D%26c%3DwxAdapter%26m%3DmobileDeal%26showwxpaytitle%3D1%26vb2ctag%3D4_2030_5_1194_60&response_type=code&scope=snsapi_base&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
    

    参数说明

    参数是否必须说明
    appid公众号的唯一标识
    redirect_uri授权后重定向的回调链接地址,请使用urlencode对链接进行处理
    response_type返回类型,请填写code
    scope应用授权作用域,snsapi_base (不弹出授权页面,直接跳转,只能获取用户openid),snsapi_userinfo (弹出授权页面,可通过openid拿到昵称、性别、所在地。并且,即使在未关注的情况下,只要用户授权,也能获取其信息
    state重定向后会带上state参数,开发者可以填写a-zA-Z0-9的参数值
    #wechat_redirect无论直接打开还是做页面302重定向时候,必须带此参数

    下图为scope等于snsapi_userinfo时的授权页面:

    网页授权

    用户同意授权后

    如果用户同意授权,页面将跳转至 redirect_uri/?code=CODE&state=STATE。若用户禁止授权,则重定向后不会带上code参数,仅会带上state参数redirect_uri?state=STATE

    code说明 :
    code作为换取access_token的票据,每次用户授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期。
    

    第二步:通过code换取网页授权access_token

    首先请注意,这里通过code换取的网页授权access_token,与基础支持中的access_token不同。公众号可通过下述接口来获取网页授权access_token。如果网页授权的作用域为snsapi_base,则本步骤中获取到网页授权access_token的同时,也获取到了openid,snsapi_base式的网页授权流程即到此为止。

    请求方法

    获取code后,请求以下链接获取access_token: 
    https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code
    

    参数说明

    参数是否必须说明
    appid公众号的唯一标识
    secret公众号的appsecret
    code填写第一步获取的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_inaccess_token接口调用凭证超时时间,单位(秒)
    refresh_token用户刷新access_token
    openid用户唯一标识,请注意,在未关注公众号时,用户访问公众号的网页,也会产生一个用户和公众号唯一的OpenID
    scope用户授权的作用域,使用逗号(,)分隔


    错误时微信会返回JSON数据包如下(示例为Code无效错误):

    {"errcode":40029,"errmsg":"invalid code"}
    

    全局返回码说明

    第三步:刷新access_token(如果需要)

    由于access_token拥有较短的有效期,当access_token超时后,可以使用refresh_token进行刷新,refresh_token拥有较长的有效期(7天、30天、60天、90天),当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
    
    参数是否必须说明
    appid公众号的唯一标识
    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_inaccess_token接口调用凭证超时时间,单位(秒)
    refresh_token用户刷新access_token
    openid用户唯一标识
    scope用户授权的作用域,使用逗号(,)分隔


    错误时微信会返回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不同
    openid用户的唯一标识
    lang返回国家地区语言版本,zh_CN 简体,zh_TW 繁体,en 英语

    返回说明

    正确时返回的JSON数据包如下:

    {
       "openid":" OPENID",
       " nickname": NICKNAME,
       "sex":"1",
       "province":"PROVINCE"
       "city":"CITY",
       "country":"COUNTRY",
        "headimgurl":    "http://wx.qlogo.cn/mmopen/g3MonUZtNHkdmzicIlibx6iaFqAc56vxLSUfpb6n5WKSYVY0ChQKkiaJSgQ1dZuTOgvLLrhJbERQQ4eMsv84eavHiaiceqxibJxCfHe/46", 
    	"privilege":[
    	"PRIVILEGE1"
    	"PRIVILEGE2"
        ]
    }
    
    参数描述
    openid用户的唯一标识
    nickname用户昵称
    sex用户的性别,值为1时是男性,值为2时是女性,值为0时是未知
    province用户个人资料填写的省份
    city普通用户个人资料填写的城市
    country国家,如中国为CN
    headimgurl用户头像,最后一个数值代表正方形头像大小(有0、46、64、96、132数值可选,0代表640*640正方形头像),用户没有头像时该项为空
    privilege用户特权信息,json 数组,如微信沃卡用户为(chinaunicom)


    错误时微信会返回JSON数据包如下(示例为openid无效):

    {"errcode":40003,"errmsg":" invalid openid "}
    

    全局返回码说明

    附:检验授权凭证(access_token)是否有效

    请求方法

    http:GET(请使用https协议)
    https://api.weixin.qq.com/sns/auth?access_token=ACCESS_TOKEN&openid=OPENID
    

    参数说明

    参数描述
    access_token网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同
    openid用户的唯一标识

    返回说明

    正确的Json返回结果:

    { "errcode":0,"errmsg":"ok"}
    

    错误时的Json返回示例:

    { "errcode":40003,"errmsg":"invalid openid"}

     以上信息摘自微信公众平台网页授权获取用户基本信息章节。点击查看原始帮助文档-网页授权获取用户基本信息


    更多关注付义方技术博客:http://blog.csdn.net/fuyifang 本人新浪微博:http://weibo.com/i/1741159542


    展开全文
  • 微信开发工具使用git

    2018-11-16 17:09:29
    1、初始化本地仓库 ... 这一步骤相当于执行「git init」命令。 ...2、初始化完成后,我们可以看到本地的仓库和当前的Git状态。下图为微信Web开发者工具初始化后的版本控制面板。 3、配置仓库信息 初...

    1、初始化本地仓库

    微信Web开发者工具中点击「版本管理」。由于是新建项目,并没有初始化过Git仓库,所以项目会提示初始化Git仓库,点击「初始化 Git 仓库」,点击「确认」,完成本地仓库的初始化。

    这一步骤相当于执行「git init」命令。

    2、初始化完成后,我们可以看到本地的仓库和当前的Git状态。下图为微信Web开发者工具初始化后的版本控制面板。

    3、配置仓库信息

    初始化完成后,依次点击「工作空间」->「设置」->「通用」->「编辑」,编辑在Git中使用的用户名和邮箱。这一步相当于git config命令中的配置操作。

    $ git config --global user.name "用户名"
    $ git config --global user.email "邮箱"

    需要注意的是:此处配置的邮箱名需要和 码云 https://gitee.com 上的邮箱保持一致,才能保证提交后能统计到Git的提交贡献信息。

    4、点击微信号开发工具的项目管理---设置--远程--添加

    5、 设置在码云上创建的项目的名称和克隆地址,点击确定即可

    6、 左侧会出现远程的路径目标

    7、 选择网络认证,认证方式为用户名、密码认证,填写在码云上使用的用户名密码即可

    8、 推送代码到远程仓库

    点击操作面板上的「推送按钮」,在弹出窗口选择「推送到新的远程仓库分支」,名称填写「master」,表示推送到远程仓库的master分支,然后点击「确定」

    9 、修改并提交代码

    点击开发工具面板的「版本管理」按钮,关闭「版本管理」面板,打开「pages/index/index.wxml」,修改其中内容「获取头像昵称」为「我的第一次修改提交」,保存。

    再次切换到「版本管理」面板,可以看到当前本地分支有一个文件等待提交,选中并勾选文件,可以查看当前文件内发生的改动。

     

    在下方提交框填写提交的备注信息,点击「提交」,将代码提交到本地仓库主干分支上。提交后,可以在本地仓库分支上查看提交记录。

     

    接下去我们再次将代码从本地分支推送到远程仓库。点击操作面板上的「推送按钮」,在弹出窗口选择「推送到一下远程仓库分支」,选择一存在的远程master仓库的master分支,然后点击「确定」。

     

    推送完成后,即可在码云对应的仓库主页看到提交的代码变更。

    注意事项:当一个小程序多个人共同开发时,在拉取最新的码云上代码的时候,拉取下来到微信开发工具上,开发工具并不能很好的识别并更新本地代码

    所以这里我们需要用到,git和tortoiseGit管理工具,

    下载下来安装到本地,在本地的工作空间目录生成.git版本库,再进行项目的拉取和推送,码云上的代码会更新到项目的工作空间内,进而更新到微信开发工具内

     

    展开全文
  • 获取用户授权 以index单页面示例, 1.在index.js中的Page-data注册canIUse,用于调用微信开放接口申请用户授权。 data: { canIUse: wx.canIUse('button.open-type.getUserInfo') } 2.在index.wxml中添加“授权...
  • 今天做了一个最基本的微信小程序获取自己头像的方法 open-type用法 关于样式我就没怎么写了,因为自己现在主要在写锻炼自己最基本的逻辑思维 首先我们写HTML文件 <view class="advanter"> <image src='{{...
  • 本篇文章阐述了微信小程序是如何获取授权登录微信的,并且将显示微信头像
  • 微信开发之入门教程

    2016-01-12 10:55:26
    时间葱葱,小宝鸽入职也有半年了,刚入的时候刚好有负责开发一个微信企业号的新项目。...因为经过微信,因此你的web会附加一些微信平台所提供的一些功能,如获取用户地理位置、获取微信用户头像、拍照上传、
  • 在学习网页授权之前,我们先来了解下这次的需求:我们的应用中有一个用来显示个人信息的页面,当微信用户在微信app中打开这个页面,希望可以获取到该用户的头像,昵称等信息,并显示到该页面中。如下图所示:如果...
  • 本文介绍如何获得微信公众平台关注用户的基本信息,包括昵称、头像、性别、国家、省份、城市、语言。 本文的方法将囊括订阅号和服务号以及自定义菜单各种场景,无论是否有高级接口权限,都有办法来获得用户基本信息...
  • 之所以写这个是因为,在工作当中突然就收到消息要做一个抽奖的活动,需要获取用户信息,再次就记录一下获取微信用户信息的整个流程,以及代码分享一下。 这个项目是使用spring boot的前后分离项目,然后剩下的就不...
  • 很多开发者在开发微信公众号的时候,都需要获取用户的头像,如果是个人的微信账号,需要申请“公众平台测试账号”来获取微信公众号所有接口权限; 首先要获取微信发送过来的access_token,然后根据openid和access_...
  • 微信公众平台获取openid在公众号的开发中有很多用途,前段时间为实现用户使用公众号在登录一次以后可以免密登陆而使用了openid。开发过程中遇到了一些问题,在这里向需要且还没有获取到openid的米娜桑分享一下简单的...
  • 微信开放平台开发第三方授权登陆(一):开发前期准备 微信开放平台开发第三方授权登陆(二):PC网页端 微信开放平台开发第三方授权登陆(三):Android客户端 微信开放平台开发第三方授权登陆(四):微信...
  • 首先我们要先看一下文档 https://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html重点的话... 首先肯定的配置微信公众号里面的内容,这里就不多说了也就是域名,js域名,token,这方面的东西,...
  • 然后我晚上就花2个多小时时间开发了一款微信小程序“小小小头像”,这款小程序可以获取用户头像选择自己喜欢的头像框进行绘制。也可以选择本地上传自己想要的图片。 重点是这款小程序是纯前端开发的(我这里...
  • 微信开发中,经常有这样的需求:获得用户头像、绑定微信号给用户发信息.. 那么实现这些的前提就是授权! 1.配置安全回调域名: 在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的“开发 - 接口...
  • 微信开发工具下载:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/devtools.html?t=1474644083132 微信开发API说明:https://mp.weixin.qq.com/debug/wxadoc/dev/api/?t=201715 微信开发API组件说明:...
1 2 3 4 5 ... 20
收藏数 4,024
精华内容 1,609