正在显示
12 个修改的文件
包含
128 行增加
和
108 行删除
@@ -35,12 +35,11 @@ | @@ -35,12 +35,11 @@ | ||
35 | const res = await getLogin(code, uid) | 35 | const res = await getLogin(code, uid) |
36 | uni.setStorageSync('token', res.data.token) | 36 | uni.setStorageSync('token', res.data.token) |
37 | console.log('getLogin', res) | 37 | console.log('getLogin', res) |
38 | - // 保存数据 | ||
39 | } catch (err) { | 38 | } catch (err) { |
40 | uni.showToast({ title: err, icon: 'none' }) | 39 | uni.showToast({ title: err, icon: 'none' }) |
41 | console.log('错误', err) | 40 | console.log('错误', err) |
42 | } | 41 | } |
43 | - }, | 42 | + } |
44 | }, | 43 | }, |
45 | onShow: function() { | 44 | onShow: function() { |
46 | console.log('App Show') | 45 | console.log('App Show') |
1 | <template> | 1 | <template> |
2 | - <view class="bottomBar"> | ||
3 | - <view class="barBox"> | ||
4 | - <!-- 自定义底部按钮 --> | ||
5 | - <slot> | ||
6 | - <!-- 默认显示 --> | ||
7 | - <view class="cancel" v-if="!isLastRecord" @click="leftClick">{{leftBtnText}}</view> | ||
8 | - <view class="save" @click="rightClick">{{rightBtnText}}</view> | ||
9 | - </slot> | 2 | + <view class="bottom-wrap"> |
3 | + <view class="bottomBar"> | ||
4 | + <view class="barBox"> | ||
5 | + <!-- 自定义底部按钮 --> | ||
6 | + <slot> | ||
7 | + <!-- 默认显示 --> | ||
8 | + <view class="cancel" v-if="!isLastRecord" @click="leftClick">{{leftBtnText}}</view> | ||
9 | + <view class="save" @click="rightClick">{{rightBtnText}}</view> | ||
10 | + </slot> | ||
11 | + </view> | ||
10 | </view> | 12 | </view> |
11 | </view> | 13 | </view> |
12 | </template> | 14 | </template> |
@@ -56,7 +58,8 @@ | @@ -56,7 +58,8 @@ | ||
56 | .bottomBar { | 58 | .bottomBar { |
57 | position: fixed; | 59 | position: fixed; |
58 | z-index: v-bind(zIndex); | 60 | z-index: v-bind(zIndex); |
59 | - left: 0; | 61 | + left: 50%; |
62 | + transform: translateX(-50%); | ||
60 | right: 0; | 63 | right: 0; |
61 | bottom: 0; | 64 | bottom: 0; |
62 | height: v-bind(height); | 65 | height: v-bind(height); |
@@ -30,7 +30,9 @@ | @@ -30,7 +30,9 @@ | ||
30 | <template v-if="userinfo.is_vip==0"> | 30 | <template v-if="userinfo.is_vip==0"> |
31 | <image src="/static/images/vip-bg.png" class="vip-bg" @click="toMember"></image> | 31 | <image src="/static/images/vip-bg.png" class="vip-bg" @click="toMember"></image> |
32 | </template> | 32 | </template> |
33 | - <view class="clear-all" @click="clearAll">清除聊天记录</view> | 33 | + <view class="clearall-wrap"> |
34 | + <view class="clear-all" @click="clearAll">清除聊天记录</view> | ||
35 | + </view> | ||
34 | <image class="tips" src="/static/images/button.png" mode=""></image> | 36 | <image class="tips" src="/static/images/button.png" mode=""></image> |
35 | </view> | 37 | </view> |
36 | </u-popup> | 38 | </u-popup> |
@@ -174,7 +176,17 @@ | @@ -174,7 +176,17 @@ | ||
174 | height: 89rpx; | 176 | height: 89rpx; |
175 | } | 177 | } |
176 | 178 | ||
179 | + .clearall-wrap { | ||
180 | + @include flexCj(center); | ||
181 | + } | ||
182 | + | ||
177 | .clear-all { | 183 | .clear-all { |
184 | + width: 216rpx; | ||
185 | + height: 56rpx; | ||
186 | + border-radius: 12rpx; | ||
187 | + line-height: 56rpx; | ||
188 | + color: #000 !important; | ||
189 | + background: linear-gradient(90deg, #fce4c7ff 0%, #e0a879ff 100%); | ||
178 | text-align: center; | 190 | text-align: center; |
179 | color: #ffffff8c; | 191 | color: #ffffff8c; |
180 | margin-top: 60rpx; | 192 | margin-top: 60rpx; |
1 | <template> | 1 | <template> |
2 | - <show-time /> | ||
3 | <view class="inquire-group"> | 2 | <view class="inquire-group"> |
4 | <image class="avatar" :src="projectConfig.Al_avatar"></image> | 3 | <image class="avatar" :src="projectConfig.Al_avatar"></image> |
5 | <view class="group-wrap"> | 4 | <view class="group-wrap"> |
6 | - <view class="group-item" v-for="item in recommendList" :key="item.id" @click="clickKeywordSearch(item.title)"> | 5 | + <view class="group-item" v-for="item in recommendList" :key="item.id" @click="clickKeywordSearch(item.content)"> |
7 | <view class="item-title">{{item.title}} </view> | 6 | <view class="item-title">{{item.title}} </view> |
8 | <view class="item-content">{{item.content}}</view> | 7 | <view class="item-content">{{item.content}}</view> |
9 | </view> | 8 | </view> |
@@ -17,13 +16,24 @@ | @@ -17,13 +16,24 @@ | ||
17 | </view> | 16 | </view> |
18 | </view> | 17 | </view> |
19 | <show-time /> | 18 | <show-time /> |
20 | - <view class="dialogue-wrap" v-for="(item,index) in chatLog" :key="index" ref="messageListContainer"> | 19 | + <view class="text-guide"> |
20 | + <view class="top-text"> | ||
21 | + 如需使用电脑版,可在电脑微信打开小程序 | ||
22 | + </view> | ||
23 | + 防止迷路,请尽量、尽量、尽量关注公众号 | ||
24 | + <view class="bottom-text"> | ||
25 | + 左下角菜单点击添加客服获取更多精彩内容 | ||
26 | + </view> | ||
27 | + </view> | ||
28 | + <show-time /> | ||
29 | + <view class="dialogue-wrap" v-for="(item,index) in chatLog" :key="index"> | ||
21 | <show-time /> | 30 | <show-time /> |
22 | - <view class="response-group inquire-group"> | 31 | + <view class="response-group inquire-group" v-if="item.message"> |
23 | <view class="dialogue answer-inner"> | 32 | <view class="dialogue answer-inner"> |
24 | <view class="top answer-name">{{userinfo.nickname}}</view> | 33 | <view class="top answer-name">{{userinfo.nickname}}</view> |
25 | - <text selectable="true"> | ||
26 | - <view class="answer-dialogue">{{item.message }}</view> | 34 | + <text class="answer-dialogue" @click="longpressCopy(item.message)"> |
35 | + {{item.message }} | ||
36 | + <!-- <u-tooltip text="复制" overlay> </u-tooltip> --> | ||
27 | </text> | 37 | </text> |
28 | </view> | 38 | </view> |
29 | <image class="avatar" style="margin-right: 0;" :src="userinfo.avatar"></image> | 39 | <image class="avatar" style="margin-right: 0;" :src="userinfo.avatar"></image> |
@@ -33,16 +43,14 @@ | @@ -33,16 +43,14 @@ | ||
33 | <image class="avatar" :src="projectConfig.Al_avatar"></image> | 43 | <image class="avatar" :src="projectConfig.Al_avatar"></image> |
34 | <view class="dialogue"> | 44 | <view class="dialogue"> |
35 | <view class="top">{{projectConfig.Al_name}}</view> | 45 | <view class="top">{{projectConfig.Al_name}}</view> |
36 | - <text selectable="true"> | ||
37 | - <view class="inquire">{{item.response}}</view> | ||
38 | - </text> | 46 | + <text class="inquire" @click="longpressCopy(item.response)">{{item.response}}</text> |
39 | </view> | 47 | </view> |
40 | </view> | 48 | </view> |
41 | </view> | 49 | </view> |
42 | </template> | 50 | </template> |
43 | 51 | ||
44 | <script setup> | 52 | <script setup> |
45 | - import { ref, watch, nextTick } from 'vue' | 53 | + import { ref } from 'vue' |
46 | import showTime from '@/components/show-time.vue' | 54 | import showTime from '@/components/show-time.vue' |
47 | import { getRecorm } from '@/services/modules/home.js' | 55 | import { getRecorm } from '@/services/modules/home.js' |
48 | 56 | ||
@@ -67,44 +75,40 @@ | @@ -67,44 +75,40 @@ | ||
67 | emits('clickKeywordSearch', item) | 75 | emits('clickKeywordSearch', item) |
68 | } | 76 | } |
69 | 77 | ||
70 | - const recommendList = ref([]) | 78 | + function longpressCopy(message) { |
79 | + // navigator.clipboard.writeText(message).then(() => { | ||
80 | + // uni.showToast({ title: '复制成功', icon: 'none' }) | ||
81 | + // }).catch(() => { | ||
82 | + // console.log("复制失败"); | ||
83 | + // }) | ||
84 | + uni.setClipboardData({ | ||
85 | + data: message, | ||
86 | + success: () => { | ||
87 | + uni.showToast({ | ||
88 | + title: '复制成功' | ||
89 | + }) | ||
90 | + console.log('success'); | ||
91 | + } | ||
92 | + }) | ||
93 | + } | ||
71 | 94 | ||
95 | + const recommendList = ref([]) | ||
72 | async function fetchRecorm() { | 96 | async function fetchRecorm() { |
73 | const res = await getRecorm() | 97 | const res = await getRecorm() |
74 | recommendList.value = res.data | 98 | recommendList.value = res.data |
75 | // console.log('获取推荐文案', res) | 99 | // console.log('获取推荐文案', res) |
76 | } | 100 | } |
77 | - | ||
78 | - | ||
79 | - // const messageListContainer = ref(null); | ||
80 | - | ||
81 | - // watch( | ||
82 | - // () => props.chatLog, | ||
83 | - // (newVal) => { | ||
84 | - // nextTick(() => { | ||
85 | - // console.log(messageListContainer.value) | ||
86 | - // messageListContainer.value[newVal.length - 1].scrollIntoView(); // 关键代码 | ||
87 | - // }); | ||
88 | - // }, { | ||
89 | - // deep: true, | ||
90 | - // } | ||
91 | - // ) | ||
92 | - // // 在视图加载后将页面滚动到底部 | ||
93 | - // const scrollToBottom = () => { | ||
94 | - // // 获取消息列表容器的DOM元素 | ||
95 | - // const container = messageListContainer.value; | ||
96 | - // // 在下一个DOM更新周期中执行滚动 | ||
97 | - // nextTick(() => { | ||
98 | - // container.scrollTop = container.scrollHeight; | ||
99 | - // }) | ||
100 | - // } | ||
101 | - | ||
102 | - // defineExpose({ | ||
103 | - // scrollToBottom | ||
104 | - // }) | ||
105 | </script> | 101 | </script> |
106 | 102 | ||
107 | <style lang="scss"> | 103 | <style lang="scss"> |
104 | + .text-guide { | ||
105 | + text-align: center; | ||
106 | + | ||
107 | + .top-text { | ||
108 | + margin-bottom: 20rpx; | ||
109 | + } | ||
110 | + } | ||
111 | + | ||
108 | .inquire-group { | 112 | .inquire-group { |
109 | @include flex(); | 113 | @include flex(); |
110 | 114 | ||
@@ -120,6 +124,7 @@ | @@ -120,6 +124,7 @@ | ||
120 | } | 124 | } |
121 | 125 | ||
122 | .inquire { | 126 | .inquire { |
127 | + display: block; | ||
123 | word-break: break-all; | 128 | word-break: break-all; |
124 | width: 462rpx; | 129 | width: 462rpx; |
125 | padding: 32rpx; | 130 | padding: 32rpx; |
@@ -170,6 +175,7 @@ | @@ -170,6 +175,7 @@ | ||
170 | } | 175 | } |
171 | 176 | ||
172 | .answer-dialogue { | 177 | .answer-dialogue { |
178 | + display: block; | ||
173 | word-break: break-all; | 179 | word-break: break-all; |
174 | width: 416rpx; | 180 | width: 416rpx; |
175 | padding: 32rpx; | 181 | padding: 32rpx; |
@@ -9,7 +9,7 @@ | @@ -9,7 +9,7 @@ | ||
9 | { | 9 | { |
10 | "path": "pages/index/index", | 10 | "path": "pages/index/index", |
11 | "style": { | 11 | "style": { |
12 | - "navigationBarTitleText": "Ai小问答", | 12 | + "navigationBarTitleText": "#000001技术局", |
13 | "backgroundColor": "#000" | 13 | "backgroundColor": "#000" |
14 | } | 14 | } |
15 | }, { | 15 | }, { |
@@ -18,13 +18,20 @@ | @@ -18,13 +18,20 @@ | ||
18 | "navigationBarTitleText": "会员权益", | 18 | "navigationBarTitleText": "会员权益", |
19 | "enablePullDownRefresh": false | 19 | "enablePullDownRefresh": false |
20 | } | 20 | } |
21 | + }, { | ||
22 | + "path": "pages/tests/tests", | ||
23 | + "style": { | ||
24 | + "navigationBarTitleText": "", | ||
25 | + "enablePullDownRefresh": false | ||
26 | + } | ||
21 | } | 27 | } |
22 | ], | 28 | ], |
23 | "globalStyle": { | 29 | "globalStyle": { |
24 | "navigationBarTextStyle": "black", | 30 | "navigationBarTextStyle": "black", |
25 | "navigationBarTitleText": "uni-app", | 31 | "navigationBarTitleText": "uni-app", |
26 | "navigationBarBackgroundColor": "#F8F8F8", | 32 | "navigationBarBackgroundColor": "#F8F8F8", |
27 | - "backgroundColor": "#060606" | 33 | + "backgroundColor": "#060606", |
34 | + "navigationStyle": "custom" | ||
28 | }, | 35 | }, |
29 | "uniIdRouter": {} | 36 | "uniIdRouter": {} |
30 | } | 37 | } |
1 | <template> | 1 | <template> |
2 | <view class="content"> | 2 | <view class="content"> |
3 | - <scroll-view scroll-y scroll-x show-scrollbar scroll-with-animation :style="{ | ||
4 | - paddingBottom: '20px', | ||
5 | - height: screenHeight - bottomHeight - statusbarHeight - 148 + 'px', | ||
6 | - position: 'relative' | ||
7 | - }" class="scrollView" :scroll-top="scrollTopHeight" :scroll-into-view="getScrollView"> | ||
8 | - <view id="scroll-view-content"> | ||
9 | - <dialogue :chatLog="chatLog" :projectConfig="projectConfig" :userinfo="userinfo" ref="dialogueRef" | ||
10 | - @clickKeywordSearch="clickKeywordSearch" /> | ||
11 | - </view> | ||
12 | - </scroll-view> | 3 | + <dialogue :chatLog="chatLog" :projectConfig=" projectConfig" :userinfo="userinfo" |
4 | + @clickKeywordSearch="clickKeywordSearch" /> | ||
13 | <bottom-bar bgColor="#151419" :height="height"> | 5 | <bottom-bar bgColor="#151419" :height="height"> |
14 | <view class="bottom-wrap"> | 6 | <view class="bottom-wrap"> |
15 | <image class="menu-icon" src="/static/images/menu.png" @click="isShowPopup=true"></image> | 7 | <image class="menu-icon" src="/static/images/menu.png" @click="isShowPopup=true"></image> |
16 | - <u-search placeholder="请输入消息..." v-model="dialogueVal" shape="square" bgColor="#242228" | ||
17 | - :actionStyle="{color:'#f7dcbd'}" @search="fetchStartConversation(dialogueVal)" actionText="发送" | ||
18 | - @custom="fetchStartConversation(dialogueVal)"></u-search> | 8 | + <u-search placeholder="请输入信息..." v-model="dialogueVal" searchIconSize="0" shape="square" bgColor="#242228" |
9 | + :actionStyle="{color:'#f7dcbd'}" :disabled="disabled" @search="fetchStartConversation(dialogueVal)" | ||
10 | + actionText="发送" color="#fff" placeholderColor="#fff" @custom="fetchStartConversation(dialogueVal)"></u-search> | ||
19 | </view> | 11 | </view> |
20 | </bottom-bar> | 12 | </bottom-bar> |
21 | <bottom-popup :isShow=" isShowPopup" @closePopup="isShowPopup=false" :userinfo="userinfo" | 13 | <bottom-popup :isShow=" isShowPopup" @closePopup="isShowPopup=false" :userinfo="userinfo" |
@@ -26,7 +18,7 @@ | @@ -26,7 +18,7 @@ | ||
26 | <script setup> | 18 | <script setup> |
27 | import { EventSourcePolyfill } from 'event-source-polyfill'; | 19 | import { EventSourcePolyfill } from 'event-source-polyfill'; |
28 | 20 | ||
29 | - import { computed, ref, watchEffect } from 'vue' | 21 | + import { computed, nextTick, ref, watchEffect } from 'vue' |
30 | import { onLoad } from '@dcloudio/uni-app' | 22 | import { onLoad } from '@dcloudio/uni-app' |
31 | import dialogue from '@/components/dialogue.vue' | 23 | import dialogue from '@/components/dialogue.vue' |
32 | import bottomBar from '@/components/bottom-bar/bottom-bar.vue' | 24 | import bottomBar from '@/components/bottom-bar/bottom-bar.vue' |
@@ -41,8 +33,8 @@ | @@ -41,8 +33,8 @@ | ||
41 | const isShowPopup = ref(false) | 33 | const isShowPopup = ref(false) |
42 | const userinfo = ref() | 34 | const userinfo = ref() |
43 | const projectConfig = ref() | 35 | const projectConfig = ref() |
44 | - const dialogueRef = ref() | ||
45 | const height = ref('104rpx') | 36 | const height = ref('104rpx') |
37 | + const disabled = ref(false) | ||
46 | watchEffect(() => { | 38 | watchEffect(() => { |
47 | if (uni.getStorageSync('token')) { | 39 | if (uni.getStorageSync('token')) { |
48 | fetchRecord() | 40 | fetchRecord() |
@@ -50,11 +42,31 @@ | @@ -50,11 +42,31 @@ | ||
50 | fetchConfig() | 42 | fetchConfig() |
51 | } | 43 | } |
52 | }) | 44 | }) |
45 | + | ||
46 | + function getElementScollTop() { | ||
47 | + nextTick(() => { | ||
48 | + setTimeout(() => { | ||
49 | + uni.pageScrollTo({ | ||
50 | + scrollTop: 99999999999999999999, //滚动到页面的目标位置(单位px) | ||
51 | + }) | ||
52 | + }, 200) | ||
53 | + }) | ||
54 | + } | ||
55 | + | ||
56 | + nextTick(() => { | ||
57 | + setTimeout(() => { | ||
58 | + uni.pageScrollTo({ | ||
59 | + scrollTop: 99999999999999999999, //滚动到页面的目标位置(单位px) | ||
60 | + }) | ||
61 | + }, 200) | ||
62 | + }) | ||
63 | + | ||
53 | const chatLog = ref([]) | 64 | const chatLog = ref([]) |
54 | 65 | ||
55 | async function fetchStartConversation(message) { | 66 | async function fetchStartConversation(message) { |
56 | if (!message || isNull(message)) return showToast('请输入消息,消息不能为空哦~') | 67 | if (!message || isNull(message)) return showToast('请输入消息,消息不能为空哦~') |
57 | chatLog.value.push({ message: dialogueVal.value, response: '' }) | 68 | chatLog.value.push({ message: dialogueVal.value, response: '' }) |
69 | + getElementScollTop() | ||
58 | let source = new EventSourcePolyfill( | 70 | let source = new EventSourcePolyfill( |
59 | `http://aladmin.shs.broing.cn/api/message/sendText2?message=${message}`, { | 71 | `http://aladmin.shs.broing.cn/api/message/sendText2?message=${message}`, { |
60 | headers: { | 72 | headers: { |
@@ -64,44 +76,30 @@ | @@ -64,44 +76,30 @@ | ||
64 | } | 76 | } |
65 | }) | 77 | }) |
66 | source.onopen = function(e) { | 78 | source.onopen = function(e) { |
79 | + getElementScollTop() | ||
80 | + disabled.value = true | ||
67 | // console.log('开始流式监听', e) | 81 | // console.log('开始流式监听', e) |
68 | }; | 82 | }; |
69 | source.onmessage = function(event) { | 83 | source.onmessage = function(event) { |
70 | - console.log('onmessage', event.data) | 84 | + disabled.value = true |
85 | + // console.log('onmessage', event.data) | ||
71 | chatLog.value[chatLog.value.length - 1].response = chatLog.value[chatLog.value.length - 1].response.concat( | 86 | chatLog.value[chatLog.value.length - 1].response = chatLog.value[chatLog.value.length - 1].response.concat( |
72 | event.data).replaceAll('<br/>', ' ').replaceAll('undefined', ' ') | 87 | event.data).replaceAll('<br/>', ' ').replaceAll('undefined', ' ') |
73 | }; | 88 | }; |
74 | 89 | ||
75 | source.onerror = function(err) { | 90 | source.onerror = function(err) { |
91 | + getElementScollTop() | ||
92 | + disabled.value = false | ||
76 | source.close(); | 93 | source.close(); |
77 | }; | 94 | }; |
78 | 95 | ||
79 | dialogueVal.value = '' | 96 | dialogueVal.value = '' |
80 | fetchUserinfo() | 97 | fetchUserinfo() |
81 | - if (res.msg === '您的会话次数不足') showToast(`${res.msg}`) | ||
82 | - } | ||
83 | - | ||
84 | - onLoad(() => { | ||
85 | - uni.getSystemInfo({ | ||
86 | - success: function(res) { | ||
87 | - console.log(res, '------------') | ||
88 | - } | ||
89 | - }) | ||
90 | - }) | ||
91 | - | ||
92 | - // 页面滚动到底部 | ||
93 | - function scrollToBottom() { | ||
94 | - uni.createSelectorQuery().in(s).select('#scroll-view-content').boundingClientRect((res) => { | ||
95 | - let top = res.height - (s.screenHeight - s.bottomHeight - 140); | ||
96 | - if (top > 0) { | ||
97 | - this.scrollTopHeight = top; | ||
98 | - } | ||
99 | - }).exec() | ||
100 | } | 98 | } |
101 | 99 | ||
102 | // 点击关键词进行搜索 | 100 | // 点击关键词进行搜索 |
103 | function clickKeywordSearch(e) { | 101 | function clickKeywordSearch(e) { |
104 | - dialogueVal.value = e | 102 | + // dialogueVal.value = e |
105 | fetchStartConversation(e) | 103 | fetchStartConversation(e) |
106 | } | 104 | } |
107 | 105 | ||
@@ -138,23 +136,17 @@ | @@ -138,23 +136,17 @@ | ||
138 | 136 | ||
139 | <style lang="scss"> | 137 | <style lang="scss"> |
140 | page { | 138 | page { |
141 | - padding-bottom: 208rpx; | ||
142 | - | 139 | + padding-bottom: 104rpx; |
143 | } | 140 | } |
144 | 141 | ||
145 | - .scrollView { | ||
146 | - position: fixed; | ||
147 | - right: 0px; | ||
148 | - left: 0; | ||
149 | - top: 0; | ||
150 | - /* padding-left: 10px; | ||
151 | - padding-right: 10px; | ||
152 | - padding-top: 10px; */ | ||
153 | - width: auto; | 142 | + ::v-deep .u-popup__content { |
143 | + background: #000 !important; | ||
144 | + margin: 0 auto; | ||
154 | } | 145 | } |
155 | 146 | ||
156 | .content { | 147 | .content { |
157 | @include wrap(); | 148 | @include wrap(); |
149 | + overflow: scroll; | ||
158 | height: auto !important; | 150 | height: auto !important; |
159 | margin-top: 40rpx; | 151 | margin-top: 40rpx; |
160 | } | 152 | } |
1 | <template> | 1 | <template> |
2 | <view class="member"> | 2 | <view class="member"> |
3 | <view class="rights">会员权益:问答无次数限制</view> | 3 | <view class="rights">会员权益:问答无次数限制</view> |
4 | - <image class="qr-code" show-menu-by-longpress :src="server_qr" mode=""></image> | 4 | + <image class="qr-code" show-menu-by-longpress :src="server_qr" mode="aspectFill"></image> |
5 | <view class="">长按识别二维码添加客服微信开通会员</view> | 5 | <view class="">长按识别二维码添加客服微信开通会员</view> |
6 | </view> | 6 | </view> |
7 | </template> | 7 | </template> |
@@ -23,7 +23,7 @@ | @@ -23,7 +23,7 @@ | ||
23 | } | 23 | } |
24 | 24 | ||
25 | .qr-code { | 25 | .qr-code { |
26 | - @include common-icon-wh(200rpx); | 26 | + width: 400rpx; |
27 | margin: 40rpx 0; | 27 | margin: 40rpx 0; |
28 | } | 28 | } |
29 | </style> | 29 | </style> |
1 | -*{margin:0;-webkit-tap-highlight-color:transparent}html,body{-webkit-user-select:none;user-select:none;width:100%;height:100%}body,uni-page-body{background-color:var(--UI-BG-0);color:var(--UI-FG-0)}body{overflow-x:hidden;font-size:16px}uni-app,uni-page,uni-page-wrapper,uni-page-body{display:block;box-sizing:border-box;width:100%}uni-page-wrapper{position:relative}#app,uni-app,uni-page,uni-page-wrapper{height:100%}.uni-mask{position:fixed;z-index:999;top:0;right:0;left:0;bottom:0;background:rgba(0,0,0,.5)}.uni-fade-enter-active,.uni-fade-leave-active{transition-duration:.25s;transition-property:opacity;transition-timing-function:ease}.uni-fade-enter-from,.uni-fade-leave-active{opacity:0}.uni-loading,uni-button[loading]:before{background-color:transparent;background-image:url(data:image/svg+xml;base64,\ PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=);background-repeat:no-repeat}.uni-loading{width:20px;height:20px;display:inline-block;vertical-align:middle;animation:uni-loading 1s steps(12,end) infinite;background-size:100%}@keyframes uni-loading{0%{transform:rotate3d(0,0,1,0)}to{transform:rotate3d(0,0,1,360deg)}}html{--primary-color: #007aff;--UI-BG: #fff;--UI-BG-1: #f7f7f7;--UI-BG-2: #fff;--UI-BG-3: #f7f7f7;--UI-BG-4: #4c4c4c;--UI-BG-5: #fff;--UI-FG: #000;--UI-FG-0: rgba(0, 0, 0, .9);--UI-FG-HALF: rgba(0, 0, 0, .9);--UI-FG-1: rgba(0, 0, 0, .5);--UI-FG-2: rgba(0, 0, 0, .3);--UI-FG-3: rgba(0, 0, 0, .1)}body:after{position:fixed;content:"";left:-1000px;top:-1000px;animation:shadow-preload .1s;animation-delay:3s}@keyframes shadow-preload{0%{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}to{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}}.uni-async-error{position:absolute;left:0;right:0;top:0;bottom:0;color:#999;padding:100px 10px;text-align:center}.uni-async-loading{box-sizing:border-box;width:100%;padding:50px;text-align:center}.uni-async-loading .uni-loading{width:30px;height:30px}uni-page-head{display:block;box-sizing:border-box}.uni-page-head{position:fixed;left:var(--window-left);right:var(--window-right);height:44px;height:calc(44px + constant(safe-area-inset-top));height:calc(44px + env(safe-area-inset-top));padding:7px 3px;padding-top:calc(7px + constant(safe-area-inset-top));padding-top:calc(7px + env(safe-area-inset-top));display:flex;overflow:hidden;justify-content:space-between;box-sizing:border-box;z-index:998;color:#fff;background-color:#000;transition-property:all}.uni-page-head *{box-sizing:border-box}.uni-page-head .uni-btn-icon{overflow:hidden;min-width:1em;font-style:normal}.uni-page-head-titlePenetrate,.uni-page-head-titlePenetrate .uni-page-head-bd,.uni-page-head-titlePenetrate .uni-page-head-bd *{pointer-events:none}.uni-page-head-titlePenetrate *{pointer-events:auto}.uni-page-head.uni-page-head-transparent .uni-page-head-ft>div{justify-content:center}.uni-page-head~.uni-placeholder{width:100%;height:44px;height:calc(44px + constant(safe-area-inset-top));height:calc(44px + env(safe-area-inset-top))}.uni-placeholder-titlePenetrate{pointer-events:none}.uni-page-head-hd{display:flex;align-items:center;font-size:16px}.uni-page-head-bd{position:absolute;left:70px;right:70px;min-width:0;-webkit-user-select:auto;user-select:auto}.uni-page-head-btn{position:relative;width:auto;margin:0 2px;word-break:keep-all;white-space:pre;cursor:pointer}.uni-page-head-btn svg{margin-top:-2px}.uni-page-head-transparent .uni-page-head-btn{display:flex;align-items:center;width:32px;height:32px;border-radius:50%;background-color:rgba(0,0,0,.5)}.uni-page-head-btn-red-dot:after{content:attr(badge-text);position:absolute;right:0;top:0;background-color:red;color:#fff;width:18px;height:18px;line-height:18px;border-radius:18px;overflow:hidden;transform:scale(.5) translate(40%,-40%);transform-origin:100% 0}.uni-page-head-btn-red-dot[badge-text]:after{font-size:12px;width:auto;min-width:18px;max-width:42px;text-align:center;padding:0 3px;transform:scale(.7) translate(40%,-40%)}.uni-page-head-btn-select svg{vertical-align:middle;margin-left:2px;transform:rotate(270deg) scale(.8)}.uni-page-head-search{position:relative;display:flex;flex:1;margin:0 2px;line-height:30px;font-size:15px}.uni-page-head-search-input{width:100%;height:100%;padding-left:34px;text-align:left}.uni-page-head-search-placeholder{position:absolute;max-width:100%;height:100%;padding-left:34px;overflow:hidden;word-break:keep-all;white-space:pre}.uni-page-head-search-placeholder-right{right:0}.uni-page-head-search-placeholder-center{left:50%;transform:translate(-50%)}.uni-page-head-search-icon{position:absolute;top:0;left:2px;width:30px;height:30px;display:flex;justify-content:center;align-items:center}.uni-page-head-ft{display:flex;align-items:center;flex-direction:row-reverse;font-size:13px}.uni-page-head__title{font-weight:700;font-size:16px;line-height:30px;text-align:center;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.uni-page-head__title .uni-loading{width:16px;height:16px;margin-top:-3px}.uni-page-head__title .uni-page-head__title_image{width:auto;height:26px;vertical-align:middle}.uni-page-head-shadow{overflow:visible}.uni-page-head-shadow:after{content:"";position:absolute;left:0;right:0;top:100%;height:5px;background-size:100% 100%}.uni-page-head-shadow-grey:after{background-image:url(https://cdn.dcloud.net.cn/img/shadow-grey.png)}.uni-page-head-shadow-blue:after{background-image:url(https://cdn.dcloud.net.cn/img/shadow-blue.png)}.uni-page-head-shadow-green:after{background-image:url(https://cdn.dcloud.net.cn/img/shadow-green.png)}.uni-page-head-shadow-orange:after{background-image:url(https://cdn.dcloud.net.cn/img/shadow-orange.png)}.uni-page-head-shadow-red:after{background-image:url(https://cdn.dcloud.net.cn/img/shadow-red.png)}.uni-page-head-shadow-yellow:after{background-image:url(https://cdn.dcloud.net.cn/img/shadow-yellow.png)}uni-page-head[uni-page-head-type=default]~uni-page-wrapper{height:calc(100% - 44px);height:calc(100% - 44px - constant(safe-area-inset-top));height:calc(100% - 44px - env(safe-area-inset-top))}.u-line-1{display:-webkit-box!important;overflow:hidden;text-overflow:ellipsis;word-break:break-all;-webkit-line-clamp:1;-webkit-box-orient:vertical!important}.u-line-2{display:-webkit-box!important;overflow:hidden;text-overflow:ellipsis;word-break:break-all;-webkit-line-clamp:2;-webkit-box-orient:vertical!important}.u-line-3{display:-webkit-box!important;overflow:hidden;text-overflow:ellipsis;word-break:break-all;-webkit-line-clamp:3;-webkit-box-orient:vertical!important}.u-line-4{display:-webkit-box!important;overflow:hidden;text-overflow:ellipsis;word-break:break-all;-webkit-line-clamp:4;-webkit-box-orient:vertical!important}.u-line-5{display:-webkit-box!important;overflow:hidden;text-overflow:ellipsis;word-break:break-all;-webkit-line-clamp:5;-webkit-box-orient:vertical!important}.u-border{border-width:.5px!important;border-color:#dadbde!important;border-style:solid}.u-border-top{border-top-width:.5px!important;border-color:#dadbde!important;border-top-style:solid}.u-border-left{border-left-width:.5px!important;border-color:#dadbde!important;border-left-style:solid}.u-border-right{border-right-width:.5px!important;border-color:#dadbde!important;border-right-style:solid}.u-border-bottom{border-bottom-width:.5px!important;border-color:#dadbde!important;border-bottom-style:solid}.u-border-top-bottom{border-top-width:.5px!important;border-bottom-width:.5px!important;border-color:#dadbde!important;border-top-style:solid;border-bottom-style:solid}.u-reset-button{padding:0;background-color:transparent;font-size:inherit;line-height:inherit;color:inherit}.u-reset-button:after{border:none}.u-hover-class{opacity:.7}.u-primary-light{color:#ecf5ff}.u-warning-light{color:#fdf6ec}.u-success-light{color:#f5fff0}.u-error-light{color:#fef0f0}.u-info-light{color:#f4f4f5}.u-primary-light-bg{background-color:#ecf5ff}.u-warning-light-bg{background-color:#fdf6ec}.u-success-light-bg{background-color:#f5fff0}.u-error-light-bg{background-color:#fef0f0}.u-info-light-bg{background-color:#f4f4f5}.u-primary-dark{color:#398ade}.u-warning-dark{color:#f1a532}.u-success-dark{color:#53c21d}.u-error-dark{color:#e45656}.u-info-dark{color:#767a82}.u-primary-dark-bg{background-color:#398ade}.u-warning-dark-bg{background-color:#f1a532}.u-success-dark-bg{background-color:#53c21d}.u-error-dark-bg{background-color:#e45656}.u-info-dark-bg{background-color:#767a82}.u-primary-disabled{color:#9acafc}.u-warning-disabled{color:#f9d39b}.u-success-disabled{color:#a9e08f}.u-error-disabled{color:#f7b2b2}.u-info-disabled{color:#c4c6c9}.u-primary{color:#3c9cff}.u-warning{color:#f9ae3d}.u-success{color:#5ac725}.u-error{color:#f56c6c}.u-info{color:#909399}.u-primary-bg{background-color:#3c9cff}.u-warning-bg{background-color:#f9ae3d}.u-success-bg{background-color:#5ac725}.u-error-bg{background-color:#f56c6c}.u-info-bg{background-color:#909399}.u-main-color{color:#303133}.u-content-color{color:#606266}.u-tips-color{color:#909193}.u-light-color{color:#c0c4cc}.u-safe-area-inset-top{padding-top:0;padding-top:constant(safe-area-inset-top);padding-top:env(safe-area-inset-top)}.u-safe-area-inset-right{padding-right:0;padding-right:constant(safe-area-inset-right);padding-right:env(safe-area-inset-right)}.u-safe-area-inset-bottom{padding-bottom:0;padding-bottom:constant(safe-area-inset-bottom);padding-bottom:env(safe-area-inset-bottom)}.u-safe-area-inset-left{padding-left:0;padding-left:constant(safe-area-inset-left);padding-left:env(safe-area-inset-left)}uni-toast{z-index:10090}uni-toast .uni-toast{z-index:10090}::-webkit-scrollbar{display:none;width:0!important;height:0!important;-webkit-appearance:none;background:transparent}uni-page-body{background-color:#000;font-size:.875rem;color:#fff}body{background-color:#000} |
1 | -.member[data-v-c8dd4856]{display:flex;align-items:center;flex-direction:column;margin-top:1rem}.qr-code[data-v-c8dd4856]{width:6.25rem;height:6.25rem;margin:1.25rem 0} |
1 | -uni-image{width:320px;height:240px;display:inline-block;overflow:hidden;position:relative}uni-image[hidden]{display:none}uni-image>div{width:100%;height:100%;background-repeat:no-repeat}uni-image>img{-webkit-touch-callout:none;user-select:none;display:block;position:absolute;top:0;left:0;width:100%;height:100%;opacity:0}uni-image>.uni-image-will-change{will-change:transform}uni-input{display:block;font-size:16px;line-height:1.4em;height:1.4em;min-height:1.4em;overflow:hidden}uni-input[hidden]{display:none}.uni-input-wrapper,.uni-input-placeholder,.uni-input-form,.uni-input-input{outline:none;border:none;padding:0;margin:0;text-decoration:inherit}.uni-input-wrapper,.uni-input-form{display:flex;position:relative;width:100%;height:100%;flex-direction:column;justify-content:center}.uni-input-placeholder,.uni-input-input{width:100%}.uni-input-placeholder{position:absolute;top:auto!important;left:0;color:gray;overflow:hidden;text-overflow:clip;white-space:pre;word-break:keep-all;pointer-events:none;line-height:inherit}.uni-input-input{position:relative;display:block;height:100%;background:none;color:inherit;opacity:1;font:inherit;line-height:inherit;letter-spacing:inherit;text-align:inherit;text-indent:inherit;text-transform:inherit;text-shadow:inherit}.uni-input-input[type=search]::-webkit-search-cancel-button,.uni-input-input[type=search]::-webkit-search-decoration{display:none}.uni-input-input::-webkit-outer-spin-button,.uni-input-input::-webkit-inner-spin-button{appearance:none;margin:0}.uni-input-input[type=number]{-moz-appearance:textfield}.uni-input-input:disabled{-webkit-text-fill-color:currentcolor}@keyframes once-show{0%{top:0}}uni-resize-sensor,uni-resize-sensor>div{position:absolute;left:0;top:0;right:0;bottom:0;overflow:hidden}uni-resize-sensor{display:block;z-index:-1;visibility:hidden;animation:once-show 1ms}uni-resize-sensor>div>div{position:absolute;left:0;top:0}uni-resize-sensor>div:first-child>div{width:100000px;height:100000px}uni-resize-sensor>div:last-child>div{width:200%;height:200%}uni-scroll-view{display:block;width:100%}uni-scroll-view[hidden]{display:none}.uni-scroll-view{position:relative;-webkit-overflow-scrolling:touch;width:100%;height:100%;max-height:inherit}.uni-scroll-view-content{width:100%;height:100%}.uni-scroll-view-refresher{position:relative;overflow:hidden}.uni-scroll-view-refresh{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:row;justify-content:center;align-items:center}.uni-scroll-view-refresh-inner{display:flex;align-items:center;justify-content:center;line-height:0;width:40px;height:40px;border-radius:50%;background-color:#fff;box-shadow:0 1px 6px rgba(0,0,0,.118),0 1px 4px rgba(0,0,0,.118)}.uni-scroll-view-refresh__spinner{transform-origin:center center;animation:uni-scroll-view-refresh-rotate 2s linear infinite}.uni-scroll-view-refresh__spinner>circle{stroke:currentColor;stroke-linecap:round;animation:uni-scroll-view-refresh-dash 2s linear infinite}@keyframes uni-scroll-view-refresh-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes uni-scroll-view-refresh-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}uni-text[selectable]{cursor:auto;user-select:text}uni-text{white-space:pre-line}uni-view{display:block}uni-view[hidden]{display:none}uni-toast{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;display:block;box-sizing:border-box;pointer-events:none;font-size:16px}.uni-sample-toast{position:fixed;z-index:999;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;max-width:80%}.uni-simple-toast__text{display:inline-block;vertical-align:middle;color:#fff;background-color:rgba(17,17,17,.7);padding:10px 20px;border-radius:5px;font-size:13px;text-align:center;max-width:100%;word-break:break-all;white-space:normal}uni-toast .uni-mask{pointer-events:auto}.uni-toast{position:fixed;z-index:999;width:8em;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(17,17,17,.7);text-align:center;border-radius:5px;color:#fff}.uni-toast *{box-sizing:border-box}.uni-toast__icon{margin:20px 0 0;width:38px!important;height:38px!important;vertical-align:baseline!important}.uni-icon_toast{margin:15px 0 0}.uni-icon_toast.uni-icon-success-no-circle:before{color:#fff;font-size:55px}.uni-icon_toast.uni-loading{margin:20px 0 0;width:38px;height:38px;vertical-align:baseline}.uni-toast__content{margin:0 0 15px}@media (prefers-color-scheme: dark){.uni-toast{background-color:#606060;color:var(--UI-FG-0)}} |
1 | <!DOCTYPE html> | 1 | <!DOCTYPE html> |
2 | <html lang="en"> | 2 | <html lang="en"> |
3 | <head> | 3 | <head> |
4 | - <link rel="stylesheet" href="/assets/uni.2bbffe23.css"> | 4 | + <link rel="stylesheet" href="/assets/uni.9400faf2.css"> |
5 | 5 | ||
6 | <meta charset="UTF-8" /> | 6 | <meta charset="UTF-8" /> |
7 | <script> | 7 | <script> |
@@ -14,8 +14,8 @@ | @@ -14,8 +14,8 @@ | ||
14 | <title>AI-interlocution</title> | 14 | <title>AI-interlocution</title> |
15 | <!--preload-links--> | 15 | <!--preload-links--> |
16 | <!--app-context--> | 16 | <!--app-context--> |
17 | - <script type="module" crossorigin src="/assets/index-0dc6814a.js"></script> | ||
18 | - <link rel="stylesheet" href="/assets/index-d909d437.css"> | 17 | + <script type="module" crossorigin src="/assets/index-752cd467.js"></script> |
18 | + <link rel="stylesheet" href="/assets/index-ce5725ae.css"> | ||
19 | </head> | 19 | </head> |
20 | <body> | 20 | <body> |
21 | <div id="app"><!--app-html--></div> | 21 | <div id="app"><!--app-html--></div> |
-
请 注册 或 登录 后发表评论