Browse Source

Merge branch 'feature-userAgent' into develop

feat
JinxChen 2 years ago
parent
commit
2876e47806
6 changed files with 117 additions and 20 deletions
  1. +10
    -2
      README.md
  2. +4
    -4
      src/App.vue
  3. +12
    -4
      src/config/models.js
  4. +4
    -3
      src/main.js
  5. +30
    -1
      src/utils/index.js
  6. +57
    -6
      src/views/AliPayIndex.vue

+ 10
- 2
README.md View File

@@ -1,7 +1,7 @@
<!-- <!--
* @Date: 2022-01-19 10:08:58 * @Date: 2022-01-19 10:08:58
* @LastEditors: JinxChen * @LastEditors: JinxChen
* @LastEditTime: 2022-02-25 15:28:25
* @LastEditTime: 2022-02-25 17:55:22
* @FilePath: \AntpayFrontEnd\README.md * @FilePath: \AntpayFrontEnd\README.md
* @description: readme说明文档 * @description: readme说明文档
--> -->
@@ -27,6 +27,7 @@ npm run build
- css类名: 小写驼峰 中间用 - 隔开 - css类名: 小写驼峰 中间用 - 隔开
- js函数方法: 开头小写后面开头大写驼峰 - js函数方法: 开头小写后面开头大写驼峰
- .vue 文件命名: 统一大写驼峰 - .vue 文件命名: 统一大写驼峰
- 常量命名: 全部大写 以_拼接, 具体例子见: /src/config/models下的文件


### git 提交规范 ### git 提交规范
- feature 新增一个功能 - feature 新增一个功能
@@ -53,4 +54,11 @@ build
- 增加 环境设置脚本 - 增加 环境设置脚本
- 增加 nginx.conf文件 - 增加 nginx.conf文件
fix fix
- 修复 路由history模式原因引起的页面空白的问题
- 修复 路由history模式原因引起的页面空白的问题

### v1.0.1
`2022.02.25`
feature
- 增加 非支付宝浏览环境下扫码切换支付宝弹窗提示
- 增加 android和ios设备支付宝下载链接
- 增加 android设备复制粘贴下载链接功能

+ 4
- 4
src/App.vue View File

@@ -1,8 +1,8 @@
<!-- <!--
* @Date: 2022-01-19 10:08:26 * @Date: 2022-01-19 10:08:26
* @LastEditors: JinxChen * @LastEditors: JinxChen
* @LastEditTime: 2022-02-23 17:23:45
* @FilePath: \AlipayFrontEnd\src\App.vue
* @LastEditTime: 2022-02-25 16:45:37
* @FilePath: \AntpayFrontEnd\src\App.vue
* @description: * @description:
--> -->
<template> <template>
@@ -12,7 +12,7 @@
</template> </template>


<script> <script>
import { VersionModel } from './config/models';
import { VERSION_MODEL } from './config/models';
export default { export default {
provide() { provide() {
return { return {
@@ -25,7 +25,7 @@ export default {
} }
}, },
mounted() { mounted() {
console.log("当前版本号::", VersionModel, "当前环境::", process.env.NODE_ENV);
console.log("当前版本号::", VERSION_MODEL, "当前环境::", process.env.NODE_ENV);
}, },
methods: { methods: {
reload() { reload() {


+ 12
- 4
src/config/models.js View File

@@ -1,13 +1,21 @@
/* /*
* @Date: 2021-11-20 10:26:39 * @Date: 2021-11-20 10:26:39
* @LastEditors: JinxChen * @LastEditors: JinxChen
* @LastEditTime: 2022-02-23 17:36:43
* @FilePath: \AlipayFrontEnd\src\config\models.js
* @LastEditTime: 2022-02-25 17:36:47
* @FilePath: \AntpayFrontEnd\src\config\models.js
* @description: * @description:
*/ */
export const VersionModel = '1.0.0';
export const ImageUrl = {
export const VERSION_MODEL = '1.0.0';
export const IMAGE_URL = {
production: 'http://zfb.ssjlai.com/web/', production: 'http://zfb.ssjlai.com/web/',
test: 'http://zfb.ssjlai.com/web/', test: 'http://zfb.ssjlai.com/web/',
development: 'http://zfb.ssjlai.com/web/' development: 'http://zfb.ssjlai.com/web/'
}; };
//用户设备
export const USER_AGENT = window.navigator.userAgent;

// 支付宝下载链接
export const ALIPAY_DOWN_URL = {
android: 'https://d.alipay.com',
ios: 'https://itunes.apple.com/cn/app/zhi-fu-bao-qian-bao-yu-e-bao/id333206289?mt=8'
};

+ 4
- 3
src/main.js View File

@@ -1,8 +1,8 @@
/* /*
* @Date: 2022-01-19 10:08:26 * @Date: 2022-01-19 10:08:26
* @LastEditors: JinxChen * @LastEditors: JinxChen
* @LastEditTime: 2022-02-15 17:22:45
* @FilePath: \alipay-scan-code-front-end\src\main.js
* @LastEditTime: 2022-02-25 17:51:58
* @FilePath: \AntpayFrontEnd\src\main.js
* @description: * @description:
*/ */
import Vue from "vue"; import Vue from "vue";
@@ -33,6 +33,7 @@ import {
Empty, Empty,
Notify, Notify,
Loading, Loading,
Toast,
} from 'vant'; } from 'vant';


Vue Vue
@@ -57,10 +58,10 @@ Vue
.use(Empty) .use(Empty)
.use(Notify) .use(Notify)
.use(Loading) .use(Loading)
.use(Toast)
.use(Tabs); .use(Tabs);


Vue.config.productionTip = false; Vue.config.productionTip = false;

new Vue({ new Vue({
router, router,
store, store,


+ 30
- 1
src/utils/index.js View File

@@ -1,3 +1,10 @@
/*
* @Date: 2022-01-19 16:39:51
* @LastEditors: JinxChen
* @LastEditTime: 2022-02-25 16:55:56
* @FilePath: \AntpayFrontEnd\src\utils\index.js
* @description: 工具类
*/




/** /**
@@ -20,4 +27,26 @@ export function isNull(o) {
*/ */
export function isNotNull(o) { export function isNotNull(o) {
return !isNull(o); return !isNull(o);
}
}

// 判断用户是否是支付宝浏览器
export function isAlipayBrowser(userAgent) {
if (/AlipayClient/.test(userAgent)) {
console.log("当前浏览器是支付宝浏览器");
return true;
} else {
console.log("当前浏览器是非支付宝浏览器");
return false;
}
}

// 判断用户的设备是否是android
export function isAndroid(userAgent) {
if (userAgent.indexOf('Android') > -1 || userAgent.indexOf('Linux') > -1) {
console.log("当前用户设备是android");
return true;
} else if (userAgent.indexOf('iPhone') > -1) {
console.log("当前用户设备是ios");
return false;
}
}

+ 57
- 6
src/views/AliPayIndex.vue View File

@@ -1,8 +1,8 @@
<!-- <!--
* @Date: 2022-01-19 16:52:21 * @Date: 2022-01-19 16:52:21
* @LastEditors: JinxChen * @LastEditors: JinxChen
* @LastEditTime: 2022-02-16 11:05:34
* @FilePath: \alipay-scan-code-front-end\src\views\AliPayIndex.vue
* @LastEditTime: 2022-02-25 17:49:42
* @FilePath: \AntpayFrontEnd\src\views\AliPayIndex.vue
* @description: * @description:
--> -->
<template> <template>
@@ -100,13 +100,28 @@
</div> </div>
</div> </div>
</div> </div>
<!-- 非支付宝浏览器提示弹窗 -->
<van-dialog v-model="isAlipayBrowser" title="提示您切换支付宝扫码!"
:show-cancel-button="false"
:show-confirm-button="false"
confirm-button-color="#1989fa"
className="alipay-dialog"
:close-on-click-overlay="true">
<p>1.如果已安装支付宝,请打开支付宝扫码。</p>
<p>2.如果未安装支付宝,请到应用商店下载。
<span v-show="!isAndroid" @click="onDownAlipay" class="down">点击前往应用商店下载</span>
<span v-show="isAndroid">或复制 {{alipayDownUrl.android}}
[<span @click="onCopy" class="copy-span">点击复制
</span>],粘贴到浏览器打开下载页面。</span></p>
<p class="close-text">点击屏幕任意地方关闭弹窗</p>
</van-dialog>
</div> </div>
</template> </template>


<script> <script>
import { isNotNull } from "../utils/index";
import { isNotNull, isAlipayBrowser, isAndroid } from "../utils/index";
import { APIAlipay } from "../api/alipay"; import { APIAlipay } from "../api/alipay";
import { ImageUrl} from '../config/models';
import { IMAGE_URL, USER_AGENT, ALIPAY_DOWN_URL} from '../config/models';
export default { export default {
name:'alipay-index', name:'alipay-index',
data(){ data(){
@@ -144,6 +159,9 @@ export default {
isNewCustom: true, //是否是新用户 isNewCustom: true, //是否是新用户
isOldCustom: false, //是否是新用户 isOldCustom: false, //是否是新用户
checkCount: 0, //首次点击同意协议单选框 checkCount: 0, //首次点击同意协议单选框
isAlipayBrowser: !isAlipayBrowser(USER_AGENT), //是否是支付宝浏览器
isAndroid: isAndroid(USER_AGENT), //用户设备是否是android
alipayDownUrl: ALIPAY_DOWN_URL


} }
}, },
@@ -188,7 +206,7 @@ export default {
let good = res.data.data.goods; let good = res.data.data.goods;
console.log("good", good); console.log("good", good);
// 图片路径 // 图片路径
this.goodsData.imgPath = ImageUrl[ process.env.NODE_ENV ] + good.goodsImg;
this.goodsData.imgPath = IMAGE_URL[ process.env.NODE_ENV ] + good.goodsImg;
// 价格 // 价格
this.goodsData.price = good.price; this.goodsData.price = good.price;
// 是否是老用户 // 是否是老用户
@@ -286,7 +304,6 @@ export default {
clearInterval(this.agreement.timer); clearInterval(this.agreement.timer);
this.agreement.countDown = 3; this.agreement.countDown = 3;
}, },

// 一键下单提交按钮 // 一键下单提交按钮
onSubmit() { onSubmit() {
if(this.checked === false) { if(this.checked === false) {
@@ -308,6 +325,21 @@ export default {
} }
}) })
} }
},
// 点击下载支付宝app
onDownAlipay() {
window.location.href = this.alipayDownUrl.ios;
},
// 复制网址
onCopy() {
let oInput = document.createElement('input');
oInput.value = this.alipayDownUrl.android;
document.body.appendChild(oInput);
oInput.select(); // 选择对象;
console.log(oInput.value)
document.execCommand("Copy"); // 执行浏览器复制命令
this.$toast.success('已复制到粘贴板!');
oInput.remove()
} }
} }
} }
@@ -476,5 +508,24 @@ export default {
} }
} }
} }
.alipay-dialog {
p {
padding: 10px;
line-height: 20px;
text-align: left;
font-size: 14px;
}
.down {
display: block;
color: #1989fa;
text-decoration: #1989fa;
}
.copy-span {
color: red;
}
.close-text {
text-align: center;
}
}
} }
</style> </style>

Loading…
Cancel
Save