this.$refs.paytpl.$el.cloneNode(true) 克隆下節(jié)點(diǎn)不行嗎
slice((currentPage-1)pagesize,currentPagepagesize 這個(gè)方法導(dǎo)致的,你可以請(qǐng)求接口來(lái)分頁(yè)
建個(gè)a標(biāo)簽 添加download屬性 將圖片用canvas讀成dataurl
a的href=URL.createObjectURL(new Blob([dataurl]))
a.click()
ios不支持 這個(gè)只能祝你好運(yùn)了
用vue的目的就是前后端分離,你再用jsp的話還怎么分離呢?
需要后臺(tái)數(shù)據(jù)的話都是使用ajax異步請(qǐng)求過(guò)來(lái),然后vue處理渲染的。
你這個(gè)方法是路由跳轉(zhuǎn)傳參數(shù)
然后路由要配置一下
請(qǐng)問(wèn)你路由地址后面有沒(méi)有/:userInfo
固定比例圖片:寬度是100%即等于100vw,按照?qǐng)D片寬高比例,例如目前寬高比為1寬2高的1比2,那么高度設(shè)定為height:200vw;
隨機(jī)圖片:請(qǐng)直接用img標(biāo)簽,給個(gè)百分百和定位或者分層,哈哈嗝
npm uninstall element-ui
window.devicePixelRatio看下是不是1)為啥要存到 textarea 里, 顯示出來(lái)和不顯示出來(lái)占用的內(nèi)存量不一樣啊, 直接 get base64, 在 js 里上傳就行了.
你可以寫(xiě)一個(gè)watch去監(jiān)聽(tīng)路由,路由信息變成路由2的路由信息的時(shí)候就把導(dǎo)航隱藏,否則就顯示,就可以了
我后面找到解決辦法,就是把src下面page文件夾下面的html,ts編碼格式換成UTF-8
記得左側(cè)會(huì)有文件管理項(xiàng)目結(jié)構(gòu),在view視圖中可以打開(kāi) 可以更清晰的看到文件名,而不必依賴title上的文件名
網(wǎng)上查了好多帖子,終于搞定了,以饗后來(lái)者~
PS.如果確認(rèn)自己各項(xiàng)參數(shù)都對(duì),但是還是提示簽名錯(cuò)誤,更新一下API密鑰,然后就ok了,微信那邊好像有緩存
創(chuàng)建一個(gè)沙箱驗(yàn)收的類(lèi),擴(kuò)展自WxPayDataBase
class Sandbox extends WxPayDataBase{
//設(shè)置對(duì)象的屬性
public function s_setValues($k, $v){
$this->values[$k] = $v;
}
//讀取對(duì)象的屬性
public function s_getValues($k){
return $this->values[$k];
}
//獲取密鑰API
public static function getSignKey($input, $mch_key){
console_log( '1:'.json_encode($input->values) );
//提交業(yè)務(wù)
$url = 'https://api.mch.weixin.qq.com/sandboxnew/pay/getsignkey';
//生成簽名
$input->setSign($mch_key);
console_log( '2:'.json_encode($input->values) );
//$values = $input->GetValues();
//console_log( '3:'.json_encode($values) );
$xml = $input->array2xml();
console_log( '4:'.$xml );
//向微信請(qǐng)求接口
$result = self::postXmlCurl($xml, $url);
console_log( json_encode($result) );
$result = $input->xml2array($result);
console_log( json_encode($result) );
return $result;
}
/**
*
* 產(chǎn)生隨機(jī)字符串,不長(zhǎng)于32位
* @param int $length
* @return 產(chǎn)生的隨機(jī)字符串
*/
public static function getNonceStr($length = 32)
{
$chars = "abcdefghijklmnopqrstuvwxyz0123456789";
$str ="";
for ( $i = 0; $i < $length; $i++ ) {
$str .= substr($chars, mt_rand(0, strlen($chars)-1), 1);
}
return $str;
}
/**
* 以post方式提交xml到對(duì)應(yīng)的接口url
*
* @param string $xml 需要post的xml數(shù)據(jù)
* @param string $url url
* @param bool $useCert 是否需要證書(shū),默認(rèn)不需要
* @param int $second url執(zhí)行超時(shí)時(shí)間,默認(rèn)30s
* @throws WxPayException
*/
private static function postXmlCurl($xml, $url, $useCert = false, $second = 30)
{
$ch = curl_init();
//設(shè)置超時(shí)
curl_setopt($ch, CURLOPT_TIMEOUT, $second);
//設(shè)置訪問(wèn)的網(wǎng)址
curl_setopt($ch, CURLOPT_URL, $url);
//skysowe_modifid
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
//設(shè)置header
curl_setopt($ch, CURLOPT_HEADER, FALSE);
//要求結(jié)果為字符串且輸出到屏幕上
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
console_log( 'cert:'.$useCert );
if($useCert == true){
//設(shè)置證書(shū)
//使用證書(shū):cert 與 key 分別屬于兩個(gè).pem文件
curl_setopt($ch,CURLOPT_SSLCERTTYPE,'PEM');
curl_setopt($ch,CURLOPT_SSLCERT, WxPayConfig::SSLCERT_PATH);
curl_setopt($ch,CURLOPT_SSLKEYTYPE,'PEM');
curl_setopt($ch,CURLOPT_SSLKEY, WxPayConfig::SSLKEY_PATH);
}
//post提交方式
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $xml);
//console_log( 'xml:'.json_encode($xml) );
//運(yùn)行curl
$data = curl_exec($ch);
//console_log( 'curl_result:'.json_encode($data) );
//返回結(jié)果
if($data){
curl_close($ch);
return $data;
} else {
$error = curl_errno($ch);
curl_close($ch);
throw new WxPayException("curl出錯(cuò),錯(cuò)誤碼:$error");
//console_log( 'curl_error:'.$error );
}
}
/**
* 輸出xml字符
* @throws WxPayException
**/
public function array2xml()
{
if(!is_array($this->values)
|| count($this->values) <= 0)
{
throw new WxPayException("數(shù)組數(shù)據(jù)異常!");
}
$xml = "<xml>";
foreach ($this->values as $key=>$val)
{
if (is_numeric($val) || $key=="nonce_str" || $key=="sign" ){
$xml.="<".$key.">".$val."</".$key.">";
}else{
$xml.="<".$key."><![CDATA[".$val."]]></".$key.">";
}
}
$xml.="</xml>";
return $xml;
}
/**
* 將xml轉(zhuǎn)為array
* @param string $xml
* @throws WxPayException
*/
public function xml2array($xml)
{
if(!$xml){
throw new WxPayException("xml數(shù)據(jù)異常!");
}
//將XML轉(zhuǎn)為array
//禁止引用外部xml實(shí)體
libxml_disable_entity_loader(true);
$this->values = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
return $this->values;
}
}
然后獲取sandbox_signkey
//沙箱用例:0 獲取驗(yàn)簽秘鑰
$sandbox_test = new Sandbox();
$sandbox_test->s_setValues('mch_id', WxPayConfig::MCHID);
$sandbox_test->s_setValues('nonce_str', $sandbox_test->getNonceStr());
//debug
console_log( $sandbox_test->s_getValues('mch_id') );
console_log( $sandbox_test->s_getValues('nonce_str') );
console_log( WxPayConfig::KEY );
$rs = Sandbox::getSignKey($sandbox_test, WxPayConfig::KEY);
//debug
echo json_encode($rs);
echo $rs['sandbox_signkey'];
exit;$on 是注冊(cè) 不是觸發(fā)
this.dispatch abc的時(shí)候如果還沒(méi)注冊(cè) 就不會(huì)觸發(fā)了
createElement()的調(diào)用方式如下:
React.createElement(
type,
[props],
[...children]
)
綁定事件寫(xiě)在[props]中,例如:
var target = React.createElement('button', {
onClick: () => { alert('lol') },
}, 'Click me');
ReactDOM.render(
target,
document.getElementById('root')
);
設(shè)置一個(gè)map = {}
遍歷fData
合并map[ownerName]信息
最后把map轉(zhuǎn)成數(shù)組就好了
lazy load 的標(biāo)簽一般這么寫(xiě)<img src="" data-url="imgurl" />
它的的原理就是檢測(cè)圖片位置是否即將進(jìn)入視窗內(nèi)
即將進(jìn)入時(shí)用 JavaScript 把data-url 的鏈接搬到 src,這個(gè)時(shí)候?yàn)g覽器就會(huì)加載圖片
至于有的圖片可以從模糊到清晰,可以參考漸進(jìn)式 jpeg
https://cloudinary.com/blog/p...
不要直接打開(kāi)html,要把目錄放到web服務(wù)器中(nginx,node等)
傻逼了,devServer.publicPath: '/' 修改為默認(rèn)值正常了。一直沒(méi)搞明白這個(gè)屬性的意思,是URL的訪問(wèn)路徑。
北大青鳥(niǎo)APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專(zhuān)業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開(kāi)發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_(kāi)發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開(kāi)發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開(kāi)發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問(wèn),美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。