一.官方文档
高级群发接口

https://mp.weixin.qq.com/wiki...

二.关于群发接口
1.订阅号每天可以群发消息一条,服务号每月(自然月)四条的群发权限。开发者模式下,可以通过高级群发接口,实现更灵活的群发能力。
2.注意
● 对于认证订阅号,群发接口每天可成功调用1次,此次群发可选择发送给全部用户或某个标签;
● 对于认证服务号虽然开发者使用高级群发接口的每日调用限制为100次,但是用户每月只能接收4条,无论在公众平台网站上,还是使用接口群发,用户每月只能接收4条群发消息,多于4条的群发将对该用户发送失败;
● 具备微信支付权限的公众号,在使用群发接口上传、群发图文消息类型时,可使用a标签加入外链;

● 开发者可以使用预览接口校对消息样式和排版,通过预览接口可发送编辑好的消息给指定用户校验效果。
通俗的说就是
● 服务号一个月只能发四条消息,虽然一个月就四条 但它是即时呈现到客户眼前 只要你打开微信就有一条未读 
● 订阅号每天一条,但订阅号所有的商家都在一起显示,而且不会主动提醒,需要你点开服务号才可以看到
● 一条群发消息里,是可以包括多条图文消息。
● 群发的消息不包括商家推送消息等其他消息类型。
如下所示,为京东的服务号消息界面。上面的是群发消息,下面是发货通知消息。

这就是为什么有的人会疑惑,自己接受来自服务号的消息1个月不止4条,或者接受的消息怎么有好几条。
3.群发图文消息的过程
● 首先,预先将图文消息中需要用到的图片,使用上传图文消息内图片接口,上传成功并获得图片URL
● 上传图文消息素材,需要用到图片时,请使用上一步获取的图片URL
● 使用对用户标签的群发,或对OpenID列表的群发,将图文消息群发出去
● 在上述过程中,如果需要,还可以预览图文消息、查询群发状态,或删除已群发的消息等
4.群发图片、文本等其他消息类型的过程
● 如果是群发文本消息,则直接根据下面的接口说明进行群发即可
● 如果是群发图片、视频等消息,则需要预先通过素材管理接口准备好mediaID

5.关于群发时使用is_to_all为true使其进入公众号在微信客户端的历史消息列表
● 使用is_to_all为true且成功群发,会使得此次群发进入历史消息列表。
● 为防止异常,认证订阅号在一天内,只能使用is_to_all为true进行群发一次,或者在公众平台官网群发(不管本次群发是对全体还是对某个分组)一次。以避免一天内有2条群发进入历史消息列表。
● 类似地,服务号在一个月内,使用is_to_all为true群发的次数,加上公众平台官网群发(不管本次群发是对全体还是对某个分组)的次数,最多只能是4次。
● 设置is_to_all为false时是可以多次群发的,但每个用户只会收到最多4条,且这些群发不会进入历史消息列表。

注意
1.本接口中所有使用到media_id的地方,现在都可以使用素材管理中的永久素材media_id了。请但注意,使用同一个素材群发出去的链接是一样的,这意味着,删除某一次群发,会导致整个链接失效。
2.建议使用开发者模式的情况下,先使用预览接口,因为接口每日可以调取100次。预览达到预期效果后,才使用正式接口(openId列表群发)。
6.附说明:getWxAccessToken和https_request分别是我代码中关于获取微信全局token和调用第三方接口的方法。


三.群发消息接口——关于素材与接口
初学者很容易分不清楚开发文章当中,’素材管理‘与’消息管理-群发接口‘中,一些操作步骤的区别和用途,本人当时也是饶了很多坑,各种搜索与询问,故记录下来,为的就是日后能够帮助同行少绕弯路,以及自己日后的温习。如有错误的地方,恳请不临指教,谢谢。
1.官文链接
● 高级群发
https://mp.weixin.qq.com/wiki...
● 素材管理
https://mp.weixin.qq.com/wiki...
2.关于素材
● 素材:在微信开发中,素材指的就是原始的媒体文件(如图片、视频、声音等)以及图文类型的文件
● 媒体文件是最基础的素材,图文素材等(比如含其他媒体文件的文件素材)其他素材需要获取到基础媒体文件素材,这个看具体也无需求
● 也就是说,你也可以选择在群发消息的时候,发纯文本素材
● 媒体素材通过接口上传成功后,都会有一个媒体id,也就是media_id,这个媒体id用在之后需要调用的时候,是个关键。

注意

● 上传图片素材分两种:返回URL和返回media_id
● 素材管理分两大类:永久和临时
3.临时素材与永久素材
● 临时素材
公众号经常有需要用到一些临时性的多媒体素材的场景,例如在使用接口特别是发送消息时,对多媒体文件、多媒体消息的获取和调用等操作,是通过media_id来进行的。素材管理接口对所有认证的订阅号和服务号开放。通过本接口,公众号可以新增临时素材(即上传临时多媒体文件)。
请注意:
1、对于临时素材,每个素材(media_id)会在开发者上传或粉丝发送到微信服务器3天后自动删除(所以用户发送给开发者的素材,若开发者需要,应尽快下载到本地),以节省服务器资源。
2、media_id是可复用的。
3、素材的格式大小等要求与公众平台官网一致。具体是,图片大小不超过2M,支持png/jpeg/jpg/gif格式,语音大小不超过5M,长度不超过60秒,支持mp3/amr格式
4、需使用https调用本接口。
● 永久素材
除了3天就会失效的临时素材外,开发者有时需要永久保存一些素材,届时就可以通过本接口新增永久素材。
最近更新,永久图片素材新增后,将带有URL返回给开发者,开发者可以在腾讯系域名内使用(腾讯系域名外使用,图片将被屏蔽)。
请注意:
1、新增的永久素材也可以在公众平台官网素材管理模块中看到
2、永久素材的数量是有上限的,请谨慎新增。图文消息素材和图片素材的上限为5000,其他类型为1000
3、素材的格式大小等要求与公众平台官网一致。具体是,图片大小不超过2M,支持bmp/png/jpeg/jpg/gif格式,语音大小不超过5M,长度不超过60秒,支持mp3/wma/wav/amr格式
4、调用该接口需https协议
注意
● “永久素材”里的“最近更新...”文字所说的返回URL,就是前面提到的上传图片素材种类之一:返回图片URL

      临时素材与永久素材的不同之处

4.素材与群发接口的结合使用(以下讲解的素材均以永久素材来说明)
第一步:上传图片
前面有提过,上传图片素材分两种,主要是返回参数的不同
a.返回media_id(其实可以同时返回media_id和url)——文档名:新增其他类型永久素材


使用说明
● 传入参数:全局token和类型type
● 返回:media_id和url
● 可以根据业务逻辑需求,只返回media_id或者做判断
● 注意:视频素材的请求链接是不同的
● 使用:URL可以直接放在群发消息之图文消息中的img标签,media_id可以用在图文消息的封面图片id。
b.只返回URL——文档名:上传图文消息内的图片获取URL

使用说明
● 传入参数:全局token
● 返回:url
● URL作用:放在图文消息中使用(使用img标签)。
c.总结:只返回URL和返回media_id的区别就在于使用地方的不同,当然返回media_id的方法也可以返回URL。media_id用于群发图文消息的封面,url用在文本的Img标签。
第二步:上传图文素材等文件素材
a.新增永久图文素材


b.上传图文消息素材
由于和上面的新增永久图文素材差异不大,故这里不做赘述,详情见第七条。

简单说明
● thumb_media_id:前面提到的上传图片返回media_id(也就是“新增其他类型永久素材”)就是用在此处,作为图文消息的封面图片。
● content:前面提到的上传图片2种类型,返回的URL就是用在此处的img标签里。
5.关于“上传图文消息素材”和“新增永久图文素材”的区别
● 上传图文消息素材:等于是直接把图文素材传到微信的服务器,每次凭借media_id获取素材,并且不占用素材库
● 新增永久图文素材:在开发者和微信服务器之间,多了一个素材库。素材库的素材有数量限制,但是可以直接查看到。


四.群发消息接口——第1步:上传图片(返回URL)
1.说明
● 功能:上传图文消息内的图片获取URL【订阅号与服务号认证后均可用】
● 注意:本接口所上传的图片不占用公众号的素材库中图片数量的5000个的限制。图片仅支持jpg/png格式,大小必须在1MB以下
● 官方文档参考

2.代码实现
a.思路
● 调用接口

https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=ACCESS_TOKEN

看到后面需要用token,就知道,肯定也是需要获取到全局的token,再组装url。
● 参数说明
调用示例(使用curl命令,用FORM表单方式上传一个图片):
curl -F media=@test .jpg "https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=ACCESS_TOKEN"
从官文中可以看出,图片名(带格式的图片名)需要在media(代表媒体)之后,并加@符号。
这里就涉及到CURL的知识:
curl上传:文件的标识@+相对路径
b.代码实现
注:以下是我的代码实现,大家可以根据自己的项目去实际编写

    function addMaterial() {$access_token = $this->getWxAccessToken();    $url = "https://api.weixin.qq.com/cgi-bin/media/uploadimg?access_token=".$access_token;$filename = '文件名,带路径';$data=array("media"=>'@'. $filename);print_R($data);$res=$this->https_request( $url ,'post', 'json', $data);dump($res); exit();return $res;}

● 说明
——方法为了实现功能,写的都比较直接。后续可以对代码进行改编,方法里的参数可以使用传参的方式,这样使用起来也比较灵活。
—— filename:文件名,相对于项目的入口文件,一般是根目录的路径。比如我编写此代码的时候用的是ThinkPHP框架,项目根目录有个index.php入口文件,在根目录有个Public,图片是直接放在Public下的,所以上述的filename应该是Public/图片名.格式,请大家根据自己实际图片路径去写。
——print_r和dump是为了看打印的结果,这个大家测试的时候可以使用下,方便查看,无误后去掉即可。


四.群发消息接口——第1步:上传素材(包括图片、视频、声音等,返回URL和MediaId,推荐)
1.说明
● 新增的永久素材也可以在公众平台官网素材管理模块中看到
● 永久素材的数量是有上限的,请谨慎新增。图文消息素材和图片素材的上限为5000,其他类型为1000
● 素材的格式大小等要求与公众平台官网一致。具体是,图片大小不超过2M,支持bmp/png/jpeg/jpg/gif格式,语音大小不超过5M,长度不超过60秒,支持mp3/wma/wav/amr格式
● 调用接口需https协议
● 官方文档参考

● 注意:官方说明,视频素材需要另外一个表单,这里暂不做说明。
● 通过POST表单来调用接口,表单id为media,包含需要上传的素材内容,有filename、filelength、content-type等信息
● 注意:图片素材将进入公众平台官网素材管理模块中的默认分组
2.代码实现
a.思路
● 调用接口

https://api.weixin.qq.com/cgi-bin/material/add_material? access_token=ACCESS_TOKEN&type=TYPE

看到后面需要用token,就知道,肯定也是需要获取到全局的token,再组装url,此外type类型也需要指定。
● 官方关于类型等其他参数说明如下
参数是否必须说明access_token是调用接口凭证type是媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb)media是form-data中媒体文件标识,有filename、filelength、content-type等信息

b.代码实现
注:以下是我的代码实现,大家可以根据自己的项目去实际编写

    function addMaterial() {$access_token = $this->getWxAccessToken();$type='image';//https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=ACCESS_TOKEN&type=TYPE$url = "https://api.weixin.qq.com/cgi-bin/material/add_material?access_token=".$access_token."&type=".$type;$filename = '文件名';$data=array("media"=>'@'. $filename);$res=$this->https_request( $url ,'post', 'json', $data);return $res['media_id'];}

● 说明
——方法为了实现功能,写的都比较直接。后续可以对代码进行改编,方法里的参数可以使用传参的方式,这样使用起来也比较灵活。
—— filename:带格式的文件名,相对于项目的入口文件,一般是根目录的路径。比如我编写此代码的时候用的是ThinkPHP框架,项目根目录有个index.php入口文件,在根目录有个Public,图片是直接放在Public下的,所以上述的filename才是如此格式,请大家根据自己实际图片路径去写。
——type:传入的媒体类型
——作用:返回的media_id用作新增图文素材中的图文消息封面素材id,url用作新增图文素材中,content(图文消息的具体内容)的img标签。


六.群发消息接口——第2步:上传图文之新增永久图文素材

1.说明
● 接口
https://api.weixin.qq.com/cgi...

2.注意
● thumb_media_id:需要先上传图片素材,且图文消息的封面图片素材id必须是永久mediaID
● content:上传图片素材的2种方式,都有返回url,就是用在此处的img标签中。
● 返回:media_id用于调用后面的群发消息时使用
● 注意:图文消息内容,将过滤外部的图片链接
3.代码实现

    function addNews(){$access_token = $this->getWxAccessToken();$thumb_media_id=$this->addMaterial();$content_img=$this->addMaterialUrl();$url = "https://api.weixin.qq.com/cgi-bin/material/add_news?access_token=".$access_token;$array = array("articles" => array(                                /*若新增的是多图文素材,则此处应还有几段articles结构  */array("title"               => urlencode('最后一组测试——1'),"thumb_media_id"      => $thumb_media_id,        //图文消息的封面图片素材id(必须是永久mediaID)"author"              => urlencode('测试编辑1'),            //作者"digest"             => urlencode('这是测试的摘要1'),            //图文消息的摘要,仅有单图文消息才有摘要,多图文此处为空"show_cover_pic"      => 1,            //是否显示封面,0为false,即不显示,1为true,即显示"content"             => urlencode("<h1>这是一个测试文章1</h1><br /><img src='{$content_img}' /><br /><div>测试下图文素材的效果</div><br /><div>测试下图文素材的效果</div>"),            //图文消息的具体内容,支持HTML标签,必须少于2万字符,小于1M,且此处会去除JS"content_source_url" => urlencode("http://www.地址")            //图文消息的原文地址,即点击“阅读原文”后的URL),    array("title"               => urlencode('最后一组测试——2'),"thumb_media_id"      => $thumb_media_id,        //图文消息的封面图片素材id(必须是永久mediaID)"author"              => urlencode('测试编辑2'),            //作者"digest"             => urlencode('这是测试的摘要2'),            //图文消息的摘要,仅有单图文消息才有摘要,多图文此处为空"show_cover_pic"      => 1,            //是否显示封面,0为false,即不显示,1为true,即显示"content"             => urlencode("<h1>这是一个测试文章2</h1><br /><img src='{$content_img}' /><br /><div>测试下图文素材的效果</div><br /><div>测试下图文素材的效果</div>"),            //图文消息的具体内容,支持HTML标签,必须少于2万字符,小于1M,且此处会去除JS"content_source_url" => urlencode("http://www.地址")            //图文消息的原文地址,即点击“阅读原文”后的URL),),);$postJson = urldecode( json_encode( $array ) );//dump($postJson);$res=$this->https_request( $url ,'post', 'json', $postJson);//dump($res['media_id']);exit();return $res['media_id'];}

说明
● addMaterial():是我写的新增其他类型永久素材,里面新增的是图片。
● addMaterialUrl():是我写的一个关于上传图片只返回URL的方法。虽然返回的只有URL,但也是个数组,所以,要么在方法里返回结果的时候,就取下标url返回,要么调用的时候取下标url使用。
● urlencode和urldecode:因为后面POST的是一个JSON数组。如果JSON数据里有中文,那么需要用urlencode先转,后面再用urldecode转过来。
● 需要注意的是,我的html标记属性用的是单引号,所以无需转义。如果你使用了双引号,需要用htmlspecialchars转义,再用htmlspecialchars_decode转回来。
● 请使用三维数组!!!看官方示例,如果以PHP写数组的写法来看,似乎不熟悉的人都会写成二维数组,但是这样是无法解析的,在articles里,还有一层数组!!


七.群发消息接口——第2步:上传图文之上传图文消息素材
1.说明
● 接口
https://api.weixin.qq.com/cgi...
● 官文说明



2.代码实现

    function uploadNews(){//1.获取全局access_token$access_token = $this->getWxAccessToken();    $url = "https://api.weixin.qq.com/cgi-bin/media/uploadnews?access_token=".$access_token;//2.组装数据    $thumb_media_id=$this->addMaterial();$content_img=$this->addMaterialUrl();$array = array("articles" => array(                                /*若新增的是多图文素材,则此处应还有几段articles结构  */array("thumb_media_id"      => $thumb_media_id,        //图文消息缩略图的media_id,可以在基础支持-上传多媒体文件接口中获得"author"              => urlencode('编辑1'),            //作者"title"               => urlencode('这是测试的标题——1'),"content_source_url" => urlencode("http://www.地址"),            //图文消息的原文地址,即点击“阅读原文”后的URL                                                        "content"             => urlencode("<h1>这是一个测试文章——1</h1><br /><img src='{$content_img}' /><br /><div>测试下图文素材的效果——1</div><br /><div>测试下图文素材的效果——1</div>"),            //图文消息的具体内容,支持HTML标签,必须少于2万字符,小于1M,且此处会去除JS"digest"             => urlencode('这是测试的摘要1'),            //图文消息的摘要,仅有单图文消息才有摘要,多图文此处为空"show_cover_pic"      => 1            //是否显示封面,0为false,即不显示,1为true,即显示),//第一个图文文array("thumb_media_id"      => $thumb_media_id,        //图文消息缩略图的media_id,可以在基础支持-上传多媒体文件接口中获得"author"              => urlencode('编辑2'),            //作者"title"               => urlencode('这是测试的标题——2'),"content_source_url" => urlencode("http://www.地址"),            //图文消息的原文地址,即点击“阅读原文”后的URL"content"             => urlencode("<h1>这是一个测试文章——2</h1><br /><img src='{$content_img}' /><br /><div>测试下图文素材的效果——1</div><br /><div>测试下图文素材的效果——1</div>"),            //图文消息的具体内容,支持HTML标签,必须少于2万字符,小于1M,且此处会去除JS"digest"             => urlencode('这是测试的摘要2'),            //图文消息的摘要,仅有单图文消息才有摘要,多图文此处为空"show_cover_pic"      => 1            //是否显示封面,0为false,即不显示,1为true,即显示),//第2个图文),);$postJson = urldecode( json_encode( $array ) );$res=$this->https_request( $url ,'post', 'json', $postJson);//dump($res);return $res['media_id'];}

说明
● $thumb_media_id和$content_img的获取方法:均为前文中提到的方法
● 注意:articles下的数组个数,取决于你要发送的图文消息个数,但一次最多8个


八.群发消息接口——第3步:预览接口(非必须步骤,但建议保留)
1.意义:为了防止开发者模式下,每月发送4条消息的限制,从而导致不满意消息的效果现象。
2.官方文档

注意:虽然预览接口调用的次数较多,但是每天有100次的限制,请注意!!!
3.代码实现——纯文本

function sendMsgAll(){//1.获取全局access_token$access_token = $this->getWxAccessToken();    

$openid="我的openid";

        //2.组装群发预览接口数据  array$url = "https://api.weixin.qq.com/cgi-bin/message/mass/preview?access_token=".$access_token;$array =array(        'touser'=> $openid,        //openid'text'  => array('content' => '雨纷纷,旧故里草木深'),                //文本内容'msgtype' => 'text'                                //格式);//3.将数组转成json格式$postJson = json_encode ( $array );//4.调用第三方接口$res = $this->https_request( $url ,'post', 'json',$postJson);return $res;}

4.代码实现——图文

function sendMsgAllPreview(){//1.获取全局access_token$access_token = $this->getWxAccessToken();    $openid="我的openid";$media_id=$this->addNews();//2.组装群发预览接口数据  array$url = "https://api.weixin.qq.com/cgi-bin/message/mass/preview?access_token=".$access_token;$array = array("touser" =>$openid,"mpnews"=>array("media_id"=>$media_id),"msgtype"=>"mpnews");                 //3.将数组转成json格式$postJson = json_encode ( $array );//4.调用第三方接口$res = $this->https_request( $url ,'post', 'json',$postJson);//dump($res); return $res;}

说明
● $openid:此处因为是做预览,只需要一个ID,获取有很多种方法。比如之前获取用户信息的时候,可以获取到openid,或者是测试号的id都可以,只要是合法的openid。
● mpnews:媒体id。需要你之前有上传过图文消息的素材,获得素材的id。
疑问:我预览接口是成功的,返回是0,但是没有官方示例的msg_id...难道改版了?知道的麻烦不吝赐教,谢谢。



九.群发消息接口——第4步:根据标签进行群发
1.说明
● 接口
https://api.weixin.qq.com/cgi...
● 官方说明


2.代码实现

//根据标签进行群发function sendAllByTag(){//1.获取全局access_token$access_token = $this->getWxAccessToken();    $url = "https://api.weixin.qq.com/cgi-bin/message/mass/sendall?access_token=".$access_token;//2.组装数据$media_id=$this->addNews();$array=array('filter' => array(            //用于设定图文消息的接收者'is_to_all' => true,            //是否向全部用户发送,值为true或false,选择true该消息群发给所有用户,选择false可根据tag_id发送给指定群组的用户'tag_id'     =>'',            //群发到的标签的tag_id,参加用户管理中用户分组接口,若is_to_all值为true,可不填写tag_id),'mpnews' => array(            //用于设定即将发送的图文消息'media_id'  => $media_id,            //用于群发的消息的media_id),'msgtype'=> 'mpnews',                //群发的消息类型,图文消息为mpnews,文本消息为text,语音为voice,音乐为music,图片为image,视频为video,卡券为wxcard);$postJson = json_encode( $array );$res=$this->https_request( $url ,'post', 'json', $postJson);//dump($res);return $res;}

PHP微信公众号开发——群发消息相关推荐

  1. 微信公众号开发(消息推送)

    文章目录 微信公众号开发 运行效果 微信公众号简介 注册微信公众号 注册测试公众号 搭建微信本地调试环境 微信公众号接入(校验签名) 给指定用户推送消息 网页授权获取用户openid 给指定用户发送模 ...

  2. 微信公众号开发--图文消息发送不显示图片的问题

    使用微信公众号接口实现图文消息推送,遇到问题,不显示图片,且content内容中有英文双引号也不行 1.微信不允许有外链的图片,所以会自动过滤 2."双引号格式问题. 前端把双引号传给后端后 ...

  3. 微信公众号无限群发消息 v5.7.1 多功能版全开源 + 配置教程

    简介: 公众号无限群发消息模块,为运营而生 1.关于普通版与多功能版区别: 普通版:只能发文字,每次只能发500人,多了会卡死,需要再选下五百人(且不再更新). 多功能版:支持TD退订功能(用户发送t ...

  4. 微信公众号开发:消息与事件处理

    在成功接入微信公众平台之后(如何接入请参考<微信公众号开发:账号申请与接入>),就可以对微信服务器POST过来的消息或者事件XML数据包进行监听与处理了. 在<微信公众号开发:账号申 ...

  5. 微信公众号开发---基础消息能力开发

    微信公众号接收普通消息 1.配置开发服务器 微信公众平台->开发->开发者工具->公众平台测试账号 appid:是微信公众号的唯一标识,通过和appsecret进行验证. URL:开 ...

  6. 微信公众号开发--群发图文消息,消息体包含图片地址

    今天实现了一下微信公众号的消息群发功能,整个过程还是比较麻烦的,而且有些坑.记录一下. 微信官方文档–高级群发接口 在公众平台网站上,为订阅号提供了每天一条的群发权限,为服务号提供每月(自然月)4条的 ...

  7. 微信公众号开发Day01: 消息回复 英文励志语录回复实战

    目录 0x01 订阅号 和 服务号之间的区别 0x02 申请条件 0x03 开发前的准备 0x04微信公众号后台的简单使用 0x05 接入到微信服务器 0x06 微信发送接受消息实现的原理 #消息传输 ...

  8. 微信公众号开发-素材/消息管理接口

    开始 本文是 微信公众号开发者模式介绍及接入 的后续,如没看过前文的话,可能看本文会有些懵逼.本文主要介绍微信公众平台的素材.消息管理接口的开发.由于个人的订阅号是没有大多数接口的权限的,所以我们需要 ...

  9. 微信公众号开发——模板消息

    一.测试环境(微信公众号测试号) 遇到很多坑MMP 1.1.首先在测试号配置如下模板样本 {{first.DATA}} 餐厅名称:{{keyword1.DATA}} 就餐人:{{keyword2.DA ...

  10. 微信公众号开发-----接送事件推送之关注/取消关注

    本文主要实现的功能包括 关注/取消关注事件 阅读本文之前请先认真阅读微信公众号技术文档之接受事件推送 需注意的是:验证消息的确来自微信服务器和接收事件时微信服务器都会发送请求到填写的服务器地址URL上 ...

最新文章

  1. dacom蓝牙耳机怎么重置_双蓝牙耳机另一半怎么连接
  2. 【C 语言】指针数据类型 ( 不允许向 NULL 地址写入数据 | 不允许不断地改变指针指向 | 字面量存放位置 )
  3. Dom Tree Node, Render Tree Node 结构
  4. 1.2 一维数组的定义、赋值和初始化
  5. Android数据库LitePal的存储操作
  6. c语言头文件和源文件_C语言头文件防卫式声明
  7. 专科计算机组成原理大一试题及答案,计算机组成原理专科试题答案.doc
  8. 直接通过ADO操作Access数据库(修改版)
  9. Linux学习笔记:REHL AS4的上网配置,Http服务安装及配置,ftp服务的安装及配置
  10. Java学习笔记之StringBuilder类
  11. Scratch之猫和老鼠
  12. Win10 封装报错处理
  13. windows系统自带工具dxdiag查看电脑信息
  14. Presto 在美图的实践
  15. iOS中设置百度地图自定义标注图片,自定义泡泡
  16. Typora编辑器(蓝奏)
  17. 第一次看母亲细嚼慢咽地吃饭,欣慰还是心酸?
  18. 常太晚睡觉等于自杀!!熬夜也要有技巧!!
  19. FreeLaunchBar-Windows10系统任务栏快捷方式管理者_我是亲民_新浪博客
  20. uniapp判断浏览器

热门文章

  1. C 语言面试题大汇总
  2. 知识图谱(关系网络)概念及常用算法
  3. 游戏建模:21个人脑壳雕刻小小技巧,非常有用
  4. Amnesia失忆症攻略(本篇+later+crowd)
  5. ps修改图片上文字的几种方法 图+文
  6. 异常 illegal character 200B
  7. 用python绘制用例图源代码_用Visio画UML用例图
  8. 如何清除注册表中的Java安装信息
  9. 各公司对前端职位描述
  10. Java与咖啡豆 - Java命名由来