在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/ PHP問(wèn)答
兮顏 回答
addToArr2(item){
    var hasItem = this.arr2.some(k=>{
        return k.id == item.id
    })
    hasItem || this.arr2.push(item)
}
囍槑 回答

你的描述我看的稀里糊涂。。。。你想辦法理一下思路,簡(jiǎn)便一下發(fā)言,這樣我們才好幫你找問(wèn)題。。

傻叼 回答
  1. \是PHP命名空格的分隔符,\表示根命名空間
  2. \Exception是類型聲明
你好胸 回答

很簡(jiǎn)單的問(wèn)題花了兩天時(shí)間,終于解決了,我F...佛慈悲,咳咳嗯,正經(jīng)說(shuō)說(shuō)怎么回事

背景介紹

項(xiàng)目是要部署在阿里云上對(duì)外的,簡(jiǎn)單說(shuō)就是要大家在地址欄敲個(gè)xxx.com就能訪問(wèn)到我的網(wǎng)站。而樓主之前一直項(xiàng)目組做本地調(diào)試

假設(shè)本地有兩個(gè)Vue工程,如果一個(gè)工程被npm run dev,就會(huì)跑在localhost:8080,那么80端口被占用了,不能再占一個(gè)8080,只能改用8081,做法如題問(wèn)中描述
但是,當(dāng)發(fā)布到阿里云之后,設(shè)置好的8081不起作用了怎么回事呢?

現(xiàn)在針對(duì)同一個(gè)阿里云分配的IP地址,樓主申請(qǐng)了兩個(gè)域名hehe.com和lala.com,希望訪問(wèn)hehe.com時(shí)對(duì)應(yīng)顯示工程hehe,訪問(wèn)lala.com時(shí),對(duì)應(yīng)顯示工程lala

通過(guò)nginx配置使同一IP對(duì)應(yīng)多個(gè)域名和多個(gè)項(xiàng)目

其實(shí)我們的所有設(shè)置都是針對(duì)開(kāi)發(fā)環(huán)境(關(guān)鍵字:dev/development),而部署在阿里云上被稱為生產(chǎn)環(huán)境(關(guān)鍵字:production)

那生產(chǎn)環(huán)境怎么還不受代碼控制呢?這個(gè)需要展開(kāi)來(lái)講:

我們開(kāi)發(fā)的工程,需要一步步測(cè)試調(diào)試
在開(kāi)發(fā)環(huán)境下修改一小段code都可以看到相應(yīng)的效果
而當(dāng)你解決所有bug,認(rèn)為代碼perfect的時(shí)候,就會(huì)npm run build
這是做什么呢?就是把你的項(xiàng)目打包成一個(gè)靜態(tài)文件,什么叫靜態(tài)文件?Emmm...就理解成打包成一坨,里里外外都不能改的,可以直接運(yùn)行出你perfect的效果

這個(gè)文件在哪里呢?當(dāng)你build之后會(huì)看到根目錄下有個(gè)dist文件,吶,就是這個(gè),先記住他哦

clipboard.png

然后就可以運(yùn)行了么?Nope
這是個(gè)文件,讓它run在阿里云服務(wù)器上我們需要一個(gè)代理服務(wù)器nginx,你可以理解為你有個(gè).doc文件,總需要個(gè)Microfoft Word來(lái)打開(kāi)的對(duì)吧,這里的nginx可以幫你打開(kāi)靜態(tài)文件讓它run起來(lái)

所以

步驟

  1. 你要在阿里云上安裝一個(gè)nginx
    這里有教程nginx的安裝配置和使用: https://segmentfault.com/a/11...
  2. nginx有一個(gè)配置文件nginx.conf,吶關(guān)鍵來(lái)啦,這個(gè)配置文件可以幫助我們實(shí)現(xiàn)對(duì)應(yīng)域名,對(duì)應(yīng)文件的強(qiáng)大功能啦,下面粘貼一小段配置代碼,可以看到hehe工程和hehe.com對(duì)對(duì)應(yīng)起來(lái)了,可以看到lala工程和lala.com對(duì)對(duì)應(yīng)起來(lái)了,
  3. 端口號(hào)可以通過(guò)修改listen后的數(shù)字來(lái)設(shè)置
#第一個(gè)服務(wù)器
server {
       #這里的default_server標(biāo)識(shí)服務(wù)器為默認(rèn)服務(wù)器,無(wú)對(duì)應(yīng)域名情況下會(huì)對(duì)應(yīng)至該服務(wù)器
       listen 80 default_server;
       #和上一句語(yǔ)義相同,上句對(duì)應(yīng)Ipv4這里對(duì)應(yīng)Ipv6
       listen [::]:80 default_server;
        
       #對(duì)應(yīng)的靜態(tài)文件根目錄,把你的hehe工程的dist里面的內(nèi)容放在這里
       root /var/www/hehe;
 
       index index.html index.htm index.nginx-debian.html;
                        
       #對(duì)應(yīng)的第一個(gè)域名
       server_name hehe.com;
 
       location / {
           # First attempt to serve request as file, then
           # as directory, then fall back to displaying a 404.
           try_files $uri $uri/ @router;
           index index.html;
       }
       location @router{
           rewrite ^.*$ /index.html last;
       }
}
 
 
#第二個(gè)服務(wù)器
server {
    #這里應(yīng)該不設(shè)置default_server否則會(huì)報(bào)錯(cuò),注:端口號(hào)可與另一服務(wù)器重復(fù)
    listen 80;
    listen [::]:80;
        
    #對(duì)應(yīng)的靜態(tài)文件路徑
    root /var/www/lala;

    index index.html index.htm index.nginx-debian.html;
    
    #對(duì)應(yīng)的第二個(gè)域名           
    server_name lala.com;
        
    location / {
      # First attempt to serve request as file, then
      # as directory, then fall back to displaying a 404.
      try_files $uri $uri/ @router;
      index index.html;
    }
    location @router{
      rewrite ^.*$ /index.html last;
    }
}

鹿惑 回答

你先看下結(jié)束的分號(hào)是不是英文的分號(hào),以及return后的那個(gè)分號(hào)之后的那個(gè)反引號(hào)去掉

焚音 回答

原因已經(jīng)找到,因?yàn)槲覕?shù)據(jù)庫(kù)的主鍵id不是自增的,而laravel默認(rèn)的主鍵id是自增,并且是強(qiáng)制轉(zhuǎn)換為int,所以返回?cái)?shù)據(jù)時(shí)被轉(zhuǎn)換了,因此返回的就會(huì)一直是0

我以為 回答

raw:文件內(nèi)容。
blame:按行顯示最新提交的信息。
history:文件的歷史記錄。

何蘇葉 回答
  1. 為什么這么寫(xiě)?這里寫(xiě)get或者post,是為了更加符合使用場(chǎng)景,如你提交數(shù)據(jù)就用post,獲取資源用get。
  2. 他就知道了你是這種請(qǐng)求?這種應(yīng)該是你自身的代碼,別人怎么知道?而且就算不知道,HTTP請(qǐng)求本身就那幾種,一個(gè)一個(gè)的嘗試也很容易。
小曖昧 回答

如果字段都是一樣的話,可以考慮把多個(gè)結(jié)果集用union連起來(lái),然后再排序

你把置頂?shù)奈恼路旁诰彺嬷谢蛘吡硪粡埍碇校ㄎ恼卤硪灿兄庙斘恼碌臄?shù)據(jù)),那么你先在這邊取置頂文章,然后再按之前最后一條文章的添加時(shí)間來(lái)分頁(yè),當(dāng)然增加過(guò)濾條件非置頂文章。這樣性能會(huì)快很多,尤其是有對(duì)“添加時(shí)間”欄位做了索引。

終相守 回答

為啥要用sdk呢?寫(xiě)個(gè)簡(jiǎn)單的curl請(qǐng)求不好么?

通過(guò)分析換了一種方法解決

利用BootstrapTable這個(gè)onClickRow事件函數(shù) 然后在單獨(dú)調(diào)用google map的api

產(chǎn)生點(diǎn)擊循環(huán)列表在map中展現(xiàn)圖片信息

修復(fù)bug $element[0].addEventListener('click',fm);

  function BootstrapTable() {
        $.ajax({
            "type": "get",
            "url": imgJson,
            "async": false,
            "success": function (data) {
                window.res = data.data;
                //console.log(data.data);
                $('#table').bootstrapTable({
                    data: data.data,
                    pagination: true,
                    searchAlign: "right",
                    buttonsAlign: "left",
                    showRefresh: true,
                    searchOnEnterKey: false,
                    singleSelect: true,
                    maintainSelected: false,
                    search: true,
                    pageSize: 10,
                    sortable: false,
                    paginationLoop: true,
                    toolbar: '#toolbar',        // 工具欄ID
                    toolbarAlign: 'right',        // 工具欄對(duì)齊方式
                     onClickRow: function (item, $element) {
                        var arr = {};
                        arr.Latitude = parseFloat(item.Latitude);
                        arr.Longitude = parseFloat(item.Longitude);
                        var latLng = new google.maps.LatLng(arr.Latitude, arr.Longitude);
                        var fm = mapLine.markerClickFunction(item, latLng);
                        $element[0].addEventListener('click',fm);
                    },
              
                    columns: [
                        {
                            field: 'id',
                            align: 'center',
                            title: 'id'
                        },
                        {
                            field: 'photo_title',
                            align: 'center',
                            title: 'photo_title'
                        },
                        {
                            field: 'photo_time',
                            align: 'center',
                            title: 'photo_time'
                        }
                    ]

                });
            }
        });
    };
神曲 回答

上文中所寫(xiě)的代碼極其危險(xiǎn)

建議對(duì)于這種嵌有HTML的內(nèi)容 通過(guò)使用模板文件進(jìn)行存儲(chǔ),使用占位符的形式來(lái)對(duì)內(nèi)容進(jìn)行替換。

建議方案

  • email.template
<html>
    <head>
        {$phpmailer_css_style}
    </head>

    <body>
    <div class="edm-layout">
      <img src="{$host_url}images/logo.png">
      <div class="line"></div>
    </div>

    <div class="edm-content">
      <div class="edm-hithere">
        嗨,{$user_name} <br>XXX {$prod_total}XXXXX<br>XXXXXX{$this_total} XXX
      </div>
      
        <div class="edm-products">
            {$row_distinct}
        </div>
      </div>
    </div>
  </body>
</html>
  • EmailTemplate.php

<?php
$php_version = version_compare(phpversion(), '7');
/**
 * 必須php 7
 */
if ($php_version === -1) {
    die('Need a high version of php 7.1.*');
}
/**
 * EmailTemplate
 */
class EmailTemplate
{
    /**
     * @param string $template_path 模板路徑
     * @param array $args 變量組
     * @return string 渲染后的
     * @throws Exception
     */
    public static function render(string $template_path, array $args): string
    {
        if (!file_exists($template_path)) {
            throw new Exception("Not found template fiel.", 1);

        }
        $template = file_get_contents($template_path);
        $result = preg_replace_callback('!\{\$(\w+)\}!', function ($matches) use ($args) {
            $arg = $matches[1];
            return $args[$arg] ?? '';
        }, $template);
        return $result;
    }
}
  • demo.php
$body = EmailTemplate::render(
    'email.template',
    [
        'host_url' => 'http://xxx',
        'phpmailer_css_style' => 'empty',
        'user_name' => '張三',
        'prod_total' => '100.00',
        'this_total' => '10000.00',
        'row_distinct' => 'empty',
    ]
);

這樣就實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的模板替換。

入她眼 回答

為什么數(shù)據(jù)庫(kù)查詢返回結(jié)果一定要符合你的格式要求呢?
這這個(gè)本身就是在你代碼業(yè)務(wù)層需要實(shí)現(xiàn)的功能??!

青瓷 回答

bind對(duì)象進(jìn)去就行了
setInterval(test.all.bind(test),1000);

扯不斷 回答

直接round不可能出現(xiàn)這個(gè)吧。。只有計(jì)算才會(huì)出現(xiàn)這種,然后你里面2個(gè)點(diǎn)的是什么

尛曖昧 回答
  1. 最好先插入數(shù)據(jù)庫(kù)然后做性能測(cè)試再來(lái)考慮需不需要做額外優(yōu)化,如果要,可以用 redis 做緩沖。
  2. 各類推送服務(wù),蘋(píng)果有官方推送服務(wù),安卓上有各家推送,小米、極光等等。
吃藕丑 回答

第二種更合適,簡(jiǎn)單點(diǎn)設(shè)計(jì)的話商品ID,用戶ID,商品數(shù)量就夠了。
首先接口請(qǐng)求過(guò)來(lái),拿到用戶ID,這是前提。
再根據(jù)用戶ID購(gòu)物車表內(nèi)查找對(duì)應(yīng)的所有商品ID。
最后去商品表根據(jù)商品ID列表找到對(duì)應(yīng)商品。
其實(shí)和你自己形容的差不多步驟。

SELECT * FROM user_cart as c
LEFT JOIN product AS b ON c.prod_id = b.prod_id
WHERE c.id = '{$_SESSION["user-id"]}'