微语 微语:代码适合中午敲,早晚出BUG

vscode中CodeRunner运行ts文件显示中文乱码如何解决? typescript

首次安装使用CodeRunner运行ts可能会显示乱码如下:

vscode中CodeRunner运行ts文件显示中文乱码如何解决?

file -> preference -> setting -> Extension -> Run Code configuration,将其中的 Run in Terminal 选中即可。


jsconfig.json在vue项目中如何使用 Vue

在Vue项目中,你可以通过以下步骤来使用jsconfig.json文件

  1. 在你的Vue项目的根目录下创建一个名为jsconfig.json的文件。

  2. 在jsconfig.json中添加以下配置:

{
  "compilerOptions": {
    "target": "es6",
    "module": "esnext",
    "baseUrl": ".",
    "paths": {
      "@/*": ["src/*"]
    }
  },
  "exclude": ["node_modules", "dist"]
}

上述配置的含义是:

  • target:指定编译器的目标版本,这里设为ES6。
  • module:指定模块的导入导出规范,这里设为ES模块。
  • baseUrl:指定相对于jsconfig.json文件的路径。
  • paths:用于设置别名,例如@代表src文件夹,可以根据实际情况进行配置。
  • exclude:指定需要排除的文件或文件夹,这里排除了node_modules和dist文件夹。
  1. 保存jsconfig.json文件。

  2. 接下来,你可以在你的Vue项目中使用别名来引用模块。例如,如果你有一个在src文件夹下的components文件夹,并且你在components文件夹中有一个Header.vue组件,你可以使用别名来引用它:

import Header from '@/components/Header.vue';

这里的@符号是之前在jsconfig.json中设置的别名,它指向了src文件夹,所以@/components/Header.vue实际上指向了src/components/Header.vue文件。

需要注意的是,jsconfig.json文件只在开发过程中起作用,对于构建打包后的代码是没有影响的。如果你使用的是Webpack等打包工具,你可能还需要相应的配置来解析别名。


uniapp打包H5详细教程 uniApp

第一步: 发行->网站-PC Web或者手机H5


第二步:配置Web 在manifest.json中如下配置


第三步:填写标题和网站域名

配置踩坑:H5端需要配置设置一下全局CSS不然会出现2个页面标题,如下:

需要在App.vue配置

uni-page-head {
        display: none;
    }

css命名不能以XXX.XXX.XXX方式否则会导致样式引入提示找不到,但是直接访问又可以找到,这个时候只需要吧样式名字改掉xxx.xxx然后再index.html里面修改一下css样式名就行了


uniapp获取微信小程序胶囊信息不兼容处理 uniApp

使用 #ifndef来判断是否兼容

// 兼容处理
// #ifndef H5 || APP-PLUS || MP-ALIPAY
    //获取小程序悬浮球信息
    let menuButtonInfo = uni.getMenuButtonBoundingClientRect()
    this.menuButtonInfo = menuButtonInfo
// #endif

添加元素之前先判断是数组里面是否存在 微信小程序

使用includes来判断,如果存在就用filter来过滤出不一样的

                if (this.sosuo.includes(so)) {
                  this.sosuo = this.sosuo.filter(num => num !== so);
                }

微信小程序的几个主要文件 微信小程序

一个小程序一般包含多个文件。虽然具体的文件数量可以根据开发需求和项目复杂性而变化,但一般的小程序包含以下几个主要文件:

  1. app.js:小程序的全局脚本文件,包含小程序的生命周期和全局方法。

  2. app.json:小程序的全局配置文件,可以设置小程序的页面、窗口样式和网络请求等。

  3. app.wxss:小程序的全局样式文件,定义小程序的公共样式。

  4. pages 目录:包含小程序的页面文件,每个页面通常由一个 .js、.json 和 .wxml、.wxss 文件组成。

  5. .js 文件:页面的逻辑脚本文件,包含页面的事件处理和数据绑定等。

  6. .json 文件:页面的配置文件,可以设置页面的标题、导航栏样式等。

  7. .wxml 文件:页面的结构文件,类似于HTML,用于描述页面的结构和内容。

  8. .wxss 文件:页面的样式文件,用于定义页面的样式和布局。

除了以上主要文件外,小程序还可能包含其他一些辅助文件,如图片、音频、视频等资源文件,以及组件和插件的文件。
注:以上仅是一般情况下的文件组织结构,具体的文件数量和组织方式可能因开发者的需求而有所不同。


数组快速去重的方法 JavaScript

一.使用 Set 数据结构:Set 是 ES6 中的一种数据结构,它只能存储唯一的值,可以通过将数组转换为 Set 来去除重复项,然后再将 Set 转换回数组。

const arr = [1, 2, 3, 3, 4, 4, 5];
const uniqueArr = [...new Set(arr)];

二.使用 Array.prototype.filter() 方法:使用 filter() 方法遍历数组,根据元素在数组中的首次出现的索引来确定是否保留该元素。

const arr = [1, 2, 3, 3, 4, 4, 5];
const uniqueArr = arr.filter((value, index, self) => self.indexOf(value) === index);

三.使用 Array.prototype.reduce() 方法:使用 reduce() 方法遍历数组,将元素添加到结果数组中,但仅在结果数组中不存在相同的元素时才添加。

const arr = [1, 2, 3, 3, 4, 4, 5];
const uniqueArr = arr.reduce((result, value) => {
    if (!result.includes(value)) {
        result.push(value);
    }
    return result;
}, []);

四.使用 ES6 中的 map() 方法:使用 map() 方法遍历数组,将元素作为键值对存储在 Map 数据结构中,然后返回 Map 的键数组。

const arr = [1, 2, 3, 3, 4, 4, 5];
const uniqueArr = Array.from(new Map(arr.map(value => [value, value])).values());

微信小程序调用扫码API 微信小程序

一:app.json 文件中添加相机权限

"permission": {
    "scope.camera": {
      "desc": "用于扫码功能"
    }
  }

二:触发事件

  <view class="list-img" bindtap="takePhoto">
    <text>二维码</text>
  </view>

三:事件代码

takePhoto(){
  wx.scanCode({
    onlyFromCamera: false, // 是否只允许从相机扫码,设为 true 则只能从相机扫码,不会从相册选择图片进行扫码,默认为 false
    scanType: ['qrCode', 'barCode'], // 所支持的码类型,Array 类型,默认支持所有类型的码
    success: function(res) {
      console.log(res.result); // 打印扫码结果
      console.log(res.scanType); // 打印扫码的码类型
      console.log(res.charSet); // 打印扫码的字符集
      console.log(res.path); // 打印扫码的路由路径
      console.log(res.rawData); // 打印原始扫码数据,仅在 certain conditions 下可用
    },
    fail: function(res) {
      console.log(res.errMsg); // 打印扫码失败的错误信息
    }
  });
},