我目前就負(fù)責(zé)公司公眾號(服務(wù)號)系統(tǒng)的開發(fā)和運營維護 一手操辦 同時使用了快站來管理一些小功能,一些深度自定義的功能,和外鏈還是要自己去開發(fā)的
感謝這位大神,寫的都很清楚了,http://blog.csdn.net/xu122723...。
問題的主要原因是,雖然tomcat已經(jīng)攔截了404,并指向了我的index頁面,但是這個404的標(biāo)記還是存在,只要遇見存在404錯誤頁處理的平臺,就gg了。就比如微信平臺,他檢測到你的404,就立馬跳向公益404頁面了。
解決方法一:后臺設(shè)置攔截器,在發(fā)送任何請求前,后臺都做攔截,并指向index頁面。
解決方法二:用nginx進行攔截,修改nginx.conf文件
http {
# 此處省略好多字
server {
# nginx才配使用80端口,其他服務(wù)速速離去
listen 80;
# 沒啥好解釋的
server_name localhost;
# 指定根目錄,由于我的前端項目是直接放在nginx下的html文件夾,所以我這樣配
root html;
# 這里其實是由if變過來的,意思是如果uri存在,那就訪問uri的資源,如果uri不存在,那就訪問該目錄下index.html文件。如果看不懂我的解釋,可以看這個https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/#front-controller-pattern-web-apps
try_files $uri $uri/ /index.html;
# 這里是配你Tomcat里面的其他java項目,意思是當(dāng)你訪問http://ip/xxx的時候,會到這個代碼塊里面進行對應(yīng)操作
location /xxx {
# 這些照著加就好了,無非是獲取服務(wù)器host/ip相關(guān),一定要加,否則如果你的項目并不是前后端分離,而是SSH/SSM帶有jsp或者模板頁面的,那就會出現(xiàn)找不到css/js等找不到一切靜態(tài)資源文件的錯誤。為什么會報錯,因為你看network面板你就知道,他是去訪問http://127.0.0.1/xxx/css...而并不是訪問服務(wù)器的真實ip,所以還是乖乖加上吧!
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 去該地址去找項目資源
proxy_pass http://127.0.0.1:8080/xxx;
}
}
}http://t.cn/RnoLSet 已經(jīng)有平臺實現(xiàn)了,可以在線生成,拿走不謝哦~
找到原因了,domainWhiteList加入'.qq.com'
要么用透傳,在本地調(diào)試,要么直接線上調(diào)試,通過點擊原問題地址 https://yike.io/threads/14 查看我與sdk作者的解決過程
我還想到第三種思路,xposed去hook訂閱號更新的函數(shù),然后進行處理。
但是我用第一種思路實現(xiàn)了。pc端微信抓包訂閱號。就這樣。
剛剛測試就是一頭霧水,老是報這個錯,誰知道是要管理員本身去掃碼!文檔中也有提到了
你這個例子看著挺簡單,不知道有沒有值是雙數(shù),和單詞的場景,
如果就是1-9,a-z,你可以通過get每個字符的ascii碼來實現(xiàn)。
循環(huán)的時候你需要通過偏移值做判斷,1的值是49,a是97,
后面的都跟這個比出的偏移值就是距離index 0的位置,
暫時能想出的辦法,僅供參考。
mysql查詢優(yōu)化器認(rèn)為全表掃描時如果速度大于使用索引,就會不用索引,你可以使用FORCE INDEX強制mysql使用索引
早期過于寬泛的模板會被微信逐步下線,已經(jīng)在使用的用戶不影響,但是其他用戶無法再添加。
找到了一個好用的免費開源JS庫——streamedian
當(dāng)當(dāng)當(dāng)~上鏈接:https://streamedian.com
介紹中講到,Multifunctional HTML5 RTSP streaming video player over WebSocket
就是說,利用websocket實現(xiàn)多功能的H5的rtsp視頻流播放器
這里是使用文檔:https://streamedian.com/docs/
對于對websocket、linux、服務(wù)器、甚至英文一知半解(一竅不通)并看了文檔也不理解的同學(xué),請繼續(xù)看手把手中文教程:
首先我們理解一下個中原理:
目標(biāo):在你的瀏覽器(browser)上播放rtsp視頻流
問題:然而,H5的標(biāo)簽<video>不支持這樣的播放
方案:這里利用我們的streamedian在你的服務(wù)端開啟一個websocket代理(proxy),負(fù)責(zé)接收rtsp流,并轉(zhuǎn)播給你的瀏覽器客戶端,streamedian在客戶端利用中間件(Media Sources Extensions)將經(jīng)過轉(zhuǎn)播收到的RTP H264和AAC包轉(zhuǎn)化成MP4包,“喂給“<video>進行播放
下面拿到streamedian的code來感受一下:
方法一:通過官網(wǎng)下載
可能不是最新版,streamedian團隊還在不斷地修復(fù)bug中,建議用方法二、三下載最新更新的版本
進入https://streamedian.com 完成注冊并登錄
可以看到最上面紅框標(biāo)注的是我們需要的客戶端和服務(wù)端的JS程序;
針對客戶端,如果你使用H5的原生播放器<video>標(biāo)簽,下載Download player即可,此外還提供了代替版本————結(jié)合非原生H5播放器的clappr integration、videojs integration、Flowerplayer integration可供選擇。這里我只下載了Download player
針對服務(wù)端,下載proxy,這里的.rpm和.deb是兩種格式,選擇其一下載,我這里用的ubuntu,.deb更適用,點擊下載
接下來是對我們使用的免費版本streamedian的特性描述;
在Domain欄里。你需要輸入你所使用的客戶端的域名或IP,Add之后,點擊Download license。保存好這個license后面會用到,后面會解釋為什么要在license中明確特定的客戶端域名
方法三:從git上拉下來
npm install git://github.com/Streamedian/html5_rtsp_player.git
方法二:下載git的壓縮包
梳理一下,我們現(xiàn)在下載了什么呢?客戶端JS streamedian,服務(wù)端proxy streamedian_proxy.deb,一個licsense wsp.lic
將streamedian_proxy.deb和wsp.lic分別上傳至服務(wù)器,并在streamedian_proxy.deb根目錄下sudo dpkg -i streamedian_proxy.deb #安裝streamedian_proxy.deb軟件包(其中-i等價于--install)
安裝好后會生成/etc/ws_rtsp.ini,進入這個路徑,利用vim進行配置,這里我們只要設(shè)置general,其中port就是你的服務(wù)端轉(zhuǎn)播服務(wù)的端口,liscense_path則是你上傳的wsp.lic的絕對路徑,PRO version的參數(shù)可以不進行修改
配置好端,可以用service ws_rtsp start命令啟動該服務(wù),那么就在后端相應(yīng)端口建立起了一個將rtsp轉(zhuǎn)播服務(wù)。至此服務(wù)端已經(jīng)配置好,只要前端把rtsp地址通過socket發(fā)送給服務(wù)端,就可收到rtsp流的socket包了
service ws_rtsp stop命令可以用于停止該服務(wù),ps -aux|grep ws_rtsp命令可以用于查詢該服務(wù)進程的運行情況
用Vs Code打開下載好的streamedian
終端運行npm install下載依賴
終端運行npm install --global rollup這里我們安裝的的rollup是一個JS模塊打包工具,后面會用到
接下來打開rollup.config.js,其中的entry配置了源文件,target則指定了打包生成的目標(biāo)文件的目錄及文件名。終端運行rollup -c,可以看到在dist目錄下打包生成了目標(biāo)文件streamedian.js
至此我們的客戶端工作完成一半,客戶端的頁面在哪里呢?下面我們來做一個最簡單的頁面,這里以文件中的index.html為例
可以看到<script>標(biāo)簽中引用了我們打包好的streamedian.js
引用了<video>標(biāo)簽播放rtsp視頻
<source>中指定了rtsp流源,rtsp://184.72.239.149/vod/mp4:BigBuckBunny_175k.mov是一個穩(wěn)定的可用于測試的源
socket的參數(shù)則是我們運行的rtsp流轉(zhuǎn)播服務(wù)器運行url,格式為ws://服務(wù)器IP:端口號,可以看到這里的端口號就是之前配置好的1104
現(xiàn)在我們在瀏覽器中打開index.html,可是并沒有視頻顯示!我的理解是,前期我們在license中設(shè)置過客戶端的IP或域名,這意味對服務(wù)端來說,只對我們制定的客戶端進行流轉(zhuǎn)播,因此還差一步
把index.html及streamedian.js放在同一目錄下,并上傳至制定的客戶端服務(wù)器
大功告成~~
只要在前端做過授權(quán)(不是靜默授權(quán))的,分享都會有問題
公眾號關(guān)聯(lián)小程序,推文編輯頁面多媒體小程序
配置webpack的output,給build出來的文件加上hash后綴。
filename: '[name].js?[hash]'methods的定義不要用箭頭函數(shù)。
為什么要使用多個呢,一個賬號不就可以完成開發(fā)調(diào)試了么
沒有報錯o
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達(dá)內(nèi)教育集團成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復(fù)興的升級產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。