微信
微信
源码
源码
营销
营销
其它
其它
微营销学堂 / 普通交流群 524721912 / 本站统一解压密码:www.uuuoo.com / 未经授权恶意转载本站资源一律封除ID
微营销学堂【VIP】开通和【元宝】充值教程
发新帖

微营销学堂-微信精选问答【第6期】

[复制链接]
786 10

微信精选问答【第6期】

微信精选问答【第6期】


Q:iOS播放视频自动全屏,怎么禁止?
微信里我需要在小窗口里播放,不让全屏,但是缩小窗口直接退出视频。

A:在safari没办法不全屏,app或者其他html5可以设置video标签,在video标签添加一个webkit-playsinline
  1. <video id="player" width="480" height="320" webkit-playsinline></video>
复制代码
Q:获取access_token,返回的结果为空?
按照论坛教程,获取access_token,返回的结果为空,完全一样的代码。
  1. // 获取到 appid 和 appsecret
  2. $appid = $this->appid;
  3. $appsecret = $this->appsecret;
  4. // 构建获取access_token的url
  5. $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={$appid}&secret={$appsecret}";
  6. // 构建http请求并执行
  7. $ch = curl_init();
  8. curl_setopt($ch, CURLOPT_URL, $url);
  9. curl_setopt($ch, CURLOPT_HEADER, false);
  10. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  11. $result=curl_exec($ch);
  12. curl_close($ch);
  13. // 解析返回的json数据
  14. $jsoninfo = json_decode($result);
  15.       
  16. // 读取json中的access_token字段
  17. $access_token = $jsoninfo->access_token;
  18. $expires_in = $jsoninfo->expires_in;
  19. // 将获取到的access_token作为文本信息返回
  20. $this->responseText("access_token: '{$access_token}'\nexpires_in: '{$expires_in}'");
复制代码
A:获取的步骤和代码是没有问题的,问题出在服务器的环境,PHP环境使用的是最新版本的appServ,curl版本较高,因此需要进行额外的设置。
  1. curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
  2. curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
复制代码
Q:微信对账单返回的数据怎么处理?
输入日期后就可以返回对账单,但是微信返回的是字符串,怎么处理这个字符串然后存到数据库?需要对应好每一个字段

A:由于返回的是纯文本,没有任何格式,所以直接使用格式匹配的办法来读取数据,前提是微信账单返回的文本数据格式不会出现变化。

  1. #$log为微信返回的对账单结果(string);
  2. #查询的是成功完成的订单(SUCCESS)
  3. #其他状态返回结果不一样所以不能用需要简单的修改一下
  4. #使用的方法比较简单粗暴(大侠勿喷)
  5. #怎么去微信查询就没写了
  6. $log = str_replace(","," ",$log);//,号替换成空白   
  7. $log = explode("`",$log);//根据`分割成数组
  8. $k = 1;
  9. $j = count($log)-6;
  10. $Fornum = (count($log)-6)/6;
  11. for($i=0;$i<$Fornum-1;$i++){
  12.     for($s=$k;$s<$j;$s++){
  13.     $data2[$i]['time'] = $log[$s];#交易时间
  14.     $data2[$i]['ghid'] = $log[$s+1];#公众账号ID
  15.     $data2[$i]['mchid'] = $log[$s+2];#商户号
  16.     $data2[$i]['submch'] = $log[$s+3];#子商户号
  17.     $data2[$i]['deviceid'] = $log[$s+4];#设备号
  18.     $data2[$i]['wxorder'] = $log[$s+5];#微信订单号
  19.     $data2[$i]['bzorder'] = $log[$s+6];#商户订单号
  20.     $data2[$i]['openid'] = $log[$s+7];#用户标识
  21.     $data2[$i]['tradetype'] = $log[$s+8];#交易类型
  22.     $data2[$i]['tradestatus'] = $log[$s+9];#交易状态
  23.     $data2[$i]['bank'] = $log[$s+10];#付款银行
  24.     $data2[$i]['currency'] = $log[$s+11];#货币种类
  25.     $data2[$i]['totalmoney'] = $log[$s+12];#总金额
  26.     $data2[$i]['redpacketmoney'] = $log[$s+13];#企业红包总金额
  27.     $data2[$i]['commodityname'] = $log[$s+14];#商品名称
  28.     $data2[$i]['datapacket'] = $log[$s+15];#商户数据包
  29.     $data2[$i]['fee'] = $log[$s+16];#手续费
  30.     $data2[$i]['rate'] = $log[$s+17];#费率
  31.     $k = $k+18;
  32.     break;
  33.     }
  34. }
  35. #结果已经存在$data2 ,下面只是简单的输出
  36. foreach($data2 as $key=>$val){
  37.     echo "<span style=\"font-size:9px;\">交易时间:".$val['time']."公众账号:"    .$val['ghid']."商户号:".$val['mchid']."微信订单号:".$val['wxorder']."商户订单号:".$val['bzorder']."用户标识:"    .$val['openid']."交易类型:" .$val['tradetype']."交易状态:"  .$val['tradestatus']."付款银行:"    .$val['bank']."货币种类:"   .$val['currency']."总金额:"    .$val['totalmoney']."商品名称:" .$val['commodityname']."商户数据包:" .$val['datapacket']."手续费:"  .$val['fee']."费率:".$val['rate']."</span><br />";
  38. }
复制代码
A:用户昵称带特殊标签怎么传mySQL?
获取用户信息保存数据库,但是有些用户的昵称带了一些特殊字符,或表情图后,加有效字符,那整个昵称都没办法保存数据库了,要怎么做?utf8的

Q:普通的字符串或者表情都是占位3个字节,所以utf8足够用了,但是移动端的表情符号占位是4个字节,普通的utf8就不够用了,为了应对无线互联网的机遇和挑战、避免emoji表情符号带来的问题、涉及无线相关的MySQL数据库建议都提前采用utf8mb4字符集。你也可以事先对用户名带有特殊字符的用户进行处理后再存入数据库,比如emoji表情的处理(PHP):

  1. public function unicode2utf8_2($str){
  2.     //关于unicode编码转化的第二个函数,用于显示emoji表情
  3.     //组合成json格式
  4.     $str = '{"result_str":"'.$str.'"}';
  5.     //json转换为数组,利用 JSON 对 \uXXXX 的支持来把转义符恢复为 Unicode 字符
  6.     $strarray = json_decode($str,true);
  7.     return $strarray['result_str'];
  8. }

  9. protected function testEmoji(){
  10.     $r = '';

  11.     // 解析服务器发送过来的表情消息
  12.     $tmpStr = json_encode($this->getRequest("content"));
  13.     $r .= "msg after encode {$tmpStr}\n";
  14.     $tmpStr = preg_replace("#(\\\ue[0-9a-f]{3})#ie", "addslashes('\\1')", $tmpStr);
  15.     $r .= "msg after replace {$tmpStr}\n";
  16.     $tmpStr = json_decode($tmpStr);
  17.     $r = $r . "user send to server: {$tmpStr}";

  18.     // 将表情文本格式转化为编码格式
  19.     $back_str = $this->unicode2utf8_2("\ue159")."【公交/地铁】";
  20.     $this->responseText($r . "\nserver send to user: " . $back_str);
  21. }

  22. protected function onText() {
  23.     if(isset($_SERVER['HTTP_APPNAME'])){
  24.        //SAE 环境
  25.     }else{
  26.       //本地环境info
  27.     }

  28.     $this->testEmoji();
  29. }
复制代码





上一篇:微营销学堂-微信精选问答【第5期】
下一篇:30个微信营销技巧,目前个人微信使用技巧是最全的!
没有元宝? 不要在陶醉了! 点这里充值元宝
重要通知 代理VIP享受每天免元宝下载7次 点这里开通VIP

举报 使用道具

回复

精彩评论11

忘不掉2015  秀才  发表于 2016-2-20 12:29:00 | 显示全部楼层
好啊,谢谢老大!

举报 使用道具

回复 支持 反对
肚赌悻  秀才  发表于 2016-2-23 08:20:38 | 显示全部楼层
严重支持!

举报 使用道具

回复 支持 反对
小草根  月费赞助VIP  发表于 2016-2-26 16:54:19 | 显示全部楼层
东西不错,感谢楼主

举报 使用道具

回复 支持 反对
易靓影  秀才  发表于 2016-3-1 03:31:45 | 显示全部楼层
来看看,可以下载不

举报 使用道具

回复 支持 反对
旌岌  秀才  发表于 2016-3-4 20:21:02 | 显示全部楼层
长时间没来看了 ~~

举报 使用道具

回复 支持 反对
慕容群  秀才  发表于 2016-3-10 02:31:36 | 显示全部楼层
回个帖子,下班咯~

举报 使用道具

回复 支持 反对
哈娅顺  秀才  发表于 2016-3-16 01:40:53 | 显示全部楼层
不错,只是没元宝了,先去充值

举报 使用道具

回复 支持 反对
狩生诟  秀才  发表于 2016-4-5 04:44:20 | 显示全部楼层
不错,好东西

举报 使用道具

回复 支持 反对
凌慕思  秀才  发表于 2016-4-20 06:36:37 | 显示全部楼层
是爷们的娘们的都帮顶!大力支持

举报 使用道具

回复 支持 反对
*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

更多

客服中心

客服在线时间 周一至周日8:30-20:30
 
 
在线客服
技术支持
售后支持
普通交流群:
微营销软件交流②群
软件交流群:
微营销软件交流①群
终身VIP群:
微营销学堂-终身VIP群
工作时间:
9:00-22:00
快速回复 返回顶部 返回列表