Passwd/miniprogram/pages/create/create.js

333 lines
8.0 KiB
JavaScript
Raw Normal View History

2020-08-31 17:19:39 +00:00
//index.js
//获取应用实例
const app = getApp()
const db=wx.cloud.database()
Page({
data: {
id:"",
user:"",
scode:"",
handle:"",
usershow:"",
tagclass: "pass-ipt-plus",
ifusershow : false,
passwdclass : "pass-ipt",
isscode:false, //是否为系统生成密码
scode_0:"" , //复制
argv:{
length: 8,
hasUpper: true,
hasSpecial: false,
specialChar: ["@", "#", "!"]
},
len_array: ['短密码6位', '中等长度密码8位', '长密码12位','超长密码16位'],
len_objectArray: [
{
id: 0,
name: '短密码6位'
},
{
id: 1,
name: '中等长度密码8位'
},
{
id: 2,
name: '长密码12位'
},
{
id: 3,
name: '超长密码16位'
},
],
len_index : 1,
upper_array: ['可以有大写字母', '没有大写字母'],
upper_objectArray: [
{
id: 0,
name: '可以有大写字母'
},
{
id: 1,
name: '没有大写字母'
},
],
upper_index: 0,
special_array: ['可以有特殊字符', '没有特殊字符'],
special_objectArray: [
{
id: 0,
name: '可以有特殊字符'
},
{
id: 1,
name: '没有特殊字符'
},
],
special_index: 1,
if_generate : false,
id_tag : ""
},
onShow: function(){
if(this.data.user.length > 12){
let user = this.data.user
user = user.substr(0,12)
user += "..."
this.setData({
usershow: user,
})
}
else{
this.setData({
usershow: this.data.user
})
}
},
goShow: function(){
wx.navigateTo({
url: '../show/show?textdata='+this.data.user,
})
},
buttonShow: function(){
},
bindLenPickerChange: function (e) {
var targv = this.data.argv
if (e.detail.value == 0) targv.length = 6
else if (e.detail.value == 1) targv.length = 8
else if (e.detail.value == 2) targv.length = 12
else if (e.detail.value == 3) targv.length = 16
this.setData({
argv: targv,
len_index: e.detail.value
})
},
bindUpperPickerChange: function (e) {
var targv = this.data.argv
if (e.detail.value == 0) targv.hasUpper = true
else targv.hasUpper = false
this.setData({
argv : targv,
upper_index: e.detail.value
})
},
bindSpecialPickerChange: function (e) {
var targv = this.data.argv
if (e.detail.value == 0) targv.hasSpecial = true
else targv.hasSpecial = false
this.setData({
argv: targv,
special_index: e.detail.value
})
},
scan : function(){
const that = this
wx.scanCode({
success: (res) => {
this.data.user = res.result
if (this.data.user.length > 18) {
let user = this.data.user
user = user.substr(0, 16)
user += "..."
this.setData({
usershow: user,
})
}
else {
this.setData({
usershow: this.data.user
})
}
wx.showToast({
title: '成功',
icon: 'success',
duration: 2000
})
},
fail: (res) => {
wx.showToast({
title: '失败',
icon: 'none',
duration: 2000
})
},
complete: (res) => {
}
})
},
confirm:function(e){
if (app.globalData.hasCheckPwd == true && app.globalData.hasRegister == true) {
if (e.detail.value.wxml_id.length == 0){
this.setData({id_tag : "请填写密码标签"})
let that = this
setTimeout(function (){that.setData({
tagclass: "pass-ipt-plus animated bounceIn",
id_tag: ""
})},2000)
return;
}
else{
this.setData({
id_tag: ""
})
}
this.setData({
id: e.detail.value.wxml_id,
user: this.data.user,
scode: e.detail.value.wxml_scode
})
if (this.data.scode_0 != this.data.scode)
this.setData({
isscode: false
})
//上传上传上传上传上传上传上传上传上传上传上传
var ifhave=false
let that=this
db.collection('gaoziqi_test02').limit(1).where({
_openid: app.globalData.openid,
id:this.data.id
})
.get().then(res => {
if(res.data.length>0){
ifhave=true
wx.showToast({
title: '标题和已有标题重复,请重新输入',
icon: 'none',
duration: 2000
})
}
else {
db.collection('gaoziqi_test02').add({
data: {
id: this.data.id,
handle: this.data.handle,
user: this.data.user,
argv: this.data.argv,
isscode: this.data.isscode
},
})
}
if(ifhave==false){
if (this.data.isscode == false) {
wx.cloud.callFunction({
name: "passwd",
data: {
method: "customer",
argv: {
handle: this.data.handle,
openid: app.globalData.openid,
tag: this.data.id,
passwd:this.data.scode
}
},
complete: res => {
console.log(res)
if (res.result.status == "ok") {
console.log("[云函数][passwd]customer方法执行密码参数绑定成功")
}
}
})
}
else {
wx.cloud.callFunction({
name: "passwd",
data: {
method: "saver",
argv: {
handle: this.data.handle,
openid: app.globalData.openid,
tag: this.data.id
}
},
complete: res => {
if (res.result.status == "ok") {
console.log("[云函数][passwd]saver方法执行密码参数绑定成功")
}
}
})
}
this.setData({
id : "",
user : "",
scode : "",
usershow : "",
if_generate: false
})
wx.showToast({
title: '密码添加成功',
icon: 'success',
duration: 2000
})
}
})
}
else {
wx.showToast({
title: '认证六位独立密码',
icon: 'none',
duration: 1500
})
}
},
give_scode: function () {
if (app.globalData.hasCheckPwd == true && app.globalData.hasRegister == true){
wx.showToast({
title: '努力生成密码',
icon: 'loading',
duration: 1000
})
if (this.data.passwdclass == "pass-ipt animated bounceIn") {
this.setData({
passwdclass: "pass-ipt",
scode: "",
scode_0: ""
})
}
wx.cloud.callFunction({
name: 'passwd',
data: {
method : "encoder",
argv: this.data.argv
},
complete:res=>{
console.log("[云函数][passwd]encoder方法调用成功")
this.setData({
scode: res.result.passwd,
scode_0: res.result.passwd,
handle: res.result.handle,
isscode: true,
if_generate : true
})
this.setData({
passwdclass: "pass-ipt animated bounceIn",
})
},
})
}
else{
wx.showToast({
title: '未认证六位密码',
icon: 'none',
duration: 1500
})
}
},
onShareAppMessage: function () {
}
})