快速熟悉vue3的语法
本文前提 — 特别熟悉vue2,有一定的基础。对比一下vue3有哪些新的语法,以便可以快速上手vue3
基础setupsetup是新增的生命周期,早于beforeCreate,setup里没有this,是组合式API的入口,只在组件初始化时执行一次。
123456789101112131415161718192021<script lang="ts"> import { reactive, toRefs } from 'vue' export default { setup(props,context){ const data = reactive({ message: 'hello' }) const change = () => { data.message = 'wor ...
企业微信内嵌H5应用的方案
需求背景:作为服务商,为客户代开发企业微信内的应用。服务商后台地址:https://open.work.weixin.qq.com/wwopen/developers/home企业管理后台:https://work.weixin.qq.com/wework_admin/frame
创建应用(前期准备)登录服务商后台地址,以服务商的身份创建一个代开发应用模板
创建好应用模版后,企业用户授权,就会在模板中生成一个代开发应用
进入应用的详情页修改了使用配置,就会将应用的应用状态修改为存在未上线版本
从代开发应用上线入口,将应用上线将刚刚修改的应用上线:
前端如何调用企微jssdk提供的接口参考文档(服务商代开发-客户端API-JSSDK):https://developer.work.weixin.qq.com/document/path/96914sdk的版本是2.3.3
安装jssdk1npm install @wecom/jssdk
接口鉴权1234567891011121314151617181920import * as ww from '@wecom/jssdk ...
在github pages部署vue项目
将vue项目部署到github pages主要运用了github pages的静态文件托管功能以及github提供的action功能用action创建一个workflow,github会自动执行这个workflow,将项目打包成静态文件,并上传到github pages。workflow的配置文件在.github/workflows/deploy.yml中
github提供了几个workflow模板,可以参考,比如Jekyll等,但是自己写一个比较好。可参考vite官网中的的部署静态站点
yaml文件后缀为.yml或者.yaml的文件都是yaml文件YAML(YAML Ain’t a Markup Language)是一种以数据为中心的可读性序列化格式,设计初衷是简化配置文件编写。
deploy.yml点完create your own按钮后,记得把文件名改为deploy.yml,GitHub会帮你在目录.github/workflows/deploy.yml下生成文件,以下是yml文件内容。
12345678910111213141516171819202122232425 ...
微信扫码授权场景记录
正常的逻辑步骤
请求后端接口,返回一个微信的链接,window.location.href=链接,跳转到该链接。示例:https://mp.weixin.qq.com/cgi-bin/componentloginpage?component_appid=wxb22e2f52075766d4&pre_auth_code=preauthcode@@@nWi_gMNZMPCaTlkL-wgsz3MdQtdQWmOeaOccoLrKY9fU3hDLpwGM1gLJQGszUEeniQn6NGeYNhoiNXJ18bQuMA&auth_type=2&redirect_uri=
用户扫码以后手机上点了确定,微信的这个链接就会跳转回redirect_uri
在初始化的时候重新请求接口判断店铺状态,或是用微信返回的auth_code、expires_in参数调接口
提前的配置授权后回调页域名redirect_uri需要在微信平台里提前配,并且须与确认授权入口页所在域名相同,
我们的特殊场景而我们的业务场景是授权入口页面域名不固定,每个店铺一个域名,所以得在一 ...
微信小程序如何给用户推送消息
我记得前几年小程序是不能给用户推送消息的。须通过公众号给用户推消息。不知道是否是记错了。但最近项目中有这种小程序给用户推消息的需求。发现小程序确实可以通过wx.requestSubscribeMessage拉起订阅消息的授权弹窗,在用户授权后,直接给用户推微信消息。记录一下。代码如下:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273import {findCustomerPopTemplate,popSubscribeResult} from '../api/subscriptApi'/** * @param {*} type 订阅场景 * @param {*} busNo 业务编码如商品ID */export const asyncSubscribeMessage = (type, ...
variableTextarea可插入变量的文本框
项目中这样一个需求:配置一个消息的模板,可输入文字,可插入变量。
在Ant-Design-Vue中,原生的a-textarea组件并不直接支持插入类似标签的特殊节点或变量。但是,我们可以通过一些变通的方法来实现。具体思路如下:使用可编辑 Div 配合隐藏的 a-textarea 模拟文本框。
封装variableTextarea组件123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146 ...
sortablejs实现拖拽功能
vue项目中实现拖拽功能有两个现有的插件,sortablejs和vuedraggable。vuedraggable是基于sortablejs封装的。
在Vue项目中,结合 <div v-for="item in list"></div> 和 sortable.js 实现拖拽排序是一个常见需求。或者是对一个表格的行进行拖拽排序,也是一个常见需求。
安装Sortable.js1npm install sortablejs --save
在Vue组件中的使用说明一个普通的列表1234567891011121314151617181920212223242526272829303132333435363738394041<template> <div> <!-- 这是你的拖拽列表容器 --> <div ref="sortableList"> <!-- 使用v-for渲染列表 --> <div v-for="item ...
vue pinia store持久化实现方法
vue3全局状态管理的方案是用pinia,pinia的持久化要怎么实现呢?
方法1 利用插件安装插件1yarn add pinia-plugin-persistedstate
在创建pinia实例的时候,注册插件12345import { createPinia } from 'pinia'import piniaPluginPersistedstate from 'pinia-plugin-persistedstate'const pinia = createPinia()pinia.use(piniaPluginPersistedstate)app.use(pinia)
在store中定义持久化字段12345678910111213import { defineStore } from 'pinia'export const useAuthStore = defineStore('auth', { state: () => ({ ...
git常用命令
常用清理远端已经删除但本地还有缓存的分支1git remote prune origin
或者
1git remote update origin --prune
拉取远端release分支并合并到当前分支1git pull origin release
git pull = git fetch + git merge以上一条命令等于下面两条命令
12git fetch origin release # 从远端把release分支拉下来git merge origin/release
1git merge release # 把本地的release合并到本地当前分支
推送1git push -u origin release
-u是为使本地release和远端release做关联
1git push --force # 强制推送
退到某个版本1git reset --hard d36a7281ca2c72a739e887d572faaee5ccdbfc05
git reset HEAD^ 回退到上个版本git reset HEAD^^ 回退到上上个版本
基础初始 ...
sourceTree如何使用cherry-pick功能
cherry-pick功能:从一个分支中选择一个或多个提交记录,并将他们应用的当前分支
使用cherry-pick功能的步骤如下
在sourceTree中,切换到目标分支
在提交记录中,选择单条提交记录,或者按住command键(mac电脑)选择多条提交记录
在选中的提交记录上右键,选择遴选
在弹出的窗口中,点继续
这样就会把相关的提交记录应用到当前分支上
在步骤4中可以勾选成功合并后立即提交,也可以不勾选自己再手动提交。