| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- import FyShowModal from './showModal.js'
- export default class Fy{
- /**
- * @author 大雄
- * @Date 2021年7月1日20:49:58
- * @description 二次封装showModel
- */
- static showModal({ title = "提示", content = "提示内容", showCancel = true, backbutton = false, cancelText = "取消", cancelColor = "#000000", confirmText = "确定", confirmColor = '#3CC51F', complete = false } = {}) {
- return new Promise((resolve, reject) => {
- // #ifdef APP-PLUS
- if (this.get_app_platform() === 'android') { // android的使用自定义的模态框
- new FyShowModal({ title, content, showCancel, backbutton, cancelText, cancelColor, confirmText, confirmColor,
- success(res) {
- if (res.confirm) {resolve(res) } else { reject(res) }
- },
- fail(err){
- this.uniShowModal({ title, content, showCancel, cancelText, cancelColor, confirmText, confirmColor, complete }).then((res)=>resolve(res)).catch(err=>reject(err))
- }
- }).show();
- } else { // ios直接用原生的
- return this.uniShowModal({ title, content, showCancel, cancelText, cancelColor, confirmText, confirmColor, complete }).then((res)=>resolve(res)).catch(err=>reject(err))
- }
- // #endif
- // #ifndef APP-PLUS
- return this.uniShowModal({ title, content, showCancel, cancelText, cancelColor, confirmText, confirmColor, complete }).then((res)=>resolve(res)).catch(err=>reject(err))
- // #endif
- })
- }
- // 原生showModal
- static uniShowModal({ title, content, showCancel, cancelText, cancelColor, confirmText, confirmColor, complete }) {
- return new Promise((resolve, reject) => {
- let appPlatform = null;
- // #ifdef APP-PLUS
- if (this.get_app_platform() === 'android' && showCancel) { // android的确认按钮在左边,需要统一到右边
- appPlatform = 'android';
- var tempConfirmText = confirmText;
- var tempConfirmColor = confirmColor;
- confirmText = cancelText;
- cancelText = tempConfirmText;
- confirmColor = cancelColor;
- cancelColor = tempConfirmColor;
- }
- // #endif
- uni.showModal({ title, content, showCancel, cancelText, cancelColor, confirmText, confirmColor,
- success(res){
- if (complete) {
- resolve(res);
- } else if (res.confirm) {
- appPlatform === 'android' ? reject(res) : resolve(res)
- } else {
- appPlatform === 'android' ? resolve(res) : reject(res)
- }
- },
- fail(err){ reject(err) }
- })
- })
- }
- /**
- * @description 获取app平台(android | ios)
- * */
- static get_app_platform() {
- // #ifndef APP-PLUS
- this.showModal({ content: '仅支持app' });
- // #endif
- // #ifdef APP-PLUS
- return plus.os.name.toLowerCase();
- // #endif
- }
- }
|