![](https://img-blog.csdnimg.cn/20201217095533398.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
项目开发记录
平时在做项目时的总结
Dreamy smile
一个不懂代码的普通开发者
展开
-
小程序保存base64图片到手机相册
【代码】小程序保存base64图片到手机相册。原创 2023-05-26 16:16:31 · 486 阅读 · 1 评论 -
uniapp编译小程序使用小程序插件
【代码】uniapp编译小程序使用小程序插件。原创 2023-04-27 15:13:05 · 439 阅读 · 0 评论 -
vue2切换页面回到顶部
【代码】vue2切换页面回到顶部。原创 2022-10-10 11:11:44 · 472 阅读 · 0 评论 -
小程序展示base64图片
base64图片如果不包含类似于【data:image/png;base64,】,这个字符串。let base64Img = 'base64字符串'base64Img = 'data:image/png;base64,' + base64Img ;如果包含【data:image/png;base64,】。 <image mode="widthFix" src="{{base64Img}}" />如果上面base64字符串没有问题,需要去一下字符串里面的空格。base.原创 2021-12-08 16:36:04 · 1579 阅读 · 0 评论 -
mPaaS小程序一些记录
mpaas 小程序介绍mPaaS 小程序,源自于支付宝小程序框架,继承了支付宝小程序框架的易开发性、跨平台性以及 Native 性能,不仅帮助开发者实现面向自有 App 投放小程序,还可快速构建打包,覆盖支付宝、淘宝、钉钉等应用。基于 mPaaS 小程序,开发者能够快速优化发布包大小,节省流量和存储。同时,服务迭代不再受发版限制,快速发布,快速迭代。甚至,基于统一的开发标准,小程序仅需开发一次,便可快速投放至多端开发1、使用支付宝小程序开发工具,选择mpaas小程序。2、前端开发还是.原创 2021-11-26 15:40:00 · 1336 阅读 · 0 评论 -
vue2 antdesign menu 渲染多级菜单
示例数据//path 自行配置const menu = [ { title: '示例1', icon: 'laptop', path: '', children: [ { title: '示例1-1', icon: 'laptop', path: '' }, { title: '示例1-2', icon: 'laptop', path.原创 2021-11-04 17:51:59 · 1764 阅读 · 0 评论 -
mPaaS小程序使用国密算法sm2加密传参
使用 miniprogram-sm-crypto使用文档npm i miniprogram-sm-crypto引入const sm2 = require(‘miniprogram-sm-crypto’).sm2;在js文件里const sm2 = require('miniprogram-sm-crypto').sm2;const smTwo = { sm2, cipherMode: 1, // 1 - C1C3C2,0 - C1C2C3,默认为1 sm2p.原创 2021-11-04 17:06:55 · 965 阅读 · 0 评论 -
antdesign-vue table合并列
合并的方法const temp = {};const mergeCells = (text, array, columns) => { let rowSpan = 0 if (array.length == 1) { rowSpan = 1 } else { if (text !== temp[columns]) { temp[columns] = text array.forEach((i.转载 2021-10-21 20:41:20 · 781 阅读 · 0 评论 -
vue2 elementui日期时间选择器
设置日期选择器(范围)只能选择当前月份的日期<el-date-picker v-model="search.date" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd" style="width: 210px" :clearable="false" :picker-options="pickerOptions.原创 2021-07-29 11:54:58 · 1183 阅读 · 0 评论 -
vue仿elementui自定义一个v-pageloading指令,开箱即用
创建一个loading文件夹。包含loading.vue、loading.js、index.jsloading.vue 写布局及css样式实例代码<template> <div class="loading-container" v-show="loadingShow"> <div class="pageloading"> <span></span> <span.原创 2021-01-14 16:35:07 · 438 阅读 · 0 评论 -
前端(移动端)图形验证码
微信小程序、uniapp、h5、vue等(利用canvas实现)1.例子(展示小程序):1.如果不是小程序的话,适当修改一下代码2.新建mcaptcha.js文件module.exports = class Mcaptcha { constructor(options) { this.options = options; this.fontSize = options.height * 3 / 6; this.init(); this.refresh(); } i.原创 2020-06-18 12:44:57 · 1421 阅读 · 0 评论 -
前端组件拖拽以及自定义组件布局demo(基于vue2实现)
这篇文章简单介绍前端(vue)里组件拖拽以及拖拽完成以后组件自定义排列的的写法。主要介绍思路以及实现方式(会一直更新这个功能,直到我自己把它做完善)。组件的放大缩小以及拖拽借助一个不错的插件vue-grid-layoutgit文档:https://github.com/jbaysolutions/vue-grid-layout/blob/master/README-zh_CN.md这个插件定义的某一个元素的宽高是利用倍数计算宽高以及位置,在使用的时候可以自己先去定义一个栅格的背景,我做的是.原创 2020-12-16 18:50:39 · 20932 阅读 · 24 评论 -
根据字符的首字母进行分类
列举定位索引列表//假如初始数据格式[ { desc1: "北京市" detailno: "110100" detailsort: "110000" diccode: "QBSYS10050" } .....]需要用到var phoneticTranscriptionObj = { "a": "\u554a\u963f\u9515", "ai": "\u57c3\u6328\u54ce\u5509\u54c0\u7691\u764c\u853c\u77ee.原创 2020-06-29 09:09:36 · 9747 阅读 · 0 评论 -
去除字符串中的表情符号以及判断字符串中是否存在表情符号
去除字符串中的表情符号function isEmojiCharacter(str) { let reg = /\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u2.原创 2020-08-29 09:26:37 · 15199 阅读 · 0 评论 -
使用uniapp编译多端,自定义导航栏高度、状态栏的高度
使用uniapp框架编译多端,在使用自定义导航栏的时候需要适配不同手机,在安卓和ios上手机的状态栏高度是不一样的,尤其是小程序。uni.getSystemInfo();//在小程序上使用这个方法去获取,应为iphonex的高度和其他型号的高度不一样。uni.getSystemInfo({ success: (data) => { data.statusBarHeight => 手机状态栏高度 data.statusBarHeight + 44 => ios手机状态栏+.原创 2020-09-01 16:51:18 · 1533 阅读 · 1 评论 -
前端js省市下拉框,及静态数据包
前端js省市下拉框,及静态数据包目前使用vue实现、可以在原生js使用。部分js//筛选市cityFilter(arr,key){ let citys = []; for(let i=0,len=arr.length;i<len;i++){ for(let j=0,jen=arr[i].length;j<jen;j++){ if(key == arr[i][j].value.substring(0,2)){ citys.push(arr[i][j]); .原创 2020-10-24 13:18:30 · 483 阅读 · 0 评论 -
js控制台输出永无bug(在写代码的路上居然信开了玄学)
在写代码的路上居然信开了玄学!!!!!!!!!!!!!似乎真的有用?????????????function noBug() { const nostr = " ......................阿弥陀佛......................\n" + " _oo0oo_ \n" + " o888888.原创 2020-12-10 15:43:17 · 441 阅读 · 0 评论 -
记一次前后端分离项目get方式向后台传参数,类型为数组。如何处理?
前端向服务端传参时使用get方式,传递的是一个拼接好的字符串,在一般项目中,很少会出现其中某一个参数是数组的情况。一般是,例www.baidu.com?type=3&id=2在做前后端分离的项目时,可能后端需要前端使用get方式传递数组,例www.baidu.com?types=3&tag=[{“id”:“step”,“type”:“1”},{“id”:“orde”:“type”:“2”}]当时我在给后端传的时候,就简单的使用了JSON.stringify(Arr.原创 2020-12-04 11:40:03 · 1211 阅读 · 0 评论 -
js 渲染树形结构
js渲染树形结构1.数据格式,例:[ { "title":"第一章人人都想用", "child":[ { "title":"1、云开发简介", "child":[ { "title":"1.1.1 详情", "child":[ { "title":"1.1.1.1 详情-1" } ] } ] }, {"title":"2、云开发简介"} ].原创 2020-07-11 09:07:54 · 1812 阅读 · 1 评论 -
前端rem适配
原生或jquery写一些简单的下载页面、展示页面等…new function() { var _self = this; _self.width = 640; // 设置默认最大宽度 _self.fontSize = 100; // 默认字体大小 _self.widthProportion = function() { var p = (document.body && document.body.clientWidth || document..原创 2020-05-13 10:48:11 · 542 阅读 · 0 评论 -
uniapp/vue使用jsencrypt加密
npm下载jsencrypt把jsencrypt文件放到components下新建jsencrypt.js文件import JSEncrypt from '../components/jsencrypt';let publicKey = '自行获取';function RSAencrypt(pas){ //实例化jsEncrypt对象 let jse = new JSEncrypt(); //设置公钥 jse.setPublicKey(publicKey); return jse.e.原创 2020-05-13 09:46:55 · 4196 阅读 · 3 评论 -
移动端点击输入框,弹出键盘,底部被顶起问题(vue/uniapp/小程序)
1.监听页面高度变化<!--1.先在 data 中去 定义 一个记录高度是 属性-->data () { return { docmHeight: document.documentElement.clientHeight, //默认屏幕高度 showHeight: document.documentElement.clientHeight, //实时屏幕高度 footer:true //显示或者隐藏footer }.原创 2020-05-13 09:32:55 · 3346 阅读 · 0 评论 -
vue -- pc、移动端图片裁剪
npm 下载 vue-cropper引入 import VueCropper from ‘vue-cropper’git https://github.com/xyxiao001/vue-cropper<div class="po_dia" v-if="ispop" > <vueCropper ref="cropper" :img="option.img" :outputSize="option.size" :output.原创 2020-05-13 09:18:57 · 602 阅读 · 0 评论 -
h5+app手机物理返回键
back.jsdocument.addEventListener('plusready', function (a) { var first = ''; plus.key.addEventListener('backbutton', function () { //获取地址栏目中的url var urls = location.hash.split('/')[1] if (urls === 'quotes' || urls === 'index' .原创 2020-05-13 09:10:09 · 1282 阅读 · 0 评论