|
- const navigationBarHeight = (getApp().statusBarHeight + 44) + 'px';
- const util = require("../../utils/util.js");
- const config = require("../../config/config.js");
- const Http = require("../../utils/HttpBasics");
- const imgurl = require("../../utils/imgurl");
- const AUTH_MODE = 'fingerPrint';
- let app = getApp();
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- navigationBarHeight,
- merChant: {},
- focus: true,
- inputValue: '',
- cardList: [],
- arrays: [],
- showModel: false,
- showInput: false,
- ids: "",
- wmyes: imgurl.wmyes.url,
- wmclose: imgurl.wmclose.url,
- isPwd: false,
- payCheck: 0,
- pwdSw: false,
- password: ''
- },
-
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function (options) {
- console.log(options, 'options');
- let that = this;
- let merChant = decodeURIComponent(options.merChant)
- that.setData({
- merChant: JSON.parse(merChant),
- cardid: options.cardid,
- cardids: options.cardid,
- remainingAmount: options.remainingAmount,
- remainingAmounts: options.remainingAmount,
- payCheck: options.payCheck * 1
- })
- },
- bindKeyInput(e) {
- console.log(e)
- this.setData({
- inputValue: e.detail.value
- })
- },
-
- // 关闭密码框
- contentClick(e) {
- if (this.data.pwdSw && e.target.id != 'checkPwd') {
- this.setData({
- isPwd: false,
- pwdSw: false,
- password: ''
- })
- }
- },
-
- inputPwd(e) {
- this.setData({
- password: e.detail.value
- })
- },
-
- goGetPay() {
- this.startAuth()
- },
-
- suretoPay: function (e) {
- let that = this;
- if (e.currentTarget.dataset.sure == 'sure' && that.data.checked) {
- wx.showLoading({
- title: '加载中...',
- })
- that.gotoPayMoney();
- } else {
- wx.showModal({
- title: '提醒',
- content: '请选择消费卡',
- showCancel: false
- })
- }
- },
-
- checkPwd() {
- if (!this.data.inputValue) {
- wx.showToast({
- title: '金额不能为空!',
- icon: 'error'
- })
- return
- }
- if (this.data.payCheck && !this.data.pwdSw) {
- this.setData({
- isPwd: true, // 打开密码框
- pwdSw: true // 允许点击其他区域时关闭密码框
- })
- } else {
- this.startAuth()
- }
- },
-
- gotoPayMoney: function () {
- let that = this;
- const startSoterAuthentication = () => {
- wx.startSoterAuthentication({
- requestAuthModes: [AUTH_MODE],
- challenge: 'test',
- authContent: '请验证已有的指纹以继续',
- success: (res) => {
- console.log(res)
- that.gotoPay()
- },
- fail: (err) => {
- console.log(err);
- wx.hideLoading();
- that.setData({
- showModel: false,
- showInput: false,
- cardid: that.data.cardids,
- ids: "",
- remainingAmount: that.data.remainingAmounts
- })
- if (err.errCode == 90008 || err.errCode == 90009) {
- // 90009 指纹验证失败
- // 90008 用户已取消
- wx.showModal({
- title: '提示',
- showCancel: false,
- content: '指纹验证后才能支付'
- })
- } else {
- that.gotoPay();
- }
- }
- })
- }
- const checkIsEnrolled = () => {
- wx.checkIsSoterEnrolledInDevice({
- checkAuthMode: AUTH_MODE,
- success: (res) => {
- console.log(res)
- if (res.isEnrolled) {
- startSoterAuthentication();
- } else {
- that.gotoPay();
- }
- },
- fail: (err) => {
- console.error(err)
- that.gotoPay();
- }
- })
- }
- wx.checkIsSupportSoterAuthentication({
- success: (res) => {
- console.log(res)
- var bfingprint = false
- for (var i in res.supportMode) {
- if (res.supportMode[i] == AUTH_MODE) {
- bfingprint = true
- }
- }
- if (bfingprint) {
- checkIsEnrolled()
- } else {
- that.gotoPay()
- }
- },
- fail: (err) => {
- console.error(err);
- that.gotoPay();
- }
- })
- },
- gotoPay: function () {
- let that = this;
- console.log(that.data.cardid)
- Http.post({
- url: config.api.cardPayOrder,
- data: {
- cardId: that.data.cardid,
- merchantId: that.data.merChant.id,
- totalFee: that.data.inputValue,
- payCheck: that.data.payCheck,
- password: that.data.password
- }
- })
- .then(res => {
- if (res.code == 200) {
- wx.hideLoading();
- that.setData({
- showModel: false,
- showInput: false,
- isPwd: false,
- pwdSw: false,
- password: ''
- })
-
- wx.reLaunch({
- url: `/pages/paySuccess/paySuccess?data=${JSON.stringify(res.data)}`,
- })
- }
- })
- .catch(err => {
- wx.hideLoading()
- wx.showModal({
- title: "抱歉",
- content: err.message,
- showCancel: false
- })
- that.setData({
- cardid: that.data.cardids,
- ids: "",
- remainingAmount: that.data.remainingAmounts
- })
- })
- },
- check: function (e) {
- let that = this;
- console.log(e.currentTarget.dataset.id)
- if (e) {
- if (e.currentTarget.dataset.flags == 'check') {
- that.setData({
- ids: e.currentTarget.dataset.id,
- cardid: e.currentTarget.dataset.id,
- remainingAmount: e.currentTarget.dataset.remainingamount,
- checked: true
- })
- }
- }
- },
- startAuth(e) {
- let that = this;
- if (that.data.inputValue == "" || that.data.inputValue == 0) {
- wx.showModal({
- title: '抱歉',
- content: '请输入金额',
- showCancel: false
- })
- } else if (that.data.inputValue != "" && Number(that.data.remainingAmount) < Number(that.data.inputValue)) {
- that.setData({
- showModel: true,
- showInput: 'disabled'
- })
- that.getList();
- console.log("1111")
- } else if (that.data.inputValue != "" && Number(that.data.remainingAmount) >= Number(that.data.inputValue)) {
- wx.showLoading({
- title: '加载中',
- })
- console.log("222")
- setTimeout(function () {
- wx.hideLoading();
- }, 1500)
- that.gotoPayMoney();
- }
- },
- gotonewcard: function () {
- wx.navigateTo({
- url: '/pages/discountCardList/discountCardList'
- })
- this.setData({
- showModel: false,
- showInput: false
- })
- },
- getList() {
- var that = this;
- var data = {
- pageNum: 1,
- pageSize: 100,
- couponType: "7",
- couponOrderStatus: 4
- }
- Http.get({
- url: config.api.cardorderList,
- data: data
- })
- .then(res => {
- console.log(res)
- if (res.code == 200) {
- let arrays = [];
- res.data.list.map(file => {
- if (file.remainingAmount / 100 >= that.data.inputValue) {
- file.merchantVoList.map(files => {
- if (files.id == that.data.merChant.id) {
- file.flag = true;
- arrays.push(file);
- }
- })
- }
- })
- console.log(arrays)
- that.setData({
- showPage: true,
- cardList: res.data.list,
- arrays: arrays,
- })
- }
- })
- .catch(err => {
- wx.showModal({
- title: '提示',
- content: err.errMsg,
- showCancel: false
- })
- })
- },
- showModel: function () {
- this.setData({
- showModel: false,
- showInput: false,
- cardid: this.data.cardids,
- ids: "",
- remainingAmount: this.data.remainingAmounts
- })
- console.log(this.data.cardid)
- },
- })
|