# 官方文档
https://developers.weixin.qq.com/miniprogram/dev/framework/
# 登录
// 云函数模板
// 部署:在 cloud-functions/login 文件夹右击选择 “上传并部署”
const cloud = require('wx-server-sdk')
// 初始化 cloud
cloud.init({
// API 调用都保持和云函数当前所在环境一致
env: cloud.DYNAMIC_CURRENT_ENV
})
/**
* 这个示例将经自动鉴权过的小程序用户 openid 返回给小程序端
*
* event 参数包含小程序端调用传入的 data
*
*/
exports.main = async (event, context) => {
console.log(event)
console.log(context)
// 可执行其他自定义逻辑
// console.log 的内容可以在云开发云函数调用日志查看
// 获取 WX Context (微信调用上下文),包括 OPENID、APPID、及 UNIONID(需满足 UNIONID 获取条件)等信息
const wxContext = cloud.getWXContext()
console.log("openid:"+cloud.getWXContext().OPENID)
return {
event,
openid: wxContext.OPENID,
appid: wxContext.APPID,
unionid: wxContext.UNIONID,
env: wxContext.ENV,
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# 查询
// 云函数入口文件
const cloud = require('wx-server-sdk')
const moment = require('moment-timezone')
cloud.init()
// 云函数入口函数
exports.main = async (event, context) => {
let time = moment().tz("Asia/Shanghai").format("YYYY-MM-DD")
const db = cloud.database()
console.log("queryOne")
console.log("openid:"+cloud.getWXContext().OPENID)
return db.collection('counters').where({
openid: cloud.getWXContext().OPENID,
createTime: time
}).get();
}
// 返回值是optional<Object> 可以通过data获取,注意,如果是在别的函数中调用还需要有一层result
//demo
console.log(res.data)// 本方法中获取
console.log(res.result.data)// 其他方法调用
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 更新
// 云函数入口文件
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
// 云函数入口函数
exports.main = async (event, context) => {
console.log("openid:"+cloud.getWXContext().OPENID)
// 获取入参
var districtId=event.districtId
console.log(districtId)
// 获取操作指令
const _ = db.command
db.collection('district').doc(districtId).update({
data:{
// 其他
counter: _.inc(1)
},
success: function(res){
console.log(res.data)
return res.data
}
})
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 时间格式化
添加moment-time
依赖到package.json
{
"name": "queryOne",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"wx-server-sdk": "~2.5.3",
"moment-timezone": "latest"
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
当前目录下执行npm install
// 格式化时间
let time = moment().tz("Asia/Shanghai").format("YYYY-MM-DD")
1
2
2