mix.webpackConfig({
output: {
publickPath: '/'
}
})你好 老鐵 謝邀,這個(gè)問題我們公司在寫公用組件庫的遇到過這個(gè)問題關(guān)于wepy動(dòng)態(tài)插槽無法生成的問題,也提給官方了,坐等解決,如果你使用的是wepy這個(gè)框架時(shí),使用slot記得對(duì)應(yīng)的name,如果動(dòng)態(tài)的要生成多個(gè)的swiperitme并且有插槽位置的話,每一個(gè)slot的name記得命為不同的,原生小程序是沒有slot這個(gè)插槽的,如果想使用slot的話 推薦使用wepy或者mpvue。
那就是配置文件加載錯(cuò)了,你加載的配置文件和你改的配置文件要一致,然后重啟php
<input type="hidden" name="id" value="{$id}">
你的虛擬機(jī)安裝了什么系統(tǒng)?
ping 不通的常見原因:
你的端口設(shè)置沒有錯(cuò),在本地用 http://localhost:8888/ 網(wǎng)址便可。
打不開的狀況是頁面超時(shí),還是連接被重置了?
對(duì)應(yīng)的原因可能是網(wǎng)站服務(wù)器未開啟,以及虛擬機(jī)的防火墻阻擋了 80 端口。
因?yàn)槟愕?ssh 可用,也可以試一下用 ssh 安全隧道直通虛擬機(jī) 80 端口,繞開防火墻設(shè)置。
執(zhí)行以下命令
ssh -L 8080:127.0.0.1:80 username@hostname
然后在本地打開 http://localhost:8080/ 即可。
this.$Mui.init()
1、檢查下插件有沒有下載下來,可以去node_modules文件夾下查看,沒有的話,就像錯(cuò)誤提示的那樣下載一份,npm install -save FullPage
2、檢查HelloWorid.vue組建中對(duì)于插件的引用方式對(duì)不對(duì),如路徑,大小寫等。import FullPage from 'FullPage';
80的全部跳轉(zhuǎn)就好了。管他啥域名。。
$arr=[
'caredate'=>$t,
'name'=>$name,
'content'=>$content,
'status'=>1
];
return json_encode($arr);
對(duì)于phpstorm來說,$_GET只是一個(gè)普通變量,而你在函數(shù)中,應(yīng)該是有$_GET相關(guān)的數(shù)組操作,所以phpstorm判定你這個(gè)$_GET是數(shù)組,但又不確定是否還有其他形態(tài),所以后面會(huì)再加上mixed。任何無法確定的數(shù)據(jù)類型,phpstorm都會(huì)給你個(gè)mixed。
整體思路是房間ID+邀請碼機(jī)制(也可不加邀請碼)。
1.房主創(chuàng)建房間,生成房間ID,分享給別人時(shí),創(chuàng)建邀請碼(邀請碼可設(shè)置為按時(shí)間、次數(shù)等進(jìn)行校驗(yàn)作用)
2.其他人通過分享鏈接帶參的形式,加入到房間時(shí),向服務(wù)器校驗(yàn)房間ID和邀請碼
3.房間ID不存在、房間已滿等情況,則加入失??;邀請碼過期、無效,則不符合加入條件
4.玩家進(jìn)入房間時(shí),建立websocket。符合對(duì)戰(zhàn)開始要求時(shí),服務(wù)器推送對(duì)戰(zhàn)開始。
SP:圍觀人員為進(jìn)入該房間ID,但是邀請碼已失效、房間對(duì)戰(zhàn)狀態(tài)已開始等,進(jìn)入旁觀狀態(tài)。進(jìn)入時(shí),向服務(wù)器發(fā)送openid和房間id,可建立websocket,獲得玩家是否在線的狀態(tài)。
XXXXXXXXX是什么,報(bào)錯(cuò)截圖
謝邀,為什么不考慮下把用戶的完整圖片縮小至300300,放到你要合成的圖片的左側(cè)呢?如果真的只要圖片居中300300的那部分,也很簡單。假設(shè)用戶上傳的圖的長、寬分別是w,h,你在使用imagecopyresampled函數(shù)把用戶圖片放到你要合成的圖上的時(shí)候,原圖的坐標(biāo)x,y分別是用(w-300)/2,(h-300)/2即可得到用戶上傳圖片的置中300*300的那塊。
'components' => [
'cache' => [
'class' => 'yii\redis\Cache',
],
],
只需要在配置文件中添加 keyPrefix 屬性即可:
'components' => [
'cache' => [
'class' => 'yii\redis\Cache',
'keyPrefix' => 'webapp:'
],
]
'components' => [
'redis' => [
'class' => 'yii\redis\Connection',
'hostname' => 'localhost',
'port' => 6379,
'database' => 0,
],
],
這樣就沒有辦法實(shí)現(xiàn)自動(dòng)加前綴,只能自己去實(shí)現(xiàn)。
如果是我的話,我會(huì)單獨(dú)寫一個(gè)Redis的helper類,只在這個(gè) Redis helper類中調(diào)用 \Yii::$app->redis 組件。
class RedisBase
{
/**
* 這個(gè)方法中給 key 增加前綴
* 所有與key相關(guān)的方法都要調(diào)用這個(gè)方法
* @param $key
* @return string
*/
protected static function buildKey($key)
{
return \Yii::$app->params['redis.prefix'] . $key;
}
/**
* @return \yii\redis\Connection
*/
protected static function getRedis()
{
return \Yii::$app->redis;
}
/**
* # exists key
*
* 檢查key是否存在
* @param string $key
* @return bool
*/
public static function exists($key)
{
$key = self::buildKey($key);
$redis = self::getRedis();
return (bool) $redis->exists($key);
}
/**
* # del key [key2 key3 …]
*
* 刪除指定數(shù)據(jù)
*
* @param string $key
* @param bool $strict
* 是否使用嚴(yán)格模式
* true: 當(dāng)指定鍵不存在時(shí),返回false
* false: 當(dāng)指定鍵不存在時(shí),但會(huì)true
* @return bool
*/
public static function del($key, $strict = false)
{
$key = self::buildKey($key);
// 非嚴(yán)格模式,當(dāng)指定鍵不存在時(shí),但會(huì)true
if (! $strict && ! self::exists($key)) return true;
$redis = self::getRedis();
return (bool) $redis->del($key);
}
/**
* # expire key seconds
*
* 設(shè)置 key在seconds秒后過期
*
* @param $key
* @param $seconds
* @return bool
*/
public static function expire($key, $seconds)
{
$key = self::buildKey($key);
$redis = self::getRedis();
return (bool) $redis->expire($key, $seconds);
}
/**
* # ttl key
*
* 大于等于0時(shí),表示剩余過期秒數(shù)
* -1 表示key存在,并且沒有過期時(shí)間
* -2 表示key已經(jīng)不存在了
*
* 查看key的剩余過期時(shí)間
* @param $key
* @return int
*/
public static function ttl($key)
{
$key = self::buildKey($key);
$redis = self::getRedis();
return (int) $redis->ttl($key);
}
/**
* # dbsize
*
* 當(dāng)前db 鍵的總數(shù)量
* @return int
*/
public static function dbSize()
{
$redis = self::getRedis();
return (int) $redis->dbsize();
}
// ... 其他redis基礎(chǔ)方法
}
class RedisString extends RedisBase
{
/**
* # SET key value options
*
* 設(shè)置指定 key 的值
*
* @param $key
* @param $value
* @param array $options
*
* EX seconds -- 設(shè)置指定key的過期時(shí)間,以秒為單位
* PX milliseconds -- 設(shè)置指定key的過期時(shí)間,以毫秒為單位
* NX -- 只有在key不存在的情況下才設(shè)置.
* XX -- 只有在key存在的情況下才設(shè)置.
*
* eg: ['NX', 'EX', '3600']
*
* @return bool
*/
public static function set($key, $value, array $options = [])
{
$key = self::buildKey($key);
$redis = self::getRedis();
$param = array_merge([$key, $value], $options);
return (bool) call_user_func_array([$redis, 'set'], $param);
}
/**
* # GET key
*
* 獲取指定 key 的值。
* @param $key
* @return string
*/
public static function get($key)
{
$key = self::buildKey($key);
$redis = self::getRedis();
return $redis->get($key);
}
// ...其他String類型的方法
}
class RedisSet extends RedisBase
{
/**
* # SADD key member1 [member2]
*
* 向集合添加一個(gè)或多個(gè)成員
*
* @param $key
* @param $members
* @return int 成功添加數(shù)量
*/
public static function sAdd($key, $members)
{
$key = self::buildKey($key);
$redis = self::getRedis();
// php >= 5.6
return (int) $redis->sadd($key, ...(array) $members);
// 通用寫法
// $params = array_merge([$key], (array) $members);
// return (int) call_user_func_array([$redis, 'sadd'], $params);
}
/**
* # SREM key member1 [member2]
*
* 移除集合中一個(gè)或多個(gè)成員
* @param $key
* @param $members
* @return int
*/
public static function sRem($key, $members)
{
$key = self::buildKey($key);
$redis = self::getRedis();
$params = array_merge([$key], (array) $members);
return (int) call_user_func_array([$redis, 'srem'], $params);
}
/**
* # SISMEMBER key member
*
* 判斷 member 元素是否是集合 key 的成員
* @param $key
* @param $member
* @return bool
*/
public static function sIsMember($key, $member)
{
$key = self::buildKey($key);
$redis = self::getRedis();
return (bool) $redis->sismember($key, $member);
}
/**
* # SMEMBERS key
*
* 返回集合中的所有成員
* @param $key
* @return array
*/
public static function sMembers($key)
{
$key = self::buildKey($key);
$redis = self::getRedis();
return $redis->smembers($key);
}
/**
* # SCARD key
*
* 獲取集合的成員數(shù)
* @param $key
* @return bool
*/
public static function sCard($key)
{
$key = self::buildKey($key);
$redis = self::getRedis();
return (int) $redis->scard($key);
}
// ...其他Set類型的方法
class RedisSortedSet extends RedisBase
{
/**
* # ZADD key score1 member1 [score2 member2]
*
* 向有序集合添加一個(gè)或多個(gè)成員,或者更新已存在成員的分?jǐn)?shù)
* @param $key
* @param array $options
* [
* 'value1' => score1,
* 'value2' => score2,
* 'value3' => score3,
* ]
*
* @return int
*/
public static function zAdd($key, array $options)
{
$key = self::buildKey($key);
$redis = self::getRedis();
$param = [$key];
foreach ($options as $value => $score) {
$param[] = $score;
$param[] = $value;
}
return (int) call_user_func_array([$redis, 'zadd'], $param);
}
// ...其他SortedSet類型的方法
}
class RedisList extends RedisBase
{
// ...方法省略
}
class RedisHash extends RedisBase
{
// ...方法省略
}
1.在調(diào)用redis的原始方法前,可以對(duì)數(shù)據(jù)進(jìn)行預(yù)處理
2.后期維護(hù)方便,若想修改,只需要修改這里的方法即可
3.方便添加一些注釋信息
4.這種方法對(duì)IDE更友好,可以直接跳轉(zhuǎn)到這個(gè)類中的方法,若處處使用\Yii::$app->redis,則會(huì)比較難維護(hù)
另外,關(guān)于Redis的一些數(shù)據(jù)類型,可以查看Redis學(xué)習(xí)筆記 - 數(shù)據(jù)類型與API
直接帶參數(shù)便可,注意alias 后面需要留空格。如下
alias testserver='php /Applications/apache/testserver.php '
testserver abc直接foreach循環(huán)遍歷不就可以了么?
很正常,微信小程序返回給你的是圖片的二進(jìn)制數(shù)據(jù),你要把它寫入文件
比如file_put_contents('img.jpg', $qr_data)
PHP中float轉(zhuǎn)int是將小數(shù)位全部棄掉,(0.1+0.7)*10的結(jié)果內(nèi)部的表示其實(shí)是類似7.9999999999999991118…,于是強(qiáng)行轉(zhuǎn)換為int值時(shí),結(jié)果為7。
如果實(shí)在要轉(zhuǎn),最好使用round,進(jìn)行四舍五入避開浮點(diǎn)數(shù)精度的坑
echo (int)((0.7+0.1)*10); // 輸出7
echo round((0.7+0.1)*10); // 輸出8
注意:永遠(yuǎn)不要相信浮點(diǎn)數(shù)結(jié)果精確到了最后一位,也永遠(yuǎn)不要比較兩個(gè)浮點(diǎn)數(shù)是否相等。如果確實(shí)需要更高的精度,應(yīng)該使用任意精度數(shù)學(xué)函數(shù)或者 gmp 函數(shù)。
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(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ū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。