Commit 3ac18b99 authored by 不吃草的咩's avatar 不吃草的咩

微信支付,,,

parent 83582146
......@@ -14,7 +14,7 @@ export const colorUISdk = new ColorUISdk({
dev: {
// url: 'http://101.42.222.235:8050/'
// url:'http://jbzhang.censoft.com.cn/'
url: 'http://192.168.15.249:8010/'
url: 'http://192.168.14.79:8010/'
},
//本地环境
host: {
......
//图片上传请求
const requestImg = (promise, loading = false, config) => {
return new Promise( (resolve, reject) => {
console.log( config.api[config.env].url + promise.url);
console.log(config.api.filePath);
console.log(promise.filePath);
if (['produce','dev','host'].includes(config.env)) {
if (loading) {
wx.showLoading({
......@@ -11,7 +8,6 @@ const requestImg = (promise, loading = false, config) => {
mask: true
})
}
wx.uploadFile({
url: config.api[config.env].url + promise.url,
header: promise.header || config.api.header,
......
......@@ -2,5 +2,18 @@
<ui-navbar backtext="返回" isCenter>
<text slot="center">{{jgTitle}}</text>
</ui-navbar>
<view class="box">
<view class="title"><text>中国通信企业协会介绍</text></view>
<view class="detail"><text>公司简介</text></view>
<view class="wen"><text> 中国通信企业协会是经民政部核准注册登记,由信息通信行业基础运营、信息服务、设备制造、工程建设、网络运维、网络安全等通信产业相关的企业、事业单位和个人自愿组成的全国性、行业性、非营利的社团组织。成立于1990年12月,原名中国邮电企业管理协会,2001年5月更名为中国通信企业协会(简称中国通信企协)。中国通信企业协会理事会由全国有关通信部门的领导、企业家、专家和学者组成,现有副会长21名,常务理事71名,理事228名。
  协会团体会员单位1100余家。会员单位中,基础运营企业约占17%,设备制造企业约占3%,通信工程建设企业约占15%,通信网络运维企业约占30%,增值服务企业约占13%,虚拟运营企业约占4%,网络安全企业约占9%,光电缆企业约占5%,其他约占4%。
</text></view>
<view class="detail"><text>业务范围</text></view>
<view class="wen"><text> 中国通信企业协会部分职能,根据国家有关通信和信息化发展的政策和要求,结合通信发展实际,研究分析通信相关行业发展状况和趋势,总结和探索通信行业经营、管理、改革、服务和发展的新经验、新思路、新途径,为政府主管部门和企业提供建议和参考。
  研究制订通信行业团体标准等相关行业标准,并组织宣贯,经政府部门批准或委托,积极稳妥地开展相关领域能力水平评定。
通信行业、企业咨询服务。承接企业委托课题研究,以及调查、评估、管理咨询;举办通信发展论坛、研讨会,组织对通信业发展的研究分析;为企业提供通信质量、先进技术型企业评估、知识产权运用标杆、中国驰名商标等相关咨询服务。
  推动通信企业改善产品质量,提高服务水平,维护消费者的合法权益。根据政府授权,承担通信服务质量有关工作。
  组织开展通信行业技术、业务、管理、法规等培训工作。
</text></view>
</view>
</ui-sys>
/* pages/qyDetail/qyDetail.wxss */
.box{
width: 98%;
margin: 0 auto;
background-color: #ffffff;
box-sizing: border-box;
padding: 10rpx;
}
.box .title {
width: 100%;
height: 80rpx;
line-height: 80rpx;
text-align: center;
}
.box .title text{
font-size: 32rpx;
font-weight: bold;
/* color: ; */
}
.box .detail {
width: 100%;
text-align: center;
}
.box .detail text{
font-size: 28rpx;
font-weight: bold;
/* color: ; */
}
.wen{
font-size: 26rpx;
line-height: 2;
text-indent: 2em;
box-sizing: border-box;
padding: 16rpx 0;
}
\ No newline at end of file
......@@ -19,6 +19,7 @@ Page({
isShowZige:false,
isShowPeixun:false,
fromDate:{
id:'',
username:'', //姓名
gender:'', //性别
card:'', //身份证号
......@@ -153,43 +154,43 @@ Page({
},
nextCard(){
//bug问题 重新赋值
// this.setData({
// ["fromDate.username"]:this.data.username,
// ["fromDate.card"]:this.data.card,
// ["fromDate.phone"]:this.data.phone,
// ["fromDate.company"]:this.data.company,
// ["fromDate.beizhu"]:this.data.beizhu
// });
// let params = this.data.fromDate;
// let gender = '';
// if(params.gender !== ''){
// gender = this.data.fromDate.gender == 0 ? '男' :'女'
// }
// let reg = /^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\d|30|31)\d{3}[\dXx]$/;
// let phonereg = /^(?:(?:\+|00)86)?1\d{10}$/
// if(params.username == ''){
// Toast('姓名不能为空');
// return;
// }else if(gender == ''){
// Toast('请选择您的性别');
// return;
// }else if(!(reg.test(params.card))){
// Toast('身份证号不正确');
// return;
// }else if(!(phonereg.test(params.phone))){
// Toast('手机号格式不正确');
// return;
// }else if(params.homework == ''){
// Toast('请选择作业类别');
// return;
// }else if(params.zige == ''){
// Toast('请选择资格类型');
// return;
// }else if(params.peixun == ''){
// Toast('请选择培训类型');
// return;
// }
// app.information = this.data.fromDate;
this.setData({
["fromDate.username"]:this.data.username,
["fromDate.card"]:this.data.card,
["fromDate.phone"]:this.data.phone,
["fromDate.company"]:this.data.company,
["fromDate.beizhu"]:this.data.beizhu
});
let params = this.data.fromDate;
let gender = '';
if(params.gender !== ''){
gender = this.data.fromDate.gender == 0 ? '' :''
}
let reg = /^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\d|30|31)\d{3}[\dXx]$/;
let phonereg = /^(?:(?:\+|00)86)?1\d{10}$/
if(params.username == ''){
Toast('姓名不能为空');
return;
}else if(gender == ''){
Toast('请选择您的性别');
return;
}else if(!(reg.test(params.card))){
Toast('身份证号不正确');
return;
}else if(!(phonereg.test(params.phone))){
Toast('手机号格式不正确');
return;
}else if(params.homework == ''){
Toast('请选择作业类别');
return;
}else if(params.zige == ''){
Toast('请选择资格类型');
return;
}else if(params.peixun == ''){
Toast('请选择培训类型');
return;
}
app.information = this.data.fromDate;
wx.navigateTo({
url: '/pages/uploadcard/uploadcard',
})
......@@ -202,10 +203,12 @@ Page({
// if(options.price == null || options.price == undefined){
// price =
// }
let phone = app.phone == '' ? wx.getStorageSync('phone') : app.phone
this.setData({
["fromDate.price"]:options.price,
phone:app.phone,
["fromDate.phone"]:app.phone,
phone:phone,
["fromDate.phone"]:phone,
["fromDate.id"]:options.id
});
//获取课程类型,动态生成列表
app.colorUISdk.request({
......@@ -256,14 +259,24 @@ Page({
["popup.studyText"]:app.information.studyhigh == '' ? '点击选择文化程度' : app.information.studyhigh,
["popup.homeworkText"]:app.information.homework == '' ? '点击选择作业类别':app.information.homework,
["popup.zigeTypeText"]:app.information.zige == '' ? '点击选择资格类型' : app.information.zige,
["popup.peixunTypeText"]:app.information.peixun == '' ? '点击选择培训类型' : app.information.peixun
["popup.peixunTypeText"]:app.information.peixun == '' ? '点击选择培训类型' : app.information.peixun,
["fromDate.price"]:app.information.price,
});
}
},
onClickLeft(){
let pages = getCurrentPages();
let prevPage = pages[pages.length - 2];
if(prevPage.route == "pages/uploadcard/uploadcard"){
wx.navigateBack({
delta: 3,
})
}else{
wx.navigateBack({
delta: 1,
})
}
},
/**
......
......@@ -130,7 +130,9 @@ Page({
if (data.errcode == 0) {
// let random = this.randomWord(false, 43);
// let random = Math.random().toString(36).substr(2);
app.phone = data.phone_info.phoneNumber;
app.phone = data.phone_info.phoneNumber; //双保险
wx.setStorageSync('phone', data.phone_info.phoneNumber);
Toast.success('登录成功');
this.setData({
isLogin:false,
......
......@@ -103,7 +103,6 @@ Page({
},
payOrder(){
var openid = wx.getStorageSync('openid');
app.colorUISdk.request({
url: `wx/pay_one?openid=${openid}`,
method: 'POST'
......
......@@ -7,198 +7,375 @@ Page({
* 页面的初始数据
*/
data: {
fileList:{
positive:[], //正面照
emblem:[], //国徽面
face:[], //上半身人脸
diploma:[] //毕业证
fileList: {
positive: [], //正面照
emblem: [], //国徽面
face: [], //上半身人脸
diploma: [] //毕业证
},
},
onClickLeft(){
onClickLeft() {
wx.navigateTo({
url: '/pages/document/subsign/subsign',
})
},
beforeRead(event){
const { file, callback } = event.detail;
beforeRead(event) {
const {
file,
callback
} = event.detail;
let imageType = file.url.split('.');
if((imageType[imageType.length-1] !== 'jpg') && (imageType[imageType.length-1] !== 'jpeg') && (imageType[imageType.length-1] !== 'png')){
if ((imageType[imageType.length - 1] !== 'jpg') && (imageType[imageType.length - 1] !== 'jpeg') && (imageType[imageType.length - 1] !== 'png')) {
Toast.fail({
message: '上传失败,请上传图片',
forbidClick: true,
});
callback(false);
}else if(file.size > 1000000){
} else if (file.size > 1000000) {
Toast.fail({
message: '图片大小超过限制,请重新上传',
forbidClick: true,
});
callback(false);
}else{
} else {
callback(true);
};
},
//身份证正面照
afterReadPositive(event){
const { file } = event.detail;
afterReadPositive(event) {
const {
file
} = event.detail;
// 当设置 mutiple 为 true 时, file 为数组格式,否则为对象格式
app.colorUISdk.requestImg({
url:'infostudent/common/upload',
url: 'infostudent/common/upload',
method: 'POST',
filePath:file.url,
header:{
filePath: file.url,
header: {
"Content-Type": "multipart/form-data",
},
formData:{
formData: {
file,
filePath:"D:/uploadFile/img"
filePath: "D:/uploadFile/img"
}
}).then((res)=>{
}).then((res) => {
let result = JSON.parse(res);
if(result.code == 0){
const { positive= [] } = this.data.fileList;
positive.push({ ...file, url: res.result });
this.setData({["fileList.positive"]:positive});
}else{
if (result.code == 0) {
const {
positive = []
} = this.data.fileList;
positive.push({
...file,
url: res.result,
path: result.path
});
this.setData({
["fileList.positive"]: positive
});
} else {
Toast.fail('上传失败');
}
})
},
deleteImgPositive(file) {
this.setData({["fileList.positive"]:[]});
this.setData({
["fileList.positive"]: []
});
},
//身份证反面照
afterReadEmblem(event){
const { file } = event.detail;
afterReadEmblem(event) {
const {
file
} = event.detail;
app.colorUISdk.requestImg({
url:'infostudent/common/upload',
url: 'infostudent/common/upload',
method: 'POST',
filePath:file.url,
header:{
filePath: file.url,
header: {
"Content-Type": "multipart/form-data",
},
formData:{
formData: {
file,
filePath:"D:/uploadFile/img"
filePath: "D:/uploadFile/img"
}
}).then((res)=>{
}).then((res) => {
let result = JSON.parse(res);
if(result.code == 0){
const { emblem= [] } = this.data.fileList;
emblem.push({ ...file, url: res.result });
this.setData({["fileList.emblem"]:emblem});
}else{
if (result.code == 0) {
const {
emblem = []
} = this.data.fileList;
emblem.push({
...file,
url: res.result,
path: result.path
});
this.setData({
["fileList.emblem"]: emblem
});
} else {
Toast.fail('上传失败');
}
})
},
deleteImgEmblem(file) {
this.setData({["fileList.emblem"]:[]});
this.setData({
["fileList.emblem"]: []
});
},
//上半身照片
afterReadFace(event){
const { file } = event.detail;
afterReadFace(event) {
const {
file
} = event.detail;
app.colorUISdk.requestImg({
url:'infostudent/common/upload',
url: 'infostudent/common/upload',
method: 'POST',
filePath:file.url,
header:{
filePath: file.url,
header: {
"Content-Type": "multipart/form-data",
},
formData:{
formData: {
file,
filePath:"D:/uploadFile/img"
filePath: "D:/uploadFile/img"
}
}).then((res)=>{
}).then((res) => {
let result = JSON.parse(res);
if(result.code == 0){
const { face = [] } = this.data.fileList;
face.push({ ...file, url: res.result });
this.setData({["fileList.face"]:face});
}else{
if (result.code == 0) {
const {
face = []
} = this.data.fileList;
face.push({
...file,
url: res.result,
path: result.path
});
this.setData({
["fileList.face"]: face
});
} else {
Toast.fail('上传失败');
}
})
},
deleteImgReadFace(file) {
this.setData({["fileList.face"]:[]});
this.setData({
["fileList.face"]: []
});
},
//毕业证书
afterRead(event) {
const { file } = event.detail;
const {
file
} = event.detail;
app.colorUISdk.requestImg({
url:'infostudent/common/upload',
url: 'infostudent/common/upload',
method: 'POST',
filePath:file.url,
header:{
filePath: file.url,
header: {
"Content-Type": "multipart/form-data",
},
formData:{
formData: {
file,
filePath:"D:/uploadFile/img"
filePath: "D:/uploadFile/img"
}
}).then((res)=>{
}).then((res) => {
let result = JSON.parse(res);
if(result.code == 0){
const { diploma = [] } = this.data.fileList;
diploma.push({ ...file, url: res.result });
this.setData({["fileList.diploma"]:diploma});
}else{
if (result.code == 0) {
const {
diploma = []
} = this.data.fileList;
diploma.push({
...file,
url: res.result,
path: result.path
});
this.setData({
["fileList.diploma"]: diploma
});
} else {
Toast.fail('上传失败');
}
})
},
deleteImgRead(file) {
this.setData({["fileList.diploma"]:[]});
this.setData({
["fileList.diploma"]: []
});
},
sendMeans(){
sendMeans() {
if(this.data.fileList.positive.length == 0){
Toast.fail("请上传身份证正面照");
return;
};
// if(this.data.fileList.emblem.length == 0){
// Toast.fail("请上传身份证反面照");
// return;
// };
// if(this.data.fileList.face.length == 0){
// Toast.fail("请上传上半身照");
// return;
// };
// if(this.data.fileList.diploma.length == 0){
// Toast.fail("请上传毕业证书或户口本现实学历");
// return;
// };
const toast = Toast.loading({
message: '订单生成中,请稍候。。。',
forbidClick: true,
loadingType: 'spinner',
});
app.colorUISdk.request({
url:`wx/gt?code=${e.detail.code}`, //上传课程价格接口
method: 'POST',
data:{
price:price,
courseName:''
url: "infostudent/studentSave",
data: {
courseId: app.information.id, //课程id
name: app.information.username, //学生姓名
sex: app.information.gender, //性别
card: app.information.card,
education: app.information.studyhigh, //文化程度
phone: app.information.phone,
company: app.information.company,
jobCategory: app.information.homework, //作业类别
qualificationsType: app.information.zige,
trainType: app.information.peixun,
remark: app.information.beizhu,
sfzzmimgUrl: this.data.fileList.positive[0].path,
// sfzbmimgUrl:this.data.fileList.emblem[0].path,
// sbsimgUrl:this.data.fileList.face[0].path,
// byzimgUrl:this.data.fileList.diploma[0].path
}
}).then(({data})=> {
//创建订单成功,返回给我一些必要参数,然后调起微信支付
}).then((res) => {
console.log(res)
if (res.code == 0) {
Toast.clear();
//唤起微信支付
let time = (new Date().getTime().toString()).substring(0,10)
let openid = wx.getStorageSync('openid');
let studentId = res.studentId;
app.colorUISdk.request({
url: `wx/pay_one?openid=${openid}&price=${parseFloat(parseInt(app.information.price * 100) / 100) }&studentId=${res.studentId}`,
//&phone=${app.information.phone}&price=${parseInt(app.information.price * 100)}&courseId=${app.information.id}
method: 'POST'
}).then(({
prepay_info,
sign_info
}) => {
console.log(prepay_info);
console.log(sign_info);
if (prepay_info !== undefined && sign_info !== undefined) {
wx.requestPayment({
appId:'wx95ac219beca2f34f',
timeStamp:time,
nonceStr:this.randomWord(true,parseInt((Math.random() * 20)),parseInt((Math.random() * 30))), //生成长度为20~30的随机字符串
package:'prepay_id=wx201410272009395522657a690389285100', //等待回传结果
signType:"RSA",
paySign:'', //后台加密计算好给我
fail:function(){
Toast.fail('您已取消支付')
"timeStamp": sign_info.timeStamp,
"nonceStr": sign_info.nonceStr,
"package": sign_info.package,
"signType": "RSA",
"paySign": sign_info.paySign,
"success": function (res) {
app.colorUISdk.request({
url: "wx/pay_success",
method:"POST",
}).then((data)=>{
if(data && data.code == 0){
Toast.success("支付成功");
setTimeout(()=>{
wx.switchTab({
url: '/pages/home/home',
})
},1000)
}else{
Toast.fail("服务异常");
}
})
},
"fail": function (res) {
//删除前一个
app.colorUISdk.request({
url: "infostudent/delete",
data: {
ids:studentId
}
}).then((data) => {
if (data && data.code === 0) {
Toast.fail({
message: '支付失败'
});
} else {
Toast.fail({
message: data.message
});
};
console.log(data);
})
},
// "complete":function(res){
// console.log(res);
// }
})
} else {
//删除前一个
app.colorUISdk.request({
url: "infostudent/delete",
data: {
ids:studentId
}
}).then((data) => {
if (data && data.code === 0) {
Toast.fail('生成订单失败,请稍候再试');
} else {
Toast.fail({
message: data.message
});
};
})
if(data.errcode == 0){
let random = this.randomWord(false, 43);
}
this.setData({courseData: res.data.records})
}).catch(err=>{
}).catch(err => {
console.log(err)
})
}
}).catch((err) => {
Toast('请求失败');
console.log(err);
})
// app.colorUISdk.request({
// url:`wx/gt?code=${e.detail.code}`, //上传课程价格接口
// method: 'POST',
// data:{
// price:price,
// courseName:''
// }
// }).then(({data})=> {
// //创建订单成功,返回给我一些必要参数,然后调起微信支付
// Toast.clear();
// //唤起微信支付
// let time = (new Date().getTime().toString()).substring(0,10)
// wx.requestPayment({
// appId:'wx95ac219beca2f34f',
// timeStamp:time,
// nonceStr:this.randomWord(true,parseInt((Math.random() * 20)),parseInt((Math.random() * 30))), //生成长度为20~30的随机字符串
// package:'prepay_id=wx201410272009395522657a690389285100', //等待回传结果
// signType:"RSA",
// paySign:'', //后台加密计算好给我
// fail:function(){
// Toast.fail('您已取消支付')
// },
// })
// if(data.errcode == 0){
// let random = this.randomWord(false, 43);
// }
// this.setData({courseData: res.data.records})
// }).catch(err=>{
// console.log(err)
// })
},
randomWord(randomFlag, min, max){
randomWord(randomFlag, min, max) {
let str = "",
range = min,
arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'];
// 随机产生
if(randomFlag){
range = Math.round(Math.random() * (max-min)) + min;
if (randomFlag) {
range = Math.round(Math.random() * (max - min)) + min;
}
for(var i=0; i<range; i++){
let pos = Math.round(Math.random() * (arr.length-1));
for (var i = 0; i < range; i++) {
let pos = Math.round(Math.random() * (arr.length - 1));
str += arr[pos];
}
return str;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment