ljnchn I can do beter.

Yii2 的多语言切换设置

Yii2 的多语言设置。我是通过判断 cookie 实现的,每次加载页面前,根据 cookie 设置语言 如果有 BaseController 的话,在里面的 init 方法写相关的逻辑最好。 如果没有,只能在配置文件的 on beforeAction 写了。

切换语言的方法,GET 方式接收需要切换的语言

public function actionLanguage()
{
    $lang = \Yii::$app->request->get('lang');  
    if(isset($lang)){  
        $cookie = new \yii\web\Cookie([
                   'name' => 'lang',
                   'expire' => time() + 36000000,
                   'httpOnly' => true,
                   'value' => $lang,
        ]);
        \Yii::$app->response->getCookies()->add($cookie);
    }
    //切换完语言哪来的返回到哪里
    $this->goBack(\Yii::$app->request->headers['Referer']);  
}
$config = [
    'on beforeAction' => function($event) {
        $cookie = \Yii::$app->request->cookies;
        if ($lang = $cookie->get('lang')) {
            \Yii::$app->language = $lang;
        }
    }
];

微信支付那些坑

最近在做微信支付。碰到了许多的坑,记录一下。

官网提供的api代码

二维码支付

JSAPI 支付

从IP到经纬度,你的位置已经暴露了

从IP到经纬度,你的位置已经暴露了

当你用浏览器打开某个地图应用时你会发现,这个网站并没有使用浏览器便精确的定到了你的位置。

Javascript 中数组元素的排序及洗牌算法的实现

这里利用了一个 sort 函数进行排序

正向排序

var numberArray = [2,1,3];
numberArray.sort(function(a, b){
        return a-b;
    }
); 
//[1,2,3]

逆向排序

var numberArray = [2,1,3];
numberArray.sort(function(a, b){
        return b-a;
    }
); 
//[3,2,1]

随机排序(洗牌)

var numberArray = [2,1,3];
numberArray.sort(function(){
        return Math.random()-0.5;
    }
); 
//random

可以看到,排序的是由匿名函数的返回值决定。 false 是正序, true 是逆序,0为不排序,随机则是随机结果。

参考链接MDN

坚果手机使用一周体验

由于一些原因不得不买个备用机,鉴于给我爸买了魅蓝metal,给我妈买了小米4c,这次就决定买个坚果了。纠结了一顿,选择了黑色版32G,799块大洋。

外形

黑色版看起来比较深沉,但是配合黑色壁纸整体感很强。其他颜色比较亮,很青春。整体设计看起来还是很不错的。

系统

第一次用锤子系统,并没有特别惊艳的地方,没有达到本来的期待值。 可能真的是这个价位,用起来的时候有卡顿感,不是很爽。

续航

续航很一般,而且充电比较慢。