目录

微信小程序制作-日历记事本

微信小程序制作—–日历记事本

因为某些原因吧,我接触到了微信小程序在这里将自己的一些理解和感悟写出来。

小程序介绍

小程序其实就是前端,后端你可以使用Java去完成,小程序的目录结构,页面可以当在一个pages的文件夹里面

https://i-blog.csdnimg.cn/blog_migrate/78ef4dac699cbc95b954986d9ae6e454.png

然后注意文件名,一个文件的文件名和下面的文件的文件名需要保持一致,一个文件就是一个页面,小程序与我们之间的接触的前端其实差不多,分为了四个文件。

js,是类似我们学习的前端,但是有所不同。这个文件是用来进行逻辑运算的,存放一些静态变量,初始变量,事件,点击函数,提交到后端的信息的。

wxml,就是前端类似html,就是存放一些组件,放置一些前端显示的东西的,之前我们在jsp中使用的EL表达式,在这里也有但是调用时候是用的是{ {变量}}。

wxss,这个类似我们之前学习的css,各种选择器是一样的调用方法,也都是一样的,小的范围的选择器优先级要高于大范围的选择器。

json这个暂时没有用得到,这个文件时用来存放一些配置文件的

全局

全局的变量是存在app为前缀的文件中的,如果你新建一个没有任何框架的项目的时候,只会有一个

https://i-blog.csdnimg.cn/blog_migrate/03e5a217d198b848c343c3e609829d3b.png

只会有一个这个文件。

这个文件的作用是,这个项目当你换了电脑以后,你的一些配置还是不变的。

我在app.json中存放了

{
  "pages": [
    "pages/index/index",
    "pages/second/second"
  ],
  "window": {
    "backgroundTextStyle": "light",
    "navigationBarBackgroundColor": "#fff",
    "navigationBarTitleText": "小程序日历组件",
    "navigationBarTextStyle": "black"
  },
  "sitemapLocation": "sitemap.json"
}

pages是指的是路径,我需要变化的路径,window是美化这个界面的时候使用的。

具体实现

我的项目的是日历记事本,我在显示的主页需要去有两个部分,一个部分是日历,另一个部分是一个能够提交的记事本,因为我也是刚学我也是去down了一个前端

这是我的前端来的博主的github,做得挺好的,我是在它的基础上加上可一个后端,我在它的上面加上两个表单,一个是用来添加和更改今日事务的表单,另一个是用来查询今日事物的。

在这里我用增加今日事务和更改事务为例

 <form bindsubmit="formSubmit" bindreset="formReset"> 
    <textarea id="textarea" name="textarea"></textarea>

    <input id="input" name="input" hidden="true" value="{{selectVal}}"></input>
    <button formType="submit">Submit</button>

<button formType="reset">Reset</button>

    </form>

一个很类似标签的表单,里面存放了两个属性, <textarea> 和一个隐藏的 <input> 用来提交,在这里也是后端接收的时候看的是他的 name 属性,提交按钮的属性 formType="submit" ,然后再表单中的属性 bindsubmit="formSubmit" ,这个 formSubmit 就是在 js 中的函数名,

 formSubmit: function (e) {
console.log('form 发生了 submit 事件,携带数据为:', e.detail.value.textarea, e.detail);
var aa=this;
wx.request({
url: 'http://localhost:8080/WeiXin/Test',
header: {
'content-type': 'application/x-www-form-urlencoded;charset=utf-8'
},
method: "POST",
data: { textarea:e.detail.value.textarea,
input: e.detail.value.input  
 },
success: function (res) {
console.log(res.data);
},
})
},

这段代码中,之前的 formSubmit 是函数名,function (e)中的 e 就是表单数据,我们可以通过 console.log() 方法去打印这个 e 去看他的属性和值,然后 wx.request 是我们的表单提交,不过不一样的是,这个即使提交也是返回,url 放的时候你的路径,也就是 Java 中的 servlet,在 data:中存放你要传的变量,success 就是成功的返回,也就是 servlet 返回的变量,不过注意,前后端返回只能够传回的是 json,其他的去看官方文档就可以他写的挺全的。

然后我设计的是,如果查询结果接返回,然后页面的转到使用的下面这段代码

wx.redirectTo({
url: '../second/second?ii=' + res.data.recordthings
})

页面跳转的方式有很多,这里我只用这一种,你们用的话可以去百度或者官方文档,然后就是参数,我把我查到的信息,放进 ii 中传到了下一个页面,这种传参,在页面 second.js 中接受,使用默认的 Page 函数有这样的效果

https://i-blog.csdnimg.cn/blog_migrate/dd59cd183c7677d6f32a4bb568534069.png 都是他默认的函数,在这里我们把我们的参数,打印一下找到我们需要的变量,然后通过 this.setData()设出一个变量来存放这个出传过来的参数,在前端显示。

这就是当我们接触到一个新的前端所关心的问题,对于这个前端我们如何进行前端的跳转,何如进行表单提交,如何进行参数的传递,如何实现前后端数据的传递。