| @@ -1,83 +1,54 @@ | |||
| let config = require('./config/config.js') | |||
| const Http = require("./utils/HttpBasics"); | |||
| App({ | |||
| data: { | |||
| }, | |||
| onLaunch: function (options) { | |||
| // var that = this; | |||
| data: {}, | |||
| onLaunch: function(options) { | |||
| var that = this; | |||
| this.globalData.sceneAddress = options.scene; | |||
| this.getLocation() | |||
| this.getUserInfo() | |||
| // 登录 | |||
| wx.login({ | |||
| success: function(res) { | |||
| var code = res.code; | |||
| console.log(code); | |||
| wx.request({ | |||
| success: ({ | |||
| code | |||
| }) => { | |||
| Http.post({ | |||
| url: config.api.login, | |||
| data: { | |||
| appId: config.weapp.AppId, | |||
| code: code, | |||
| screneAddress: options.scene | |||
| }, | |||
| method: "POST", | |||
| success: function (res) { | |||
| console.log(res); | |||
| that.globalData.token = res.data.token; | |||
| console.log(that.globalData.token) | |||
| that.globalData.openId = res.data.openId; | |||
| //由于这里是网络请求,可能会在 Page.onLoad 之后才返回 | |||
| // 所以此处加入 callback 以防止这种情况 | |||
| if (that.openIdCallback) { | |||
| console.log(res.data.openId); | |||
| that.openIdCallback(res.data.openId); | |||
| } | |||
| wx.request({ | |||
| url: config.api.checkUserStatus, | |||
| header: { | |||
| "token": that.globalData.token | |||
| }, | |||
| success: function (res) { | |||
| console.log(res); | |||
| //如果是新用户未获取unionId | |||
| if (res.data.code == config.ErrorCode.NICK_NOT_AUTH) { | |||
| wx.redirectTo({ | |||
| url: '../getuserinfo/index', | |||
| }) | |||
| } | |||
| //如果是跳转到首页 | |||
| else if (res.data.code == 200) { | |||
| // 老用户跳转首页 | |||
| } else { | |||
| wx.showToast({ | |||
| title: res.data.message, | |||
| }) | |||
| } | |||
| }, | |||
| fail: function(res) { | |||
| wx.showToast({ | |||
| title: res.data.message, | |||
| sceneAddress: this.globalData.sceneAddress, | |||
| } | |||
| }).then(res => { | |||
| // console.log("req",res); | |||
| this.globalData.token = res.data.token; | |||
| Http.setToken(res.data.token) | |||
| Http.post({ | |||
| url: config.api.checkUserStatus, | |||
| data: {} // | |||
| }).then( | |||
| function(res) { | |||
| }, | |||
| function(error) { | |||
| console.log(error) | |||
| if (error.code == 11004) { | |||
| // 用户昵称未授权 | |||
| wx.redirectTo({ | |||
| url: '../getuserinfo/index', | |||
| }) | |||
| } | |||
| }) | |||
| } | |||
| }) | |||
| } | |||
| }) | |||
| // setTimeout(() => { | |||
| // this.globalData.market={ | |||
| // name:"陕西大悦城" | |||
| // } | |||
| // }, 1000); | |||
| }, | |||
| /** | |||
| * 获取地址位置信息 | |||
| */ | |||
| getLocation: function () { | |||
| getLocation: function() { | |||
| wx.getLocation({ | |||
| type: 'wgs84', | |||
| success: function (res) { | |||
| success: function(res) { | |||
| console.log("getLocation", res); | |||
| }, | |||
| fail: error => { | |||
| @@ -88,7 +59,7 @@ App({ | |||
| /** | |||
| * 获取用户信息 | |||
| */ | |||
| getUserInfo: function () { | |||
| getUserInfo: function() { | |||
| // 获取用户信息 | |||
| wx.getSetting({ | |||
| success: res => { | |||
| @@ -1,6 +1,8 @@ | |||
| { | |||
| "pages":[ | |||
| "pages/index/index", | |||
| "pages/getuserinfo/index", | |||
| "pages/getphoneInfo/index", | |||
| "pages/market/index", | |||
| "pages/user/index", | |||
| "pages/coupons/details/index", | |||
| @@ -1,265 +0,0 @@ | |||
| const Promise = require('../utils/es6-promise.min').Promise | |||
| let config = require("../config/config.js"); | |||
| var app = getApp(); | |||
| const func = { | |||
| wxLogin: function (scene) { | |||
| return new Promise((resolve, reject) => { | |||
| wx.login({ | |||
| success: function (res) { | |||
| resolve(res) | |||
| }, | |||
| fail: function (err) { | |||
| reject(err) | |||
| }, | |||
| complete: function (res) { | |||
| //console.log("wxLogin complete:" + res) | |||
| } | |||
| }) | |||
| }) | |||
| }, | |||
| /** | |||
| * 授权后获取用户的昵称,unionId等信息 | |||
| */ | |||
| getUserInfo: function (encryptedData, iv) { | |||
| console.log(app.globalData.openId) | |||
| return new Promise((resolve, reject) => { | |||
| wx.request({ | |||
| url: config.api.getUserInfo, | |||
| header: { | |||
| "content-type": "application/json;charset=UTF-8", | |||
| "token": app.globalData.token | |||
| }, | |||
| data: { | |||
| encryptedData: encryptedData, | |||
| iv: iv, | |||
| }, | |||
| method: "POST", | |||
| success: function (res) { | |||
| resolve(res) | |||
| }, | |||
| fail: function (err) { | |||
| reject(err) | |||
| }, | |||
| complete: function (res) { | |||
| //console.log("getUserInfo complete:" + res) | |||
| } | |||
| }) | |||
| }) | |||
| }, | |||
| /** | |||
| * 授权后获取用户的手机号 | |||
| */ | |||
| getUserPhone: function (encryptedData, iv) { | |||
| return new Promise((resolve, reject) => { | |||
| wx.request({ | |||
| url: config.api.getUserPhone, | |||
| data: { | |||
| encryptedData: encryptedData, | |||
| iv: iv, | |||
| }, | |||
| header: { | |||
| "content-type": "application/json;charset=UTF-8", | |||
| "token": app.globalData.token | |||
| }, | |||
| method: "POST", | |||
| success: function (res) { | |||
| resolve(res) | |||
| }, | |||
| fail: function (err) { | |||
| reject(err) | |||
| }, | |||
| complete: function (res) { | |||
| //console.log("getUserInfo complete:" + res) | |||
| } | |||
| }) | |||
| }) | |||
| }, | |||
| /** | |||
| * 优惠券查询 | |||
| */ | |||
| getCouponList: function (pageNum, pageSize) { | |||
| return new Promise((resolve, reject) => { | |||
| wx.request({ | |||
| url: config.api.couponList, | |||
| header: { | |||
| "content-type": "application/json;charset=UTF-8", | |||
| "token": app.globalData.token | |||
| }, | |||
| method: "Get", | |||
| data: { | |||
| pageNum: pageNum, | |||
| pageSize: pageSize | |||
| }, | |||
| success: function (res) { | |||
| resolve(res) | |||
| }, | |||
| fail: function (err) { | |||
| reject(err) | |||
| }, | |||
| complete: function (res) { | |||
| console.log(res) | |||
| } | |||
| }) | |||
| }) | |||
| }, | |||
| /** | |||
| * 优惠券详情 | |||
| */ | |||
| getCouponDetail: function (couponId) { | |||
| return new Promise((resolve, reject) => { | |||
| wx.request({ | |||
| url: config.api.couponDetail, | |||
| header: { | |||
| "content-type": "application/json;charset=UTF-8", | |||
| "token": app.globalData.token | |||
| }, | |||
| method: "Get", | |||
| data: { | |||
| id: couponId | |||
| }, | |||
| success: function (res) { | |||
| resolve(res) | |||
| }, | |||
| fail: function (err) { | |||
| reject(err) | |||
| }, | |||
| complete: function (res) { | |||
| console.log(res) | |||
| } | |||
| }) | |||
| }) | |||
| }, | |||
| /** | |||
| * 订单下单 | |||
| */ | |||
| orderSave: function (couponId) { | |||
| return new Promise((resolve, reject) => { | |||
| wx.request({ | |||
| url: config.api.orderSave, | |||
| header: { | |||
| 'token': app.globalData.token | |||
| }, | |||
| data: { | |||
| couponId: couponId, | |||
| token: app.globalData.token | |||
| }, | |||
| method: "POST", | |||
| success: function (res) { | |||
| resolve(res) | |||
| }, | |||
| fail: function (err) { | |||
| reject(err) | |||
| }, | |||
| complete: function (res) { | |||
| console.log(res) | |||
| } | |||
| }) | |||
| }) | |||
| }, | |||
| /** | |||
| * 支付订单 | |||
| */ | |||
| payOrderCreate: function (orderId) { | |||
| return new Promise((resolve, reject) => { | |||
| wx.request({ | |||
| url: config.api.payOrderCreate, | |||
| header: { | |||
| "token": app.globalData.token | |||
| }, | |||
| data: { | |||
| orderId: orderId, | |||
| token: app.globalData.token | |||
| }, | |||
| method: "POST", | |||
| success: function (res) { | |||
| resolve(res) | |||
| }, | |||
| fail: function (err) { | |||
| reject(err) | |||
| }, | |||
| complete: function (res) { | |||
| console.log(res) | |||
| } | |||
| }) | |||
| }) | |||
| }, | |||
| /** | |||
| * 支付订单更新 | |||
| */ | |||
| payOrderUpdate: function (orderId, payOrderId, status, reason) { | |||
| return new Promise((resolve, reject) => { | |||
| wx.request({ | |||
| url: config.api.payOrderUpdate, | |||
| header: { | |||
| "token": app.globalData.token | |||
| }, | |||
| data: { | |||
| payOrderId: payOrderId, | |||
| orderId: orderId, | |||
| status: status, | |||
| reason: reason | |||
| }, | |||
| method: "POST", | |||
| success: function (res) { | |||
| resolve(res) | |||
| }, | |||
| fail: function (err) { | |||
| reject(err) | |||
| }, | |||
| complete: function (res) { | |||
| console.log(res) | |||
| } | |||
| }) | |||
| }) | |||
| }, | |||
| refundCouponOrder: function (couponOrderId) { | |||
| return new Promise((resolve, reject) => { | |||
| wx.request({ | |||
| url: config.api.refundCouponOrder, | |||
| header: { | |||
| "token": app.globalData.token | |||
| }, | |||
| data: { | |||
| couponOrderId: couponOrderId, | |||
| token: app.globalData.token | |||
| }, | |||
| method: "POST", | |||
| success: function (res) { | |||
| resolve(res) | |||
| }, | |||
| fail: function (err) { | |||
| reject(err) | |||
| }, | |||
| complete: function (res) { | |||
| console.log(res) | |||
| } | |||
| }) | |||
| }) | |||
| }, | |||
| refundOrderCreate: function (orderId, payOrderId) { | |||
| return new Promise((resolve, reject) => { | |||
| wx.request({ | |||
| url: config.api.refundOrdercCreate, | |||
| header: { | |||
| "token": app.globalData.token | |||
| }, | |||
| data: { | |||
| payOrderId: payOrderId, | |||
| orderId: orderId, | |||
| token: app.globalData.token | |||
| }, | |||
| method: "POST", | |||
| success: function (res) { | |||
| resolve(res) | |||
| }, | |||
| fail: function (err) { | |||
| reject(err) | |||
| }, | |||
| complete: function (res) { | |||
| console.log(res) | |||
| } | |||
| }) | |||
| }) | |||
| }, | |||
| } | |||
| module.exports = func; | |||
| @@ -1,26 +1,24 @@ | |||
| var url = 'https://ciformall.youlane.cn' | |||
| //var url = 'http://7479f9de.ngrok.io' | |||
| var apiPrefix = url + '/C'; | |||
| var config = { | |||
| name: "富茂", | |||
| url: "https://ciformall.youlane.cn/C", | |||
| url: "https://ciformall.youlane.cn/C/api", | |||
| //url: "http://dac6735a.ngrok.io/C/api", | |||
| api: { | |||
| /** | |||
| * 接口用途:login | |||
| */ | |||
| login: '/api/user/login', | |||
| login: '/user/login', | |||
| /** | |||
| * 授权后获取用户的昵称,unionId等信息 | |||
| */ | |||
| getUserInfo: '/api/user/getUserInfo', | |||
| getUserInfo: '/user/getUserInfo', | |||
| /** | |||
| * 接口用途:授权后获取用户的手机号 | |||
| */ | |||
| getUserPhone: '/api/user/getUserPhone', | |||
| getUserPhone: '/user/getUserPhone', | |||
| /** | |||
| * 检查用户授权状态 | |||
| */ | |||
| checkUserStatus: '/api/user/checkUserStatus', | |||
| checkUserStatus: '/user/checkUserStatus', | |||
| /** | |||
| * 优惠券查询 | |||
| */ | |||
| @@ -29,30 +27,26 @@ var config = { | |||
| * 优惠券详情 | |||
| */ | |||
| couponDetail: '/wxCoupon/findById', | |||
| /** | |||
| * 业态查询 | |||
| */ | |||
| couponChannelList: '/wxCouponChannel/list', | |||
| /** | |||
| * 下订单 | |||
| */ | |||
| orderSave: '/api/order/save', | |||
| orderSave: '/order/save', | |||
| /** | |||
| * 支付订单 | |||
| */ | |||
| payOrderCreate: '/api/pay/create', | |||
| payOrderCreate: '/pay/create', | |||
| /** | |||
| * 订单状态更新 | |||
| */ | |||
| payOrderUpdate: '/api/pay/updatePayOrder', | |||
| payOrderUpdate: '/pay/updatePayOrder', | |||
| /** | |||
| * 订单列表 | |||
| */ | |||
| orderList: '/api/order/list', | |||
| /** | |||
| * 退券 | |||
| */ | |||
| refundCouponOrder: '/api/couponOrder/refund', | |||
| /** | |||
| * 退款申请 | |||
| */ | |||
| refundOrdercCreate: '/api/refund/create', | |||
| orderList: '/order/list', | |||
| }, | |||
| weapp: { | |||
| @@ -64,7 +58,9 @@ var config = { | |||
| PHONE_IS_ENCRYPTED: 11006, | |||
| }, | |||
| }; | |||
| /* | |||
| for (var key in config.api) { | |||
| config.api[key] = apiPrefix + config.api[key]; | |||
| } | |||
| */ | |||
| module.exports = config; | |||
| @@ -1,4 +1,4 @@ | |||
| let Common = require('../../../common/common.js') | |||
| var config = require('../../../config/config.js'); | |||
| var app = getApp() | |||
| const Http = require("../../../utils/HttpBasics") | |||
| Page({ | |||
| @@ -128,134 +128,4 @@ Page({ | |||
| }) | |||
| }, | |||
| orderfunc() { | |||
| var that = this | |||
| /* | |||
| var couponOrderId = '189631451703017472'; | |||
| var orderId = '189631451640102912'; | |||
| var payOrderId = '189631462532710400'; | |||
| var status = 1; | |||
| var reason = ''; | |||
| Common.refundCouponOrder(couponOrderId) | |||
| .then(res => { | |||
| console.log(res); | |||
| if (res.data.code == 200) { | |||
| Common.refundOrderCreate(orderId, payOrderId) | |||
| .then(res => { | |||
| console.log(res); | |||
| }) | |||
| } else { | |||
| wx.showToast({ | |||
| title: res.data.message, | |||
| duration: 3000 | |||
| }) | |||
| } | |||
| }) | |||
| */ | |||
| /* | |||
| Common.payOrderUpdate(orderId, payOrderId, status, reason) | |||
| .then(res =>{ | |||
| console.log(res); | |||
| }) | |||
| */ | |||
| wx.showLoading({ | |||
| title: '加载中...', | |||
| }) | |||
| var couponId = '' + this.data.couponId; | |||
| console.log("order coupon: " + couponId) | |||
| Common.orderSave(couponId) | |||
| .then(res => { | |||
| console.log(res) | |||
| if (res.data.code == 200) { | |||
| var orderId = '' + res.data.data.id; | |||
| this.setData({ | |||
| orderId: '' + res.data.data.id | |||
| }) | |||
| if (res.data.data.payment > 0) { | |||
| return Common.payOrderCreate(orderId) | |||
| } else { | |||
| Common.payOrderUpdate(orderId, "0", 1) // 支付成功 | |||
| .then(res => { | |||
| wx.showToast({ | |||
| title: res.data.message, | |||
| duration: 3000 | |||
| }) | |||
| }) | |||
| } | |||
| } else { | |||
| wx.hideLoading(); | |||
| wx.showToast({ | |||
| title: res.data.message, | |||
| duration: 3000 | |||
| }) | |||
| } | |||
| }) | |||
| .then(res => { | |||
| console.log(res) | |||
| var payOrderId = '' + res.data.data.payOrderId; | |||
| if (res.data.code == 200) { | |||
| wx.requestPayment({ | |||
| timeStamp: res.data.data.timeStamp, | |||
| nonceStr: res.data.data.nonceStr, | |||
| package: res.data.data.package, | |||
| signType: 'MD5', | |||
| paySign: res.data.data.paySign, | |||
| 'success': function (res) { | |||
| Common.payOrderUpdate(that.data.orderId, payOrderId, 1); // 支付成功 | |||
| console.log(res); | |||
| console.log('支付成功'); | |||
| wx.showToast({ | |||
| title: '购买成功', | |||
| duration: 2500 | |||
| }) | |||
| wx.navigateBack({ | |||
| delta: 2 | |||
| }) | |||
| }, | |||
| 'fail': function (res) { | |||
| Common.payOrderUpdate(orderId, payOrderId, 2); // 支付失败 | |||
| console.log(res) | |||
| console.log('支付失败'); | |||
| return; | |||
| }, | |||
| 'complete': function (res) { | |||
| console.log(res); | |||
| console.log('支付完成'); | |||
| var url = that.data.url; | |||
| console.log('get url', url) | |||
| if (res.errMsg == 'requestPayment:ok') { | |||
| wx.showModal({ | |||
| title: '提示', | |||
| content: '支付成功' | |||
| }); | |||
| if (url) { | |||
| setTimeout(function () { | |||
| wx.redirectTo({ | |||
| url: '/pages' + url | |||
| }); | |||
| }, 2000) | |||
| } else { | |||
| setTimeout(() => { | |||
| wx.navigateBack() | |||
| }, 2000) | |||
| } | |||
| } else { | |||
| wx.showModal({ | |||
| title: '错误提示', | |||
| content: res.errMsg | |||
| }); | |||
| } | |||
| return; | |||
| } | |||
| }) | |||
| } else { | |||
| wx.showModal({ | |||
| title: '错误提示', | |||
| content: res.data.message | |||
| }); | |||
| } | |||
| }) | |||
| wx.hideLoading(); | |||
| } | |||
| }) | |||
| @@ -45,6 +45,6 @@ | |||
| </view> | |||
| </view> | |||
| <view class="buy-view app-border-top"> | |||
| <button bindtap='newOrderfunc' class='buy'>立即购买</button> | |||
| <button bindtap='orderfunc' class='buy'>立即购买</button> | |||
| </view> | |||
| </view> | |||
| @@ -1,42 +1,42 @@ | |||
| var config = require('../../config/config.js'); | |||
| var Common = require('../../common/common.js'); | |||
| const Http = require("../../utils/HttpBasics"); | |||
| var app = getApp(); | |||
| Page({ | |||
| data: { | |||
| canIUse: wx.canIUse('button.open-type.getPhoneNumber') | |||
| }, | |||
| onLoad: function (options) { | |||
| onLoad: function(options) { | |||
| var that = this; | |||
| }, | |||
| getPhoneNumber: function (e) { | |||
| getPhoneNumber: function(e) { | |||
| var that = this; | |||
| var iv = e.detail.iv; | |||
| var encryptedData = e.detail.encryptedData; | |||
| Common.getUserPhone(encryptedData, iv) | |||
| .then(function (res) { | |||
| console.log(res); | |||
| /** | |||
| * code:0 授权手机号成功 | |||
| * code:1 授权手机号失败 | |||
| */ | |||
| if (res.data.code == 0) { | |||
| Http.post({ | |||
| url: config.api.getUserPhone, | |||
| data: { | |||
| encryptedData: encryptedData, | |||
| iv: iv, | |||
| } | |||
| }) | |||
| .then(function(res) { | |||
| console.log(res); | |||
| app.globalData.phone = res.data.phone; | |||
| wx.showToast({ | |||
| title: res.data.msg, | |||
| icon: "success", | |||
| success: function (res) { | |||
| success: function(res) { | |||
| wx.redirectTo({ | |||
| url: '../login/login', | |||
| }) | |||
| } | |||
| }) | |||
| } | |||
| else if (res.data.code == 1) { | |||
| }, | |||
| function(error) { | |||
| wx.showToast({ | |||
| title: '请重新授权手机号', | |||
| icon: "none", | |||
| }) | |||
| } | |||
| }) | |||
| }) | |||
| } | |||
| }) | |||
| @@ -1,6 +1,6 @@ | |||
| var config = require('../../config/config.js'); | |||
| var Common = require('../../common/common.js'); | |||
| var app = getApp(); | |||
| const Http = require("../../utils/HttpBasics"); | |||
| Page({ | |||
| data: { | |||
| canIUse: wx.canIUse('button.open-type.getUserInfo') | |||
| @@ -15,26 +15,25 @@ Page({ | |||
| var encryptedData = e.detail.encryptedData; | |||
| console.log(iv) | |||
| console.log(encryptedData) | |||
| Common.getUserInfo(encryptedData, iv) | |||
| .then(res => { | |||
| console.log(res); | |||
| /** | |||
| * 1:用户拒绝授权 | |||
| * 0:用户同意授权 | |||
| */ | |||
| if(res.data.code == 0){ | |||
| Http.post({ | |||
| url: config.api.getUserInfo, | |||
| data: { | |||
| encryptedData: encryptedData, | |||
| iv: iv, | |||
| } | |||
| }) | |||
| .then(function(res) { | |||
| console.log(res); | |||
| //返回主页 | |||
| wx.redirectTo({ | |||
| url: '../index/index', | |||
| }) | |||
| } | |||
| else if(res.data.code == 1){ | |||
| }, function(error) { | |||
| wx.showToast({ | |||
| title: '请授权个人信息', | |||
| icon:"none" | |||
| icon: "none" | |||
| }) | |||
| } | |||
| }) | |||
| } | |||
| ) | |||
| }, | |||
| }) | |||
| @@ -1,4 +1,5 @@ | |||
| // pages/index/sw/index.js | |||
| let config = require('../../../config/config.js') | |||
| let Http = require('../../../utils/HttpBasics') | |||
| Component({ | |||
| /** | |||
| @@ -52,7 +53,7 @@ Component({ | |||
| }, | |||
| ready() { | |||
| Http.get({ | |||
| url: "/wxCouponChannel/list", data: { | |||
| url: config.api.couponChannelList, data: { | |||
| pageNum: 1, | |||
| pageSize: 10 | |||
| } | |||
| @@ -96,17 +96,17 @@ class HttpBasics { | |||
| if (res.statusCode == 200) { | |||
| // 服务器code 200 成功 | |||
| if (res.data.code == 200) { | |||
| resolve(res.data.data); | |||
| resolve(res.data); | |||
| } else { | |||
| wx.hideLoading(); | |||
| wx.showToast({ | |||
| title: res.data.message | |||
| }) | |||
| reject(res.data.message); | |||
| reject(res.data); | |||
| } | |||
| } else { | |||
| console.error("请求出错:", res); | |||
| reject(res.errMsg); | |||
| reject(res.data); | |||
| } | |||
| } | |||
| /** 日志 */ | |||