提交 ada861a0 编写于 作者: zhangzhiwei's avatar zhangzhiwei

杨昌富 定制小程序

上级 5b17e1ac
//app.js
App({
onLaunch: function () {
// 展示本地存储能力
// var logs = wx.getStorageSync('logs') || []
// logs.unshift(Date.now())
// wx.setStorageSync('logs', logs)
// 登录
// wx.login({
// success: res => {
// // 发送 res.code 到后台换取 openId, sessionKey, unionId
// }
// })
// 获取用户信息
// wx.getSetting({
// success: res => {
// if (res.authSetting['scope.userInfo']) {
// // 已经授权,可以直接调用 getUserInfo 获取头像昵称,不会弹框
// wx.getUserInfo({
// success: res => {
// // 可以将 res 发送给后台解码出 unionId
// this.globalData.userInfo = res.userInfo
// // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
// // 所以此处加入 callback 以防止这种情况
// if (this.userInfoReadyCallback) {
// this.userInfoReadyCallback(res)
// }
// }
// })
// }
// }
// })
},
//测试:https://wxpreprod.edstao.com https://wxpreprod.edstao.com
//正式:https://wxapplets.edstao.com
globalData: {
userInfo: null,
defurl:'https://wxapplets.edstao.com',
userInfo:''
}
})
\ No newline at end of file
{
"pages": [
"pages/index",
"pages/pay/pay",
"pages/logs/logs",
"pages/login/login"
],
"__usePrivacyCheck__":true,
"window": {
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "E淘商城",
"navigationBarTextStyle": "black"
},
"sitemapLocation": "sitemap.json"
}
\ No newline at end of file
/**app.wxss**/
.container {
height: 100%;
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-between;
padding: 200rpx 0;
box-sizing: border-box;
}
//index.js
//获取应用实例
const app = getApp();
Page({
data: {
url: '',
userInfo:'',
defurl: app.globalData.defurl
},
//测试:https://wxpreprod.edstao.com
//正式:https://wxapplets.edstao.com
onLoad: function (options) {
let weburl = decodeURIComponent(options.weburl);
var userInfo='';
wx.login({
success:res=>{
var code=res.code;
if (weburl != 'undefined') {
weburl = weburl.replace('&&', '?');
if(weburl.indexOf('#')>-1){
weburl = weburl.replace('#', 'SPECIAL');
}
userInfo = this.getQueryObject(weburl).name;
this.setData({ url: weburl + '&code=' + code, userInfo: this.getQueryObject(weburl).name });
} else {
var name = options.scene|| '';
userInfo = name;
this.setData({ url: this.data.defurl + '/weixin/QRCode?t='+new Date().getTime()+'&name='+ name + '&code=' + code, userInfo: name });
if (!name) {
this.getwxsession()
}
if(options.brandid){
let newUrl = '/brand/shop';
let path = encodeURIComponent(newUrl + '?brandid='+ options.brandid);
const weburl2 = encodeURIComponent(this.data.defurl + '/weixin/QRCode&&from=wx&url=' + path + '&name=' + name);
wx.redirectTo({
url: '/pages/index?weburl=' + weburl2
})
}
}
if (userInfo){
app.globalData.userInfo = userInfo;
}
}
})
},
getwxsession(){
var that=this;
wx.login({
success: res => {
var code = res.code;
wx.request({
url: app.globalData.defurl + '/weixin/wxsession',
data: {
code: code
},
success: function (res) {
if (res.data.code==1){
app.globalData.userInfo = res.data.domainName;
that.setData({ url: that.data.defurl + '/weixin/QRCode?t='+new Date().getTime()+'&name='+ res.data.domainName + '&code=' + code, userInfo: res.data.domainName });
}
}
})
}
})
},
getQueryObject:function (url) {
url = url == null ? window.location.href : url;
var search = url.substring(url.lastIndexOf("?") + 1);
var obj = {};
var reg = /([^?&=]+)=([^?&=]*)/g;
search.replace(reg, function (rs, $1, $2) {
var name = decodeURIComponent($1);
var val = decodeURIComponent($2);
val = String(val);
obj[name] = val;
return rs;
});
return obj;
},
bindGetMsg: function (e) {
var res = e.detail.data;
if (res.length != 0){
var arr = res.pop();
this.setData({
imgUrl: arr.imgUrl,
proName: arr.proName
})
}
},
onShareAppMessage: function (options) {
let that = this;
let data = that.data;
let newUrl = options.webViewUrl.replace(data.defurl, '');
let title = data.proName ? data.proName : 'E淘商城';
let time =new Date().getTime()
let imageUrl = data.imgUrl ? data.imgUrl : 'http://app.edsmall.com/ETaoShopMiniApp/images/share.jpg?t='+time
const weburl = encodeURIComponent(data.defurl + '/weixin/QRCode&&from=wx&url=' + newUrl + '&name=' + data.userInfo);
return {
title: title,
desc: '',
path: '/pages/index?weburl=' + weburl,
imageUrl: imageUrl
}
}
})
{}
\ No newline at end of file
<!-- <view>{{url}}</view> -->
<web-view src="{{url}}" bindmessage="bindGetMsg"></web-view>
<!-- <web-view src="https://wxpreprod.edstao.com/weixin/QRCode?name=huang1" bindmessage="bindGetMsg"></web-view> -->
<!-- <web-view src="http://192.168.0.48:8080/mall.html?mallId=48a27981-3cf5-4d44-8b24-b98a431c50d6" bindmessage="bindGetMsg"></web-view> -->
\ No newline at end of file
.btn{
width:90vw;margin:2vh auto;color: #fff;
}
.btn1{background: #43c9d6}
.btn2{background: #1aad19}
.btn3{background: red}
.btn4{background: #b843d6}
.btn5{background: #de1569}
.btn6{background:#de7a15 }
\ No newline at end of file
const app=getApp();
Page({
data: {
showPrivacy: false,
defurl:app.globalData.defurl,
userInfo:'',
paramsUrl:'',
openId:''
},
onLoad: function (options) {
try{
wx.getPrivacySetting({
success: res => {
if (res.needAuthorization) {
// 需要弹出隐私协议
this.setData({
showPrivacy: true
})
}
},
fail: () => {
},
complete: () => {
}
})
}catch (e) {
this.setData({
showPrivacy: false
})
}
var name = options.name || app.globalData.userInfo;
var paramsUrl= options.url || '';
this.setData({
name: name,
paramsUrl: paramsUrl
})
this.getOpenId();
},
getOpenId(){
wx.showLoading({
title: '加载中...',
mask: true
})
var that=this;
wx.login({
success(res){
var code=res.code;
wx.request({
url: app.globalData.defurl + '/WeiXin/GetOpenId',
data: {
Code: code,
},
success: function (res) {
if(res.data.code==1){
that.setData({
openId:res.data.data
})
}
},
complete(){
wx.hideLoading();
}
})
},fail(){
}
})
},
onReady: function () {
},
onShow: function () {
},
onHide: function () {
},
onUnload: function () {
},
onPullDownRefresh: function () {
},
onReachBottom: function () {
},
getPhoneNumber: function (e) {
const that = this;
if (!e.detail.iv && !e.detail.encryptedData){
return false;
}
if (!that.data.openId){
this.wxFastLoginFail();
return false;
}
wx.showLoading({
title: '登陆中...',
mask:true
})
var openId=that.data.openId;
wx.request({
url: app.globalData.defurl + '/weixin/getphone',
method: 'post',
data: {
OpenId: openId,
encryptedData: e.detail.encryptedData,
iv: e.detail.iv
},
success: function (res) {
if (res.data.code == 1) {
that.wxFastLogin(res.data.data)
} else {
that.wxFastLoginFail();
}
},
fail() {
that.wxFastLoginFail();
}
})
} ,
wxFastLogin(res){
var that=this;
var phone = res.Phone;
var openId = res.OpenId;
wx.request({
url: app.globalData.defurl + '/WeiXin/WxRegister',
method: 'post',
data: {
phone,
openId,
},
success: function (res) {
if(res.data.code==1){
wx.hideLoading();
const weburl = encodeURIComponent(that.data.defurl + '/weixin/QRCode&&from=wx&url=/WeiXin/WxLogin?token=' + res.data.data+'&url=' + that.data.paramsUrl + '&name=' + that.data.name);
wx.redirectTo({
url: '/pages/index?weburl=' + weburl
})
}else{
that.wxFastLoginFail();
}
},
fail(){
that.wxFastLoginFail();
}
})
},
wxFastLoginFail(){
wx.hideLoading();
wx.showToast({
title: '登陆失败',
icon: 'none',
duration: 2000
})
},
phoneLogin(){
const that=this;
const weburl = encodeURIComponent(that.data.defurl + '/weixin/QRCode&&from=wx&url=/user/login?showpage=show&url=' + that.data.paramsUrl + '&name=' + that.data.name);
wx.redirectTo({
url: '/pages/index?weburl=' + weburl
})
},
toIndex(){
const that = this;
const weburl = encodeURIComponent(that.data.defurl + '/weixin/QRCode&&from=wx&url=/?&url=' + that.data.paramsUrl + '&name=' + that.data.name);
wx.redirectTo({
url: '/pages/index?weburl=' + weburl
})
},
// 打开隐私协议页面
openPrivacyContract() {
wx.openPrivacyContract({
fail: () => {
wx.showToast({
title: '遇到错误',
icon: 'error'
})
}
})
},
// 拒绝隐私协议
exitMiniProgram() {
// 直接退出小程序
wx.exitMiniProgram();
},
handleAgreePrivacyAuthorization() {
// 用户点击同意按钮后
this.setData({
showPrivacy: false
})
// 用户点击同意后,开发者调用 resolve({ buttonId: 'agree-btn', event: 'agree' }) 告知平台用户已经同意,参数传同意按钮的id
// 用户点击拒绝后,开发者调用 resolve({ event:'disagree' }) 告知平台用户已经拒绝
}
// onShareAppMessage: function () {
// }
})
\ No newline at end of file
{
"window":{
"navigationStyle":"custom"
}
}
\ No newline at end of file
<view wx:if="{{showPrivacy}}">
<view class="succpop">
<view class="pop_title">温馨提示</view>
<view class="pop_content">
<view class="desc">
在使用当前小程序服务之前,请仔细阅读<text bindtap="openPrivacyContract" style="color:#1a73e8">《用户隐私保护指引》</text>。如你同意使用本应用,请点击“同意”开始使用。
</view>
</view>
<button style="background:#fe521f;width: 502rpx;" open-type="agreePrivacyAuthorization" bindagreeprivacyauthorization="handleAgreePrivacyAuthorization"> <text style="color:#ffffff">同意</text></button>
<button style="background:#e6e6e6;width: 502rpx;margin-top: 10px;" bindtap="exitMiniProgram"> <text style="color:#000000">拒绝</text></button>
</view>
</view>
<view wx:if='{{openId&&!showPrivacy}}'>
<view class='ETaoLogoBox'>
<image class='ETaoLogo' mode='widthFix' src='/asstes/img/ETaoLogo.png'></image>
<view class='ETaoName'>E淘商城</view>
</view>
<view class='btn-box'>
<button style="background:#00b26a;width: 546rpx;height:100rpx;line-height:100rpx" open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"> <text style="color:#ffffff">一键登录</text></button>
<button class='btn phoneBtn' hover-class="none" bindtap='phoneLogin'>
<image class='wxLogo' mode='widthFix' src='/asstes/img/phoneLogin.png'></image>
</button>
<view class='backIndexBox'>
<text class='backIndex' bindtap='toIndex'>返回首页</text>
</view>
</view>
<!--
<view class='btn-box'>
<button class='btn' open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber">
<image class='wxLogo' mode='widthFix' src='/asstes/img/wxLogo.png'></image>
<text class='fastLogin'>微信快速登录</text>
</button>
<button class='btn phoneBtn' bindtap='phoneLogin'>
<image class='wxLogo' mode='widthFix' src='/asstes/img/phoneIcon.png'></image>
<text class='fastLogin phoneLogin'>手机号登录</text>
</button>
<view class='backIndexBox'>
<text class='backIndex' bindtap='toIndex'>返回首页</text>
</view>
</view>
-->
</view>
\ No newline at end of file
button{
padding-right:0;
padding-left:0;
background-color:#fff;
}
button::after{
border:none;
}
.ETaoLogoBox{
text-align: center;
margin: 160rpx 0;
min-height: 210rpx;
}
.ETaoLogo{
width: 160rpx;
height: 0;
}
.ETaoName{
font-size: 30rpx;
}
.wxLogo{
width: 550rpx;
vertical-align: middle;
/* margin-right: 20rpx; */
height: 0;
}
.btn{
width: 580rpx;
/* height: 90rpx; */
line-height: 90rpx;
/* background: rgba(26, 173, 25, 1); */
border-radius:6rpx;
font-size: 0;
}
.fastLogin{
color: #fff;
font-size: 32rpx;
vertical-align: middle;
}
.phoneBtn{
margin-top: 34rpx;
/* background: #f2f2f2; */
}
.phoneLogin{
color: #333333;
}
.backIndexBox{
text-align: center;
margin-top: 200rpx;
}
.backIndex{
font-size: 30rpx;
color: rgba(26, 173, 25, 1);
border-bottom: 1px solid rgba(26, 173, 25, 1);
}
.succpop{
text-align: center;
margin-top: 200rpx;
}
.desc{
width:500rpx;
text-align: left;
margin:20rpx auto;
}
//logs.js
const util = require('../../utils/util.js')
Page({
data: {
logs: []
},
onLoad: function () {
this.setData({
logs: (wx.getStorageSync('logs') || []).map(log => {
return util.formatTime(new Date(log))
})
})
}
})
{
"navigationBarTitleText": "查看启动日志"
}
\ No newline at end of file
<!--logs.wxml-->
<view class="container log-list">
<block wx:for="{{logs}}" wx:for-item="log">
<text class="log-item">{{index + 1}}. {{log}}</text>
</block>
</view>
.log-list {
display: flex;
flex-direction: column;
padding: 40rpx;
}
.log-item {
margin: 10rpx;
}
//index.js
//获取应用实例
const app = getApp();
Page({
data: {
userInfo:'',
OrderMain:{},
OrderDetail:[],
defurl: app.globalData.defurl
},
onLoad: function (options) {
var that = this;
if(options.orderid){
that.setData({ userInfo: options.wxapplets?options.wxapplets:''})
that.getOrder(options.orderid)
}else{
wx.redirectTo({
url:'/pages/index'
})
}
},
getOrder:function(orderId){
var that = this;
wx.request({
url: that.data.defurl + '/pay/postdetail',
data:{orderid:orderId},
header: {
'content-type': 'application/json' // 默认值
},
success: function (res) {
//生成页面数据
that.setData({ OrderMain: res.data.OrderMain, OrderDetail: res.data.OrderDetail})
}
})
},
payMoney: function () {
const that = this;
wx.login({
success: function (res) {
wx.request({
url: that.data.defurl + '/weixin/openid',
data: {
code:res.code
},
method: 'GET',
header: { 'content-type': 'application/json' },
success: function (res) {
that.getPay(res.data.openid, that.data.OrderMain.orderId)
}
})
}
})
},
getPay: function (openid, orderid ) {
wx.showLoading({
title: '加载中...',
mask:true
})
let that = this;
wx.request({
url: this.data.defurl+'/pay/WxMiniProgramPayParam',
method:'POST',
data:{
orderId: orderid,
openId: openid
},
success(res){
wx.hideLoading();
if(res.data.code==1){
var data=res.data;
wx.requestPayment({
timeStamp: data.timeStamp,
nonceStr: data.nonceStr,
package: data.package,
signType: data.signType,
paySign: data.paySign,
success(res) {
let newUrl = '/order/list';
const weburl = encodeURIComponent(that.data.defurl + '/weixin/QRCode&&from=wx&url=' + newUrl + '&name=' + that.data.userInfo);
wx.redirectTo({
url: '/pages/index?weburl=' + weburl
})
},
fail(res) {
wx.showToast({
title: '支付失败',
icon:"none",
duration:3000
})
}
})
}else{
wx.showToast({
title: '支付失败',
icon: "none",
duration: 3000
})
}
}
})
},
cancel:function(){
let that = this;
let newUrl = '/order/list?l=全部';
newUrl = encodeURIComponent(newUrl);
const weburl = encodeURIComponent(that.data.defurl + '/weixin/QRCode&&name=' + that.data.userInfo + '&from=wx&url=' + newUrl);
wx.redirectTo({
url: '/pages/index?weburl=' + weburl
})
}
})
{
"navigationBarTitleText": "E淘商城-支付"
}
\ No newline at end of file
<!-- 地址 -->
<view class='addr'>
<view>收货人:{{OrderMain.receiver}}</view>
<view>联系电话:{{OrderMain.phone}}</view>
<view>收货地址:{{OrderMain.address}}</view>
</view>
<!-- 订单详情 -->
<!-- <view class='list-main'>
<view wx:for="{{item}}" wx:key="{{index}}" class='list'>
{{item.key}}: {{item.val}}
</view>
</view> -->
<!-- 商品内容 -->
<!-- <scroll-view scroll-y="true" class='scroll-main'> -->
<view class='pro' wx:for="{{OrderDetail}}" wx:key="index">
<view class='pro-pic'>
<image src='http://oss.av-gd.com/{{item.ProductImgPath}}@200w_200h.png.webp'></image>
</view>
<view class='pro-tit'>
<view class='tit'>{{item.BrandName}}{{item.ProductStyle}}{{item.ProductName}}</view>
<view class='num'>×{{item.ProductQty}}</view>
<view>{{item.ProductNum}}</view>
<view class='mon'>¥{{item.MallSalePrice}}</view>
</view>
</view>
<!-- </scroll-view> -->
<!-- 总额 -->
<view class='payfor'>
<text>应付:¥{{OrderMain.totalFee}}</text>
<button type="default" bindtap="cancel">取消</button>
<button type="primary" bindtap="payMoney">付款</button>
</view>
\ No newline at end of file
page{
font-size: 3.8vw;
background-color: #f4f4f4;
margin-bottom:55px;
/* overflow: hidden */
}
button::after{border:none;}
.addr{
width: 100%;
height:auto;
padding:3vw 0;
margin-bottom:4vw;
background:#fff url(data:image/jpeg;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMraHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhFMEU4ODNENTFENTExRTg4N0M2RDdBMTMwMzkzQUMzIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjhFMEU4ODNFNTFENTExRTg4N0M2RDdBMTMwMzkzQUMzIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OEUwRTg4M0I1MUQ1MTFFODg3QzZEN0ExMzAzOTNBQzMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OEUwRTg4M0M1MUQ1MTFFODg3QzZEN0ExMzAzOTNBQzMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYGCAsMCgoLCgoMEAwMDAwMDBAMDg8QDw4MExMUFBMTHBsbGxwfHx8fHx8fHx8fAQcHBw0MDRgQEBgaFREVGh8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx//wAARCAAEAUADAREAAhEBAxEB/8QAWQABAQAAAAAAAAAAAAAAAAAAAwgBAQEBAQAAAAAAAAAAAAAAAAIDBQgQAAIBBQEAAAAAAAAAAAAAAAACMQFBgTKCQhEBAQEBAAAAAAAAAAAAAAAAAAGBkf/aAAwDAQACEQMRAD8AoBsnOU1swbTUU04JsimnBtkU0oFsjmqQTXkU04KuR9ODbIocE2RTSgmm44pBNkUODbIoUC2RxSCebihwbdChQLR6HFINo9ChwTR6HDgmmuwoUE/QocE0V2HFIJuhQ4NuhQoFuhw4NuhQ4Fp9DikG3QoUE3QocE0V2HFIJuhQoJ+xRSDe244UE99xQ4JprsKHBNHscOYJuxQ5gm7HDmCe+4ocwVexHME0+xw5j//Z) no-repeat center top;
background-size: 100%;
}
.addr view{padding:0 3vw;}
.list-main{padding:0 3vw;margin-bottom: 3vw;margin-top:3vw;background:#fff;}
.list{
border-bottom: .1vw solid #d9d9d9;
padding:3vw 0;
}
.list:last-child{border-bottom: none}
/* .scroll-main{overflow-y: scroll} */
.pro{display:flex;width: 96vw;padding:2vw;background: #fff;margin-bottom: 2vw}
.pro-pic{width:26vw;height:26vw;padding:2vw;}
.pro-pic image{width: 100%;height: 100%}
.pro-tit{width:64vw;height:24vw;display:flex;align-items: center;flex-wrap: wrap;padding-top:3vw;}
.pro-tit view{flex-grow: 1;width:64vw;}
.pro-tit .tit{width:54vw;flex-grow: 2;}
.pro-tit .num{width:10vw;flex-grow: 2;}
.pro-tit .mon{margin-top:4vw;}
/* display:flex;align-items: center;justify-content: center */
.payfor{position: fixed;bottom:0;left:0;display:flex;width:100%;background: #fff;}
.payfor text{display:flex;align-items: center;width:60%;float:left;padding:0 5%;}
.payfor button{width:30%;float:right;border-radius: 0;border:0;}
{
"description": "项目配置文件。",
"setting": {
"urlCheck": true,
"es6": true,
"enhance": false,
"postcss": true,
"preloadBackgroundData": false,
"minified": true,
"newFeature": true,
"coverView": true,
"nodeModules": false,
"autoAudits": false,
"showShadowRootInWxmlPanel": true,
"scopeDataCheck": false,
"uglifyFileName": false,
"checkInvalidKey": true,
"checkSiteMap": true,
"uploadWithSourceMap": true,
"compileHotReLoad": false,
"lazyloadPlaceholderEnable": false,
"useMultiFrameRuntime": true,
"babelSetting": {
"ignore": [],
"disablePlugins": [],
"outputPath": ""
},
"useIsolateContext": false,
"userConfirmedBundleSwitch": false,
"packNpmManually": false,
"packNpmRelationList": [],
"minifyWXSS": true,
"disableUseStrict": false,
"minifyWXML": true,
"showES6CompileOption": false,
"useCompilerPlugins": false,
"ignoreUploadUnusedFiles": true
},
"compileType": "miniprogram",
"simulatorType": "wechat",
"simulatorPluginLibVersion": {},
"condition": {
"miniprogram": {
"list": [
{
"name": "带参数",
"pathName": "pages/index",
"query": "scene=alisa6",
"scene": null
},
{
"name": "带orderid",
"pathName": "pages/pay/pay",
"query": "orderid=46e12fb8-be74-4139-bc92-e0d3b03de4f3&wxapplets=zhengwangeng"
},
{
"name": "huang1",
"pathName": "pages/index",
"query": "scene=huang1"
},
{
"name": "zhongshan1",
"pathName": "pages/index",
"query": "scene=zhongshan1"
},
{
"name": "kii12",
"pathName": "pages/index",
"query": "scene=kii12"
},
{
"name": "szds888",
"pathName": "pages/index",
"query": "scene=szds888"
},
{
"name": "sg02",
"pathName": "pages/index",
"query": "scene=sg02"
},
{
"name": "rt",
"pathName": "pages/index",
"query": "scene=rt"
},
{
"name": "ax",
"pathName": "pages/index",
"query": "scene=ax"
},
{
"name": "test6",
"pathName": "pages/index",
"query": "scene=test6"
},
{
"name": "qy01",
"pathName": "pages/index",
"query": "scene=qy01",
"scene": null
},
{
"name": "brandid",
"pathName": "pages/index",
"query": "brandid=20160811170347962160A14E1-AEAF-424B-A5AB-6DFB82D5C3C4&scene=alisa6",
"scene": null
},
{
"name": "pages/login/login",
"pathName": "pages/login/login",
"query": "brandid=20160811170347962160A14E1-AEAF-424B-A5AB-6DFB82D5C3C4&scene=alisa6",
"scene": 1037,
"referrerInfo": {
"appId": "wx9cd53b76365876f5",
"extraData": "{}"
}
}
]
}
},
"editorSetting": {
"tabIndent": "insertSpaces",
"tabSize": 2
},
"libVersion": "2.14.0",
"packOptions": {
"ignore": [],
"include": []
},
"appid": "wxdb3d8f9a94eca8d9"
}
\ No newline at end of file
{
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
"setting": {
"urlCheck": false,
"compileHotReLoad": true
},
"projectname": "etaoshop-dz"
}
\ No newline at end of file
{
"desc": "关于本文件的更多信息,请参考文档 https://developers.weixin.qq.com/miniprogram/dev/framework/sitemap.html",
"rules": [{
"action": "allow",
"page": "*"
}]
}
\ No newline at end of file
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).pingpp=e()}}(function(){return function e(n,t,a){function r(l,c){if(!t[l]){if(!n[l]){var o="function"==typeof require&&require;if(!c&&o)return o(l,!0);if(i)return i(l,!0);var s=new Error("Cannot find module '"+l+"'");throw s.code="MODULE_NOT_FOUND",s}var u=t[l]={exports:{}};n[l][0].call(u.exports,function(e){var t=n[l][1][e];return r(t||e)},u,u.exports,e,n,t,a)}return t[l].exports}for(var i="function"==typeof require&&require,l=0;l<a.length;l++)r(a[l]);return r}({1:[function(e,n,t){var a=e('./payment_elements.js');n.exports={userCallback:void 0,urlReturnCallback:void 0,urlReturnChannels:['alipay_pc_direct'],innerCallback:function(e,n){'function'==typeof this.userCallback&&(void 0===n&&(n=this.error()),this.userCallback(e,n),this.userCallback=void 0,a.clear())},error:function(e,n){return e=void 0===e?'':e,n=void 0===n?'':n,{msg:e,extra:n}},triggerUrlReturnCallback:function(e,n){'function'==typeof this.urlReturnCallback&&this.urlReturnCallback(e,n)},shouldReturnUrlByCallback:function(e){return'function'==typeof this.urlReturnCallback&&-1!==this.urlReturnChannels.indexOf(e)}}},{"./payment_elements.js":26}],2:[function(e,n,t){var a=e('../utils'),r={}.hasOwnProperty;n.exports={ALIPAY_PC_DIRECT_URL:'https://mapi.alipay.com/gateway.do',handleCharge:function(e){var n=e.channel,t=e.credential[n],i=this.ALIPAY_PC_DIRECT_URL;r.call(t,'channel_url')&&(i=t.channel_url),r.call(t,'_input_charset')||r.call(t,'service')&&'create_direct_pay_by_user'===t.service&&(t._input_charset='utf-8');var l=a.stringifyData(t,n,!0);a.redirectTo(i+'?'+l,n)}}},{"../utils":29}],3:[function(e,n,t){var a={}.hasOwnProperty,r=e('../callbacks');n.exports={handleCharge:function(e){var n=e.credential[e.channel];a.call(n,'transaction_no')?this.tradePay(n.transaction_no):r.innerCallback('fail',r.error('invalid_credential','missing_field_transaction_no'))},ready:function(e){window.AlipayJSBridge?e&&e():document.addEventListener('AlipayJSBridgeReady',e,!1)},tradePay:function(e){this.ready(function(){AlipayJSBridge.call('tradePay',{tradeNO:e},function(e){'9000'==e.resultCode?r.innerCallback('success'):'6001'==e.resultCode?r.innerCallback('cancel',r.error(e.result)):r.innerCallback('fail',r.error(e.result))})})}}},{"../callbacks":1}],4:[function(e,n,t){var a=e('../utils'),r=e('../mods'),i={}.hasOwnProperty;n.exports={ALIPAY_WAP_URL_OLD:'https://wappaygw.alipay.com/service/rest.htm',ALIPAY_WAP_URL:'https://mapi.alipay.com/gateway.do',handleCharge:function(e){var n=e.channel,t=e.credential[n],l=this.ALIPAY_WAP_URL;i.call(t,'req_data')?l=this.ALIPAY_WAP_URL_OLD:i.call(t,'channel_url')&&(l=t.channel_url),i.call(t,'_input_charset')||(i.call(t,'service')&&'alipay.wap.create.direct.pay.by.user'===t.service||i.call(t,'req_data'))&&(t._input_charset='utf-8');var c=l+'?'+a.stringifyData(t,n,!0),o=r.getExtraModule('ap');a.inWeixin()&&void 0!==o?o.pay(c):a.redirectTo(c,n)}}},{"../mods":25,"../utils":29}],5:[function(e,n,t){var a=e('../utils'),r=e('../callbacks'),i={}.hasOwnProperty;n.exports={handleCharge:function(e){var n=e.channel,t=e.credential[n];i.call(t,'url')?a.redirectTo(t.url+'?'+a.stringifyData(t,n),n):r.innerCallback('fail',r.error('invalid_credential','missing_field:url'))}}},{"../callbacks":1,"../utils":29}],6:[function(e,n,t){var a=e('../utils'),r={}.hasOwnProperty;n.exports={CMB_WALLET_URL:'https://netpay.cmbchina.com/netpayment/BaseHttp.dll?MB_EUserPay',handleCharge:function(e){var n=e.credential[e.channel],t=this.CMB_WALLET_URL;r.call(n,'ChannelUrl')&&(t=n.ChannelUrl,delete n.ChannelUrl),r.call(n,'channelVersion')&&delete n.channelVersion,a.formSubmit(t,'post',n)}}},{"../utils":29}],7:[function(e,n,t){var a=e('../../utils'),r=e('../../callbacks'),i={}.hasOwnProperty;n.exports={handleCharge:function(e){var n,t=e.credential[e.channel];if('string'==typeof t)n=t;else{if(!i.call(t,'url'))return void r.innerCallback('fail',r.error('invalid_credential','credential format is incorrect'));n=t.url}a.redirectTo(n,e.channel)}}},{"../../callbacks":1,"../../utils":29}],8:[function(e,n,t){var a=e('../utils');n.exports={CP_B2B_URL:'https://payment.chinapay.com/CTITS/service/rest/page/nref/000000000017/0/0/0/0/0',handleCharge:function(e){var n=e.credential[e.channel];a.formSubmit(this.CP_B2B_URL,'post',n)}}},{"../utils":29}],9:[function(e,n,t){var a=e('../../stash'),r={}.hasOwnProperty;!function(){var e={},t={};t.PADCHAR='=',t.ALPHA='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',t.makeDOMException=function(){try{return new DOMException(DOMException.INVALID_CHARACTER_ERR)}catch(n){var e=new Error('DOM Exception 5');return e.code=e.number=5,e.name=e.description='INVALID_CHARACTER_ERR',e.toString=function(){return'Error: '+e.name+': '+e.message},e}},t.getbyte64=function(e,n){var a=t.ALPHA.indexOf(e.charAt(n));if(-1===a)throw t.makeDOMException();return a},t.decode=function(e){e=''+e;var n,a,r,i=t.getbyte64,l=e.length;if(0===l)return e;if(l%4!=0)throw t.makeDOMException();n=0,e.charAt(l-1)===t.PADCHAR&&(n=1,e.charAt(l-2)===t.PADCHAR&&(n=2),l-=4);var c=[];for(a=0;a<l;a+=4)r=i(e,a)<<18|i(e,a+1)<<12|i(e,a+2)<<6|i(e,a+3),c.push(String.fromCharCode(r>>16,r>>8&255,255&r));switch(n){case 1:r=i(e,a)<<18|i(e,a+1)<<12|i(e,a+2)<<6,c.push(String.fromCharCode(r>>16,r>>8&255));break;case 2:r=i(e,a)<<18|i(e,a+1)<<12,c.push(String.fromCharCode(r>>16))}return c.join('')},t.getbyte=function(e,n){var a=e.charCodeAt(n);if(a>255)throw t.makeDOMException();return a},t.encode=function(e){if(1!==arguments.length)throw new SyntaxError('Not enough arguments');var n,a,r=t.PADCHAR,i=t.ALPHA,l=t.getbyte,c=[],o=(e=''+e).length-e.length%3;if(0===e.length)return e;for(n=0;n<o;n+=3)a=l(e,n)<<16|l(e,n+1)<<8|l(e,n+2),c.push(i.charAt(a>>18)),c.push(i.charAt(a>>12&63)),c.push(i.charAt(a>>6&63)),c.push(i.charAt(63&a));switch(e.length-o){case 1:a=l(e,n)<<16,c.push(i.charAt(a>>18)+i.charAt(a>>12&63)+r+r);break;case 2:a=l(e,n)<<16|l(e,n+1)<<8,c.push(i.charAt(a>>18)+i.charAt(a>>12&63)+i.charAt(a>>6&63)+r)}return c.join('')},e.url='pay.htm',e.pay=function(n){var i=encodeURIComponent(t.encode(n));r.call(a,'APURL')&&(e.url=a.APURL),location.href=e.url+'?goto='+i},e.decode=function(e){return t.decode(decodeURIComponent(e))},n.exports=e}()},{"../../stash":27}],10:[function(e,n,t){var a=e('./commons/redirect_base');n.exports={handleCharge:function(e){a.handleCharge(e)}}},{"./commons/redirect_base":7}],11:[function(e,n,t){arguments[4][10][0].apply(t,arguments)},{"./commons/redirect_base":7,dup:10}],12:[function(e,n,t){var a=e('./commons/redirect_base'),r=e('../callbacks'),i=e('../utils'),l={}.hasOwnProperty;n.exports={handleCharge:function(e){var n=e.extra;if(l.call(n,'pay_channel')){var t=n.pay_channel;'wx'!==t||i.inWeixin()?'alipay'!==t||i.inAlipay()?a.handleCharge(e):r.innerCallback('fail',r.error('Not in the Alipay browser')):r.innerCallback('fail',r.error('Not in the WeChat browser'))}else r.innerCallback('fail',r.error('invalid_charge','charge 格式不正确'))}}},{"../callbacks":1,"../utils":29,"./commons/redirect_base":7}],13:[function(e,n,t){var a=e('../utils'),r={}.hasOwnProperty;n.exports={JDPAY_WAP_URL_OLD:'https://m.jdpay.com/wepay/web/pay',JDPAY_H5_URL:'https://h5pay.jd.com/jdpay/saveOrder',JDPAY_PC_URL:'https://wepay.jd.com/jdpay/saveOrder',handleCharge:function(e){var n=e.credential[e.channel],t=this.JDPAY_H5_URL;r.call(n,'channelUrl')?(t=n.channelUrl,delete n.channelUrl):r.call(n,'merchantRemark')&&(t=this.JDPAY_WAP_URL_OLD),a.formSubmit(t,'post',n)}}},{"../utils":29}],14:[function(e,n,t){var a=e('../callbacks'),r=e('../utils'),i=e('../stash'),l={}.hasOwnProperty;n.exports={SRC_URL:'https://open.mobile.qq.com/sdk/qqapi.js?_bid=152',ID:'mqq_api',handleCharge:function(e){var n=e.credential[e.channel];l.call(n,'token_id')?(i.tokenId=n.token_id,r.loadUrlJs(this.ID,this.SRC_URL,this.callpay)):a.innerCallback('fail',a.error('invalid_credential','missing_token_id'))},callpay:function(){if('undefined'!=typeof mqq){if(0==mqq.QQVersion)return a.innerCallback('fail',a.error('Not in the QQ client')),void delete i.tokenId;mqq.tenpay.pay({tokenId:i.tokenId},function(e){0==e.resultCode?a.innerCallback('success'):a.innerCallback('fail',a.error(e.retmsg))})}else a.innerCallback('fail',a.error('network_err'));delete i.tokenId}}},{"../callbacks":1,"../stash":27,"../utils":29}],15:[function(e,n,t){var a=e('../utils');n.exports={UPACP_PC_URL:'https://gateway.95516.com/gateway/api/frontTransReq.do',handleCharge:function(e){var n=e.credential[e.channel];a.formSubmit(this.UPACP_PC_URL,'post',n)}}},{"../utils":29}],16:[function(e,n,t){var a=e('../utils');n.exports={UPACP_WAP_URL:'https://gateway.95516.com/gateway/api/frontTransReq.do',handleCharge:function(e){var n=e.credential[e.channel];a.formSubmit(this.UPACP_WAP_URL,'post',n)}}},{"../utils":29}],17:[function(e,n,t){var a=e('../stash'),r=e('../callbacks'),i={}.hasOwnProperty;n.exports={handleCharge:function(e){for(var n=e.credential[e.channel],t=['appId','timeStamp','nonceStr','package','signType','paySign'],l=0;l<t.length;l++)if(!i.call(n,t[l]))return void r.innerCallback('fail',r.error('invalid_credential','missing_field_'+t[l]));a.jsApiParameters=n,this.callpay()},wxLiteEnabled:function(){return'undefined'!=typeof wx&&wx.requestPayment},callpay:function(){if(this.wxLiteEnabled()){var e=a.jsApiParameters;delete e.appId,e.complete=function(e){'requestPayment:ok'===e.errMsg&&r.innerCallback('success'),'requestPayment:cancel'===e.errMsg&&r.innerCallback('cancel',r.error('用户取消支付')),'undefined'!==e.err_code&&'undefined'!==e.err_desc&&r.innerCallback('fail',r.error(e.err_desc,e))},wx.requestPayment(e)}else console.log('请在微信小程序中打开')},runTestMode:function(e){wx.showModal({title:'提示',content:'因 "微信小程序" 限制 域名的原因 暂不支持 模拟付款 请使用 livekey 获取 charge 进行支付'})}}},{"../callbacks":1,"../stash":27}],18:[function(e,n,t){var a=e('../callbacks'),r=e('../utils'),i=e('../stash'),l=e('../mods'),c={}.hasOwnProperty;n.exports={PINGPP_NOTIFY_URL_BASE:'https://notify.pingxx.com/notify',handleCharge:function(e){for(var n=e.credential[e.channel],t=['appId','timeStamp','nonceStr','package','signType','paySign'],r=0;r<t.length;r++)if(!c.call(n,t[r]))return void a.innerCallback('fail',a.error('invalid_credential','missing_field_'+t[r]));i.jsApiParameters=n,this.callpay()},callpay:function(){var e=this,n=l.getExtraModule('wx_jssdk');if(void 0!==n&&n.jssdkEnabled())n.callpay();else if('undefined'==typeof WeixinJSBridge){var t=function(){e.jsApiCall()};document.addEventListener?document.addEventListener('WeixinJSBridgeReady',t,!1):document.attachEvent&&(document.attachEvent('WeixinJSBridgeReady',t),document.attachEvent('onWeixinJSBridgeReady',t))}else this.jsApiCall()},jsApiCall:function(){c.call(i,'jsApiParameters')&&WeixinJSBridge.invoke('getBrandWCPayRequest',i.jsApiParameters,function(e){delete i.jsApiParameters,'get_brand_wcpay_request:ok'==e.err_msg?a.innerCallback('success'):'get_brand_wcpay_request:cancel'==e.err_msg?a.innerCallback('cancel'):a.innerCallback('fail',a.error('wx_result_fail',e.err_msg))})},runTestMode:function(e){if(confirm('模拟付款?')){var n='/charges/'+e.id;r.request(this.PINGPP_NOTIFY_URL_BASE+n+'?livemode=false','GET',null,function(e,n){if(n>=200&&n<400&&'success'==e)a.innerCallback('success');else{var t='http_code:'+n+';response:'+e;a.innerCallback('fail',a.error('testmode_notify_fail',t))}},function(){a.innerCallback('fail',a.error('network_err'))})}}}},{"../callbacks":1,"../mods":25,"../stash":27,"../utils":29}],19:[function(e,n,t){var a=e('../utils'),r=e('../callbacks'),i={}.hasOwnProperty;n.exports={handleCharge:function(e){var n=e.credential[e.channel];'string'==typeof n?a.redirectTo(n,e.channel):'object'==typeof n&&i.call(n,'url')?a.redirectTo(n.url,e.channel):r.innerCallback('fail',r.error('invalid_credential','credential 格式不正确'))}}},{"../callbacks":1,"../utils":29}],20:[function(e,n,t){var a=e('../utils'),r=e('../callbacks'),i={}.hasOwnProperty;n.exports={YEEPAY_WAP_URL:'https://ok.yeepay.com/paymobile/api/pay/request',YEEPAY_WAP_TEST_URL:'http://mobiletest.yeepay.com/paymobile/api/pay/request',handleCharge:function(e){for(var n=e.channel,t=e.credential[n],l=['merchantaccount','encryptkey','data'],c=0;c<l.length;c++)if(!i.call(t,l[c]))return void r.innerCallback('fail',r.error('invalid_credential','missing_field_'+l[c]));var o;o=i.call(t,'mode')&&'test'==t.mode?this.YEEPAY_WAP_TEST_URL:this.YEEPAY_WAP_URL,a.redirectTo(o+'?'+a.stringifyData(t,n,!0),e.channel)}}},{"../callbacks":1,"../utils":29}],21:[function(e,n,t){var a=e('./utils'),r=e('./stash'),i=e('./libs/md5'),l={seperator:'###',limit:1,report_url:'https://statistics.pingxx.com/one_stats',timeout:100},c=function(e,n){var t=new RegExp('(^|&)'+n+'=([^&]*)(&|$)','i'),a=e.substr(0).match(t);return null!==a?unescape(a[2]):null},o=function(){return navigator.userAgent},s=function(){return window.location.host};l.store=function(e){if('undefined'!=typeof localStorage&&null!==localStorage){var n=this,t={};t.app_id=e.app_id||r.app_id||'app_not_defined',t.ch_id=e.ch_id||'',t.channel=e.channel||'',t.type=e.type||'',t.user_agent=o(),t.host=s(),t.time=(new Date).getTime(),t.puid=r.puid;var a='app_id='+t.app_id+'&channel='+t.channel+'&ch_id='+t.ch_id+'&host='+t.host+'&time='+t.time+'&type='+t.type+'&user_agent='+t.user_agent+'&puid='+t.puid,i=a;null!==localStorage.getItem('PPP_ONE_STATS')&&0!==localStorage.getItem('PPP_ONE_STATS').length&&(i=localStorage.getItem('PPP_ONE_STATS')+n.seperator+a);try{localStorage.setItem('PPP_ONE_STATS',i)}catch(e){}}},l.send=function(){if('undefined'!=typeof localStorage&&null!==localStorage){var e=this,n=localStorage.getItem('PPP_ONE_STATS');if(!(null===n||n.split(e.seperator).length<e.limit))try{for(var t=[],r=n.split(e.seperator),l=i(r.join('&')),o=0;o<r.length;o++)t.push({app_id:c(r[o],'app_id'),channel:c(r[o],'channel'),ch_id:c(r[o],'ch_id'),host:c(r[o],'host'),time:c(r[o],'time'),type:c(r[o],'type'),user_agent:c(r[o],'user_agent'),puid:c(r[o],'puid')});a.request(e.report_url,'POST',t,function(e,n){200==n&&localStorage.removeItem('PPP_ONE_STATS')},void 0,{'X-Pingpp-Report-Token':l})}catch(e){}}},l.report=function(e){var n=this;n.store(e),setTimeout(function(){n.send()},n.timeout)},n.exports=l},{"./libs/md5":23,"./stash":27,"./utils":29}],22:[function(e,n,t){var a=e('./stash'),r=e('./utils'),i=e('./collection');n.exports={SRC_URL:'https://cookie.pingxx.com',init:function(){var e=this;r.documentReady(function(){try{e.initPuid()}catch(e){}})},initPuid:function(){if('undefined'!=typeof window&&'undefined'!=typeof localStorage&&null!==localStorage){var e=localStorage.getItem('pingpp_uid');if(null===e){e=r.randomString();try{localStorage.setItem('pingpp_uid',e)}catch(e){}}if(a.puid=e,!document.getElementById('p_analyse_iframe')){var n;try{n=document.createElement('iframe')}catch(e){n=document.createElement('<iframe name="ifr"></iframe>')}n.id='p_analyse_iframe',n.src=this.SRC_URL+'/?puid='+e,n.style.display='none',document.body.appendChild(n)}setTimeout(function(){i.send()},0)}}}},{"./collection":21,"./stash":27,"./utils":29}],23:[function(e,n,t){!function(){function e(e,n){var t=(65535&e)+(65535&n);return(e>>16)+(n>>16)+(t>>16)<<16|65535&t}function t(e,n){return e<<n|e>>>32-n}function a(n,a,r,i,l,c){return e(t(e(e(a,n),e(i,c)),l),r)}function r(e,n,t,r,i,l,c){return a(n&t|~n&r,e,n,i,l,c)}function i(e,n,t,r,i,l,c){return a(n&r|t&~r,e,n,i,l,c)}function l(e,n,t,r,i,l,c){return a(n^t^r,e,n,i,l,c)}function c(e,n,t,r,i,l,c){return a(t^(n|~r),e,n,i,l,c)}function o(n,t){n[t>>5]|=128<<t%32,n[14+(t+64>>>9<<4)]=t;var a,o,s,u,d,p=1732584193,f=-271733879,h=-1732584194,_=271733878;for(a=0;a<n.length;a+=16)o=p,s=f,u=h,d=_,f=c(f=c(f=c(f=c(f=l(f=l(f=l(f=l(f=i(f=i(f=i(f=i(f=r(f=r(f=r(f=r(f,h=r(h,_=r(_,p=r(p,f,h,_,n[a],7,-680876936),f,h,n[a+1],12,-389564586),p,f,n[a+2],17,606105819),_,p,n[a+3],22,-1044525330),h=r(h,_=r(_,p=r(p,f,h,_,n[a+4],7,-176418897),f,h,n[a+5],12,1200080426),p,f,n[a+6],17,-1473231341),_,p,n[a+7],22,-45705983),h=r(h,_=r(_,p=r(p,f,h,_,n[a+8],7,1770035416),f,h,n[a+9],12,-1958414417),p,f,n[a+10],17,-42063),_,p,n[a+11],22,-1990404162),h=r(h,_=r(_,p=r(p,f,h,_,n[a+12],7,1804603682),f,h,n[a+13],12,-40341101),p,f,n[a+14],17,-1502002290),_,p,n[a+15],22,1236535329),h=i(h,_=i(_,p=i(p,f,h,_,n[a+1],5,-165796510),f,h,n[a+6],9,-1069501632),p,f,n[a+11],14,643717713),_,p,n[a],20,-373897302),h=i(h,_=i(_,p=i(p,f,h,_,n[a+5],5,-701558691),f,h,n[a+10],9,38016083),p,f,n[a+15],14,-660478335),_,p,n[a+4],20,-405537848),h=i(h,_=i(_,p=i(p,f,h,_,n[a+9],5,568446438),f,h,n[a+14],9,-1019803690),p,f,n[a+3],14,-187363961),_,p,n[a+8],20,1163531501),h=i(h,_=i(_,p=i(p,f,h,_,n[a+13],5,-1444681467),f,h,n[a+2],9,-51403784),p,f,n[a+7],14,1735328473),_,p,n[a+12],20,-1926607734),h=l(h,_=l(_,p=l(p,f,h,_,n[a+5],4,-378558),f,h,n[a+8],11,-2022574463),p,f,n[a+11],16,1839030562),_,p,n[a+14],23,-35309556),h=l(h,_=l(_,p=l(p,f,h,_,n[a+1],4,-1530992060),f,h,n[a+4],11,1272893353),p,f,n[a+7],16,-155497632),_,p,n[a+10],23,-1094730640),h=l(h,_=l(_,p=l(p,f,h,_,n[a+13],4,681279174),f,h,n[a],11,-358537222),p,f,n[a+3],16,-722521979),_,p,n[a+6],23,76029189),h=l(h,_=l(_,p=l(p,f,h,_,n[a+9],4,-640364487),f,h,n[a+12],11,-421815835),p,f,n[a+15],16,530742520),_,p,n[a+2],23,-995338651),h=c(h,_=c(_,p=c(p,f,h,_,n[a],6,-198630844),f,h,n[a+7],10,1126891415),p,f,n[a+14],15,-1416354905),_,p,n[a+5],21,-57434055),h=c(h,_=c(_,p=c(p,f,h,_,n[a+12],6,1700485571),f,h,n[a+3],10,-1894986606),p,f,n[a+10],15,-1051523),_,p,n[a+1],21,-2054922799),h=c(h,_=c(_,p=c(p,f,h,_,n[a+8],6,1873313359),f,h,n[a+15],10,-30611744),p,f,n[a+6],15,-1560198380),_,p,n[a+13],21,1309151649),h=c(h,_=c(_,p=c(p,f,h,_,n[a+4],6,-145523070),f,h,n[a+11],10,-1120210379),p,f,n[a+2],15,718787259),_,p,n[a+9],21,-343485551),p=e(p,o),f=e(f,s),h=e(h,u),_=e(_,d);return[p,f,h,_]}function s(e){var n,t='';for(n=0;n<32*e.length;n+=8)t+=String.fromCharCode(e[n>>5]>>>n%32&255);return t}function u(e){var n,t=[];for(t[(e.length>>2)-1]=void 0,n=0;n<t.length;n+=1)t[n]=0;for(n=0;n<8*e.length;n+=8)t[n>>5]|=(255&e.charCodeAt(n/8))<<n%32;return t}function d(e){return s(o(u(e),8*e.length))}function p(e,n){var t,a,r=u(e),i=[],l=[];for(i[15]=l[15]=void 0,r.length>16&&(r=o(r,8*e.length)),t=0;t<16;t+=1)i[t]=909522486^r[t],l[t]=1549556828^r[t];return a=o(i.concat(u(n)),512+8*n.length),s(o(l.concat(a),640))}function f(e){var n,t,a='';for(t=0;t<e.length;t+=1)n=e.charCodeAt(t),a+="0123456789abcdef".charAt(n>>>4&15)+"0123456789abcdef".charAt(15&n);return a}function h(e){return unescape(encodeURIComponent(e))}function _(e){return d(h(e))}function y(e){return f(_(e))}function m(e,n){return p(h(e),h(n))}function g(e,n){return f(m(e,n))}n.exports=function(e,n,t){return n?t?m(n,e):g(n,e):t?_(e):y(e)}}()},{}],24:[function(e,n,t){var a=e('./version').v,r={}.hasOwnProperty,PingppSDK=function(){e('./init').init()};PingppSDK.prototype.version=a,n.exports=new PingppSDK;var i=e('./testmode'),l=e('./callbacks'),c=e('./mods'),o=e('./stash'),s=e('./collection'),u=e('./payment_elements');PingppSDK.prototype.createPayment=function(e,n,t,a){if('function'==typeof n&&(l.userCallback=n),u.init(e),r.call(u,'id'))if(r.call(u,'channel')){r.call(u,'app')&&('string'==typeof u.app?o.app_id=u.app:'object'==typeof u.app&&'string'==typeof u.app.id&&(o.app_id=u.app.id)),s.report({type:o.type||'pure_sdk_click',channel:u.channel,ch_id:u.id});var d=u.channel;if(r.call(u,'credential'))if(u.credential)if(r.call(u.credential,d))if(r.call(u,'livemode')){var p=c.getChannelModule(d);if(void 0===p)return console.error('channel module "'+d+'" is undefined'),void l.innerCallback('fail',l.error('invalid_channel','channel module "'+d+'" is undefined'));!1!==u.livemode?(void 0!==t&&(o.signature=t),'boolean'==typeof a&&(o.debug=a),p.handleCharge(u)):r.call(p,'runTestMode')?p.runTestMode(u):i.runTestMode(u)}else l.innerCallback('fail',l.error('invalid_charge','no_livemode_field'));else l.innerCallback('fail',l.error('invalid_credential','credential_is_incorrect'));else l.innerCallback('fail',l.error('invalid_credential','credential_is_undefined'));else l.innerCallback('fail',l.error('invalid_charge','no_credential'))}else l.innerCallback('fail',l.error('invalid_charge','no_channel'));else l.innerCallback('fail',l.error('invalid_charge','no_charge_id'))},PingppSDK.prototype.setAPURL=function(e){o.APURL=e},PingppSDK.prototype.setUrlReturnCallback=function(e,n){if('function'!=typeof e)throw'callback need to be a function';if(l.urlReturnCallback=e,void 0!==n){if(!Array.isArray(n))throw'channels need to be an array';l.urlReturnChannels=n}}},{"./callbacks":1,"./collection":21,"./init":22,"./mods":25,"./payment_elements":26,"./stash":27,"./testmode":28,"./version":30}],25:[function(e,n,t){var a={}.hasOwnProperty,r={};n.exports=r,r.channels={alipay_pc_direct:e('./channels/alipay_pc_direct'),alipay_qr:e('./channels/alipay_qr'),alipay_wap:e('./channels/alipay_wap'),bfb_wap:e('./channels/bfb_wap'),cmb_wallet:e('./channels/cmb_wallet'),cp_b2b:e('./channels/cp_b2b'),fqlpay_qr:e('./channels/fqlpay_qr'),fqlpay_wap:e('./channels/fqlpay_wap'),isv_wap:e('./channels/isv_wap'),jdpay_wap:e('./channels/jdpay_wap'),qpay_pub:e('./channels/qpay_pub'),upacp_pc:e('./channels/upacp_pc'),upacp_wap:e('./channels/upacp_wap'),wx_lite:e('./channels/wx_lite'),wx_pub:e('./channels/wx_pub'),wx_wap:e('./channels/wx_wap'),yeepay_wap:e('./channels/yeepay_wap')},r.extras={ap:e('./channels/extras/ap')},r.getChannelModule=function(e){if(a.call(r.channels,e))return r.channels[e]},r.getExtraModule=function(e){if(a.call(r.extras,e))return r.extras[e]}},{"./channels/alipay_pc_direct":2,"./channels/alipay_qr":3,"./channels/alipay_wap":4,"./channels/bfb_wap":5,"./channels/cmb_wallet":6,"./channels/cp_b2b":8,"./channels/extras/ap":9,"./channels/fqlpay_qr":10,"./channels/fqlpay_wap":11,"./channels/isv_wap":12,"./channels/jdpay_wap":13,"./channels/qpay_pub":14,"./channels/upacp_pc":15,"./channels/upacp_wap":16,"./channels/wx_lite":17,"./channels/wx_pub":18,"./channels/wx_wap":19,"./channels/yeepay_wap":20}],26:[function(e,n,t){var a=e('./callbacks'),r={}.hasOwnProperty;n.exports={id:null,or_id:null,channel:null,app:null,credential:{},extra:null,livemode:null,order_no:null,time_expire:null,init:function(e){var n;if('string'==typeof e)try{n=JSON.parse(e)}catch(e){return void a.innerCallback('fail',a.error('json_decode_fail',e))}else n=e;{if(void 0!==n){if(r.call(n,'object')&&'order'==n.object){n.or_id=n.id,n.order_no=n.merchant_order_no;var t=n.charge_essentials;if(n.channel=t.channel,n.credential=t.credential,n.extra=t.extra,r.call(n,'charge')&&null!=n.charge)n.id=n.charge;else if(r.call(t,'id')&&null!=t.id)n.id=t.id;else if(r.call(n,'charges'))for(var i=0;i<n.charges.data.length;i++)if(n.charges.data[i].channel===t.channel){n.id=n.charges.data[i].id;break}}else r.call(n,'object')&&'recharge'==n.object&&(n=n.charge);for(var l in this)r.call(n,l)&&(this[l]=n[l]);return this}a.innerCallback('fail',a.error('json_decode_fail'))}},clear:function(){for(var e in this)'function'!=typeof this[e]&&(this[e]=null)}}},{"./callbacks":1}],27:[function(e,n,t){n.exports={}},{}],28:[function(e,n,t){var a=e('./utils'),r={}.hasOwnProperty;n.exports={PINGPP_MOCK_URL:'http://sissi.pingxx.com/mock.php',runTestMode:function(e){var n={ch_id:e.id,scheme:'http',channel:e.channel};r.call(e,'order_no')?n.order_no=e.order_no:r.call(e,'orderNo')&&(n.order_no=e.orderNo),r.call(e,'time_expire')?n.time_expire=e.time_expire:r.call(e,'timeExpire')&&(n.time_expire=e.timeExpire),r.call(e,'extra')&&(n.extra=encodeURIComponent(JSON.stringify(e.extra))),a.redirectTo(this.PINGPP_MOCK_URL+'?'+a.stringifyData(n),e.channel)}}},{"./utils":29}],29:[function(e,n,t){var a=e('./callbacks'),r={}.hasOwnProperty,i=n.exports={stringifyData:function(e,n,t){void 0===t&&(t=!1);var a=[];for(var i in e)r.call(e,i)&&'function'!=typeof e[i]&&('bfb_wap'==n&&'url'==i||'yeepay_wap'==n&&'mode'==i||'channel_url'!=i&&a.push(i+'='+(t?encodeURIComponent(e[i]):e[i])));return a.join('&')},request:function(e,n,t,a,l,c){if('undefined'!=typeof XMLHttpRequest){var o=new XMLHttpRequest;if(void 0!==o.timeout&&(o.timeout=6e3),'GET'===(n=n.toUpperCase())&&'object'==typeof t&&t&&(e+='?'+i.stringifyData(t,'',!0)),o.open(n,e,!0),void 0!==c)for(var s in c)r.call(c,s)&&o.setRequestHeader(s,c[s]);'POST'===n?(o.setRequestHeader('Content-type','application/json; charset=utf-8'),o.send(JSON.stringify(t))):o.send(),void 0===a&&(a=function(){}),void 0===l&&(l=function(){}),o.onreadystatechange=function(){4==o.readyState&&a(o.responseText,o.status,o)},o.onerror=function(e){l(o,0,e)}}else console.log('Function XMLHttpRequest is undefined.')},formSubmit:function(e,n,t){if('undefined'!=typeof window){var a=document.createElement('form');a.setAttribute('method',n),a.setAttribute('action',e);for(var i in t)if(r.call(t,i)){var l=document.createElement('input');l.setAttribute('type','hidden'),l.setAttribute('name',i),l.setAttribute('value',t[i]),a.appendChild(l)}document.body.appendChild(a),a.submit()}else console.log('Not a browser, form submit url: '+e)},randomString:function(e){void 0===e&&(e=32);for(var n='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',t=n.length,a='',r=0;r<e;r++)a+=n.charAt(Math.floor(Math.random()*t));return a},redirectTo:function(e,n){a.shouldReturnUrlByCallback(n)?a.triggerUrlReturnCallback(null,e):'undefined'!=typeof window?window.location.href=e:console.log('Not a browser, redirect url: '+e)},inWeixin:function(){return'undefined'!=typeof navigator&&-1!==navigator.userAgent.toLowerCase().indexOf('micromessenger')},inAlipay:function(){return'undefined'!=typeof navigator&&-1!==navigator.userAgent.toLowerCase().indexOf('alipayclient')},documentReady:function(e){'undefined'!=typeof document?'loading'!=document.readyState?e():document.addEventListener('DOMContentLoaded',e):e()},loadUrlJs:function(e,n,t){var a=document.getElementsByTagName('head')[0],r=null;null==document.getElementById(e)?((r=document.createElement('script')).setAttribute('type','text/javascript'),r.setAttribute('src',n),r.setAttribute('id',e),r.async=!0,null!=t&&(r.onload=r.onreadystatechange=function(){if(r.ready)return!1;r.readyState&&'loaded'!=r.readyState&&'complete'!=r.readyState||(r.ready=!0,t())}),a.appendChild(r)):null!=t&&t()}}},{"./callbacks":1}],30:[function(e,n,t){n.exports={v:'2.2.1'}},{}]},{},[24])(24)});
//# sourceMappingURL=pingpp.js.map
const formatTime = date => {
const year = date.getFullYear()
const month = date.getMonth() + 1
const day = date.getDate()
const hour = date.getHours()
const minute = date.getMinutes()
const second = date.getSeconds()
return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}
const formatNumber = n => {
n = n.toString()
return n[1] ? n : '0' + n
}
module.exports = {
formatTime: formatTime
}
cb1ab2ae911a9670625565da9793c158
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册