时至今日，终于没忍住，想折腾一下，于是将Spimes升级，从4.8.1升级至如今的7.5版本。从小灯泡设计购买正版主题至今，翻找了一下自己的博客，发现居然没有自己折腾的过程，好多以前的设置统统遗忘了。搞得很尴尬，还得重新找作者要设置文档和相关细节设置的方式方法。在此记录一下折腾过程。2024.10.19记录1、后台使用bt暂且不提，升级typecho为最新的1.2.1，php版本升级为8.0，其它不动。2、登录后台-控制台-备份，这里备份文章，防止最重要的文章数据丢失，另外直接导入备份，可以防止因为更换主题导致数据库问题，印象中头两年折腾经常遇到这样的问题，吃一堑长一智。3、把后台主题设置相关，所有设置的信息，保存在txt文档，并截图，这样可以非常方便的因为大版本更新主题，导致设置问题遗忘。4、插件设置截图，并保存txt文档，typecho的插件禁用再启用，相关配置的信息就消失了，这里记录一下，方便找回重新填写。5、备份当前主题，并备份下载，其中还有自己定义的图片文件夹ico等图片文件，保留备用。以上基本完成容灾备份，以防不测在服务器做镜像记录，万一失败还可以回滚。2024.10.20记录经过删除数据库，重新安装typecho最新1.2.1，主题Spimes7.5安装，此时基本相当于重新安装了最新的后台系统和主题系统，然后重新将原有文章备份导入，至此基础工作完成。然后再动的就是主题的相关设置，由于主题更新幅度较大，作者也没有相关设置文档，更新的也仅仅是简要，于是开始自由摸索。1、将旧版本的主题设置，通过截图，将文章置顶、右侧配置，原来有的，统一复制回去。2、原有图标系统换掉了，导致手机底部的菜单栏图标基本不起作用，于是暂时取消，后续打算用最新调用的图标系统。（手机菜单栏，也许可以不用了）3、主题一小部分设置失败，部分删减了，好像txt缓存系统去掉了，后续得问作者（原作者工作时间极其规律，业余时间不让打扰，只好留言形式发qq，为了正常生活作息，可以理解。）4、一部分老插件出现问题了：留★待解决。留√暂解决。 ★① CateFilter首页过滤指定分类，忘记了之前过滤啥分类，不过....不重要了，暂时留着，抽时间看看是不是可以修复。 √② ShortLinks 把外部链接转换为指定内部链接 ，这个插件比较重要，可以把文章中的外链用自己站的内链跳转.旧版本1.1.0无法使用，重新在github更新了1.2.0版本，好像后续版本要收费了？？？ √③ QiniuFile 老本1.0.0版本不再使用，使用的是github的最新1.3.3版本，作者从原来的一个，现在变成了三个，好像原作者更新好慢啊，更新赶不上最新的typecho的变化了，好多人不在更新系统，好可惜，好多博客消失了。 √④Typembed 这是个好插件，希望抽时间可以研究一下它的规律，让它支持更多平台，老版本1.0.1版本不再使用，目前使用的github的typecho的插件仓库下载的最新1.3.1版本。 ★⑤WeChatShare微信分享插件，目前出现问题了，分享不再出现小图片和简介，大概率是因为微信公众号的问题，好像得认证一下，木得时间，备注一下有时间再看看。 ★⑥CommentPush 推送服务，目前暂时无法使用，原因是复选框无法选中保存，好像是typecho的问题，这个暂时无法解决，希望后续更新能够解决，目前改为CommentNotifier泽泽社长的，泽泽社长还是比较活跃的，joe群很棒！ ★⑦其它有不错的插件待加入。2024.10.21记录今天和Spimes作者小灯泡设计沟通了一下，了解了更多的设置问题。 1、文章底部，文章来源下面，分类文字上面的区域，是需要设定图片的，不然就需要在主题/usr/themes/spimes/core/oin.php的401行开始注释function myadsee($uid){ $con = myad($uid); // 分割输入字符串 $parts = explode("|", $con); // 获取图片URL和链接URL $imageUrl = $parts[0]; //$linkUrl = $parts[1]; 这里开始注释掉 // 创建HTML字符串 if($con){ // $html = " ";这里注释掉 // return $html;这里注释掉 } else{ return null; } }后续在作者哪里找到了解决方法，原来在个人简介那里设置，登录后悬停头像，点击自己的id名字，进入个人简介主页-拓展设置 中，自定义广告(展示在文章底部)下面设置格式:图片地址|图片链接 设置图片即可，。不过目前只能强行设置，要么注释，没有开关，期待作者后续可以加一个开关作为启用选择项，而不是强制项。 ★2、如果不想放图片，目前我用了取巧一种解决方法，就是用PS新建一个915*1的png透明图片使用，暂时解决，不过，不知为何，在苹果手机浏览器上，却显示一个蓝？号无图失链状态。待后续解决。 ★3、AI功能使用，具体怎么填写，作者的回答：“这里就是字面意思，自己填KEY和url这些，下面就是教客服怎么回答而已”。“生文指令 = 是要他生成什么，比如根据你的提标题，生成什么类型的文章， 小说，散文，英文这些”，emmm.....好像说的很明白了，但是还是不太懂....具体再摸索摸索，没有实操，就没有经验呐。 √4、再清理浏览器缓存后，发现一个问题，就是在主页顶部显示""style="--thenme:#1D79A3;"> 经过在PC浏览器清理缓存刷新后F12发现，顶部还有PHP错误提示，不过被顶部导航栏挡住了，暂时没有发现，在手机换行后反而发现了。解决方式今天经过摸索，在主题的header.php的43行<?php echo($_COOKIE['night'] == '1'?'night':''); ?>改为<?php echo($_COOKIE['night']?? false) === '1'?'night':'';?>即可，解决方法发送给了作者，不知道合不合适，待后续观察。 √5、个人主页--拓展设置中，头像的宽度是样式100%，点击空白处都会不小心点开头像设定，将头像设定修改为50px解决。在4311行 .user-img{ width:100%; } 改为.user-img{ width:50px; } ★★★★6、①后台没有找到txtcache功能了，删掉了？有没有缓存插件推荐？ ②首页右侧的热门文章如何调出来？ ③专题推荐的图片和文字在哪里设置？ ④搜索框下的图文推荐和专题图文在哪里设置？以上是需要急需解决的，暂时记录到这。2024.10.22记录 续接上次问题解决过程记录 问题★★★★6。 问题1、txtcache缓存功能在最新版本中去除了，为何去除原因未知，作者没说。 问题2、右侧热门文章，搜索框下搜索推荐，以及专题图文，目前不支持最新的PHP8.0所以一直有现实问题。改为作者目前使用的PHP7.4即可解决问题。 问题3、AI功能问题已久，百度的文心一言的api和key都填入了，在文章页面也无法总结文章，暂时不清楚哪里的问题，待后续询问作者再解决。2024.10.23记录重新汇总待解决问题，以及折腾了几个结果。★长期-主题不支持PHP8.0的问题，目前暂用PHP7.4，关乎侧边栏热门文章，专题图文，搜索框下拉栏。待解决，技术困难，短时间解决不了。★长期-其它有不错的插件待加入，需要时间筛选。★CateFilter首页过滤指定分类，待找替换或最版本插件★WeChatShare微信分享插件，分享不再出现小图片和简介，大概率是因为微信公众号的问题，好像得认证一下，木得时间，备注一下有时间再看看。★CommentPush 推送服务，目前改为CommentNotifier泽泽社长的。★取巧方法，建一个915*1的png透明图片使用在个人广告栏，手机无图失链状态。待后续解决。★AI功能使用，目前可以生成摘要，使用的chatgpt国内镜像及key，来源于https://github.com/chatanywhere/GPT_API_free相关配置以及KEY填写在主题插件中对主题的更改2024.10.23修改了主题样式，将快讯底部原有“填写xxx”等文字删除，并在后台风格样式填写css样式。以及弹幕播放器的样式有边框样式去除。sidebar.php第27行<?php if (!$this->options->aboutme):?> 请配置好页面缩略名选项 <?php endif; ?> 改为 <?php if (!$this->options->aboutme):?> 正在加载，请稍等... <?php endif; ?>这样看起来更美观。后台风格样式处填写/* 快讯底部居中 */ .settips{text-align: center;} /* 播放器joe_vplayer去除边框 */ .joe_vplayer{border-width: 0px;}看了半天，也没解决几个问题，光看各种东西了 。2024.10.25记录★长期-主题不支持PHP8.0的问题，目前暂用PHP7.4，关乎侧边栏热门文章，专题图文，搜索框下拉栏。待解决，技术困难，短时间解决不了。1、没成想这个问题晚上就解决了，晚上在本地使用小皮面板，调用PHP日志就明白的显示[25-Oct-2024 23:24:49 Asia/Shanghai] PHP Warning: Undefined variable $html in D:\phpstudy_pro\WWW\usr\themes\spimes\core\theme.php on line 455提醒我有一个未定义变量$html 这让我有点蒙圈，之前正常写的没问题啊，然后灵光一闪，通过查询php8.0的文档。再对照AI回答，果然。PHP 7.4：未初始化的变量会被自动视为 null，不会抛出警告。PHP 8.0 及更高版本**：未初始化的变量会抛出 Notice 或 Warning，要求开发者显式初始化变量。通过显式初始化变量，可以提高代码的健壮性和可维护性，避免潜在的错误。这结果不就很明显了嘛。于是果断在主题的\core\theme.php文件中388行和426行补充添加了初始化变量function 略...{ //搜索 - 热门文章 $sohtml = ''; } function 略...{ //热门访问量文章 $html = ''; }完美解决。剩余待解决的几个问题：★长期-其它有不错的插件待加入，需要时间筛选。★CateFilter首页过滤指定分类，待找替换或最版本插件★WeChatShare微信分享插件，分享不再出现小图片和简介，大概率是因为微信公众号的问题，好像得认证一下，木得时间，备注一下有时间再看看。★CommentPush 推送服务，目前改为CommentNotifier泽泽社长的。★取巧方法，建一个915*1的png透明图片使用在个人广告栏，手机无图失链状态。待后续解决。2024.10.26记录根据昨日PHP报错修复代码的经验，再重新从日志中调取错误记录，进行修复，在此记录。[26-Oct-2024 21:19:51 Asia/Shanghai] PHP Warning: Undefined array key "uid" in D:\phpstudy_pro\WWW\usr\themes\spimes\core\get_int.php on line 148148行代码为$uid=$_POST["uid"];解决步骤检查数组是否存在 "uid" 键： 在访问数组键之前，先检查该键是否存在于数组中。可以使用 isset 或 array_key_exists 函数来检查。提供默认值： 如果键不存在，可以提供一个默认值，以防止程序出错。所以修改后的是这样 function _getabautor($archive) { $archive->response->setStatus(200); // 检查 $_POST["uid"] 是否存在 if (!isset($_POST["uid"]) || !is_numeric($_POST["uid"])) { $archive->response->throwJson(array( 'sta' => 0, 'msg' => '无效的用户ID' )); return; } $uid = intval($_POST["uid"]); // 转换为整数，确保安全性 // 获取用户头像 $imgUrl = getuserimg($uid); // 获取用户名 $getuidname = getuidname($uid); // 构建作者信息 HTML 略…… // 返回 JSON 响应 $archive->response->throwJson(array('info' => $aurinfo), 200, ['Content-Type' => 'application/json']); } 其他还有修改的点输入验证:检查 $_POST["uid"] 是否存在: 使用 isset 检查 $_POST["uid"] 是否存在。检查 $_POST["uid"] 是否为数字: 使用 is_numeric 检查 $_POST["uid"] 是否为数字。返回错误响应: 如果 $_POST["uid"] 不存在或不是数字，返回 JSON 响应并终止函数执行。安全处理:转换为整数: 使用 intval 将 $_POST["uid"] 转换为整数，确保安全性。HTML 转义: 使用 htmlspecialchars 对输出的 HTML 内容进行转义，防止 XSS 攻击。2024.10.27记录回忆一下待修改的项目剩余待解决的几个问题：★长期-其它有不错的插件待加入，需要时间筛选。★CateFilter首页过滤指定分类，待找替换或最版本插件★WeChatShare微信分享插件，分享不再出现小图片和简介，大概率是因为微信公众号的问题，好像得认证一下，木得时间，备注一下有时间再看看。★CommentPush 推送服务，目前改为CommentNotifier泽泽社长的。★取巧方法，建一个915*1的png透明图片使用在个人广告栏，手机无图失链状态。待后续解决。此次修改主要调整个人广告问题。给主题添加了一个总体开关，决定是否启用个人广告，实际是控制了css是否显示。functions.php中第300行，添加控制$grad = new Typecho_Widget_Helper_Form_Element_Select('grad',array('0'=>'显示','-1'=>'不显示'),'0','开启个人广告','注意，这是总控制，非指定用户个人控制。个人广告设置需要进入个人面板内，修改拓展设置中的自定义广告。实例http://cdn.vzhiying.com/vzhiying/uploads/2024/10/687659078.png|https://vzhiying.com/'); $form->addInput($grad); 第450行添加 $grad->setAttribute('class', 'j-setting-content j-setting-ads'); 在post.php中添加102行 <?php echo myadsee($this->author->uid); ?> <?php $gradOption = htmlspecialchars((filter_var($this->options->grad, FILTER_VALIDATE_INT) === false ? '-1' : $this->options->grad), ENT_QUOTES, 'UTF-8'); ?> 在逐步检查过程中，在非admin用户主页，出现F12控制台报错发现Uncaught TypeError: Cannot read properties of null (reading 'getElementsByTagName')然后在复现问题时，发现不登录状态，admin也会出现这个报错。修复var $box = document.getElementById('pic_box'); var $li = $box.getElementsByTagName('li'); var index = 0; for(var i=0;i<$li.length;i++){ $li[i].index=i; $li[i].onclick=function(){ $li[index].style.borderRadius="15%"; this.style.borderRadius="50%"; index = this.index; } 修改为 window.onload = function() { var $box = document.getElementById('pic_box'); if ($box) { var $li = $box.getElementsByTagName('li'); var index = 0; for (var i = 0; i < $li.length; i++) { $li[i].index = i; $li[i].onclick = function() { $li[index].style.borderRadius = "15%"; this.style.borderRadius = "50%"; index = this.index; }; } } else { //非本人登录用户不能修改头像 } } }确保 JavaScript 代码在 DOM 完全加载后执行，并且在获取不到 pic_box 元素时输出错误信息。这样可以有效避免 Uncaught TypeError: Cannot read properties of null (reading 'getElementsByTagName') 错误。WeChatShare插件在PHP8.0主题spimes下的编辑器页面底部PHP报错修改插件Plugin.php文件136行$cid = isset($match[1]) ? $match[1] : ''; //修复编辑器页面底部php报错 $data = '略…… value="'.$cid.'"> '; //修复编辑器页面底部php报错value="'.$match['1'].'"改为value="'.$cid.'"★微信插件待解决，文章内容无法获取，也许是编辑器问题2024.10.31记录微信分享插件修改，原PHP7.4报错，在编辑页面提示Warning: Undefined array key具体来说，问题出现在以下代码段：$cid_res = preg_match('/cid=(\d+)/', $_SERVER['REQUEST_URI'], $match);如果正则表达式没有匹配到任何结果，$match 数组将为空，因此 $match[1] 会触发 Undefined array key 1 警告。为了兼容 PHP 8.0，可以在访问数组键之前进行检查，确保键存在。以下是修复后的代码：### 关键修改点 1. **检查 `$match[1]` 是否存在**： `if ($cid_res && isset($match[1])) {` 2. **在隐藏输入字段中使用三元运算符确保 `$match[1]` 存在**： `<input type="hidden" name="cid" value="<?php echo isset($match[1]) ? $match[1] : ''; ?>">` 通过这些修改，代码在 PHP 8.0 中运行时将不再触发 `Undefined array key` 警告。2024.11.06记录站点地图出现问题站点地图可读取，但存在错误命名空间不正确1处您的站点地图或站点地图索引文件未能正确声明命名空间。示例 第2行 标记：urlset改之前// 生成地图 function getxml(){ $doc = new \DOMDocument('1.0','utf-8');//引入类并且规定版本编码 $urlset = $doc->createElement("urlset");//创建节点 $db = Typecho_Db::get(); $result = $db->fetchAll($db->select()->from('table.contents') ->where('status = ?','publish') ->where('type = ?', 'post') ->where('created <= unix_timestamp(now())', 'post') //添加这一句避免未达到时间的文章提前曝光 ->limit(100) ->order('created', Typecho_Db::SORT_DESC) ); if($result){ foreach($result as $val){ $val = Typecho_Widget::widget('Widget_Abstract_Contents')->push($val); $permalink = $val['permalink']; $created = date('Y-m-d', $val['created']); /*循环输出节点*/ $url = $doc->createElement("url");//创建节点 $loc = $doc->createElement("loc");//创建节点 $lastmod = $doc->createElement("lastmod");//创建节点 $urlset->appendChild($url);// $url->appendChild($loc);//讲loc放到url下 $url->appendChild($lastmod ); $content = $doc -> createTextNode($permalink);//设置标签内容 $contime = $doc -> createTextNode($created);//设置标签内容 $loc -> appendChild($content);//将标签内容赋给标签 $lastmod -> appendChild($contime);//将标签内容赋给标签 }} $doc->appendChild($urlset);//创建顶级节点 $doc->save("./../sitemap.xml");//保存代码 echo " "; }改之后// 生成地图 function getxml(){ $doc = new \DOMDocument('1.0', 'utf-8'); // 引入类并且规定版本编码 $urlset = $doc->createElement("urlset", ""); // 创建节点并声明命名空间 $urlset->setAttribute("xmlns", "http://www.sitemaps.org/schemas/sitemap/0.9"); // 声明命名空间 $db = Typecho_Db::get(); $result = $db->fetchAll($db->select()->from('table.contents') ->where('status = ?', 'publish') ->where('type = ?', 'post') ->where('created <= unix_timestamp(now())', 'post') // 添加这一句避免未达到时间的文章提前曝光 ->limit(100) ->order('created', Typecho_Db::SORT_DESC) ); if ($result) { foreach ($result as $val) { $val = Typecho_Widget::widget('Widget_Abstract_Contents')->push($val); $permalink = $val['permalink']; $created = date('Y-m-d', $val['created']); /* 循环输出节点 */ $url = $doc->createElement("url"); // 创建节点 $loc = $doc->createElement("loc"); // 创建节点 $lastmod = $doc->createElement("lastmod"); // 创建节点 $content = $doc->createTextNode($permalink); // 设置标签内容 $contime = $doc->createTextNode($created); // 设置标签内容 $loc->appendChild($content); // 将标签内容赋给标签 $lastmod->appendChild($contime); // 将标签内容赋给标签 $url->appendChild($loc); // 将 loc 放到 url 下 $url->appendChild($lastmod); // 将 lastmod 放到 url 下 $urlset->appendChild($url); // 将 url 放到 urlset 下 } } $doc->appendChild($urlset); // 创建顶级节点 $doc->save("./../sitemap.xml"); // 保存代码 echo " "; }
最近，听到很多这样的说法："得To C者得天下"，"赢To B者赢未来"。作为商业顾问，和很多企业交流时，发现大家似乎都很焦虑。或自救，或赌博，或布局。总之，都要转型。To C的企业，想要转To B。比如腾讯。从深耕消费互联网，到拥抱产业互联网。To B的企业，想要冲出原来的价值链，让大众认识自己，走到台前。每一个To B的企业，都有一个To C的梦想。但是，但是，他们常常不能互相理解，不明白两个业务的区别。我见过太多企业，船头一转，遇见了风暴，撞上了冰山。因为不懂本质，所以死于转型。To B和To C的区别到底是什么？又该怎么办？1.To C的本质是什么？相对于To B的生意，To C的特点，总体来说是四个：单价金额小、复购相对高、决策流程短、冲动消费多。如果说最重要的一个区别，应该是决策流程短。到底有多短？太短了。短到电光石火，短到在当下那一刻没有抓住用户，就可能永远失去他。有人专门做过研究，消费者在线下购买一个产品，平均的决策时间是13秒。在线上，好一点，但也没好到哪去，是19秒。这意味着什么？这意味着不管线上线下，消费者对于商家的好恶抉择，竟然在20秒内就决定了。今天的消费者，越来越没耐心。2000年，人类的平均注意力还有12秒。到了2013年，只剩下8秒了。要知道，金鱼还有9秒呢......在专注这件事上，人不如鱼，人不如鱼。你根本没有时间说服消费者。你说，来来来，给我一个小时的时间，让我给你讲讲我们的产品为什么好吧。结果你刚清了清嗓子，消费者已经走出十步远了，头都不回。所以产品必须做到极致，让消费者第一眼就产生购买的欲望和冲动。这就是为什么，互联网公司的产品经理们，会为了按钮是放在左边还是右边吵一整天，为了界面是什么颜色争执得要打起来。这也是为什么，零售超市的销售经理们，会为了产品包装绞尽脑汁，为了产品陈列的位置大打出手。甚至有人专门为产品的竞争力取过名字，叫"静销力"。一个好产品，哪怕是静静躺在那里，你都忍不住走过去。哎呀，太好了！深得我心，爱不释手！然后放入了购物车。在To C的生意中，产品是基础。有了不错的产品，再加上营销和渠道，拿下消费者。营销就像空军，广告宣传，狂轰滥炸，目的只有一个，占领用户心智，在脑海里写下"只能买我"四个大字。渠道就像地面部队，在一切可能的触点上，与用户相遇、相知、相爱。所以To C生意的基本打法，是打磨产品，是死磕体验，是低价，是巨量。然后遇到消费者，瞬间拿下。To C的生意，是闪电战。2.给想转型To C企业的建议我给过很多企业建议，尤其是To B的传统企业，如果想要成功进入To C的领域，最重要的一件事情，是真正做到"以用户为中心"。很多人听完之后，哈哈大笑。你这不是废话吗，我们一直都是以用户为中心啊，不然我们怎么做到今天呢。哦？真的吗？我说，那为什么To C企业开会都叫"合作伙伴大会"，你们开会就喜欢叫"客户答谢会"呢？你是要答谢谁？是代理商。是经销商。是门店。你认为他们才是你的客户，你认为把东西卖给他们就算是结束了，你认为他们才是应该答谢的对象。但是，他们只是你的合作伙伴。你只有一个客户，也是唯一的客户，是消费者。当你把代理商和门店当成客户，说明你对产品的专注是不够的，你心里装着的不是消费者，而是怎么能让下面的代理商帮自己多卖东西。语言背后折射出来的是一种心态。如果抱有这种心态，是做不好To C的。这也是为什么，用户会拼命吐槽一些产品和服务。比如难用到想打人的APP，比如灾难级别的界面，比如让人抓狂痛苦的交互设计。你真的懂什么是"以用户为中心"吗？你真的懂吗？他们听完之后，一身冷汗。To B企业想要进入To C领域，技术上能不能死磕产品，给予用户极致体验？心态上能不能接受从一笔赚几百万的大单子，转变为一单只能赚几百，甚至几十块的小钱？能做到吗？3.To B的本质是什么？To B的本质，和To C的生意正相反，总体来说也是四个：单价金额大，复购相对低，决策流程长，冲动消费少。如果说最重要的一个区别，应该是决策流程长。有多长？太长了。长到几乎可以抹平一切的冲动，让所有冲动购买最终趋于平静。To C的消费决策，以"秒"计。To B的消费决策，以"月"计，甚至以"年"计。假如你要买一部华为手机，再贵再贵，一万多块钱也差不多了。如果你特别喜欢，咬咬牙，一个月工资，也就买了。但是你要买华为一套交换机设备，那可不是一万块钱的事，一个基站就是几百万，一个单子可能上亿。就算再喜欢，再冲动，但是几百万上亿的金额，哪怕把牙咬碎，嚼成粉末，全部咽到肚子里，也没办法迅速决策。怎么办？要审批。要走流程。这个流程一般是什么？开会立项，我们到底要采购什么。在供应链名单中找到几家供应商，招投标。几十页几百页的标书，递到你跟前，供应商在台上讲PPT，我们为什么好，我们和竞争对手的差距是什么，为什么你一定要选择我......然后，评估打分。每个部门都有自己的采购方向，每个部门也有自己的采购流程，中间可能还牵涉技术决策人，商务负责人，运营经理的利益和关系。如果采购的金额比较大，需要部门总经理决定，如果更大，甚至需要总裁签字批准。采购完之后，还要交付。系统怎么安装，人员怎么培训。假如出了问题，还有售后。这个问题怎么解决，那个问题怎么处理。等等，等等，等等......我写着觉得复杂，你听着也觉得复杂，如果你真的看过会觉得更复杂，如果你做过才知道真的无比复杂。所以To B的生意，不是靠产品和冲动消费来拿下客户的。必须要有BD，必须要有销售，冲进去，一直讲，一直讲，一直讲。影响，影响，影响。这也是为什么，在To B的生意里，我们经常听到有人要吃饭、喝酒、搞关系。甚至，不惜犯法行贿。因为金额实在太大，链条实在太长，最终决策人的意见实在太值钱。To C的人总是认为，之所以那么复杂那么辛苦，就是因为产品不够好。也许真的不是这样。在申请换个灯泡都要花三天时间的企业里，做一项几百上千万上亿的决策，常常需要更久更久的时间。To B的生意，除了依靠产品，更要依靠销售和服务，去磨，去耗，去说服，去影响。To B的生意，是持久战，是消耗战，是堑壕战。4.给想转型To B企业的建议我也给过很多企业建议，尤其是To C的互联网企业，如果想要成功进入To B的领域，最重要的一件事情，是理解To B生意的复杂流程。因为To B的复杂，已经复杂到不是产品好不好，而是复杂到我有没有这个权力。甚至，我应不应该扛这个责任。上面这句话，你可以慢慢体会。不仅是依靠产品，更是依靠销售和服务。想进入To B的领域，要有强大的销售团队和服务团队。要么自己建立，要么外包购买。在To B的市场，可能会遇见很多你无法想象的野蛮要求，会碰见毫不讲理的甲方爸爸，会有许多讨价还价甚至尔虞我诈。相对于To C的业务，To B看起来虽然都是大生意，但实际上都是辛苦钱。这一点，能理解吗？能接受吗？5.理解本质，摆脱依赖所以，在未来，什么样的公司，有机会能够转型成功？To B和To C的本质区别，并不在于产品本身，也不是消费者的不同，而是业务逻辑的不同。比如房子，虽然是面对To C的消费者，但决策流程却可能和To B一样长。比如办公应用，像企业微信、钉钉，虽然是面对To B的企业，但特征却更像To C的产品。To B和To C的不同，是单价金额的不同，是复购频率的不同，是决策流程的不同，是冲动消费的不同。为什么转型这么难？难的是，不理解业务的本质。更难的是，不能摆脱原有业务逻辑的依赖。最后的话今天，外部环境多变，内部环境复杂，许多企业都想转型。To B和To C企业互相羡慕，也互相遥望。但是，To B不懂To C的产品和体验，To C不懂To B的流程和复杂。转型是残酷的，是大概率要失败的。但对于失败的人来说，失败的原因不仅仅是因为残酷本身，更是因为不知道自己败在了哪里。除了勇气、决心、坚持，还有能理解业务的本质。因为不懂本质，所以死于转型。所以最重要的两点，第一是理解本质，第二是牢牢记住第一点。希望这篇文章，能多多少少帮助企业理解两种模式的不同，提高成功的概率。能从50%，提高到60%，70%。或者仅仅是51%。然后呢？怎么办？还能怎么办。破除依赖，继续坚决勇敢地往前走吧。
纯css实现弹窗 显示模态框 We have a special offer for you. I am sure you will love it! However this does look spammy... 纯css3实现弹窗：参考链接https://picnicss.com/documentation#modal
个人建立了一个我自己常用的导航站。so.wanvfx.com有需要的可以点击，右上角隐藏着本站收集各类图文视频站、运营、资源、新闻、工作生活类的网站，有需求添加的可在评论区回复，酌情添加。工作丨生活地址: https://weibo.com/站名: 微博宣传语: 随时随地发现新鲜地址: https://www.google.com/站名: 知乎宣传语: 有问题就会有答案地址: https://mail.126.com/站名: 126邮箱宣传语: 你的专业电子邮局地址: https://www.bilibili.com/站名: 哔哩哔哩宣传语: 众所周知B站是一个学习网站地址: https://houxu.app/events/站名: 后续宣传语: 有记忆的新闻，持续追踪热点新闻片库丨素材地址: https://www.xinpianchang.com/站名: 新片场宣传语: 汇聚全球原创优质视频及创作人地址: https://www.vmovier.com/站名: 场库宣传语: 高品质短片分享平台地址: https://eyepetizer.net/站名: 开眼宣传语: 看更好的世界地址: https://www.topys.cn/站名: TOPYS.宣传语: 创意内容平台地址: https://pixabay.com/站名: Pixabay宣传语: 免费正版高清图文综合素材库地址: https://www.tvcbook.com/站名: TVCBOOK宣传语: 广告视频搜索社交网络地址: https://www.6pian.cn/站名: 牛片网宣传语: 短视频交易服务平台地址: https://ibaotu.com/站名: 包图网宣传语: 视频图文模板素材交易下载网站地址: https://www.newcger.com/站名: 新CG儿宣传语: 数字视觉分享平台地址: https://www.videezy.com/站名: Videezy宣传语: 免费高清视频剪辑素材库地址: https://mixkit.co/站名: Mixkit宣传语: 免费高清视频、音乐、音效、模板素材库地址: https://mazwai.com/站名: Mazwai宣传语: 精心挑选的免费素材库地址: https://www.videvo.net/站名: Videvo宣传语: 致力打造全球No.1免费视频素材和音效素材库地址: https://coverr.co/站名: Coverr宣传语: 版权免费的视频素材下载媒体丨运营地址: https://bj.96weixin.com/站名: 96编辑器宣传语: 微信公众号平台图文排版工具地址: https://www.135editor.com/站名: 135编辑器宣传语: 微信图文排版编辑器地址: http://www.wxeditor.com/站名: 易点编辑器宣传语: 微信公众号图文排版编辑器地址: https://www.newrank.cn/站名: 新榜宣传语: 更多更好的KOL自媒体，品效合一的传播销售方案地址: http://www.aiweibang.com/站名: 爱微帮宣传语: 公众号数据查询投放服务商地址: https://www.zhiweidata.com/站名: 知微数据宣传语: 互联网大数舆情服务专家地址: http://www.niaogebiji.com/站名: 鸟哥笔记宣传语: 讲述营销的故事地址: https://www.zsxq.com/站名: 知识星球宣传语: 运营高品质社群地址: https://www.meihua.info/站名: 梅花网宣传语: 营销案例作品宝库地址: https://www.qlchat.com/站名: 千聊宣传语: 专注实用知识的内容平台地址: https://www.lizhiweike.com/站名: 荔枝微课宣传语: 成长每时每刻-直播教育平台地址: https://www.wenjuan.com/站名: 问卷网宣传语: 免费问卷调查平台地址: https://www.yinxiang.com/站名: 印象笔记宣传语: 工作必备效率应用地址: https://shimo.im/welcome/站名: 石墨文档宣传语: 企业在线协同办公系统设计丨灵感地址: https://huaban.com站名: 花瓣宣传语: 设计师寻找灵感的天堂！地址: https://www.zcool.com.cn/站名: 站酷宣传语: 中国人气设计师互动平台地址: https://www.uisdc.com/站名: 优设宣传语: 优秀网页设计联盟地址: https://www.ui.cn/站名: UI中国宣传语: 专业界面交互平台地址: https://www.zhisheji.com/站名: 致设计宣传语: 百万电商设计师交流平台地址: http://www.uedna.com/站名: Uedna宣传语: 优艺客旗下UE设计平台地址: https://muuuuu.org/站名: Muuuuu宣传语: 日本网页画廊，更新较快地址: https://theinspirationgrid.com/站名: Inspiration宣传语: 聚合来自世界各地的创意人地址: http://koreawebdesign.com/站名: koreaweb宣传语: 韩国网站设计画廊地址: http://bm.straightline.jp/站名: Straightline宣传语: 日本网站设计画廊地址: https://loading.io/站名: Loading宣传语: SVG+GIF+PNG各种Loading设计地址: http://reeoo.com/站名: Reeoo宣传语: 网页设计灵感导航地址: https://logopond.com/站名: Logopond宣传语: LOGO设计网站地址: https://www.brusheezy.com/站名: Brusheezy宣传语: 免费的Photoshop笔刷地址: https://www.vecteezy.com/站名: Vecteezy宣传语: 高质量免费矢量素材地址: https://www.iconfont.cn/站名: 阿里图标宣传语: 阿里云旗下的图标设计地址: https://www.chuangkit.com/站名: 创客贴宣传语: 平面设计作图神器地址: https://www.mockupworld.co/站名: Mockupworld宣传语: 免费样机下载站学习丨教程地址: https://momentor.cn/站名: MO动态设计宣传语: 为展示和孵化更多优秀设计作品而生的视觉创意平台地址: http://doyoudo.com/free站名: doyoudo宣传语: 设计领域在线学习平台软件丨插件地址: https://www.weibo.com/vposy站名: @Vposy宣传语: vposy大神微博地址: https://www.lookae.com/站名: 大众脸宣传语: LookAE大众脸影视后期特效地址: https://www.qiuziti.com/站名: 求字体宣传语: 求字体，当然不求人开发丨云地址: https://www.aliyun.com/站名: 阿里云宣传语: 阿里云地址: https://cloud.tencent.com/站名: 腾讯云宣传语: 腾讯云地址: https://www.qiniu.com/站名: 七牛云宣传语: 七牛云地址: https://www.cloudflare.com/站名: Cloudflare宣传语: Cloudflare地址: https://www.w3school.com.cn/站名: W3school宣传语: W3school地址: https://www.runoob.com/站名: 菜鸟教程宣传语: 网页设计入门学习网站地址: https://github.com站名: GitHub宣传语: 世界上最大的代码托管平台论坛丨博客地址: https://www.52pojie.cn/站名: 吾爱破解宣传语: 致力于软件安全与病毒分析的前沿地址: https://www.bossdesign.cn/站名: BOSS设计宣传语: 收集国外设计素材网站的资源平台
拖拉的学习笔记终于可以赶在空闲的情况抽出一段时间学习C4D的学习，越过了头几年C4D火爆的时期，那时候始终钻进PR、AE、PS、AU的adobe一系列的软件里，始终使用它在工作。虽然它有各式各样的缺点，但是工作所需，熟练度的原因始终在使用的。一段对话 这是偶然间看到的一张图片，正好赶上这两天一位同事离职，回想起种种对话有了那么一丝丝感触。 或许这就是生活。大概 从接触后期制作，接触三维动画类软件想了想，十多年了，从学校时就一直敢钻老师的办公室追着赶着老师屁股后边学习建模、材质、渲染器，从不懂到似懂非懂。 说实话，始终没学透，没学精。 一腔热血感兴趣，直到离开学校其实都只算是似懂非懂、似会非会。 直到第一份、第二份、第三份工作，那时候几乎找不到做三维的工作，哪怕找到了也没有需要新手新人、没办法，头几份工作都是在抽时间摸索学习，而工作中大多涉及的与专业不相关的平面设计、广告包装。 积累经验，天天摸索，工作再用，再被催着赶着，再笨也该学会了本来不熟悉的包装合成剪辑一系列软件，那时候一切都是为工作服务，工作用什么，短时间内就要会什么。没有时间系统学习软件有哪些功能，只要用上了不会，就去搜索。 好像直到现在，我庆幸我学会了搜索，至少我不会可以问百度，毕竟步入社会就没有老师可问了。感想 好吧，简单记录一下感想，以上。2021.3.17笔记 终于有时间把落灰在收藏夹的软件教程拿出来看看，教程重的软件和我最新更新的C4D软件明显差出很多功能项，还好，大致还能找到，抽出下班时间赖在公司没走，看了看教程，重新捡起在工作中基本不用的三维软件，这次没去再捡我本身熟悉的3DMAX，max本身太庞大了，哪怕我直到现在会的利用到的只是皮毛。 能在工作中用到的，并且不拖沓效率的，根据需要，选出了C4D这款软件，没办法，确实轻便、并且效率高。 庆幸自己还有三维基础，捡起来还是比较好理解，好上手的，毕竟教程太多了，简单试了试建模+简单材质+渲染使用+结合AE做了简单的包装。 感想：再接再厉，争取一周之内能够熟练掌握，并实际应用到业务中。 ps：老婆在呼唤，收工。
麦当劳暖心剧集《从喝杯咖啡开始》 *She Walks in Beauty* 精选转发来源：新片场
Woman's Life｜这是你的故事 *She Walks in Beauty* 挑选评论1：每个人看的感受不同，但是对于同样身为女人，感受是焦虑、压抑、幸福、快乐、痛苦、充实！各种滋味都有。我觉得这就是成功了。因为平常的、大部分女人的一生就是如此。挑选评论2：将人生标记成一个个车站，匆匆而过的简练，描绘一个个女性的轨迹。而这种轨迹，看似平淡，但又有多难得。女生看了也许会很有获得感，工作，结婚，新家，生子，成长陪伴。男生呢，这么定式的标准，有多少男生是有准备的。说男生不如女性成熟，先知。是因为女性容易将所谓的人生定义在这十几年，那35岁之后呢？可有自己的追求和思考。你要让我35岁之前，就准备好应对这一切，我很无奈，确实做不到。但苟且也得继续活着不是。剪辑很棒，节奏很棒，叙事也很棒。可是看完两遍，我仍然只有焦虑和压抑。从学生时代坐在公交听英语，风吹过写满英语重点的笔记，快速闪切切中景转身接特写头部，让人专注主角的神情，让关注不由自主思考主角在思考什么？一连串闪过的镜头，哦，原来是想幻想未来。然后紧接着再接风吹过写满英语重点的笔记，好像有车通过一样，但是紧接着并不是公交车了，而是地铁。对应的解说词“这就是未来的你。”到此刻，短短不到30秒的镜头，意味着主角即将从学生时代逐渐步入成熟……看到这我不禁暂停，思考。思考人生的意义？不，而是想，我看到了什么？不用往下看，我就知道无非是“她”的一生“缩影”。可惜，是“理想中的”。差异性的，无非比“她”更好，幸福面放大，要么比“她”痛苦，悲惨的面放大。停止思考，跳跃着继续看，果然，讲的是她的成年之后的人生“缩影”。直到最后，才有了一句比较有印象的一句“总结”：“尽管短暂像烟花，但是足够漂亮和璀璨。”或许代表了此时“学生时代”幻想的美好。或许一些人经历和打击的多了，看到的都是痛苦。或许一些人刚刚步入社会，看到的更多是美好。只能说，年轻真的很好，会幻想，去拼搏，敢奉献，勇追求。从毕业，到养育儿女，可以说是到了“幻想”的终点，在之后是围绕孩子？还是回思自己，都没有交代，或许可能，后面的都是生活的“琐事”，而自己，不再是“主角”。当然，或许也在刻意维持女人这一生最“巅峰”的一段时间，再往前，太年轻，再往后，太年老。这部片子作为剪辑值得去学习，尤其是它“精炼”步入社会后的一生，从独特的女生角度，抓住人生印象深刻的点，毕业-找工作-应聘-入职-恋爱-求婚-同居-结婚-怀孕-生子-育子。快速剪辑将“人生”凝练，提取想要倾诉的“点”，组成这样一段故事。或许每个人都有倾诉的点。但也仅此而已。嗯，或许。精选转发来源：新片场
原因经过 事情是这样的，今天帮助公司里的小伙伴解决一个剪辑思路方面的难题，然后PR就出现了经常见到的·日·常·崩·溃…… 小意思，不就日常崩个溃么，洒洒水，太常见了…… 但是随后发生的事情就让我·蚌·埠·住·了……项目锁定 说实话，这是我极少见到的情况。先上彻底解决办法：Premiere菜单栏---编辑---首选项---协作--项目锁定框内，"启用项目锁定"取消选择（把√去掉）。 因为我极少让这种情况发生，基本都是防患于未然，无用的操作坚决不做，毕竟我用Premiere是为了剪辑了，而不是为了研究PR软件本身的，用了十几年的剪辑软件，功能也只用到它的剪辑相关的，其它的基本保持原始和默认。 顶多自定义一些常用的快捷键，比如F9设定为同步……解决过程 第一时间我没找到原因，我也极少去给错误留下机会，能少点击就少点击，万一发生错误软件崩溃事小，耽误我业务推进进度事情就闹大了。 还好简单检查了一下，删除掉和PR工程文件同目录的扩展名为prlock为结尾的文件，再次重新打开工程，“暂时”解决了当下急用的问题。 后续因为各种事情业务推进，就抛在了脑后……再次突发 还是某位不知名小伙伴的电脑，因为贪图据说似乎可能“新版本"的阿逗比会流畅不卡顿不崩溃……然后更新了新版本软件。然后再次遇到了遇到了死亡提示“项目已锁定 无法将项目设为可写，因为“Administrator”已经将其打开进行写入。” 得嘞，还是抽出那么亿丢丢的时间解决这个问题，于是乎各种同行、同学、同公司人士，反正问了一通，基本都是那句回复：“没遇到过……”。 百度、必应、搜狗各种微信公众号查找解决问题，好吧，好像人家都没问题，就我遇到了……彻底解决 在耗费我十多分钟的空闲时间，再摸鱼摸我自己都觉得良心过不去的时候，我还是自己琢磨琢磨赶紧解决吧。 于是我再次点开了存在感极低的菜单栏，一般发生问题基本都是在首选项基本都能解决。 花费了我10秒的生命时间一眼就相中了它。 在确定其他电脑的PR中该选项是未选中的，好吧，症结应该是出在这。 对钩点掉。 至此，问题解决。
AE脚本管理器和50个常用脚本集成汉化
脚本界面：脚本说明: 此脚本出发点是为了方便自己，AE熟悉脚本的使用，十分凌乱脚本用了很长时间归类，英语对我是硬伤，很多功能不清楚，没办法，能汉化的通通都进行了汉化，其中一部分搬运的其他大神的脚本上修改的，还有一些没有修改，主要是为了汉化方便使用。 这些脚本均为网络汇集，并在原脚本基础上改写汉化的，不提供任何保障，因使用该脚本导致出现的任何问题，均不承担任何赔偿责任。 本系列脚本99%为未加密版本，喜欢折腾的可以拿去各种改改改...... 本脚本随我使用及逐步汉化不定期更新，如有兴趣，请ctrl+D收藏本站。安装方法： 选中你放置脚本的文件夹，如果你的AE是默认安装位置，那么脚本JB120文件夹请放在C:\Program Files\Adobe\（找到要安装的AE根目录）\Support Files\Scripts ScriptUI Panels文件夹请放在C:\Program Files\Adobe\（找到要安装的AE根目录）\Support Files\Scripts\ScriptUI Panels 打开AE脚本管理器，点击文件夹，选择刚安装脚本JB120的文件夹即可。其它技巧 如果有新脚本想要安装在面板中，就把脚本复制放在这个文件夹内就好，然后在AE脚本管理器中点击刷新，该脚本不用每次重新打开面板。更新情况：[collapse status="false" title="脚本更新日期：2020.6.20 展开查看详细"]骨骼绑定脚本Duik Bassel图形连接脚本（二维）创建3D球形创建3D金字塔创建3D特殊立方体空间创建3D下降多米诺骨牌（项目中）创建3D圆柱创建3D盒子根据txt文档随机分配到3D空间自动文字随机分配到3D空间常用表达式调节K帧动画节奏时间线定位时间轴层位置微调破碎分裂各种层批量层预合成 多层合成 批量每一层单独合成 可以指定名称 中文自动表达式渐变调光对选定的三维层创建灯光项目批量改名Project_Items_Renamer拆解文字 单独拆分 整行拆分 直接复制文本内容层时间随机偏移层时间偏移排列层层批量改名层时间偏移 随机时间偏移N层隔行选择层图层排序XYZ轴对齐脚本实用表达式集Mask居中随机选择几个图层1二维三维图层阵列偏移动画脚本复制合成副本为选择的层创建多个空物体每一层一个单独的一个空物体并做父子链接为选择的层创建一个空物体并做父子链接为选择的三维层创建摄像机[/collapse][collapse status="false" title="脚本更新日期：2020.6.27 展开查看详细"]修改合成大小重新定位锚点单独渲染层随机选择几个图层2三维图层分布多图层中心点移动控制Anchor Point Gravity 汉化版合成裁切Auto Crop（未汉化）连线LinesCreator （未汉化）GIF生成gifGun （未汉化）[/collapse][collapse status="false" title="脚本更新日期：2020.8.24 展开查看详细"]父子绑定脚本出现无法绑定情况，修改BUG[/collapse][scode type="green"] [button color="info" icon="" url="https://pan.baidu.com/s/1XBOC9YZQh84jVk6zF-356Q" type=""]百度网盘[/button] 提取码：9ey9 [button color="primary" icon="" url="https://wanvfx.lanzous.com/iuUDbf5xbcb" type=""]蓝奏网盘[/button] [/scode]
WYSIWYG Web Builder 16 网页编辑神器 html页面编辑的神器，之前很想做一个H5单页，但苦于不懂相关技术，我也不会做网站网页，能鼓捣建站到现在纯属瞎猫，但是直到遇到了WYSIWYG Web Builder 16 这款网页编辑神器，竟然也能让我摸索摸索鼓捣出很多不错的页面了，推荐给大家。[scode type="green"] [button color="info" icon="" url="https://pan.baidu.com/s/1nrXBnCvxcwerG11BETSuYA"]百度网盘[/button] 提取码：zs6b [button color="primary" icon="" url="https://wanvfx.lanzous.com/x" type=""]蓝奏网盘[/button] 暂无蓝奏链接[/scode]