国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目次
# 1. WeChat パブリック アカウントを登録します " ># 1. WeChat パブリック アカウントを登録します
# 2. 権限をアクティブ化します
# 3. インターフェース権限が有効になったら、公式アカウントに JS インターフェースのセキュアドメイン名を設(shè)定する必要があります
# 4. セキュリティ ドメイン名が正常に入力されたら、IP ホワイトリストを構(gòu)成する必要があります
# 5. 上記の機(jī)能は公式アカウントで設(shè)定する必要があります。手順はすべて完了しました。インターフェイスを特定のプロジェクトに組み込み始めましょう。
ホームページ WeChat アプレット WeChatの開(kāi)発 H5 ページのカスタム タイトル、リンク、説明、WeChat 友達(dá)への寫(xiě)真共有、モーメント、QQ、QQ スペース

H5 ページのカスタム タイトル、リンク、説明、WeChat 友達(dá)への寫(xiě)真共有、モーメント、QQ、QQ スペース

May 07, 2020 pm 02:52 PM
h5

最近、仕事で、攜帯電話の H5 ページをカスタマイズして、WeChat の友人、モーメント、QQ、および QQ スペースと共有する必要がある機(jī)能に遭遇しました。

以下は私が Baidu から入手し、自分でテストした方法です。みんなと共有してお互いから學(xué)びましょう。

実裝原則: H5 のカスタム共有には、WeChat パブリック プラットフォームの共有インターフェイス (WeChat Web 開(kāi)発における JSSDK) の使用が必要です [具體的なドキュメント: https://developers.weixin.qq.com/doc/ offiaccount/OA_Web_Apps/JS-SDK.html] 以下に示すように、WeChat の SDK の共有インターフェイスを使用します。

H5 ページのカスタム タイトル、リンク、説明、WeChat 友達(dá)への寫(xiě)真共有、モーメント、QQ、QQ スペース

注: 次のカスタム共有機(jī)能は、WeChat の組み込みブラウザでのみ使用できます。 共有操作は次のとおりです。これは他のブラウザでは不可能です。

# 1. WeChat パブリック アカウントを登録します

まず、WeChat パブリック アカウントを開(kāi)設(shè)する必要があります。パブリック アカウントの種類(lèi)は、サブスクリプション アカウントである必要があります。個(gè)人アカウントには、インターフェイスを共有する機(jī)能がありません。

# 2. 権限をアクティブ化します

公式アカウントの登録が完了したら、WeChat パブリック プラットフォームにログインし、開(kāi)発 - 「インターフェイス権限」に移動(dòng)し、共有インターフェイスの権限をアクティブ化する必要があります [権限をアクティブ化するには、次の手順が必要です]エンタープライズ認(rèn)証と支払い認(rèn)証】で、以下に示すように認(rèn)証された狀況です:

H5 ページのカスタム タイトル、リンク、説明、WeChat 友達(dá)への寫(xiě)真共有、モーメント、QQ、QQ スペース

# 3. インターフェース権限が有効になったら、公式アカウントに JS インターフェースのセキュアドメイン名を設(shè)定する必要があります

WeChat公式プラットフォームにログインし、設(shè)定-「公式アカウント設(shè)定」-「機(jī)能設(shè)定」に進(jìn)み、以下の図に示すように、有効なJSインターフェースのセキュリティ?ドメイン名[プロジェクトのアクセス?ドメイン名]を入力します:

H5 ページのカスタム タイトル、リンク、説明、WeChat 友達(dá)への寫(xiě)真共有、モーメント、QQ、QQ スペース

# 4. セキュリティ ドメイン名が正常に入力されたら、IP ホワイトリストを構(gòu)成する必要があります

[開(kāi)発] - >> [基本設(shè)定] -> [IP ホワイトリスト] をクリックし、サーバー IP [プロジェクトが配置されているサーバーの IP アドレス] を入力します。以下の図に示すように、具體的な理由は次のとおりです:

H5 ページのカスタム タイトル、リンク、説明、WeChat 友達(dá)への寫(xiě)真共有、モーメント、QQ、QQ スペース

# 5. 上記の機(jī)能は公式アカウントで設(shè)定する必要があります。手順はすべて完了しました。インターフェイスを特定のプロジェクトに組み込み始めましょう。

## (1) JS ファイルを?qū)毪筏蓼?/strong>

JS インターフェースを呼び出す必要があるページに次の JS ファイルを?qū)毪筏蓼?(https をサポート): http://res.wx.qq.com/open/ js/jweixin-1.4.0.js

上記のリソースにアクセスできないときにサービスの安定性をさらに向上させる必要がある場(chǎng)合は、http://res2.wx.qq .com/open/js/jweixin-1.4 にアクセスしてください。 .0.js (https をサポート)

## (2) config インターフェイスを介して権限検証設(shè)定を挿入します

JS-SDK を使用する必要があるすべてのページは、最初に設(shè)定情報(bào)を挿入する必要があります。そうしないと、 call

wx.config({
  debug: true, // 開(kāi)啟調(diào)試模式,調(diào)用的所有api的返回值會(huì)在客戶(hù)端alert出來(lái),若要查看傳入的參數(shù),可以在pc端打開(kāi),參數(shù)信息會(huì)通過(guò)log打出,僅在pc端時(shí)才會(huì)打印。
  appId: '', // 必填,公眾號(hào)的唯一標(biāo)識(shí)
  timestamp: , // 必填,生成簽名的時(shí)間戳
  nonceStr: '', // 必填,生成簽名的隨機(jī)串
  signature: '',// 必填,簽名
  jsApiList: [] // 必填,需要使用的JS接口列表
});

上記の権限検証のパラメーターのうち、

1. 「appId」は、WeChat パブリック プラットフォームで取得できる公式アカウントの一意の識(shí)別子です

H5 ページのカスタム タイトル、リンク、説明、WeChat 友達(dá)への寫(xiě)真共有、モーメント、QQ、QQ スペース

2.

3. "nonceStr"、ランダムな文字列、[長(zhǎng)さは 32 文字を超えてはなりません]

4. "signature"、署名 (パラメーターを結(jié)合して暗號(hào)化する必要があります)

5.jsApiList は、次のような JS インターフェイスのリストです。以下に示す: [リンク : https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#62]

H5 ページのカスタム タイトル、リンク、説明、WeChat 友達(dá)への寫(xiě)真共有、モーメント、QQ、QQ スペース

(3) 署名「signature」を生成します。複雑な場(chǎng)所]

a. 署名を生成するには、いくつかのパラメーターを使用し、それらのパラメーターを文字列に結(jié)合し、sha1() を使用して暗號(hào)化する必要があります。

パラメータは次のとおりです: noncestr: ランダムな文字列 [これは権限検証のランダムな文字列と一致する必要があります]

jsapi_ticket: jsapi_ticket はパブリック アカウントが WeChat を呼び出すために使用する一時(shí)的なチケットですJSインターフェース、通常 この場(chǎng)合、access_tokenで取得したjsapi_ticketの有効期限は7200秒です。

timestamp: タイムスタンプ [このタイムスタンプも、権限検証のタイムスタンプと一致している必要があります。単位は秒です]

url: # 以降を除く、現(xiàn)在の Web ページの URL文字

次に、すべてのパラメータを文字列に連結(jié)します。例:

jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg&noncestr=Wm3WZYTPz0wzccnW×tamp=1414587457&url=http://mp.weixin.qq.com?params=value

然后對(duì)上面的字符串進(jìn)行加密【sha1()函數(shù)進(jìn)行加密】,得到signature。

b.現(xiàn)在來(lái)說(shuō)說(shuō)怎樣獲得調(diào)用微信調(diào)用JS接口的臨時(shí)票據(jù)jsapi_ticke

因?yàn)閖sapi_ticket的有效期為7200秒,并且需要通過(guò)access_token來(lái)獲取到,所以我們先獲取access_token;access_token公眾號(hào)的一天獲取次數(shù)有限,2000次,且有效時(shí)間為7200秒,所以我們可以考慮每次獲取到的access_token放入緩存或者讓數(shù)據(jù)表中,在有效期內(nèi)反復(fù)調(diào)用【我是存儲(chǔ)到數(shù)據(jù)表中的】。

下面是我自己寫(xiě)的一個(gè)簡(jiǎn)單類(lèi)和數(shù)據(jù)表結(jié)構(gòu)

H5 ページのカスタム タイトル、リンク、説明、WeChat 友達(dá)への寫(xiě)真共有、モーメント、QQ、QQ スペース

class Wxapi{
    protected $appid;
    protected $appsecret;
 
    /**
     * 構(gòu)造函數(shù)
     * 2019-12-10
     */
    public function __construct($appid,$appsecret){
        $this->appid=$appid;
        $this->appsecret=$appsecret;
        $this->sessionKey_url="https://api.weixin.qq.com/sns/jscode2session";
        $this->accessToken_url="https://api.weixin.qq.com/cgi-bin/token";
        $this->jsapi_ticket_url="https://api.weixin.qq.com/cgi-bin/ticket/getticket";
        $this->qrcodeUrl="https://api.weixin.qq.com/cgi-bin/wxaapp/createwxaqrcode";
    }
 
    /**
     * 獲取access_token
     * 2019-12-10
     *
     * @param string  appid         appid
     * @param string  appsecret     appsecret
     * @param string  tableName     表名(wx_account)
     * @return string token         token
     */
    public function getToken($appid,$appsecret,$tableName){
        $accountInfo = DB::table($tableName)->where('appid',$appid)->where('appsecret',$appsecret)->first();
        $now_time = time();//當(dāng)前時(shí)間戳
        if(empty($accountInfo)){
            return false;
        }
        if($now_time-$accountInfo->access_token_time<7000){
            $token = $accountInfo->access_token;
            return $token;
        }else{
            $get_token_url = $this->accessToken_url."?grant_type=client_credential&appid=".$appid.&#39;&secret=&#39;.$appsecret;
            $getToken_json = curl_get($get_token_url);
            $getToken_arr = json_decode($getToken_json[&#39;output&#39;],true);
            $token = $getToken_arr[&#39;access_token&#39;];
            $arr = [
                &#39;access_token_time&#39;=>time(),
                &#39;access_token&#39;=>$token,
                &#39;updated_at&#39;=>date(&#39;Y-m-d H:i:s&#39;,time())
            ];
            $res = DB::table($tableName)->where(&#39;appid&#39;,$appid)->where(&#39;appsecret&#39;,$appsecret)->update($arr);
            if($res){
                return $token;
            }else{
                return false;
            }
        }
    }
 
    /**
     * 獲取jssdk-ticket
     * 2019-12-10
     *
     * @param string  appid         appid
     * @param string  appsecret     appsecret
     * @param string  tableName     表名(wx_account)
     * @return string token         token
     */
    public function getJssdkTicket($appid,$appsecret,$tableName){
        $accountInfo = DB::table($tableName)->where(&#39;appid&#39;,$appid)->where(&#39;appsecret&#39;,$appsecret)->first();
        if(empty($accountInfo)){
            return false;
        }
        $now_time = time();//當(dāng)前時(shí)間戳
        if($now_time-$accountInfo->jsapi_ticket_time<7000){
            $jsapi_ticket = $accountInfo->jsapi_ticket;
            return $jsapi_ticket;
        }else{
            $access_token=$this->getToken($appid,$appsecret,$tableName);
            if(!$access_token){
                return false;
            }
            $get_jsapi_ticket_url = $this->jsapi_ticket_url."?access_token=".$access_token."&type=jsapi";
            $getJssdkTicket_json = curl_get($get_jsapi_ticket_url);
            $getJssdkTicket_arr = json_decode($getJssdkTicket_json[&#39;output&#39;],true);
            $jsapi_ticket = $getJssdkTicket_arr[&#39;ticket&#39;];
            $arr = [
                &#39;jsapi_ticket_time&#39;=>time(),
                &#39;jsapi_ticket&#39;=>$jsapi_ticket,
                &#39;updated_at&#39;=>date(&#39;Y-m-d H:i:s&#39;,time())
            ];
            $res = DB::table($tableName)->where(&#39;appid&#39;,$appid)->where(&#39;appsecret&#39;,$appsecret)->update($arr);
            if($res){
                return $jsapi_ticket;
            }else{
                return false;
            }
        }
    }
}

這邊我們的操作是,我們后端獲取jsapi_ticket返回給前端,然后前端進(jìn)行權(quán)限驗(yàn)證。

為了方便調(diào)試,我們可以在微信開(kāi)發(fā)者工具中進(jìn)行調(diào)試。下載鏈接:https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

當(dāng)頁(yè)面去調(diào)用微信的JSSDK接口時(shí),成功可以看到對(duì)應(yīng)的微信返回?cái)?shù)據(jù)。

H5 ページのカスタム タイトル、リンク、説明、WeChat 友達(dá)への寫(xiě)真共有、モーメント、QQ、QQ スペース

如果出現(xiàn)錯(cuò)誤,請(qǐng)根據(jù)開(kāi)發(fā)文檔進(jìn)行修改:

11H5 ページのカスタム タイトル、リンク、説明、WeChat 友達(dá)への寫(xiě)真共有、モーメント、QQ、QQ スペース

然后在手機(jī)上進(jìn)行分享,測(cè)試是否成功;下面是我成功的操作。

朋友圈分享:

H5 ページのカスタム タイトル、リンク、説明、WeChat 友達(dá)への寫(xiě)真共有、モーメント、QQ、QQ スペース

微信群組分享:

H5 ページのカスタム タイトル、リンク、説明、WeChat 友達(dá)への寫(xiě)真共有、モーメント、QQ、QQ スペース

QQ分享:

1H5 ページのカスタム タイトル、リンク、説明、WeChat 友達(dá)への寫(xiě)真共有、モーメント、QQ、QQ スペース

以上がH5 ページのカスタム タイトル、リンク、説明、WeChat 友達(dá)への寫(xiě)真共有、モーメント、QQ、QQ スペースの詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語(yǔ) Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見(jiàn)つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫(huà)像を無(wú)料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫(xiě)真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫(xiě)真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類(lèi)リムーバー

Video Face Swap

Video Face Swap

完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版

SublimeText3 中國(guó)語(yǔ)版

中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開(kāi)発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

h5 とはどういう意味ですか? h5 とはどういう意味ですか? Aug 02, 2023 pm 01:52 PM

H5 は、HTML の最新バージョンである HTML5 を指します。H5 は、開(kāi)発者により多くの選択肢と創(chuàng)造的なスペースを提供する強(qiáng)力なマークアップ言語(yǔ)です。その出現(xiàn)は、Web テクノロジーの発展を促進(jìn)し、Web ページのインタラクションと効果をより優(yōu)れたものにします。H5 テクノロジーとして徐々に成熟して普及していき、インターネットの世界でますます重要な役割を果たしていくと思います。

H5、WEB フロントエンド、ビッグ フロントエンド、WEB フルスタックを區(qū)別するにはどうすればよいですか? H5、WEB フロントエンド、ビッグ フロントエンド、WEB フルスタックを區(qū)別するにはどうすればよいですか? Aug 03, 2022 pm 04:00 PM

この記事は、H5、WEB フロントエンド、大規(guī)模フロントエンド、WEB フルスタックを簡(jiǎn)単に區(qū)別するのに役立ちます。

H5は何を參照していますか?コンテキストの探索 H5は何を參照していますか?コンテキストの探索 Apr 12, 2025 am 12:03 AM

H5ReferStoHtml5、apivotaltechnologyinwebdevelopment.1)html5introduceSnewelementsandapisforrich、dynamicwebapplications.2)Itupp ortsmultimediawithoutplugins、endancingurexperiencecrossdevices.3)semanticelementsimprovecontentstructurendseo.4)H5'srespo

H5:Web標(biāo)準(zhǔn)とテクノロジーの進(jìn)化 H5:Web標(biāo)準(zhǔn)とテクノロジーの進(jìn)化 Apr 15, 2025 am 12:12 AM

Web標(biāo)準(zhǔn)とテクノロジーは、これまでにHTML4、CSS2、および単純なJavaScriptから進(jìn)化し、重要な開(kāi)発を受けてきました。 1)HTML5は、CanvasやWebstorageなどのAPIを?qū)毪贰ebアプリケーションの複雑さと互換性を高めます。 2)CSS3はアニメーション関數(shù)とトランジション関數(shù)を追加して、ページをより効果的にします。 3)JavaScriptは、矢印関數(shù)やクラスなど、node.jsおよびES6の最新の構(gòu)文を通じて開(kāi)発効率とコードの読みやすさを向上させます。これらの変更により、パフォーマンスの最適化とWebアプリケーションのベストプラクティスの開(kāi)発が促進(jìn)されました。

Web側(cè)でh5を上にスライドさせて次のページを読み込むように実裝する方法 Web側(cè)でh5を上にスライドさせて次のページを読み込むように実裝する方法 Mar 11, 2024 am 10:26 AM

実裝手順: 1. ページのスクロール イベントを監(jiān)視する; 2. ページが一番下までスクロールしたかどうかを判斷する; 3. データの次のページをロードする; 4. ページのスクロール位置を更新する。

H5:ウェブ上のユーザーエクスペリエンスをどのように強(qiáng)化するか H5:ウェブ上のユーザーエクスペリエンスをどのように強(qiáng)化するか Apr 19, 2025 am 12:08 AM

H5は、マルチメディアサポート、オフラインストレージ、パフォーマンスの最適化により、Webユーザーエクスペリエンスを向上させます。 1)マルチメディアサポート:H5と要素は、開(kāi)発を簡(jiǎn)素化し、ユーザーエクスペリエンスを向上させます。 2)オフラインストレージ:WebStorageとIndexEdDBは、エクスペリエンスを改善するためにオフラインで使用できるようにします。 3)パフォーマンスの最適化:ウェブワーカーと要素は、パフォーマンスを最適化して帯域幅の消費(fèi)を削減します。

H5コード:アクセシビリティとセマンティックHTML H5コード:アクセシビリティとセマンティックHTML Apr 09, 2025 am 12:05 AM

H5は、セマンティック要素とARIA屬性を介して、WebページのアクセシビリティとSEO効果を改善します。 1.使用などを使用して、コンテンツ構(gòu)造を整理し、SEOを改善します。 2。ARIA-LabelなどのARIA屬性はアクセシビリティを強(qiáng)化し、支援技術(shù)ユーザーはWebページをスムーズに使用できます。

h5の位置の使い方 h5の位置の使い方 Dec 26, 2023 pm 01:39 PM

H5 では、position 屬性を使用して、CSS を通じて要素の位置を制御できます: 1. 相対位置、構(gòu)文は「style="position:relative;」です。 2. 絶対位置、構(gòu)文は「style="position:」です。 Absolute;" "; 3. 固定位置、構(gòu)文は「style="position:fixed;」などです。

See all articles