IPv6 相關(guān)內(nèi)容被拒
如果產(chǎn)品因 IPv6 問題被拒,首先要確認代碼是否有問題。若確定沒有問題的話,重新提交 1~2 次即可,這種情況多數(shù)是審核人員所在的網(wǎng)絡(luò)環(huán)境導致的問題(可在重新提交時將截圖或拍下視頻放附件里或直接向蘋果申訴)。
如果 App 本身有問題,例如不兼容 IPv6,最好的辦法是讓 App 兼容 IPv6 或通過升級服務(wù)器來支持 IPv6
解決方案一
蘋果AppStore審核員在美國的IPv6-Only環(huán)境下對APP進行訪問(審核),如果APP Server支持IPv6,則可直接訪問;如果APP Server不支持IPv6,則通過DNS64 +NAT64進行訪問;很明顯,大部分開發(fā)者的APP服務(wù)器都是不支持IPv6直接訪問的,所以基本是用NAT64+DNS64進行訪問的。那么我們就先了解NAT64+DNS64的訪問機制吧,直接看圖:
從這里看出審核的關(guān)鍵在于能不能獲取一個有效的Server IPv6地址。當蘋果公司的APP審核員在進行審核時,由于國內(nèi)大部分開發(fā)者的APPserver沒有IPv6地址,只能通過蘋果公司自己的NAT64+DNS64服務(wù)器進行測試,而最關(guān)鍵的是蘋果的服務(wù)器不能有效的給APPserver返回一個IPv6地址,這就導致了審核失敗,APP被拒。
就國內(nèi)目前來說審核被拒的主要原因有第三個:
1、國內(nèi)大部分APP服務(wù)器沒有IPv6地址,導致DNS無法解析;
2、蘋果公司的審核環(huán)境不能自動將中國APP內(nèi)URL轉(zhuǎn)換成IPv6可訪問的格式,導致訪問失??;
3、由于國際線路帶寬嚴重擁堵等原因造成訪問不穩(wěn)定,失敗率高
那么該如何解決這些問題呢?
就目前國內(nèi)的現(xiàn)狀,能夠提供這種服務(wù)的當屬教育網(wǎng)了,中國教育網(wǎng)坐擁全國幾百所高校,擁有真實的IPv6骨干網(wǎng)絡(luò),國際出口,IPv6資源豐富,服務(wù)質(zhì)量好。
因此解決方案就是使用教育網(wǎng)的NAT64+DNS64服務(wù),方案示意圖如下:
具體的操作步驟就是使用教育網(wǎng)的NAT64+DNS64,把您的域名發(fā)給我們,幫你解析出IPv6地址(全球可達的地址),您只需在您的域名管理中添加一條4A記錄即可,之后就可以提交審核了,一天之后你就會發(fā)現(xiàn)審核通過了!
解決方案二
既然審核被拒是因為IPV6,那么我們就讓服務(wù)器支持就可以了,但是很多運營商的服務(wù)器不提供IPv6地址,這樣的話就要使用IPv6隧道技術(shù),通過建立隧道使自己的服務(wù)器通過IPv6隧道來支持IPv6,方案示意圖如下:
使用IPv6隧道服務(wù)APP服務(wù)器必須滿足三個條件:
① 服務(wù)器擁有公網(wǎng)IPv4地址
② 服務(wù)器支持IPv6協(xié)議
③ 服務(wù)器放行6in4協(xié)議
具體的配置如下:(這里只是舉個例子)
Image
確認申請了IPv6隧道服務(wù)并按照上述模板進行配置完成后,請檢查防火墻(iptables)是否放行了6in4協(xié)議,并確認(/etc/sysctl.conf)中IPv6轉(zhuǎn)發(fā)已打開。如果上述操作都已正確完成,那么在你的服務(wù)器上應(yīng)該可以看到如下結(jié)果:
至此,IPv6隧道搭建完畢,服務(wù)器已經(jīng)支持IPv6了這樣就OK了
把拉取順序倒置一下,在生成消息模板的時候,就預(yù)先把要接收的用戶分發(fā)出去;
生成message_content
表數(shù)據(jù),要選擇下發(fā)的用戶,選完用戶可以把這些用戶ID存放在redis
中,然后用戶上線的時候,從redis中讀取,有數(shù)據(jù)就給提示,用戶已查看,就刪除,然后存入message
表。
(如果不用redis,直接插入message
表也行,只需要插入message_content_id
和user_id
就可以了,讀取狀態(tài)字段在數(shù)據(jù)表中默認設(shè)置為0未查看,然后采用批量插入的方式,也挺快的)
結(jié)合一下 @lscho 的數(shù)據(jù)表設(shè)計就差不多了。
以上推送模式都有一個缺點:就是消息模板不能實時推送給用戶,必須要用戶下次登陸或者觸發(fā)某個頁面,才能得到消息。workerman的消息推送框架了解一下
不行的,要么就自己實現(xiàn)拖拽
“讓我回去再看看”,怕是少了個 decodeURIComponent
?
犀牛書上有一段:
function urlArgs() {
var args = {}
var query = location.search.substring(1)
var pairs = query.split("&")
for (var i = 0; i < pairs.length; i++) {
var pos = pairs[i].indexOf("=")
if (pos == -1) continue
var name = pairs[i].substring(0, pos)
var value = pairs[i].substring(pos + 1)
value = decodeURIComponent(value)
args[name] = value
}
return args
}
safari在播放采用H264編碼格式壓縮或碼率超過1024kbps的視頻時會出現(xiàn)問題,下面是一個壓縮視頻的參數(shù)設(shè)置有效性參照表:
希望對你有幫助.
config/index.js
這個文件夾里應(yīng)該有個proxyTable: {}
,把你要的接口路由加上去。
proxyTable: {
'adm': 'http://localhost:8080/'
}
不知道你情況是否跟我一樣
如果你也定義了偽靜態(tài)規(guī)則
偽靜態(tài)規(guī)則改成下面這樣
if (-f $request_filename/index.html) {
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php) {
rewrite (.*) $1/index.php;
}
if (!-f $request_filename) {
rewrite (.*) /index.php;
}
update:
第二次安裝沒有開啟ssl,只不過同樣開始偽靜態(tài),安裝完成后同樣進不了后臺,修改偽靜態(tài)規(guī)則就好了
P.S 我是用一鍵lnmp安裝腳本裝的環(huán)境
1.你這是數(shù)學問題,不是程序問題
2.你說順序不限,那就是可以重復,任意5個數(shù)里選三個數(shù),那就是5x5x5=125種組合
3.推而廣之,n個數(shù)里選m個數(shù),那就是n的m次方Math.pow(n,m)
可以在執(zhí)行npm run dev
之前加個eslint
校驗
偽碼:
...
"script": {
"eslint": "eslint a.js",
"dev":"eslint && webpack ...."
}
...
如果你使用IDE,其實更建議你在IDE中安裝eslint校驗,這樣也能時時的處理不規(guī)范的地方。
為啥要用span
去包img
?
要實現(xiàn)垂直居中又很多方法,個人推薦用flex布局,類似這樣:
//html
<div>
<img/>
<img/>
</div>
//css
div{
display:flex;
align-item:center
}
div>img{
//自定義高度與寬度
}
如果要學flex布局,推薦阮一峰的。
首先 你看看其他的.vue文件,有 new Vue 的嗎?
沒有對吧。
不建議直接修改node_modules中的文件...
如果你換了一個環(huán)境,在別人npm install 之后你沒辦法去處理的.
如果需要對其源碼進行修改,直接將其js直接拷出來放到static中去進行修改.
這樣也方便webpack打包啊~
把接口url通過props傳遞進去
看看第一張圖,resolve(phone), 哪里來的 phone 變量?所以就 undefined 嘍
把 resolve(phone) 放到 let phone = getPhone.phoneNumber 后面才對啊,這才是正確的 resolve 這個 promise 時機
======= 更新 ====
getSessionKey 返回的是 Promise , phone = getSessionKey() 這樣寫是不對的,要么 .then 要么用 async/await :
phone = await getSessionKey()
首先better-scroll本身是沒有touchend事件的,是有touchEnd,touchend是原生js事件,其次better-scroll你是想上拉加載更多吧(這是上拉),要開啟這個功能就要設(shè)置pullUpLoad,這個默認是false,你可以設(shè)置true,當然可以設(shè)置數(shù)值,這樣達到了目標才觸發(fā)pullingUp事件,pullingUp就是上拉觸發(fā)的事件,當你加載數(shù)據(jù)完成后還要調(diào)用finishPullUp告訴 better-scroll 數(shù)據(jù)已加載。
this.meunScroll = new BScroll(document.getElementsByTagName('main')[0], {
click: true,
scrollY: true,
pullUpLoad:{
threshold: -70, // 負值是當上拉到超過低部 70px;正值是距離底部距離 時,
}
});
this.meunScroll.on("pullingUp",function(){
console.log("000")
this.$nextTick(function(){
this.meunScroll.finishPullUp();
this.meunScroll.refresh();
});
})
debugger
一下,確定data[0].Title
是否有值。
我以前的做法是這樣的:
在componentDidMount里面異步加載組件(服務(wù)端渲染不會執(zhí)行到這里), 把加載到的組件賦值到state
a.push()了解一下?
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學院和江蘇省首批服務(wù)外包人才培訓基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術(shù)與教育服務(wù)機構(gòu),發(fā)展為教育服務(wù)業(yè)的綜合性企業(yè)集團,成為集合面授教學培訓、網(wǎng)
達內(nèi)教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務(wù)負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通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)師。