Submitted by gouki on 2024, September 25, 10:35 PM
ClashX 和 ClashX Pro 真的是两个不同的软件。在 CSDN 上有教你,如果打不开增强模式时候 的操作。鉴于这里不太方便贴这样的内容,我说一下思路
1、sudo launchctl unload -w /Library/......plst
2、删除这个 list。有时候 可能会有多个。你得看一下。估计是会有多个不同的存在
删除完后,重新运行。会提示你安装辅助插件,点取消。会重新让你以传统模式进行安装,至此完成
 
 
Flutter | 评论:0
 | 阅读:5284
Submitted by gouki on 2016, September 7, 10:19 AM
 去除内容中所有的多余的空格和空行
PHP代码
    - php > $str = "a    b  c d\n\ne f             g \t 2";  
 
    - php > echo preg_replace('/\s+/',' ',$str);  
 
    - a b c d e f g 2  
 
    - php > echo $str;  
 
    - a    b  c d  
 
    -   
 
    - e f             g        2  
 
    - php > echo preg_replace('/(\s)+/','$1',$str);  
 
    - a b c d  
 
    - e f g 2  
 
 
应该没有写错
 
 
PHP | 评论:0
 | 阅读:16759
Submitted by gouki on 2013, December 6, 2:01 PM
 不多说,上代码。有几个要注意的(这段代码是我从我的系统里剥出来的。写了很久了,只是最近有人一直在问,我想,这也不是什么特别的代码,还是开源吧。)
1、请求微信菜单需要token,所以要事先生成。这个token其实可以用不少时间的,看官方接口(token调用生成,每天是有次数的,所以节约着用,能存本地就存本地吧,记录下过期时间即可)
2、子菜单的数组顺序就是微信的子菜单:从上至下的顺序 。这个不要搞错
3、子菜单是有数量限制的
4、主菜单是有字数限制的。不能超过4个中文字。
 
上代码吧:
PHP代码
    - <?php  
 
    -  
 
    -  
 
    -  
 
    -  
 
    -  
 
    -   
 
    - $menudata = array(  
 
    -     'button' => array(  
 
    -         array(  
 
    -             'name'       => '菜单一',  
 
    -             'sub_button' => array(  
 
    -                 array(  
 
    -                     'type' => 'click',  
 
    -                     'name' => '最上方子菜单1',  
 
    -                     'key'  => 'R:4:1',  
 
    -                 ),  
 
    -                 array(  
 
    -                     'type' => 'click',  
 
    -                     'name' => '下方菜单',  
 
    -                     'key'  => 'R:3:1',  
 
    -                 ),  
 
    -             )  
 
    -         ),  
 
    -         array(  
 
    -             'name'       => '菜单2',  
 
    -             'sub_button' => array(  
 
    -                 array(  
 
    -                     'type' => 'click',  
 
    -                     'name' => '第一个',  
 
    -                     'key'  => 'R:2:1',  
 
    -                 ),  
 
    -                 array(  
 
    -                     'type' => 'click',  
 
    -                     'name' => '第二个',  
 
    -                     'key'  => 'R:8:1',  
 
    -                 ),  
 
    -                 array(  
 
    -                     'type' => 'click',  
 
    -                     'name' => '第三个',  
 
    -                     'key'  => 'R:9:1',  
 
    -                 ),  
 
    -                 array(  
 
    -                     'type' => 'click',  
 
    -                     'name' => '第四个',  
 
    -                     'key'  => 'R:10:1',  
 
    -                 ),  
 
    -             )  
 
    -         ),  
 
    -         array(  
 
    -             'type' => 'click',  
 
    -             'name' => '菜单3',  
 
    -             'key'  => 'M:7',  
 
    -         ),  
 
    -     )  
 
    - );  
 
    - $menujson = json_encode($menudata, JSON_UNESCAPED_UNICODE);  
 
    - define('APPKEY', '');   
 
    - define('SECRET', '');   
 
    - $getTokenUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=%s&secret=%s";  
 
    - $getTokenUrl = sprintf($getTokenUrl, APPKEY, SECRET);  
 
    - $result = json_decode(file_get_contents($getTokenUrl), true);  
 
    - $token = '';  
 
    - if (isset($result['access_token'])) {  
 
    -     $token = $result['access_token'];  
 
    - }  
 
    - if (!$token) {  
 
    -     throw new Exception('token can not empty');  
 
    - }  
 
    -   
 
    - $createMenuUrl = 'https://api.weixin.qq.com/cgi-bin/menu/create?access_token=' . $token;  
 
    - $opts = array(  
 
    -     'http' => array(  
 
    -         'method'  => 'POST',  
 
    -         'header'  => "Content-type: application/x-www-form-urlencodedContent-Length: " . strlen($menujson) . "" . "Connection: keep-alive" . "Keep-Alive: " . 300 . "",  
 
    -         'content' => $menujson,  
 
    -         'timeout' => 120,  
 
    -     ),  
 
    - );  
 
    -   
 
    - $context = stream_context_create($opts);  
 
    - $response = json_decode(file_get_contents($createMenuUrl, false, $context),true);  
 
    -   
 
    - if(!$response['errcode'] ){  
 
    -     echo "success";  
 
    - }else{  
 
    -     echo $response['errmsg'];  
 
    - }  
 
    -   
 
    - echo "<pre>";  
 
    - print_r($response);  
 
    - echo "</pre>";  
 
 
记得。如果返回成功,你又看不到效果,可以将公众号先取消关注,再加为关注,立刻就能看到效果了。
 
否则,你要等24小时左右 才能看到效果。
 
顺便,我也可以承接微信开发(请不要咨询我微信开发怎么做,网上教程很多。。。)
 
PHP | 评论:0
 | 阅读:22178
Submitted by gouki on 2013, June 18, 1:04 PM
 很简单的命令:
ioreg -lw0 | grep \"EDID\" | sed "/[^<]*</s///" | xxd -p -r | strings -6
 
 
如果是LSN开头就是三星,否则是LG
retina的LG屏问题很多啊。。。我现在开始闪屏了,虽然不严重,但。。。。
难说以后会怎么样。准备考虑买apple care了
 
Flutter | 评论:0
 | 阅读:17487
Submitted by gouki on 2013, June 10, 12:12 AM
 在用一个jQuery插件的时候,突然报错:b.browser undefined。。。
最初的时候想想不太可能啊?browser的判断不是从1.2.1的时候就一直就有了吗?于是搜索了一下jquery.mini.js,搜索browser,居然找不到。。。。
然后去官网看了一下,看到官方居然有这么一段:
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script src="http://code.jquery.com/jquery-migrate-1.2.1.min.js"></script>
居然建议我们加载migrate,打开这个文件搜索browser。。果然找到了。
于是在项目里加入这一行,不报错的。做个记录。(不就7K嘛。干嘛不放进去,真是的。。)
 
Tags: jquery
Javascript | 评论:0
 | 阅读:22151