<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[ww072511的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/ww072511</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; ww072511]]></copyright><item><title><![CDATA[react 18 及配套路由及状态管理的应用]]></title><link>https://blog.youkuaiyun.com/ww072511/article/details/131086588</link><guid>https://blog.youkuaiyun.com/ww072511/article/details/131086588</guid><author>ww072511</author><pubDate>Wed, 07 Jun 2023 14:27:51 +0800</pubDate><description><![CDATA[在store 文件夹下创建modules 文件夹 在下边创建 user.ts 文件。紧接着在react index.tsx 文件夹中包裹根组件。创建 store 文件夹 下边index.ts代码如下。在login 模块他的使用如下。之后创建 routes数组。在跟组件中引用该数组。]]></description><category></category></item><item><title><![CDATA[linux同时存在python3 和 python2 环境的切换]]></title><link>https://blog.youkuaiyun.com/ww072511/article/details/129988087</link><guid>https://blog.youkuaiyun.com/ww072511/article/details/129988087</guid><author>ww072511</author><pubDate>Thu, 06 Apr 2023 14:07:37 +0800</pubDate><description><![CDATA[方法1：打开具体的某个Python文件，在第一行处修改如下：将#!/usr/bin/python修改为#!/usr/bin/python2表示采用Python2来对该文件进行编译，改为python3亦然。

方法2：采用软链接的方式，指令如下：

  $ whereis python
  $ rm /usr/bin/python
  $ ln -s /usr/bin/python3.6 /usr/bin/python
方法3：

给不同的python版本添加到python这个命令上，并设置不同的]]></description><category></category></item><item><title><![CDATA[前端图片转base64]]></title><link>https://blog.youkuaiyun.com/ww072511/article/details/129985289</link><guid>https://blog.youkuaiyun.com/ww072511/article/details/129985289</guid><author>ww072511</author><pubDate>Thu, 06 Apr 2023 11:18:01 +0800</pubDate><description><![CDATA[const base64 = reader.result  //这就是图片转成base64的值。// 为图片的file 文件。首先 <input type="file" onchange = {imgUrl}/>reader.readAsDataURL(file) //这个为异步的。]]></description><category></category></item><item><title><![CDATA[阿里云端口开启步骤]]></title><link>https://blog.youkuaiyun.com/ww072511/article/details/129948178</link><guid>https://blog.youkuaiyun.com/ww072511/article/details/129948178</guid><author>ww072511</author><pubDate>Tue, 04 Apr 2023 11:06:55 +0800</pubDate><description><![CDATA[进入后点击实例名字 比如  i-wz9hwsrqu83zinjdwuxq 加入安全组。展开后在云计算类目下点击 云服务器esc。进入之后在左上角点击三条杠。进入页面后在入方向手动添加。]]></description><category></category></item><item><title><![CDATA[pytest 运行模式取消默认]]></title><link>https://blog.youkuaiyun.com/ww072511/article/details/129794924</link><guid>https://blog.youkuaiyun.com/ww072511/article/details/129794924</guid><author>ww072511</author><pubDate>Mon, 27 Mar 2023 14:35:25 +0800</pubDate><description><![CDATA[Pytest设置为Unittests。找到Testing下的。]]></description><category></category></item><item><title><![CDATA[python venv 虚拟环境]]></title><link>https://blog.youkuaiyun.com/ww072511/article/details/129792657</link><guid>https://blog.youkuaiyun.com/ww072511/article/details/129792657</guid><author>ww072511</author><pubDate>Mon, 27 Mar 2023 12:12:40 +0800</pubDate><description><![CDATA[python]]></description><category></category></item><item><title><![CDATA[vue2 / vue3 移动端适配]]></title><link>https://blog.youkuaiyun.com/ww072511/article/details/127319032</link><guid>https://blog.youkuaiyun.com/ww072511/article/details/127319032</guid><author>ww072511</author><pubDate>Wed, 22 Mar 2023 17:39:02 +0800</pubDate><description><![CDATA[会随浏览器切换不通机型来改变 font-size 值的大小。//  px2rem-loader 放在数组中（保证 loaders 能取到就好）在build 下边的 utils.js 进行配置 如下。关于移动端适配，不同的版本有不通的配置方法。先 npm i amfe-flexible。解决：随着浏览器变化，改变自身字体大小。在main.js 里边导入。]]></description><category></category></item><item><title><![CDATA[typescript 贪吃蛇]]></title><link>https://blog.youkuaiyun.com/ww072511/article/details/127254040</link><guid>https://blog.youkuaiyun.com/ww072511/article/details/127254040</guid><author>ww072511</author><pubDate>Mon, 10 Oct 2022 22:35:26 +0800</pubDate><description><![CDATA[/ 兼容目标浏览器。// 设置预定义环境。// 设置babel。// 不使用箭头函数打包。]]></description><category></category></item><item><title><![CDATA[nodemailer 邮件发送]]></title><link>https://blog.youkuaiyun.com/ww072511/article/details/124887902</link><guid>https://blog.youkuaiyun.com/ww072511/article/details/124887902</guid><author>ww072511</author><pubDate>Fri, 20 May 2022 17:51:14 +0800</pubDate><description><![CDATA[（1）安装 npm i nodemailer --save

（2）引入 var nodemailer = require('nodemailer')；



   nodejs 发送邮件 —— QQ邮箱


	确认将要使用的 QQ邮箱 IMAP/SMTP服务 是开启状态，并获取授权码；
	
	
	let transporter = nodemailer.createTransport({
	  host: 'smtp.qq.com',
	  port: 465,
	  secure:...]]></description><category></category></item><item><title><![CDATA[flexible.js]]></title><link>https://blog.youkuaiyun.com/ww072511/article/details/124715877</link><guid>https://blog.youkuaiyun.com/ww072511/article/details/124715877</guid><author>ww072511</author><pubDate>Wed, 11 May 2022 18:15:53 +0800</pubDate><description><![CDATA[(function flexible(window, document) {

 var docEl = document.documentElement;

 var dpr = window.devicePixelRatio || 1;



 // adjust body font size

 function setBodyFontSize() {

  if (document.body) {

   document.body.style.fontSize = 12 * dp...]]></description><category></category></item><item><title><![CDATA[怎么获取一地的准确坐标]]></title><link>https://blog.youkuaiyun.com/ww072511/article/details/124097709</link><guid>https://blog.youkuaiyun.com/ww072511/article/details/124097709</guid><author>ww072511</author><pubDate>Mon, 11 Apr 2022 13:58:15 +0800</pubDate><description><![CDATA[第一步打开百度地图api

然后在开发文档——&gt;开发者工具——&gt;坐标拾取器
]]></description><category></category></item><item><title><![CDATA[Ajax 原理详解]]></title><link>https://blog.youkuaiyun.com/ww072511/article/details/123815849</link><guid>https://blog.youkuaiyun.com/ww072511/article/details/123815849</guid><author>ww072511</author><pubDate>Tue, 29 Mar 2022 11:54:01 +0800</pubDate><description><![CDATA[名字的来历:

AJAX = Asynchronous JavaScript and XML（异步的 JavaScript 和 XML）

优点是 在不刷新整个浏览器的情况下，与服务器交换数据并更新部分网页内容







AJAX是基于现有的Internet标准

AJAX是基于现有的Internet标准，并且联合使用它们：

XMLHttpRequest 对象 (异步的与服务器交换数据)
	JavaScript/DOM (信息显示/交互)
	CSS (给数据定义样式)
	XML (作为转换数据的格式)]]></description><category></category></item><item><title><![CDATA[mongoose的增删改查]]></title><link>https://blog.youkuaiyun.com/ww072511/article/details/123686509</link><guid>https://blog.youkuaiyun.com/ww072511/article/details/123686509</guid><author>ww072511</author><pubDate>Wed, 23 Mar 2022 15:02:36 +0800</pubDate><description><![CDATA[保存数据：
   Model提供了一个create方法来对数据进行保存，语法结构为：Model.create(文档数据, callback))，实例如下：
userMode.create({
  name: userInfo.name,
  password: userInfo.password,
  age: userInfo.age
}, function (error, doc) {
  if (error) {
    console.error(error);
...]]></description><category></category></item><item><title><![CDATA[nodejs express mongoose mongodb 搭建后台服务器]]></title><link>https://blog.youkuaiyun.com/ww072511/article/details/123681416</link><guid>https://blog.youkuaiyun.com/ww072511/article/details/123681416</guid><author>ww072511</author><pubDate>Wed, 23 Mar 2022 14:21:29 +0800</pubDate><description><![CDATA[第一步：

在node环境下安装需要的插件

express 的安装

npm i express

安装成功后会在 安装目录生成 三个文件

node_modulespackage-lock.jsonpackage.json-&gt;安装的插件在这里有记录

安装mongodb的插件 npm i mongoose

mongoose 的使用可以查看mongoose中文文档

安装插件 nodemon

npm i nodemon

插件安装完成可以在package.json

文件中找到

第二步...]]></description><category></category></item><item><title><![CDATA[【无标题node bcypt加密]]></title><link>https://blog.youkuaiyun.com/ww072511/article/details/123546064</link><guid>https://blog.youkuaiyun.com/ww072511/article/details/123546064</guid><author>ww072511</author><pubDate>Thu, 17 Mar 2022 11:38:23 +0800</pubDate><description><![CDATA[exports.encryption = function (e) {

  // 生成随机数salt

  var salt = bcrypt.genSaltSync(10);



  // 生成hash密码

  var hash = bcrypt.hashSync(e, salt);



  return hash;

}



解密

exports.verification = function (e, hash) {

  // e前端密码 hash 数据库密码

...]]></description><category></category></item><item><title><![CDATA[uniapp 跨域]]></title><link>https://blog.youkuaiyun.com/ww072511/article/details/123519721</link><guid>https://blog.youkuaiyun.com/ww072511/article/details/123519721</guid><author>ww072511</author><pubDate>Wed, 16 Mar 2022 10:17:48 +0800</pubDate><description><![CDATA[module.exports = {
 devServer: {
  port: '8080',
  disableHostCheck: true,
  proxy: {
   '/api': {
    target: 'http://localhost:3000',
    changeOrigin: true,
    pathRewrite: {
   ...]]></description><category></category></item><item><title><![CDATA[关于时间格式化插件]]></title><link>https://blog.youkuaiyun.com/ww072511/article/details/123504171</link><guid>https://blog.youkuaiyun.com/ww072511/article/details/123504171</guid><author>ww072511</author><pubDate>Tue, 15 Mar 2022 15:40:29 +0800</pubDate><description><![CDATA[1 . npm i moment



2. import moment from 'moment'



3. var date = moment(new Date().getTime()).format('YYYY-MM-DD HH:mm:ss');
]]></description><category></category></item><item><title><![CDATA[vue 里边关于sass的配置问题]]></title><link>https://blog.youkuaiyun.com/ww072511/article/details/123377305</link><guid>https://blog.youkuaiyun.com/ww072511/article/details/123377305</guid><author>ww072511</author><pubDate>Wed, 09 Mar 2022 14:41:10 +0800</pubDate><description><![CDATA[sass]]></description><category></category></item><item><title><![CDATA[vue 中 echart关系图]]></title><link>https://blog.youkuaiyun.com/ww072511/article/details/122697311</link><guid>https://blog.youkuaiyun.com/ww072511/article/details/122697311</guid><author>ww072511</author><pubDate>Wed, 26 Jan 2022 11:01:06 +0800</pubDate><description><![CDATA[首先安装 echart

 setDVG(id, ethis) {



   this.charts = echarts.init(document.getElementById(id)); 获取图的点



   this.charts.resize();



   let categories = []; 里边的是关系的种类

   let option = {

    // 图的标题

    title: {

     text: "D...]]></description><category></category></item><item><title><![CDATA[关于视频文件上传前获取视频时长的方法]]></title><link>https://blog.youkuaiyun.com/ww072511/article/details/119991394</link><guid>https://blog.youkuaiyun.com/ww072511/article/details/119991394</guid><author>ww072511</author><pubDate>Mon, 30 Aug 2021 10:20:54 +0800</pubDate><description><![CDATA[file 为上传的文件

  fileurl 生成能在播放器里边播放的url

  letfileurl=URL.createObjectURL(file);

   创建video 标签

letvideo=document.createElement("video");

   给video的src赋值

video.src=fileurl;

   视频加载完获取时间

letduration=awai...]]></description><category></category></item></channel></rss>