当前位置: 首页 > news >正文

php网站开发框架搭建淄博网站制作营销

php网站开发框架搭建,淄博网站制作营销,wordpress raw,网站开发技术说明支付的时候一般需要几个参数#xff1a; ‘timeStamp’: 时间戳,‘nonceStr’: 随机字符串#xff0c;不超过32位‘package’: 下单后接口返回的prepauid‘signType’: 签名的算法‘paySign’: 后端会给前端一个签名sign: data.sign // 根据签名算法生成签名 template ‘timeStamp’: 时间戳,‘nonceStr’: 随机字符串不超过32位‘package’: 下单后接口返回的prepauid‘signType’: 签名的算法‘paySign’: 后端会给前端一个签名sign: data.sign // 根据签名算法生成签名 templateviewscroll-view scroll-yview classblock__title报修信息/viewview classcu-list menuview classcu-itemview classcontenttext classtext-grey工单号/text/viewview classactiontext classtext-grey text-sm{{repairId}}/text/view/viewview classcu-itemview classcontenttext classtext-grey报修类型/text/viewview classactiontext classtext-grey text-sm{{repairTypeName}}/text/view/viewview classcu-itemview classcontenttext classtext-grey报修位置/text/viewview classactiontext classtext-grey text-sm{{repairObjName}}/text/view/viewview classcu-itemview classcontenttext classtext-grey报修人/text/viewview classactiontext classtext-grey text-sm{{repairName}}/text/view/viewview classcu-itemview classcontenttext classtext-grey报修内容/text/viewview classactiontext classtext-grey text-sm{{remark}}/text/view/view/viewview classblock__title费用信息/viewview classcu-list menu fee-lastview classcu-itemview classcontenttext classtext-grey费用编号/text/viewview classactiontext classtext-grey text-sm{{feeInfo.feeId }}/text/view/viewview classcu-itemview classcontenttext classtext-grey金额/text/viewview classactiontext classtext-grey text-sm{{feeInfo.amount 元 }}/text/view/view/view/scroll-viewview class bg-white border flex justify-end styleposition: fixed;width: 100%;bottom: 0;view classaction text-orange margin-right line-height合计{{feeInfo.amount}}元/viewview classbtn-group!-- #ifdef H5 || MP-WEIXIN --button classcu-btn bg-red shadow-blur lgplus sharp clickonPayFee()提交订单/button!-- #endif --!-- #ifdef APP-PLUS --button classcu-btn bg-red shadow-blur lgplus sharp click_payWxApp()提交订单/button!-- #endif --/view/view/view/view /templatescriptimport {date2String} from ../../lib/java110/utils/DateUtil.jsimport context from ../../lib/java110/Java110Context.js;const constant context.constant;const util context.util;// #ifdef H5const WexinPayFactory require(../../factory/WexinPayFactory.js);// #endifexport default {data() {return {communityId: ,communityName: ,repairId:,appId: ,repairInfo:{},feeInfo:{},userId:,payerObjId: ,payerObjType: 3333,endTime: ,repairTypeName: ,repairObjName: ,repairName: ,remark: ,};},/*** 生命周期函数--监听页面加载*/onLoad: function(options) {context.onLoad(options);// #ifdef MP-WEIXINlet accountInfo uni.getAccountInfoSync();this.appId accountInfo.miniProgram.appId;// #endif// #ifdef H5this.appId uni.getStorageSync(constant.mapping.W_APP_ID)// #endifthis.communityId options.communityId;this.repairId options.repairId;this.userId options.userId;this.payerObjId options.repairObjId;this.endTime date2String(new Date(options.appointmentTime.replace(/-/g, /)));this.repairTypeName options.repairTypeName;this.repairObjName options.repairObjName;this.repairName options.repairName;this.remark options.contextthis._loadRepair();this._listFee();},methods: {/*** 加载我的报修* */_listFee: function() {let that this;let _url ;_url constant.url.listFeeByAttr;let _paramIn {communityId: that.communityId,page: 1,row: 1,specCd: 390001,value: that.repairId};context.request({url: _url,header: context.getHeaders(),method: GET,data: _paramIn,success: function(res) {let _json res.data;if (_json.code 0) {that.feeInfo _json.data[0];return;}wx.showToast({title: 查询费用失败,icon: none,duration: 2000});},fail: function(e) {wx.showToast({title: 服务器异常了,icon: none,duration: 2000})}})},_loadRepair: function() {let that this;let _url ;_url constant.url.listStaffFinishRepairs;let _paramIn {communityId: that.communityId,page: 1,row: 1,userId: that.userId,repairId: that.repairId};context.request({url: _url,header: context.getHeaders(),method: GET,data: _paramIn,success: function(res) {let _json res.data;if (_json.code 0) {that.repairInfo _json.data[0];return;}wx.showToast({title: 查询报修单失败,icon: none,duration: 2000});},fail: function(e) {wx.showToast({title: 服务器异常了,icon: none,duration: 2000})}})},_payWxApp: function(_data) {wx.showLoading({title: 支付中});let _tradeType APP;let _objData {cycles: 1,communityId: this.communityId,feeId: this.feeInfo.feeId,feeName: 报修费,receivedAmount: this.feeInfo.feePrice,tradeType: _tradeType,appId: this.appId};context.request({url: constant.url.preOrder,header: context.getHeaders(),method: POST,data: _objData,//动态数据success: function(res) {if (res.statusCode 200 res.data.code 0) {let data res.data; //成功情况下跳转let obj {appid: data.appId,noncestr: data.nonceStr,package: SignWXPay, // 固定值以微信支付文档为主partnerid: data.partnerid,prepayid: data.prepayid,timestamp: data.timeStamp,sign: data.sign // 根据签名算法生成签名}// 第二种写法传对象字符串let orderInfo JSON.stringify(obj)uni.requestPayment({provider: wxpay,orderInfo: orderInfo, //微信、支付宝订单数据success: function(res) {uni.showToast({title: 支付成功,duration: 2000});uni.navigateBack({});},fail: function(err) {console.log(fail: JSON.stringify(err));}});wx.hideLoading();return;}wx.hideLoading();wx.showToast({title: 缴费失败,icon: none,duration: 2000});},fail: function(e) {wx.hideLoading();wx.showToast({title: 服务器异常了,icon: none,duration: 2000});}});},onPayFee: function() {wx.showLoading({title: 支付中});let _tradeType JSAPI;let _objData {cycles: 1,communityId: this.communityId,feeId: this.feeInfo.feeId,feeName: 报修费,receivedAmount: this.feeInfo.feePrice,tradeType: _tradeType,appId: this.appId,endTime: this.endTime,payerObjId: this.payerObjId,payerObjType: this.payerObjType};context.request({url: constant.url.preOrder,header: context.getHeaders(),method: POST,data: _objData,//动态数据success: function(res) {if (res.statusCode 200 res.data.code 0) {let data res.data; //成功情况下跳转// #ifdef MP-WEIXINuni.requestPayment({timeStamp: data.timeStamp,nonceStr: data.nonceStr,package: data.package,signType: data.signType,paySign: data.sign,success: function(res) {uni.showToast({title: 支付成功,duration: 2000});uni.navigateBack({});},fail: function(res) {console.log(fail: JSON.stringify(res));}});// #endif// #ifdef H5WexinPayFactory.wexinPay(data,function(){uni.showToast({title: 支付成功,duration: 2000});uni.navigateBack({});});// #endifwx.hideLoading();return;}wx.hideLoading();wx.showToast({title: 缴费失败,icon: none,duration: 2000});},fail: function(e) {wx.hideLoading();wx.showToast({title: 服务器异常了,icon: none,duration: 2000});}});}}}; /script style.ppf_item{padding: 0rpx 0rpx 0rpx 0rpx;}.block__title {margin: 0;font-weight: 400;font-size: 14px;color: rgba(69,90,100,.6);padding: 40rpx 30rpx 20rpx;}.button_up_blank{height: 40rpx;}.block__bottom{height: 180rpx;}.fee-last {margin-bottom: 200upx;}.cu-btn.lgplus {padding: 0 20px;font-size: 18px;height: 100upx;}.cu-btn.sharp {border-radius: 0upx;}.line-height {line-height: 100upx;} /styleimport sheep from /sheep; // #ifdef H5 import $wxsdk from /sheep/libs/sdk-h5-weixin; // #endif import { getRootUrl } from /sheep/helper; import PayOrderApi from /sheep/api/pay/order;/*** 支付** param {String} payment [wechat,alipay,wallet,mock] - 支付方式* param {String} orderType [goods,recharge,groupon] - 订单类型* param {String} id - 订单号*/export default class SheepPay {constructor(payment, orderType, id) {this.payment payment;this.id id;this.orderType orderType;this.payAction();}payAction() {const payAction {WechatOfficialAccount: {wechat: () {this.wechatOfficialAccountPay();},alipay: () {this.redirectPay(); // 现在公众号可以直接跳转支付宝页面},wallet: () {this.walletPay();},mock: () {this.mockPay();}},WechatMiniProgram: {wechat: () {this.wechatMiniProgramPay();},alipay: () {this.copyPayLink();},wallet: () {this.walletPay();},mock: () {this.mockPay();}},App: {wechat: () {this.wechatAppPay();},alipay: () {this.alipay();},wallet: () {this.walletPay();},mock: () {this.mockPay();}},H5: {wechat: () {this.wechatWapPay();},alipay: () {this.redirectPay();},wallet: () {this.walletPay();},mock: () {this.mockPay();}},};return payAction[sheep.$platform.name][this.payment]();}// 预支付prepay(channel) {return new Promise(async (resolve, reject) {let data {id: this.id,channelCode: channel,channelExtras: {}};// 特殊逻辑微信公众号、小程序支付时必须传入 openidif ([wx_pub, wx_lite].includes(channel)) {const openid await sheep.$platform.useProvider(wechat).getOpenid();// 如果获取不到 openid微信无法发起支付此时需要引导if (!openid) {this.bindWeixin();return;}data.channelExtras.openid openid;}// 发起预支付 API 调用PayOrderApi.submitOrder(data).then((res) {// 成功时res.code 0 resolve(res);// 失败时if (res.code ! 0 res.msg.indexOf(无效的openid) 0) {// 特殊逻辑微信公众号、小程序支付时必须传入 openid 不正确的情况if (res.msg.indexOf(无效的openid) 0 // 获取的 openid 不正确时或者随便输入了个 openid|| res.msg.indexOf(下单账号与支付账号不一致) 0) { // https://developers.weixin.qq.com/community/develop/doc/00008c53c347804beec82aed051c00this.bindWeixin();}}});});}// #ifdef H5// 微信公众号 JSSDK 支付async wechatOfficialAccountPay() {let { code, data } await this.prepay(wx_pub);if (code ! 0) {return;}const payConfig JSON.parse(data.displayContent);$wxsdk.wxpay(payConfig, {success: () {this.payResult(success);},cancel: () {sheep.$helper.toast(支付已手动取消);},fail: (error) {if (error.errMsg.indexOf(chooseWXPay:没有此SDK或暂不支持此SDK模拟) 0) {sheep.$helper.toast(发起微信支付失败原因可能是微信开发者工具不支持建议使用微信打开网页后支付);return}this.payResult(fail);},});}// 浏览器微信 H5 支付 TODO 芋艿待接入async wechatWapPay() {const { error, data } await this.prepay();if (error 0) {const redirect_url ${getRootUrl()}pages/pay/result?id${this.id}payment${this.payment}orderType${this.orderType};location.href ${data.pay_data.h5_url}redirect_url${encodeURIComponent(redirect_url)};}}// 支付链接 TODO 芋艿待接入async redirectPay() {let { error, data } await this.prepay();if (error 0) {const redirect_url ${getRootUrl()}pages/pay/result?id${this.id}payment${this.payment}orderType${this.orderType};location.href data.pay_data encodeURIComponent(redirect_url);}}// #endif// 微信小程序支付async wechatMiniProgramPay() {// let that this;let { code, data } await this.prepay(wx_lite);if (code ! 0) {return;}// 调用微信小程序支付const payConfig JSON.parse(data.displayContent);uni.requestPayment({provider: wxpay,timeStamp: payConfig.timeStamp,nonceStr: payConfig.nonceStr,package: payConfig.packageValue,signType: payConfig.signType,paySign: payConfig.paySign,success: (res) {this.payResult(success);},fail: (err) {if (err.errMsg requestPayment:fail cancel) {sheep.$helper.toast(支付已手动取消);} else {this.payResult(fail);}},});}// 余额支付async walletPay() {const { code } await this.prepay(wallet);code 0 this.payResult(success);}// 模拟支付async mockPay() {const { code } await this.prepay(mock);code 0 this.payResult(success);}// 支付宝复制链接支付 TODO 芋艿待接入async copyPayLink() {let that this;let { error, data } await this.prepay();if (error 0) {// 引入showModal 点击确认 复制链接uni.showModal({title: 支付宝支付,content: 复制链接到外部浏览器,confirmText: 复制链接,success: (res) {if (res.confirm) {sheep.$helper.copyText(data.pay_data);}},});}}// 支付宝支付 TODO 芋艿待接入async alipay() {let that this;const { error, data } await this.prepay();if (error 0) {uni.requestPayment({provider: alipay,orderInfo: data.pay_data, //支付宝订单数据success: (res) {that.payResult(success);},fail: (err) {if (err.errMsg requestPayment:fail [paymentAlipay:62001]user cancel) {sheep.$helper.toast(支付已手动取消);} else {that.payResult(fail);}},});}}// 微信支付 TODO 芋艿待接入async wechatAppPay() {let that this;let { error, data } await this.prepay();if (error 0) {uni.requestPayment({provider: wxpay,orderInfo: data.pay_data, //微信订单数据(官方说是string。实测为object)success: (res) {that.payResult(success);},fail: (err) {err.errMsg ! requestPayment:fail cancel that.payResult(fail);},});}}// 支付结果跳转,success:成功fail:失败payResult(resultType) {sheep.$router.redirect(/pages/pay/result, {id: this.id,orderType: this.orderType,payState: resultType});}// 引导绑定微信bindWeixin() {uni.showModal({title: 微信支付,content: 请先绑定微信再使用微信支付,success: function (res) {if (res.confirm) {sheep.$platform.useProvider(wechat).bind();}},});}}export function getPayMethods(channels) {const payMethods [{icon: /static/img/shop/pay/wechat.png,title: 微信支付,value: wechat,disabled: true,},{icon: /static/img/shop/pay/alipay.png,title: 支付宝支付,value: alipay,disabled: true,},{icon: /static/img/shop/pay/wallet.png,title: 余额支付,value: wallet,disabled: true,},{icon: /static/img/shop/pay/apple.png,title: Apple Pay,value: apple,disabled: true,},{icon: /static/img/shop/pay/wallet.png,title: 模拟支付,value: mock,disabled: true,}];const platform sheep.$platform.name// 1. 处理【微信支付】const wechatMethod payMethods[0];if ((platform WechatOfficialAccount channels.includes(wx_pub))|| (platform WechatMiniProgram channels.includes(wx_lite))|| (platform App channels.includes(wx_app))) {wechatMethod.disabled false;}wechatMethod.disabled false; // TODO 芋艿临时测试// 2. 处理【支付宝支付】const alipayMethod payMethods[1];if ((platform WechatOfficialAccount channels.includes(alipay_wap))|| platform WechatMiniProgram channels.includes(alipay_wap)|| platform App channels.includes(alipay_app)) {alipayMethod.disabled false;}// 3. 处理【余额支付】const walletMethod payMethods[2];if (channels.includes(wallet)) {walletMethod.disabled false;}// 4. 处理【苹果支付】TODO 芋艿未来接入// 5. 处理【模拟支付】const mockMethod payMethods[4];if (channels.includes(mock)) {mockMethod.disabled false;}return payMethods; }
http://www.dnsts.com.cn/news/44626.html

相关文章:

  • 种子网站开发app开发用到的技术
  • 怎么在网上做装修网站网站 橙色
  • 铭誉摄影网站建站公司的工作流程
  • 微信微博网站建设鱼馆网站的前期策划
  • 简约手机网站源码上海专业网站建设公
  • 网站后台页面模板下载办公室装修费计入什么费用
  • ps 如何做网站大学生活动网站开发文案
  • 加微信群网站怎么做的北京网站开发服务商
  • html5商城网站开发个人网站做哪些内容
  • 做淘客网站用备案wordpress 随机图片
  • 两学一做学习网站做一手房用什么网站
  • 淘宝客的api怎么做网站uc极速版福利一天能赚多少钱
  • wordpress字体修改网站优化有哪些
  • 金华网站建设哪里好个人备案网站可以做论坛吗
  • 网站备案服务深圳数据中心建设公司
  • 网站做效果图流程江苏建设人才是官方网站
  • 做网站简单吗课程开发公司
  • 学校做网站方案怎么不花钱建立网站
  • 贵阳网站方舟网络太原网站建设费用
  • 专业网站建设定制公司哪家好自己做网站需要做服务器
  • 网站互动化合肥网站建设怎么做
  • 织梦网站案例国家高新技术企业申请
  • 好看的网站设计html5 网站搭建
  • 网站建设方案封面网站设置flash插件
  • 南山建网站wordpress什么意思
  • WordPress自定义js优化网络
  • 导购网站的seo怎么做wordpress侧边栏怎么加php代码
  • 网站建设公司如何拓宽业务树莓派运行wordpress
  • 移动做网站吗互联网广告平台有哪些
  • 查看网站访问量线上平台推广是做什么的