提交 8d95100d 编写于 作者: guangjun.yang's avatar guangjun.yang

Merge branch 'dev-exam-0915' into dev-question-bank-0916

* dev-exam-0915:
  仿真模拟,刷题助考更安心!
  n一张题库卡可以解锁一个二类学科的所有题目
  可申请5学分,自学资料性质,由医院录入
  卫健委正规授权,在职医师专业解读,大量实用病例分析!
  修改价格
  获取用户信息
  修改分享
  修改test1的微信号配置
  二次分享等
  新appid:用于微信授权登录
  商品详情页面支付分享功能
  授权登录替换路由
  商品分享
import { Toast } from 'vant';
import fetch from '@/utils/fetch';
import { getBaseUrl } from '@/utils/index'
import { getBaseUrl, getWxType } from '@/utils/index'
import { setCookie, getCookie, delCookie } from '@/utils/index';
import { envConfig } from '@/utils/env-config';
......@@ -82,7 +82,7 @@ const user = {
getWxUserInfo({ state, commit }, code) {
commit('SET_WX_CODE', code);
const type = 15;
const type = getWxType();
// let url = getBaseUrl(`wechats/users/info/${type}/${code}`);
let url = `https://sc.yunqueyi.com/wechats/users/info/${type}/${code}`; // 测试支付,暂时使用线上
fetch({
......
......@@ -16,7 +16,7 @@ export const envConfig = {
appId: 'wx08b383d002c73f26', // 用于微信授权登录
// appId: 'wxf4e66242d31c81c2', // 用于微信授权登录
// baseUrl: 'https://test1-sc.yunqueyi.com/',
// apiUrl: 'https://test1-api.yunqueyi.com/',
// webPageUrl: 'https://test1-phome.yunqueyi.com/',
......@@ -50,6 +50,8 @@ export const envConfig = {
hactiveUrl: 'https://dev-hactive.yunqueyi.com',
fileUrl: 'https://dev-www.yunqueyi.com',
appId: 'wx2c577552a2d28550', // 用于微信授权登录
wxType: 15, // 分享、用户信息对应的appid
tradeType: 5,
},
test: {
baseUrl: 'https://test1-sc.yunqueyi.com/',
......@@ -58,7 +60,10 @@ export const envConfig = {
hactiveUrl: 'https://test1-hactive.yunqueyi.com',
fileUrl: 'https://test1-www.yunqueyi.com',
// appId: 'wxcaad75b7fff5659c', // 用于微信授权登录
appId: 'wx2c577552a2d28550', // 用于微信授权登录
// appId: 'wx2c577552a2d28550', // 用于微信授权登录
appId: 'wx85f38ae09d22b12e', // 用于微信授权登录
wxType: 30,
tradeType: 5,
},
uat: {
baseUrl: 'https://uat-sc.yunqueyi.com/',
......@@ -68,6 +73,8 @@ export const envConfig = {
fileUrl: 'https://uat-www.yunqueyi.com',
// appId: 'wx342ef0e5afee54a7', // 用于微信授权登录
appId: 'wx2c577552a2d28550', // 用于微信授权登录
wxType: 15,
tradeType: 5,
},
pro: {
baseUrl: 'https://sc.yunqueyi.com/',
......@@ -76,5 +83,7 @@ export const envConfig = {
hactiveUrl: 'https://hactive.yunqueyi.com',
fileUrl: 'https://www.yunqueyi.com',
appId: 'wx2c577552a2d28550', // 用于微信授权登录
wxType: 15,
tradeType: 4,
}
}
......@@ -57,6 +57,17 @@ export function getAPPID() {
return getConfigByEnvType('appId')
}
// 获取微信APPID对应type
export function getWxType() {
return getConfigByEnvType('wxType')
}
// 获取微信APPID
export function getTradeType() {
return getConfigByEnvType('tradeType')
}
// 根据不同环境,生成URL
function getConfigByEnvType(urlType) {
return envConfig[process.env.BUILD_ENV][urlType]
......@@ -233,7 +244,7 @@ export const wxOauth = () => {
url = url.split('?')[0];
redirectUrl = encodeURIComponent(url);
console.log('wxOauth redirectUrl => ', redirectUrl);
window.location.href = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appId}&redirect_uri=${redirectUrl}&response_type=code&scope=snsapi_userinfo&#wechat_redirect`;
window.location.replace(`https://open.weixin.qq.com/connect/oauth2/authorize?appid=${appId}&redirect_uri=${redirectUrl}&response_type=code&scope=snsapi_userinfo&#wechat_redirect`);
}
export const setCookie = (name, value, time) => {
......
......@@ -2,14 +2,14 @@
import Vue from 'vue'
import request from '@/utils/fetch';
import wx from 'weixin-js-sdk'
import { getBaseUrl } from "@/utils/index";
import { getBaseUrl, getWxType } from "@/utils/index";
/** 注入配置信息 */
export const wxConfig = (link) => {
export const wxConfig = () => {
// const params = { resetURI: true, url: encodeURIComponent(location.href) };
// 上线前是需要把域名改为线上的sc
let baseUrl = getBaseUrl("");
let type = '&type=15'; // 本来没有,暂时改成线上
request({ url: `https://sc.yunqueyi.com/wechats/signs?url=${encodeURIComponent(link)}${type}` }).then(res => {
let type = '&type=' + getWxType(); // type不同,对应的appid不一样,15为线上
request({ url: `https://sc.yunqueyi.com/wechats/signs?url=${encodeURIComponent(location.href)}${type}` }).then(res => {
// request({ url: `${baseUrl}/wechats/signs?url=${encodeURIComponent(link)}` }).then(res => {
let configs = res.data.signMap;
wx.config({
......@@ -115,7 +115,7 @@ export const wechatShare = (option = {}, successCB = () => {}, hideMenu) => {
...option
};
wxConfig(shareOption.link);
wxConfig();
if (hideMenu) {
wxHideMenu()
} else {
......
......@@ -86,10 +86,10 @@ import { Swipe, SwipeItem } from 'vant';
import Loading from "@/components/common/common-loading";
import CourseDialog from "@/components/course/course-dialog";
import { wxConfig, chooseWXPay } from '@/utils/wxShare';
import { getAPPID, getWebPageUrl, isWeiXin, wxOauth, debounce } from '@/utils';
import { getAPPID, getTradeType, getWebPageUrl, isWeiXin, wxOauth, debounce } from '@/utils';
import { mapGetters } from "vuex";
const isWechat = isWeiXin();
wxConfig(location.href);
// wxConfig(location.href);
export default {
components: {
......@@ -204,6 +204,32 @@ export default {
this.swiperList = res.data && res.data.imgList || [];
this.tabs = tabs;
this.getTabW();
// goodsType=2 学习卡
// goodsType= 3 and cardType = 3 职称考课程卡
let sharePrice = goods.preferentialPrice || goods.costPrice;
let shareDesc = "¥" + (sharePrice / 100).toFixed(2);
if(goods.goodsType == 2) {
shareDesc += "\n可申请5学分,自学资料性质,由医院录入!";
} else if(goods.goodsType == 3 && goods.cardType == 3) {
shareDesc += "\n卫健委正规授权,在职医师专业解读,大量实用病例分析!";
} else if(goods.goodsType == 3 && goods.cardType == 4) {
shareDesc += "\n仿真模拟,刷题助考更安心!";
}
let shareUrl = getWebPageUrl(
`profexam/#/goods-detail?goodsId=${this.goods.id}`
);
this.wechatShare(
{
link: shareUrl,
title: goods.goodsName,
friendtitle: goods.goodsName,
desc: shareDesc,
imgUrl: "https://file.yunqueyi.com/logo.png"
},
() => {
console.log("share success...");
}
);
} else {
this.$toast(res.message);
}
......@@ -363,7 +389,7 @@ export default {
openId: this.wxInfo.openid,
orderId,
payChannel: 1,
tradeType: 4,
tradeType: getTradeType(),
userId: this.$store.state.user.info.id
}
this.POST('trade/center/jsapi_prepay', data).then(res => {
......@@ -404,7 +430,7 @@ export default {
// openId: getAPPID(),
orderId,
payChannel: 1,
tradeType: 4,
tradeType: getTradeType(),
}
this.POST('trade/center/mweb_prepay', data).then(res => {
if (res.code == "000000") {
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册