取消订单

This commit is contained in:
liuyuan
2025-10-15 15:50:45 +08:00
parent ff0863c0b6
commit 39e5105cb2
26 changed files with 13902 additions and 10441 deletions

View File

@@ -20,7 +20,7 @@
"type" : "uniCloud" "type" : "uniCloud"
}, },
{ {
"playground" : "custom", "playground" : "standard",
"type" : "uni-app:app-ios" "type" : "uni-app:app-ios"
}, },
{ {

139
App.vue
View File

@@ -12,7 +12,10 @@ import { h5Login } from "@/config/html5Utils";
import updata from "@/uni_modules/uni-upgrade-center-app/utils/check-update"; import updata from "@/uni_modules/uni-upgrade-center-app/utils/check-update";
// #endif // #endif
import Vue from "vue"; import Vue from "vue";
// #ifdef APP-PLUS
var jpushModule = uni.requireNativePlugin("JG-JPush");
var audioObj = uni.getBackgroundAudioManager();
// #endif
export default { export default {
data() { data() {
return { return {
@@ -25,6 +28,57 @@ export default {
updata(); updata();
// #endif // #endif
//取出缓存数据
store.commit("setCacheData");
// #ifdef APP-PLUS
jpushModule.initJPushService();
jpushModule.setLoggerEnable(true);
plus.screen.lockOrientation("portrait-primary");
// 设置别名
jpushModule.setAlias({
'alias': this.lxzl.getUserInfo().userId + '',
'sequence': 1
})
//监听 极光推送连接状态
this.getNotificationEnabled();
jpushModule.addConnectEventListener(result => {
let connectEnable = result.connectEnable
uni.$emit('connectStatusChange', connectEnable)
});
jpushModule.addNotificationListener(result => { //极光推送的消息通知回调
jpushModule.setBadge(0);
plus.runtime.setBadgeNumber(0);
let notificationEventType = result.notificationEventType
let woopId = result.extras && result.extras.dataType === 'woop' && result.extras.value;
console.log("通知", result, notificationEventType)
// 点击事件
if (notificationEventType == 'notificationOpened') {
uni.navigateTo({
url: '/pages/taskDetail/taskDetail?' + 'woopId=' + woopId
});
}
});
uni.$on('connectStatusChange', (connectStatus) => {
var connectStr = ''
if (connectStatus == true) {
connectStr = '已连接'
// this.getRegistrationID()
} else {
connectStr = '未连接'
}
console.log('监听到了连接状态变化 --- ', connectStr)
this.connectStatus = connectStr
})
jpushModule.isPushStopped(res => {
// code 0已停止推送 1未停止推送
const { code } = res
console.log(res, '安卓连接状态');
})
//#endif
uni.getSystemInfo({ uni.getSystemInfo({
success(res) { success(res) {
Vue.prototype.winWidth = res.screenWidth; Vue.prototype.winWidth = res.screenWidth;
@@ -33,8 +87,6 @@ export default {
}, },
}); });
//取出缓存数据
store.commit("setCacheData");
// #ifdef MP-WEIXIN // #ifdef MP-WEIXIN
if (store.state.userInfo.token) { if (store.state.userInfo.token) {
socket.init(); socket.init();
@@ -111,7 +163,86 @@ export default {
}); });
console.log("页面销毁"); console.log("页面销毁");
}, },
methods: {}, methods: {
// 处理通知权限
getRegistrationID() { //获取registerID
jpushModule.getRegistrationID(result => {
let registerID = result.registerID
console.log(registerID)
this.registrationID = registerID
uni.setStorageSync("registerID", registerID)
})
},
getNotificationEnabled() {
if (uni.getSystemInfoSync().platform == "ios") {
jpushModule.requestNotificationAuthorization((result) => {
let status = result.status
if (status < 2) {
this.noticMsgTool()
}
})
} else {
jpushModule.isNotificationEnabled((result) => { //判断android是否打开权限
if (result.code == 0) { //如果为0则表示 未打开通知权限
this.noticMsgTool()
}
})
}
},
noticMsgTool() {
if (uni.getSystemInfoSync().platform == "ios") {
//苹果打开对应的通知栏
uni.showModal({
title: '通知权限开启提醒',
content: '您还没有开启通知权限,无法接受到消息通知,请前往设置!',
showCancel: false,
confirmText: '去设置',
success: function(res) {
if (res.confirm) {
var app = plus.ios.invoke('UIApplication', 'sharedApplication');
var setting = plus.ios.invoke('NSURL', 'URLWithString:', 'app-settings:');
plus.ios.invoke(app, 'openURL:', setting);
plus.ios.deleteObject(setting);
plus.ios.deleteObject(app);
}
}
});
} else {
//android打开对应的通知栏
var main = plus.android.runtimeMainActivity();
var pkName = main.getPackageName();
var uid = main.getApplicationInfo().plusGetAttribute("uid");
uni.showModal({
title: '通知权限开启提醒',
content: '您还没有开启通知权限,无法接受到消息通知,请前往设置!',
showCancel: false,
confirmText: '去设置',
success: function(res) {
if (res.confirm) {
var Intent = plus.android.importClass('android.content.Intent');
var Build = plus.android.importClass("android.os.Build");
//android 8.0引导
if (Build.VERSION.SDK_INT >= 26) {
var intent = new Intent('android.settings.APP_NOTIFICATION_SETTINGS');
intent.putExtra('android.provider.extra.APP_PACKAGE', pkName);
} else if (Build.VERSION.SDK_INT >= 21) { //android 5.0-7.0
var intent = new Intent('android.settings.APP_NOTIFICATION_SETTINGS');
intent.putExtra("app_package", pkName);
intent.putExtra("app_uid", uid);
} else { //(<21)其他--跳转到该应用管理的详情页
intent.setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
var uri = Uri.fromParts("package", mainActivity.getPackageName(), null);
intent.setData(uri);
}
// 跳转到该应用的系统通知设置页
main.startActivity(intent);
}
}
});
}
},
},
}; };
</script> </script>

View File

@@ -2,13 +2,13 @@ let baseUrl = "";
let socketUrl = ""; let socketUrl = "";
if (process.env.NODE_ENV === 'development') { if (process.env.NODE_ENV === 'development') {
// 开发环境 // 开发环境
baseUrl = "https://api.nuttyreading.com/"; //线上正式 // baseUrl = "https://api.nuttyreading.com/"; //线上正式
// baseUrl = "http://192.168.110.100:9200/pb/"; //张川川 baseUrl = "http://192.168.110.100:9200/pb/"; //张川川
} else if (process.env.NODE_ENV === 'production') { } else if (process.env.NODE_ENV === 'production') {
// 生产环境11 // 生产环境11
baseUrl = "https://api.nuttyreading.com/"; // baseUrl = "https://api.nuttyreading.com/";
//baseUrl = "https://testapi.nuttyreading.com/"; //线上正式 //baseUrl = "https://testapi.nuttyreading.com/"; //线上正式
// baseUrl = "http://192.168.110.100:9200/pb/"; //张川川 baseUrl = "http://192.168.110.100:9200/pb/"; //张川川
} }
const courtConfig = { const courtConfig = {
//微信公众号APPID1 //微信公众号APPID1

View File

@@ -12,8 +12,8 @@
"src" : "图片路径" "src" : "图片路径"
} }
], ],
"versionName" : "2.0.20", "versionName" : "2.0.24",
"versionCode" : 2019, "versionCode" : 2024,
"app-plus" : { "app-plus" : {
"nvueCompiler" : "uni-app", "nvueCompiler" : "uni-app",
"compatible" : { "compatible" : {
@@ -170,7 +170,176 @@
"splashscreen" : { "splashscreen" : {
"alwaysShowBeforeRender" : false "alwaysShowBeforeRender" : false
}, },
"nativePlugins" : {}, "nativePlugins" : {
"JG-JCore" : {
"JPUSH_APPKEY_ANDROID" : "eb3d301bd2f456b23ce46bfb",
"JPUSH_APPKEY_IOS" : "eb3d301bd2f456b23ce46bfb",
"JPUSH_CHANNEL_ANDROID" : "",
"JPUSH_CHANNEL_IOS" : "",
"__plugin_info__" : {
"name" : "极光推送 JCore 官方 SDK",
"description" : "极光推送 JCore 官方 SDK HBuilder 插件版本",
"platforms" : "Android,iOS",
"url" : "https://ext.dcloud.net.cn/plugin?id=4028",
"android_package_name" : "com.cn.medicine",
"ios_bundle_id" : "com.cn.medicine",
"isCloud" : true,
"bought" : 1,
"pid" : "4028",
"parameters" : {
"JPUSH_APPKEY_ANDROID" : {
"des" : "[Android]极光portal配置应用信息时分配的AppKey",
"key" : "eb3d301bd2f456b23ce46bfb",
"value" : ""
},
"JPUSH_APPKEY_IOS" : {
"des" : "[iOS]极光portal配置应用信息时分配的AppKey",
"key" : "eb3d301bd2f456b23ce46bfb",
"value" : ""
},
"JPUSH_CHANNEL_ANDROID" : {
"des" : "[Android]用于统计分发渠道不需要可填默认值developer-default",
"key" : "JPUSH_CHANNEL",
"value" : ""
},
"JPUSH_CHANNEL_IOS" : {
"des" : "[iOS]用于统计分发渠道不需要可填默认值developer-default",
"key" : "JCore:CHANNEL",
"value" : ""
}
}
}
},
"JG-JPush" : {
"JPUSH_ADVERTISINGID_IOS" : "",
"JPUSH_DEFAULTINITJPUSH_IOS" : "true",
"JPUSH_GOOGLE_API_KEY" : "",
"JPUSH_GOOGLE_APP_ID" : "",
"JPUSH_GOOGLE_PROJECT_ID" : "",
"JPUSH_GOOGLE_PROJECT_NUMBER" : "",
"JPUSH_GOOGLE_STORAGE_BUCKET" : "",
"JPUSH_HONOR_APPID" : "",
"JPUSH_HUAWEI_APPID" : "111420317",
"JPUSH_ISPRODUCTION_IOS" : "",
"JPUSH_MEIZU_APPID" : "",
"JPUSH_MEIZU_APPKEY" : "",
"JPUSH_OPPO_APPID" : "OP-31804825",
"JPUSH_OPPO_APPKEY" : "OP-1490c727e99e42259990c3843abd1753",
"JPUSH_OPPO_APPSECRET" : "OP-322f9418052940979ef487b92b17e458",
"JPUSH_VIVO_APPID" : "",
"JPUSH_VIVO_APPKEY" : "",
"JPUSH_XIAOMI_APPID" : "MI-2882303761520330430",
"JPUSH_XIAOMI_APPKEY" : "MI-5702033012430",
"__plugin_info__" : {
"name" : "极光推送 JPush 官方 SDK",
"description" : "极光推送JPush官方SDK HBuilder插件版本",
"platforms" : "Android,iOS",
"url" : "https://ext.dcloud.net.cn/plugin?id=4035",
"android_package_name" : "com.cn.medicine",
"ios_bundle_id" : "com.cn.medicine",
"isCloud" : true,
"bought" : 1,
"pid" : "4035",
"parameters" : {
"JPUSH_ADVERTISINGID_IOS" : {
"des" : "[iOS]广告标识符IDFA如果不需要使用IDFA可不填",
"key" : "JPush:ADVERTISINGID",
"value" : ""
},
"JPUSH_DEFAULTINITJPUSH_IOS" : {
"des" : "[iOS]是否默认初始化是填true不是填false或者不填",
"key" : "true",
"value" : ""
},
"JPUSH_GOOGLE_API_KEY" : {
"des" : "厂商google api_key,示例:g-12346578",
"key" : "google_api_key",
"value" : ""
},
"JPUSH_GOOGLE_APP_ID" : {
"des" : "厂商google mobilesdk_app_id,示例g-12346578",
"key" : "google_app_id",
"value" : ""
},
"JPUSH_GOOGLE_PROJECT_ID" : {
"des" : "厂商google project_id ,示例g-12346578",
"key" : "project_id",
"value" : ""
},
"JPUSH_GOOGLE_PROJECT_NUMBER" : {
"des" : "厂商google project_number,示例g-12346578",
"key" : "gcm_defaultSenderId",
"value" : ""
},
"JPUSH_GOOGLE_STORAGE_BUCKET" : {
"des" : "厂商google storage_bucket,示例g-12346578",
"key" : "google_storage_bucket",
"value" : ""
},
"JPUSH_HONOR_APPID" : {
"des" : "厂商HONOR-appId,示例12346578",
"key" : "com.hihonor.push.app_id",
"value" : ""
},
"JPUSH_HUAWEI_APPID" : {
"des" : "厂商HUAWEI-appId,示例appid=12346578",
"key" : "com.huawei.hms.client.appid",
"value" : ""
},
"JPUSH_ISPRODUCTION_IOS" : {
"des" : "[iOS]是否是生产环境是填true不是填false或者不填",
"key" : "JPush:ISPRODUCTION",
"value" : ""
},
"JPUSH_MEIZU_APPID" : {
"des" : "厂商MEIZU-appId,示例MZ-12345678",
"key" : "MEIZU_APPID",
"value" : ""
},
"JPUSH_MEIZU_APPKEY" : {
"des" : "厂商MEIZU-appKey,示例MZ-12345678",
"key" : "MEIZU_APPKEY",
"value" : ""
},
"JPUSH_OPPO_APPID" : {
"des" : "厂商OPPO-appId,示例OP-12345678",
"key" : "OPPO_APPID",
"value" : ""
},
"JPUSH_OPPO_APPKEY" : {
"des" : "厂商OPPO-appkey,示例OP-12345678",
"key" : "OPPO_APPKEY",
"value" : ""
},
"JPUSH_OPPO_APPSECRET" : {
"des" : "厂商OPPO-appSecret,示例OP-12345678",
"key" : "OPPO_APPSECRET",
"value" : ""
},
"JPUSH_VIVO_APPID" : {
"des" : "厂商VIVO-appId,示例12345678",
"key" : "com.vivo.push.app_id",
"value" : ""
},
"JPUSH_VIVO_APPKEY" : {
"des" : "厂商VIVO-appkey,示例12345678",
"key" : "com.vivo.push.api_key",
"value" : ""
},
"JPUSH_XIAOMI_APPID" : {
"des" : "厂商XIAOMI-appId,示例MI-12345678",
"key" : "XIAOMI_APPID",
"value" : ""
},
"JPUSH_XIAOMI_APPKEY" : {
"des" : "厂商XIAOMI-appKey,示例MI-12345678",
"key" : "XIAOMI_APPKEY",
"value" : ""
}
}
}
}
},
"uniStatistics" : { "uniStatistics" : {
"enable" : true "enable" : true
}, },

View File

@@ -9,6 +9,12 @@
"navigationBarTitleText": "首页" "navigationBarTitleText": "首页"
} }
}, },
{
"path": "pages/aiChact/index",
"style": {
"navigationBarTitleText": "智能问答"
}
},
{ {
"path": "pages/user/login", "path": "pages/user/login",
"style": { "style": {
@@ -792,6 +798,7 @@
"navigationBarTitleText": "确认订单" "navigationBarTitleText": "确认订单"
} }
} }
], ],
"globalStyle": { "globalStyle": {
"navigationBarTextStyle": "black", "navigationBarTextStyle": "black",

1542
pages/aiChact/index.vue Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -66,6 +66,7 @@
</view> </view>
<!-- 在学习 --> <!-- 在学习 -->
<view class="LearningCourseBox" v-show="this.curTagId == 1"> <view class="LearningCourseBox" v-show="this.curTagId == 1">
<!-- <view class="containerBg"> --> <!-- <view class="containerBg"> -->
<view class="newBox"> <view class="newBox">
<view :class="['item','flexbox', userMsg.vip != '0' && item.isBuy != 1 ? 'blueBorder':'']" v-for="(item, index) in LearningCourseList.list" :key="index" <view :class="['item','flexbox', userMsg.vip != '0' && item.isBuy != 1 ? 'blueBorder':'']" v-for="(item, index) in LearningCourseList.list" :key="index"
@@ -219,10 +220,13 @@
oldValue : '', oldValue : '',
cartList:[], cartList:[],
addLearnFlag:false, addLearnFlag:false,
userInfo:{}
}; };
}, },
//第一次加载 //第一次加载
onLoad(e) { onLoad(e) {
this.userInfo=uni.getStorageSync("userInfo")||{}
// 隐藏原生的tabbar // 隐藏原生的tabbar
uni.hideTabBar(); uni.hideTabBar();
this.windowWidth = uni.getSystemInfoSync().windowWidth; this.windowWidth = uni.getSystemInfoSync().windowWidth;
@@ -250,7 +254,7 @@
uni.stopPullDownRefresh() uni.stopPullDownRefresh()
}, },
computed: { computed: {
...mapState(['userInfo']) // ...mapState(['userInfo'])
}, },
//页面显示 //页面显示
onShow() { onShow() {
@@ -629,6 +633,7 @@
getUserInfo() { getUserInfo() {
// 用户详情 // 用户详情
// if (this.userInfo.id != undefined) { // if (this.userInfo.id != undefined) {
console.log(uni.getStorageSync("userInfo"),'this.userInfo.idthis.userInfo.idthis.userInfo.idthis.userInfo.idthis.userInfo.id')
this.$http this.$http
.post('book/user/info/' + this.userInfo.id) .post('book/user/info/' + this.userInfo.id)
.then(res => { .then(res => {

View File

@@ -1,5 +1,8 @@
<template> <template>
<view class="containerBg" style="font-size: 28upx"> <view class="containerBg" style="font-size: 28upx">
<!-- <view class="customer-service-button" @click="goKefu()">
客服
</view> -->
<view class="home_bg"> <view class="home_bg">
<view class="" style=""> <view class="" style="">
<view style="height: 60rpx"></view> <view style="height: 60rpx"></view>
@@ -532,6 +535,7 @@
<script> <script>
export default { export default {
methods: { methods: {
getWebViewMessage(e) { getWebViewMessage(e) {
uni.showModal({ uni.showModal({
content: JSON.stringify(e.detail), content: JSON.stringify(e.detail),
@@ -725,6 +729,11 @@ export default {
//方法 //方法
methods: { methods: {
...mapMutations(["setUserInfo"]), ...mapMutations(["setUserInfo"]),
goKefu(){
uni.navigateTo({
url: `/pages/aiChact/index`,
});
},
//提示去评分 //提示去评分
async editScoreRemind() { async editScoreRemind() {
await $http await $http
@@ -2238,4 +2247,18 @@ export default {
.multi-line-text{ .multi-line-text{
white-space: pre-line; /* 保留换行符并自动换行 */ white-space: pre-line; /* 保留换行符并自动换行 */
} }
.customer-service-button {
position: fixed;
top: 80px;
z-index: 9999;
right: 20px;
border-radius: 80rpx;
background: rgb(255, 255, 255);
text-align: center;
line-height:80rpx;
width: 80rpx;
height: 80rpx;
color: #3983ff;
/* 其他样式 */
}
</style> </style>

BIN
static/icon/icon_bars.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 800 B

BIN
static/icon/icon_dialog.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
static/icon/icon_folder.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 610 B

BIN
static/icon/icon_submit.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

BIN
static/icon/iocn_zs_4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

BIN
static/icon/iocn_zs_4_a.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@@ -15,3 +15,16 @@ spaceid_qq=
[universalLinks_weibo] [universalLinks_weibo]
universalLinks_weibo= universalLinks_weibo=
spaceid_weibo= spaceid_weibo=
[appstore]
appstore=8b68d95000cd13cbce3099b5723765ec
[iphone]
app%402x=57c603a7e76e93d4e909d70bc4f1c391
app%403x=dae9706c3d88c80e345fe86f92252814
notification%402x=90102496cae8ab78342248aafa2a930b
notification%403x=e172cef625674f072d3a1c937a048b77
settings%402x=83704cd271641c8750ad0edc3f6b54bf
settings%403x=a25a205a5b08635abac35931b1147c68
spotlight%402x=b5c21191cb9c68ea6be519f3f45b0460
spotlight%403x=57c603a7e76e93d4e909d70bc4f1c391

View File

@@ -1,3 +1,3 @@
iosProfile=C:/Users/Administrator/Desktop/吴门医述证书/ios/medicine.mobileprovision iosProfile=C:/Users/Administrator/Desktop/medicine_new/kaifa/medicine_development (1).mobileprovision
ioscertFile=C:/Users/Administrator/Desktop/吴门医述证书/ios/medicine.p12 ioscertFile=C:/Users/Administrator/Desktop/medicine_new/kaifa/证书.p12
ioscertPassword=wH88Yu6du9o/Dlg0GgsCZw== ioscertPassword=ai6IL9ZPZlB8nFR8AdVmIQ==

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long