黔优媒体网-软文媒体自助发稿平台!
  1. 行业资讯
  2. 正文

一个会话备忘录小程序的实现方法

来源:黔优媒体网   时间:2024-09-19

前面我们分享过很多微信小程序的文章,包括微信小程序仿知乎,今天我们继续和大家分享一个有取得小程序:一个会话备忘录的小程序的实现,希望大家喜欢。

说明: 数据在本地缓存中操作,纯前端无后台,不用担心信息泄露问题。

我们先看一下实现界面图:

实现步骤(个人版):

1、注册微信小程序,获取appid

注册网址: https://mp.weixin.qq.com

2、下载新版微信开发者工具,新建备忘录项目,填写appid,确定后自动生成初始化代码

开发者工具下载: https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html

3、目录结构

+-- assets //静态文件夹
| +-- font //字体文件
| +-- iconfont.eot
| +-- iconfont.svg
| +-- iconfont.ttf
| +-- iconfont.woff 
| +-- images
| +-- share.jpg
+-- pages //页面
| +-- add //添加备忘录
| +-- add.js
| +-- add.json 
| +-- add.wxml
| +-- add.wxss
| +-- edit //编辑备忘录
| +-- edit.js
| +-- edit.json 
| +-- edit.wxml
| +-- edit.wxss
| +-- index //首页
| +-- index.js
| +-- index.json 
| +-- index.wxml
| +-- index.wxss
| +-- logs //日志
| +-- logs.js
| +-- logs.json 
| +-- logs.wxml
| +-- logs.wxss
+-- utils //公用js
| +-- shareData.js //分享短句
| +-- util.js
+-- app.js
+-- app.json
+-- app.wxss
+-- project.config.json

4、功能模块

备忘录添加

//保存标题、内容和编辑时间到storage中
saveMemo: function(){
 var that = this;
 var stamp = +new Date(); //获取时间戳
 var time = util.format(stamp); // 转换成标准时间格式
 var title = that.data.title;
 var memo_value = that.data.value;
 if (title == #39; #39;){
 wx.showToast({
 title: #39;请输入标题 #39;,
 icon: #39;none #39;,
 duration: 1000
 // else if (memo_value == #39; #39; ){
 // wx.showToast({
 // title: #39;请输入内容 #39;,
 // icon: #39;none #39;,
 // duration: 1000
 // })
 // }
 else{
 //后编辑的放在前面
 that.data.memoLists.unshift({ title : title, text : memo_value, time : time });
 //异步保存到storage中
 try {
 wx.setStorageSync( #39;memoLists #39;, that.data.memoLists)
 } catch (e) {
 wx.showToast({
 title: #39;保存失败 #39;,
 icon: #39;error #39;,
 duration: 2000
 wx.redirectTo({
 url: #39;/pages/index/index #39;
},

数据获取

var that = this;
//异步获取storage中保存的数组
try {
 var value = wx.getStorageSync( #39;memoLists #39;);
 if (value) {
 that.data.memoLists.push(value)
 that.setData({
 memoLists: that.data.memoLists,
 allLength: util.count(that.data.memoLists[0]),
 isNull: false
} catch (e) {
 wx.showToast({
 title: #39;获取数据失败 #39;,
 icon: #39;none #39;,
 duration: 1500
};

数据编辑

//编辑备忘录后重新保存 
 saveMemo: function () {
 var that = this;
 var stamp = +new Date(); //获取时间戳
 var time = util.format(stamp); // 转换成标准时间格式
 var title = that.data.title;
 var memo_value = that.data.value;
 var editMemo = that.data.memoLists[that.data.id];
 //标题不能为空
 if (title == #39; #39;) {
 wx.showToast({
 title: #39;请输入标题 #39;,
 icon: #39;none #39;,
 duration: 800
 // else if (memo_value == #39; #39;) {
 // wx.showToast({
 // title: #39;请输入内容 #39;,
 // icon: #39;none #39;,
 // duration: 800
 // })
 // }
 else {
 //如果标题和内容都没改,编辑时间不变,否则时间更改
 if(editMemo.title != title || editMemo.text != memo_value){
 editMemo.time = time;
 }else{
 editMemo.time = that.data.time;
 //更新标题和内容
 editMemo.title = title;
 editMemo.text = memo_value;
 //异步更新数组
 try {
 wx.setStorageSync( #39;memoLists #39;, that.data.memoLists);
 wx.redirectTo({
 url: #39;/pages/index/index #39;
 } catch (e) {
 wx.showToast({
 title: #39;保存失败 #39;,
 icon: #39;error #39;,
 duration: 2000
 },

数据删除

// 删除单条备忘记录
 delMemoLists: function(e) {
 var that = this;
 try {
 wx.showModal({
 title: #39; #39;,
 content: #39;确认删除这 #39; + that.data.checkboxLength+ #39;条吗? #39;,
 success: function (res) {
 if (res.confirm) {
 try {
 var delValue = wx.getStorageSync( #39;delLists #39;);
 // 数组从大到小排序
 delValue.sort(function (a, b) {
 return a 
 if (delValue) {
 if (that.data.allLength == that.data.checkboxLength) {
 //直接清空缓存
 wx.removeStorage({
 key: #39;memoLists #39;
 }); 
 }else{
 for(var i=0; i delValue.length; i++){
 try {
 that.data.memoLists[0].splice(delValue[i] - 1, 1); //删除指定下标的值
 wx.setStorageSync( #39;memoLists #39;, that.data.memoLists[0]); //异步更新列表缓存
 wx.showToast({
 title: #39;删除成功 #39;,
 icon: #39;success #39;,
 duration: 500
 } catch (e) { }
 // 删除后刷新页面
 setTimeout(function () {
 wx.redirectTo({
 url: #39;/pages/index/index #39;
 }, 500);
 } else {
 wx.showToast({
 title: #39;获取数据失败 #39;,
 icon: #39;none #39;,
 duration: 1000
 } catch (e) {
 wx.showToast({
 title: #39;删除失败 #39;,
 icon: #39;none #39;,
 duration: 1500
 } catch (e) {
 wx.showToast({
 title: #39;删除失败 #39;,
 icon: #39;none #39;,
 duration: 1500
 }

分享功能

const shareData = require( #39;../../utils/shareData.js #39;) //引入自定义分享标题
// 分享
 onShareAppMessage: function (res) {
 return {
 title: shareData[Math.round(Math.random() * (shareData.length - 1))], //从数据中随机备选一条
 path: #39;/pages/index/index #39;,
 imageUrl: #39;../../assets/images/share.jpg #39;,
 success: function (res) {
 console.log( #39;已转发 #39;)
 fail: function (res) {
 console.log( #39;用户取消转发 #39;)
 }

相关推荐:

微信小程序把文字玩出花样(弹幕)

一个微信小程序版知乎实例分享

微信小程序开发遇到的问题汇总

以上就是一个会话备忘录小程序的实现方法的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。


【免责申明】黔优媒体网以上展示内容来源于用户自主上传、合作媒体、企业机构或网络收集整理,版权争议与本站无关,文章涉及见解与观点不代表黔优媒体网官方立场,请读者仅做参考,本文标题:一个会话备忘录小程序的实现方法;欢迎转载,转载时请说明出处。若您认为本文侵犯了您的版权信息,或您发现该内容有任何违法/违规的内容,请您立即联系我们及时修正或删除。(邮箱号: kefu@qianu.com)
此操作需要登录,请先登录~
免费注册会员,尽享国内领先平台!