亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

【筆記3】二維碼掃碼數(shù)據(jù)埋點(diǎn)

zhouzhou / 3217人閱讀

摘要:項(xiàng)目中遇到的問題前臺(tái)為商品掃碼數(shù)據(jù)埋點(diǎn)二維碼中的鏈接是外鏈,不是自己的后臺(tái),如果直接放外鏈的話,是統(tǒng)計(jì)不到數(shù)據(jù)的,所以需要先請(qǐng)求到自己后臺(tái),然后重定向外鏈。

項(xiàng)目中遇到的問題:1.前臺(tái)為商品掃碼數(shù)據(jù)埋點(diǎn)(二維碼中的鏈接是外鏈,不是自己的后臺(tái)),如果直接放外鏈的話,是統(tǒng)計(jì)不到數(shù)據(jù)的,所以需要先請(qǐng)求到自己后臺(tái),然后重定向外鏈。2. 二維碼中鏈接如果太長(zhǎng),二維碼的點(diǎn)會(huì)很多,手機(jī)掃碼識(shí)別時(shí)間加長(zhǎng),需要設(shè)計(jì)短鏈接替換策略

1. vue前端

引用qrcode-lite包生成二維碼

import { toDataURL } from "qrcode-lite"
...
const longUrl = "http://h5.m.taobao.com/app/smg/index.html?a=1&b=2&c=3..."
this.shortUrl = this.getShortUrl(longUrl)  // 由長(zhǎng)鏈接獲取短鏈接
const qrOption = {
    width: 200,
    margin: 1,
    quality: 0.3
}
this.getQrcodeImgURL(this.shortUrl, qrOption).then(url => {
    this.qrcodeImg = url
}).catch((err) => {
    console.log(`Create qrcode img failed, ${err}`)
})
2. laravel后臺(tái)

后臺(tái)主要實(shí)現(xiàn)3個(gè)功能,生成短鏈接、長(zhǎng)鏈接的緩存和取用、重定向

public function shortUrl(Request $request)
    {
        $url = $request->input("long_url");
        if (!$url) {
            return response()->json([
                "code" => "-1",
                "message" => "The long_url is required!"
            ]);
        }

        $key =  Carbon::now()->timestamp; // 以當(dāng)前時(shí)間戳作為緩存的key
      
        $expiresAt = Carbon::now()->addDays(10); // 短鏈接的有效時(shí)間為10天
        Cache::put($key, $url, $expiresAt);

        return response()->json([
            "code" => "0",
            "message" => "Success short the url",
            "data" => $key
        ]);
    }
    
 public function redirect($shortCode)
    {
        $key = $shortCode;
        if (!$key) {
            return view("common.error", [
                "errorTitle" => "掃碼錯(cuò)誤",
                "errorMessage" => "二維碼錯(cuò)誤,請(qǐng)跟管理員確認(rèn)!"]);
        }

        $redirectUrl = Cache::get($key, "expiration");
        if ($redirectUrl == "expiration") {
            return view("common.error", [
                "errorTitle" => "掃碼錯(cuò)誤",
                "errorMessage" => "二維碼過期,請(qǐng)重新生成二維碼后再掃碼!"]);
        }

        // 記錄埋點(diǎn)數(shù)據(jù)
        ...
        
        return redirect()->away($redirectUrl);
    }

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/29206.html

相關(guān)文章

  • 資源集 - 收藏集 - 掘金

    摘要:行爬取頂點(diǎn)全網(wǎng)任意小說掘金之前連續(xù)多篇文章介紹客戶端爬取平臺(tái),今天我們從零開始,實(shí)現(xiàn)爬取頂點(diǎn)小說網(wǎng)任意一本小說的功能。文件標(biāo)記所有文件我的后端書架后端掘金我的后端書架月前本書架主要針對(duì)后端開發(fā)與架構(gòu)。 30行js爬取頂點(diǎn)全網(wǎng)任意小說 - 掘金之前連續(xù)多篇文章介紹客戶端爬取平臺(tái)(dspider),今天我們從零開始,實(shí)現(xiàn)爬取頂點(diǎn)小說網(wǎng)任意一本小說的功能。 如果你還不知道客戶端爬取,可以先看...

    stdying 評(píng)論0 收藏0
  • 資源集 - 收藏集 - 掘金

    摘要:行爬取頂點(diǎn)全網(wǎng)任意小說掘金之前連續(xù)多篇文章介紹客戶端爬取平臺(tái),今天我們從零開始,實(shí)現(xiàn)爬取頂點(diǎn)小說網(wǎng)任意一本小說的功能。文件標(biāo)記所有文件我的后端書架后端掘金我的后端書架月前本書架主要針對(duì)后端開發(fā)與架構(gòu)。 30行js爬取頂點(diǎn)全網(wǎng)任意小說 - 掘金之前連續(xù)多篇文章介紹客戶端爬取平臺(tái)(dspider),今天我們從零開始,實(shí)現(xiàn)爬取頂點(diǎn)小說網(wǎng)任意一本小說的功能。 如果你還不知道客戶端爬取,可以先看...

    馬忠志 評(píng)論0 收藏0
  • 說說微信掃碼登錄

    摘要:詳情接口我們這里主要講的是網(wǎng)站應(yīng)用,網(wǎng)站應(yīng)用微信登錄是基于協(xié)議標(biāo)準(zhǔn)構(gòu)建的微信授權(quán)登錄系統(tǒng)即上面的協(xié)議。在微信客戶端授權(quán)登錄獲取用戶信息的可以查看。微信授權(quán)登錄目前支持模式,適用于擁有端的應(yīng)用授權(quán)。 一、OAuth2.0 OAuth(開放授權(quán))是一個(gè)開放標(biāo)準(zhǔn),允許用戶讓第三方應(yīng)用訪問該用戶在某一網(wǎng)站上存儲(chǔ)的私密的資源(如照片,視頻,聯(lián)系人列表),而無需將用戶名和密碼提供給第三方應(yīng)用。 ...

    Jokcy 評(píng)論0 收藏0
  • 來聊聊react-native應(yīng)用的健康監(jiān)控

    監(jiān)控什么 今天我們來聊聊如何監(jiān)控你的應(yīng)用程序,這里的監(jiān)控說的不是讓我們?nèi)ケO(jiān)控用戶,而是監(jiān)控應(yīng)用的健康狀態(tài),什么是健康狀態(tài)呢?對(duì)于后端的同學(xué)來說,在微服務(wù)的架構(gòu)下,每個(gè)子服務(wù)是否正常工作、返回的結(jié)果是否滿足預(yù)期,這些就算是健康狀態(tài),再舉個(gè)例子,你的臺(tái)式機(jī),對(duì)于操作系統(tǒng)來說,每個(gè)硬件是否能正常的工作、工作的穩(wěn)定性,這些都是需要關(guān)注的健康狀態(tài)。 既然我們關(guān)心健康狀態(tài),那么我們?cè)撊绾魏饬恳粋€(gè)設(shè)備的健康狀態(tài)...

    tunny 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<