diff --git a/api/handler/payment_handler.go b/api/handler/payment_handler.go
index f17b7411..1bb47708 100644
--- a/api/handler/payment_handler.go
+++ b/api/handler/payment_handler.go
@@ -338,19 +338,14 @@ func (h *PaymentHandler) Mobile(c *gin.Context) {
payWay = PayWayJs
notifyURL = h.App.Config.JPayConfig.NotifyURL
returnURL = h.App.Config.JPayConfig.ReturnURL
- params := payment.JPayReq{
- TotalFee: int(math.Ceil(amount * 100)),
- OutTradeNo: orderNo,
- Subject: product.Name,
- NotifyURL: notifyURL,
- ReturnURL: returnURL,
- }
- r := h.js.PayH5(params)
- if !r.IsOK() {
- resp.ERROR(c, "error with generating Pay URL: "+r.ReturnMsg)
- return
- }
- payURL = r.H5URL
+ totalFee := decimal.NewFromFloat(product.Price).Sub(decimal.NewFromFloat(product.Discount)).Mul(decimal.NewFromInt(100)).IntPart()
+ params := url.Values{}
+ params.Add("total_fee", fmt.Sprintf("%d", totalFee))
+ params.Add("out_trade_no", orderNo)
+ params.Add("body", product.Name)
+ params.Add("notify_url", notifyURL)
+ params.Add("auto", "0")
+ payURL = h.js.PayH5(params)
case "alipay":
payWay = PayWayAlipay
notifyURL = h.App.Config.AlipayConfig.NotifyURL
diff --git a/api/service/payment/payjs_service.go b/api/service/payment/payjs_service.go
index 72af9099..13774173 100644
--- a/api/service/payment/payjs_service.go
+++ b/api/service/payment/payjs_service.go
@@ -40,7 +40,6 @@ type JPayReps struct {
TotalFee string `json:"total_fee"`
CodeUrl string `json:"code_url,omitempty"`
Qrcode string `json:"qrcode,omitempty"`
- H5URL string `json:"h5_url,omitempty"`
}
func (r JPayReps) IsOK() bool {
@@ -80,37 +79,10 @@ func (js *PayJS) Pay(param JPayReq) JPayReps {
return data
}
-func (js *PayJS) PayH5(param JPayReq) JPayReps {
- param.NotifyURL = js.config.NotifyURL
- var p = url.Values{}
- encode := utils.JsonEncode(param)
- m := make(map[string]interface{})
- _ = utils.JsonDecode(encode, &m)
- for k, v := range m {
- p.Add(k, fmt.Sprintf("%v", v))
- }
+func (js *PayJS) PayH5(p url.Values) string {
p.Add("mchid", js.config.AppId)
-
p.Add("sign", js.sign(p))
-
- cli := http.Client{}
- apiURL := fmt.Sprintf("%s/api/h5", js.config.ApiURL)
- r, err := cli.PostForm(apiURL, p)
- if err != nil {
- return JPayReps{ReturnMsg: err.Error()}
- }
- defer r.Body.Close()
- bs, err := io.ReadAll(r.Body)
- if err != nil {
- return JPayReps{ReturnMsg: err.Error()}
- }
-
- var data JPayReps
- err = utils.JsonDecode(string(bs), &data)
- if err != nil {
- return JPayReps{ReturnMsg: err.Error()}
- }
- return data
+ return fmt.Sprintf("%s/api/cashier?%s", js.config.ApiURL, p.Encode())
}
func (js *PayJS) sign(params url.Values) string {
diff --git a/web/src/views/mobile/Profile.vue b/web/src/views/mobile/Profile.vue
index 6bbf4091..3a22a2aa 100644
--- a/web/src/views/mobile/Profile.vue
+++ b/web/src/views/mobile/Profile.vue
@@ -73,13 +73,9 @@
{{ item.days }}天
长期有效
-
- {{ item.calls }}
- {{ vipMonthCalls }}
-
-
- {{ item.img_calls }}
- {{ vipMonthImgCalls }}
+
+ {{ item.power }}
+ {{ vipMonthPower }}
@@ -140,8 +136,7 @@ const fileList = ref([
]);
const products = ref([])
-const vipMonthCalls = ref(0)
-const vipMonthImgCalls = ref(0)
+const vipMonthPower = ref(0)
const payWays = ref({})
const router = useRouter()
const loginUser = ref(null)
@@ -165,8 +160,7 @@ onMounted(() => {
})
httpGet("/api/config/get?key=system").then(res => {
- vipMonthCalls.value = res.data['vip_month_calls']
- vipMonthImgCalls.value = res.data['vip_month_img_calls']
+ vipMonthPower.value = res.data['vip_month_power']
}).catch(e => {
showFailToast("获取系统配置失败:" + e.message)
})
@@ -255,6 +249,7 @@ const pay = (payWay, item) => {
product_id: item.id,
user_id: loginUser.value.id
}).then(res => {
+ // console.log(res.data)
location.href = res.data
}).catch(e => {
showFailToast("生成支付订单失败:" + e.message)