feat: 合同签署

This commit is contained in:
2025-08-12 20:03:50 +08:00
parent cd8ecd0a48
commit a41db76b4b
3 changed files with 36 additions and 32 deletions
+10 -8
View File
@@ -75,14 +75,6 @@ export function isSignContract() {
});
}
// 获取H5签署链接
export function getSignUrl(data) {
return request({
url: "/signature/createFlowSignUrl",
method: "post",
data,
});
}
// 发起合同签章
export function signContract(data) {
@@ -93,6 +85,16 @@ export function signContract(data) {
});
}
// 获取H5签署链接
export function getSignUrl(data) {
return request({
url: "/signature/createFlowSignUrl",
method: "post",
data,
});
}
// 获取跳转至腾讯电子签小程序的签署链接
export function getMiniProgramSignUrl(data) {
return request({
+24 -23
View File
@@ -77,7 +77,8 @@
<view class="operate_comm operate_but_2" v-if="!isCheckSigne && item.status === ORDER_TYPE.NOT_RECEIVE"
@click="onSignContract(item)">去签署
</view>
<view v-if="isCheckSigne && item.status === ORDER_TYPE.NOT_RECEIVE" @click="confirmReceiptOk(item)">确认收货
<view class="operate_comm operate_but_2" v-if="isCheckSigne && item.status === ORDER_TYPE.NOT_RECEIVE"
@click="confirmReceiptOk(item)">确认收货
</view>
<!-- <view class="operate_comm operate_but_3" v-if="item.status === ORDER_TYPE.UNSHIPPED">提醒发货</view> -->
<view class="operate_comm operate_but_1"
@@ -442,24 +443,36 @@ export default {
const params = {
// 需要的参数
orderId: item.id,
// orderId: 'yDt4ZUUckp9j355lUEEr2XwS6QZTaLFb'
}
const { bizcode, data } = await signContract(params);
if (bizcode === 100) {
this.flowId = item.flowId
this.flowId = data.flowId;
if (this.flowId)
// #ifdef APP-PLUS || WEB
this.onGetSignUrl(this.flowId);
// #endif
// #ifdef MP-WEIXIN
// 小程序
this.onGetMiniProgramSignUrl(this.flowId)
// #endif
}
},
// 获取H5签署链接
async onGetSignUrl(flowId) {
console.log("获取H5签署链接", flowId)
const params = {
// 需要的参数
orderId: flowId,
flowId: flowId,
}
const { bizcode, data } = await getSignUrl(params);
console.log("获取H5签署链接-1", data)
if (bizcode === 100) {
this.onGetMiniProgramSignUrl(data)
this.signUrl = data.flowApproverUrlInfos[0].longUrl
// this.onGetMiniProgramSignUrl(data)
} else {
this.$refs.uToastRef.show({
type: 'error',
@@ -470,25 +483,15 @@ export default {
},
// 获取跳转至腾讯电子签小程序的签署链接
async onGetMiniProgramSignUrl(item) {
async onGetMiniProgramSignUrl(flowId) {
const params = {
// 需要的参数
flowId: this.flowId,
endPoint: item.flowApproverUrlInfos.signUrl
flowId: flowId,
endPoint: 'HTTP_SHORT_URL'
}
const { bizcode, data } = await getMiniProgramSignUrl(params);
if (bizcode === 100) {
// return data;
console.log("跳转至腾讯电子签小程序的签署链接", data);
// #ifdef APP-PLUS || WEB
// #endif
// #ifdef MP-WEIXIN
// 小程序
this.openTencentESign(data);
// #endif
this.openTencentESign(data.schemeUrl);
} else {
this.$refs.uToastRef.show({
type: 'error',
@@ -506,13 +509,12 @@ export default {
// }
},
// 小程序签名
openTencentESign() {
openTencentESign(data) {
// 这个链接需要后端调用腾讯电子签 API 获取
// 类似:https://esign.tencent.com/miniprogram?flowId=xxxx&token=xxxx
const signPath = '/pages/sign/sign?flowId=xxxxx&token=yyyyy' // 腾讯电子签小程序内部页面路径
const signPath = `/pages/sign/sign?flowId=${data.flowId}&token=${data.token}` // 腾讯电子签小程序内部页面路径
uni.navigateToMiniProgram({
appId: 'wxXXXXXXXXXXXXXXX', // 腾讯电子签官方小程序的 appId
appId: 'wxa023b292fd19d41d', // 腾讯电子签官方小程序的 appId
path: signPath, // 跳转到的页面路径 + 参数
extraData: {}, // 如果需要传额外参数
envVersion: 'release', // 小程序版本 release / trial / develop
@@ -525,7 +527,6 @@ export default {
})
}
}
}
</script>
+2 -1
View File
@@ -2,7 +2,8 @@
// export const BASE_URL="https://frontend.jdns360.com/api"; // 正式环境
// export const BASE_URL="http://cl55un59859.vicp.fun:24346"; // 测试环境
export const BASE_URL = "https://api.gtn9.art";
export const BASE_URL = "https://api.tbmall.xin";
export const PRIVACY_EN = "https://www.finecc.net/?Privacy-Agreement/";//隐私协议地址(英文版)
export const PRIVACY_CN = "https://www.finecc.net/?Privac |y/";//隐私协议地址(中文版)