微信小程序消息通知-打卡考勤
微信小程序消息通知-打卡考勤
效果:
稍微改一下js就行,有不必要的错误,我就不改了,哈哈!
index.js
//index.js
const app = getApp()
// 填写微信小程序appid
var appid = '';
// 填写微信小程序secret
var secret = '';
Page({
// 页面数据
data: {
access_token: '',
openid: '',
},
// 表单请求
formRequst: function (e) {
var that = this;
// 登录
wx.login({
success: res => {
// 调用接口获取登录凭证(code)
console.log("获取code 成功", res.code);
var code = res.code;
// 获取openId
wx.request({
url: 'https://api.weixin.qq.com/sns/jscode2session?appid=' + appid + '&secret=' + secret + '&grant_type=authorization_code&js_code=' + code,
header: {
'content-type': 'application/json' //默认值
},
success: function (res) {
console.log("获取openid 成功", res.data.openid);
var openid = res.data.openid;
that.setData({
openid: openid
})
// wx.setStorageSync("openid", openid)
// 获取 access_token
wx.request({
url: 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' + appid + '&secret=' + secret,
method: 'GET',
header: {
'content-type': 'application/json' //默认值
},
// 成功
success: function (res) {
console.log("获取小程序 access_token 成功", res.data.access_token);
that.setData({
access_token: res.data.access_token
})
// 上上一步
},
// 失败
fail: function (err) {
console.log("获取小程序 access_token 失败", err);
}
})
// 上一步
},
fail: function (err) {
console.log("获取openid 失败", err);
}
})
}
})
},
// 提交表单
formSubmit: function (e) {
console.log('form发生了submit事件,携带数据为:', e.detail.value);
console.log('form发生了submit事件,携带数据为:', e.detail.formId);
var that = this;
// 发送模板消息
wx.request({
url: 'https://api.weixin.qq.com/cgi-bin/message/wxopen/template/send?access_token=' + that.data.access_token,
data: {
// openid
"touser": wx.getStorageSync("openid"),
// 模板消息的id
"template_id": "",
// "form_id": "FORMID",
"form_id": e.detail.formId,
data: {
"keyword1": {
"value": "2018.10.10"
},
"keyword2": {
"value": "小红"
}
},
"emphasis_keyword": "keyword1.DATA"
},
method: 'POST',
// 成功
success: function (res) {
var data = res.data;
console.log("sendTemplateMessage 成功", data);
wx.showToast({
title: '发送成功',
icon: 'success'
})
},
// 失败
fail: function (err) {
console.log("sendTemplateMessage 失败", err);
}
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
// this.formSubmit();
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
this.formRequst();
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})
index.wxml
<!--index.wxml-->
<view class='page'>
<!-- 标题 -->
<view class='title'>
<text>考勤打卡</text>
</view>
<form class="text" report-submit="true" bindsubmit='formSubmit' bindreset='formReset'>
<!-- 考勤填表 -->
<input name="date" placeholder='日期' class='input'></input>
<input name="name" placeholder='姓名' class='input'></input>
<!-- 按钮设置 -->
<view class='btn'>
<button form-type='submit' type='primary'>提交</button>
<button form-type='reset' type='primary'>重置</button>
</view>
</form>
</view>
index.wxss
/**index.wxss**/
.page {
margin: 0rpx 50rpx 50rpx 50rpx;
font-size: 50rpx;
background-color: lavender;
}
.title {
text-align: center;
}
.input {
margin: 0rpx 0rpx 50rpx 0rpx;
width: 100%;
}
.btn {
display: flex;
flex-direction: row;
}
往后余生,唯独有你
简书作者:达叔小生
90后帅气小伙,良好的开发习惯;独立思考的能力;主动并且善于沟通
简书博客: https://www.jianshu.com/u/c785ece603d1
结语
- 下面我将继续对 其他知识 深入讲解 ,有兴趣可以继续关注
- 小礼物走一走 or 点赞
微信小程序消息通知-打卡考勤的更多相关文章
- 微信小程序--消息推送配置Token令牌错误校验失败如何解决
微信开放第三方API接口, 申请地址: https://mp.weixin.qq.com/advanced/advanced?action=interface&t=advanced/inter ...
- 微信小程序之tabbar切卡
最近在研究小程序的时候,遇到了一个问题,就是tabbar切卡,在android上有fragment,在RN上也有提供一个第三方的组件来用,微信小程序,好像没有专门的一个组件来实现这个功能,度娘了大半天 ...
- .NET CORE 微信小程序消息验证的坑
进入微信小程序,点击开发->选择消息推送->扫码授权,填写必要参数 进入接口开发: /// <summary> /// 验证小程序 /// </summary> / ...
- 解决微信小程序ios端滚动卡顿的问题
方案1:直接使用微信小程序提供的 “scroll-view " 组件. <scroll-view scroll-y style="height: 100%;"> ...
- Java实现 微信小程序 + 消息推送
实现效果: 下面要显示五个字段 接下来,参照官方文档,一步步实现: https://developers.weixin.qq.com/miniprogram/dev/api-backend/open- ...
- 微信小程序消息模板
wxml: <form bindsubmit='sendSms' report-submit='true' id='fo'> <button form-type='submit'&g ...
- 微信小程序消息推送,前端操作
<form bindsubmit="getFormId" report-submit="true"> <button form-type=&q ...
- 微信小程序-通知滚动小提示
代码地址如下:http://www.demodashi.com/demo/14044.html 一.前期准备工作 软件环境:微信开发者工具 官方下载地址:https://mp.weixin.qq.co ...
- 微信小程序开发学习资料
作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明 ...
随机推荐
- (转)Oracle定时执行计划任务
Oracle定时执行计划任务 在日常工作中,往往有些事情是需要经常重复地做的,例如每天更新业务报表.每天从数据库中提取符合条件的数据.每天将客户关系管理系统中的数据分配给员工做数据库营销……因此我们就 ...
- ECMA262学习笔记(二)
Property特性:特性用于定义和解释命名属性的状态. ECMAScript建立执行环境: 解释执行全局代码或使用eval函数输入的代码会创建并进入一个新的执行环境.每次调用ECMA脚本代码定义的函 ...
- optional install error: Package require os(darwin) not compatible with your platform(win32)
解决方法: cnpm rebuild node-sass cnpm install
- python基础之Day20part1
一.hash算法 什么是hash? 类似工厂加工的过程,传bytes串,经过运算返回字符 hash相当于工厂,传给hash算法的内容是原材料,hash值为产品 为何用hash? hash三大特性: 1 ...
- sqlserver CLR sqlserver使用C# dll
转载地址:https://www.cnblogs.com/Brambling/p/8000911.html
- 在Java的Condition接口【唤醒全部线程】
在Java的Condition接口中,存在的几个方法跟Synchronized中的wait(),waitall(),wait(time ^),这个几个方法一一对应起来,但是在Lock.newCondi ...
- Jquery 数组操作大全【转载】
转载于:https://www.jb51.net/article/43164.htm 1. $.each(array, [callback]) 遍历[常用] 解释: 不同于例遍 jQuery 对象的 ...
- Cookie随笔
解决了服务器不能识别不同浏览器的问题,相当于给每个浏览器加了个“身份证”. Cookie首先由服务器创建发给浏览器,随后浏览器每次访问服务器时都带上这个Cookie. Cookie缺点: ·Cooki ...
- oracle存储过程 out cursor
create or replace procedure BUILDEMPLID(emp_cursor out sys_refcursor) is n_emplid number; n_emplid1 ...
- 【js jQuery】map集合 循环迭代取值---以及 map、json对象、list、array循环迭代的方法和区别
后台给前台传来一个map @ResponseBody @RequestMapping(value = "getSys") public Map<Long,String> ...