├── talkieai-server ├── app │ ├── __init__.py │ ├── api │ │ └── __init__.py │ ├── core │ │ ├── db_cache.py │ │ ├── logging.py │ │ ├── exceptions.py │ │ ├── __init__.py │ │ ├── language.py │ │ └── auth.py │ ├── models │ │ ├── __init__.py │ │ ├── response.py │ │ ├── topic_models.py │ │ └── sys_models.py │ ├── ai │ │ ├── impl │ │ │ └── __init__.py │ │ ├── __init__.py │ │ └── interfaces.py │ ├── services │ │ └── __init__.py │ ├── db │ │ └── __init__.py │ └── config.py ├── start.sh ├── requirements.txt ├── data │ ├── sys_language.json │ └── azure_style_label.json └── .env.default ├── talkieai-uniapp ├── src │ ├── models │ │ ├── chat.ts │ │ ├── sys.ts │ │ └── models.ts │ ├── static │ │ ├── img │ │ │ ├── loginImg │ │ │ │ ├── 2.png │ │ │ │ ├── 3.png │ │ │ │ ├── qq.png │ │ │ │ ├── sj.png │ │ │ │ ├── wx.png │ │ │ │ └── yz.png │ │ │ └── icons │ │ │ │ ├── star.png │ │ │ │ ├── feedback.png │ │ │ │ ├── vip-icon.png │ │ │ │ └── history-records.png │ │ ├── vip.png │ │ ├── check.png │ │ ├── clear.png │ │ ├── edit.png │ │ ├── home.png │ │ ├── logo.png │ │ ├── mine.png │ │ ├── right.png │ │ ├── ai-robot.jpg │ │ ├── change.png │ │ ├── concat.png │ │ ├── deleted.png │ │ ├── favicon.ico │ │ ├── feedback.png │ │ ├── loading.png │ │ ├── playing.png │ │ ├── setting.png │ │ ├── un_check.png │ │ ├── connection.png │ │ ├── icon_close.png │ │ ├── icon_hint.png │ │ ├── icon_home.png │ │ ├── icon_send.png │ │ ├── icon_trash.png │ │ ├── icon_voice.png │ │ ├── voice_play.png │ │ ├── contact_us.jpeg │ │ ├── edit_select.png │ │ ├── home_select.png │ │ ├── icon_collect.png │ │ ├── icon_correct.png │ │ ├── icon_grammar.png │ │ ├── icon_keybord.png │ │ ├── icon_prompt.png │ │ ├── icon_settings.png │ │ ├── mine_select.png │ │ ├── voice_playing.gif │ │ ├── icon_copy_text.png │ │ ├── icon_down_white.png │ │ ├── icon_incorrect.png │ │ ├── icon_menu_play.png │ │ ├── icon_translate.png │ │ ├── icon_voice_play.png │ │ ├── feedback_success.png │ │ ├── github │ │ │ ├── GitHub_Logo.png │ │ │ ├── github-mark.png │ │ │ └── github-mark-white.png │ │ ├── icon_header_back.png │ │ ├── icon_switch_down.png │ │ ├── icon_voice_fixed.png │ │ ├── menu_voice_playing.gif │ │ ├── topic-result-pass.png │ │ ├── icon_collect_actived.png │ │ ├── default-account-avatar.jpg │ │ ├── default-account-avatar.png │ │ └── topic-result-not-pass.png │ ├── uni_modules │ │ ├── uni-scss │ │ │ ├── index.scss │ │ │ ├── styles │ │ │ │ ├── setting │ │ │ │ │ ├── _border.scss │ │ │ │ │ ├── _text.scss │ │ │ │ │ ├── _space.scss │ │ │ │ │ ├── _radius.scss │ │ │ │ │ └── _color.scss │ │ │ │ ├── index.scss │ │ │ │ └── tools │ │ │ │ │ └── functions.scss │ │ │ ├── changelog.md │ │ │ ├── readme.md │ │ │ ├── theme.scss │ │ │ ├── variables.scss │ │ │ └── package.json │ │ ├── uni-section │ │ │ ├── changelog.md │ │ │ ├── readme.md │ │ │ └── package.json │ │ ├── uni-fav │ │ │ ├── components │ │ │ │ └── uni-fav │ │ │ │ │ └── i18n │ │ │ │ │ ├── zh-Hans.json │ │ │ │ │ ├── zh-Hant.json │ │ │ │ │ ├── en.json │ │ │ │ │ └── index.js │ │ │ ├── readme.md │ │ │ └── changelog.md │ │ ├── uni-ui │ │ │ └── components │ │ │ │ └── uni-ui │ │ │ │ └── uni-ui.vue │ │ ├── uni-search-bar │ │ │ ├── components │ │ │ │ └── uni-search-bar │ │ │ │ │ └── i18n │ │ │ │ │ ├── zh-Hans.json │ │ │ │ │ ├── zh-Hant.json │ │ │ │ │ ├── en.json │ │ │ │ │ └── index.js │ │ │ ├── readme.md │ │ │ ├── changelog.md │ │ │ └── package.json │ │ ├── uni-icons │ │ │ ├── components │ │ │ │ └── uni-icons │ │ │ │ │ └── uniicons.ttf │ │ │ ├── readme.md │ │ │ ├── changelog.md │ │ │ └── package.json │ │ ├── uni-countdown │ │ │ ├── components │ │ │ │ └── uni-countdown │ │ │ │ │ └── i18n │ │ │ │ │ ├── en.json │ │ │ │ │ ├── zh-Hans.json │ │ │ │ │ ├── zh-Hant.json │ │ │ │ │ └── index.js │ │ │ ├── readme.md │ │ │ ├── changelog.md │ │ │ └── package.json │ │ ├── uni-pagination │ │ │ ├── components │ │ │ │ └── uni-pagination │ │ │ │ │ └── i18n │ │ │ │ │ ├── zh-Hans.json │ │ │ │ │ ├── zh-Hant.json │ │ │ │ │ ├── en.json │ │ │ │ │ ├── es.json │ │ │ │ │ ├── fr.json │ │ │ │ │ └── index.js │ │ │ ├── readme.md │ │ │ ├── changelog.md │ │ │ └── package.json │ │ ├── uni-load-more │ │ │ ├── components │ │ │ │ └── uni-load-more │ │ │ │ │ └── i18n │ │ │ │ │ ├── zh-Hans.json │ │ │ │ │ ├── zh-Hant.json │ │ │ │ │ ├── en.json │ │ │ │ │ └── index.js │ │ │ ├── readme.md │ │ │ └── changelog.md │ │ ├── uni-popup │ │ │ ├── components │ │ │ │ ├── uni-popup │ │ │ │ │ ├── i18n │ │ │ │ │ │ ├── zh-Hant.json │ │ │ │ │ │ ├── zh-Hans.json │ │ │ │ │ │ ├── en.json │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── popup.js │ │ │ │ │ └── keypress.js │ │ │ │ └── uni-popup-dialog │ │ │ │ │ └── keypress.js │ │ │ ├── readme.md │ │ │ └── package.json │ │ ├── uni-fab │ │ │ ├── readme.md │ │ │ ├── changelog.md │ │ │ └── package.json │ │ ├── uni-calendar │ │ │ ├── components │ │ │ │ └── uni-calendar │ │ │ │ │ └── i18n │ │ │ │ │ ├── index.js │ │ │ │ │ ├── zh-Hans.json │ │ │ │ │ ├── zh-Hant.json │ │ │ │ │ └── en.json │ │ │ ├── changelog.md │ │ │ └── package.json │ │ ├── uni-goods-nav │ │ │ ├── components │ │ │ │ └── uni-goods-nav │ │ │ │ │ └── i18n │ │ │ │ │ ├── index.js │ │ │ │ │ ├── zh-Hans.json │ │ │ │ │ ├── zh-Hant.json │ │ │ │ │ └── en.json │ │ │ ├── readme.md │ │ │ └── changelog.md │ │ ├── uni-grid │ │ │ ├── readme.md │ │ │ ├── changelog.md │ │ │ └── package.json │ │ ├── uni-drawer │ │ │ ├── readme.md │ │ │ ├── changelog.md │ │ │ ├── components │ │ │ │ └── uni-drawer │ │ │ │ │ └── keypress.js │ │ │ └── package.json │ │ ├── uni-group │ │ │ ├── readme.md │ │ │ ├── changelog.md │ │ │ └── package.json │ │ ├── uni-combox │ │ │ ├── readme.md │ │ │ └── changelog.md │ │ ├── uni-datetime-picker │ │ │ ├── components │ │ │ │ └── uni-datetime-picker │ │ │ │ │ └── i18n │ │ │ │ │ ├── index.js │ │ │ │ │ ├── zh-Hans.json │ │ │ │ │ ├── zh-Hant.json │ │ │ │ │ └── en.json │ │ │ └── readme.md │ │ ├── uni-card │ │ │ ├── readme.md │ │ │ └── changelog.md │ │ ├── uni-tooltip │ │ │ ├── changelog.md │ │ │ ├── readme.md │ │ │ ├── components │ │ │ │ └── uni-tooltip │ │ │ │ │ └── uni-tooltip.vue │ │ │ └── package.json │ │ ├── uni-data-select │ │ │ ├── readme.md │ │ │ └── changelog.md │ │ ├── uni-steps │ │ │ ├── readme.md │ │ │ └── changelog.md │ │ ├── uni-table │ │ │ ├── readme.md │ │ │ ├── i18n │ │ │ │ ├── zh-Hans.json │ │ │ │ ├── zh-Hant.json │ │ │ │ ├── index.js │ │ │ │ ├── en.json │ │ │ │ ├── es.json │ │ │ │ └── fr.json │ │ │ ├── components │ │ │ │ └── uni-tbody │ │ │ │ │ └── uni-tbody.vue │ │ │ ├── changelog.md │ │ │ └── package.json │ │ ├── uni-transition │ │ │ ├── readme.md │ │ │ ├── changelog.md │ │ │ └── package.json │ │ ├── uni-dateformat │ │ │ ├── readme.md │ │ │ ├── changelog.md │ │ │ └── components │ │ │ │ └── uni-dateformat │ │ │ │ └── uni-dateformat.vue │ │ ├── uni-row │ │ │ ├── readme.md │ │ │ └── changelog.md │ │ ├── uni-swiper-dot │ │ │ ├── readme.md │ │ │ └── changelog.md │ │ ├── uni-tag │ │ │ ├── readme.md │ │ │ └── changelog.md │ │ ├── uni-rate │ │ │ ├── readme.md │ │ │ └── changelog.md │ │ ├── uni-badge │ │ │ ├── readme.md │ │ │ ├── changelog.md │ │ │ └── package.json │ │ ├── uni-indexed-list │ │ │ ├── readme.md │ │ │ └── changelog.md │ │ ├── uni-link │ │ │ ├── readme.md │ │ │ └── changelog.md │ │ ├── uni-notice-bar │ │ │ ├── readme.md │ │ │ └── changelog.md │ │ ├── uni-nav-bar │ │ │ ├── readme.md │ │ │ ├── components │ │ │ │ └── uni-nav-bar │ │ │ │ │ └── uni-status-bar.vue │ │ │ ├── changelog.md │ │ │ └── package.json │ │ ├── uni-number-box │ │ │ ├── readme.md │ │ │ ├── changelog.md │ │ │ └── package.json │ │ ├── uni-swipe-action │ │ │ ├── readme.md │ │ │ ├── components │ │ │ │ ├── uni-swipe-action-item │ │ │ │ │ ├── isPC.js │ │ │ │ │ └── mpwxs.js │ │ │ │ └── uni-swipe-action │ │ │ │ │ └── uni-swipe-action.vue │ │ │ ├── changelog.md │ │ │ └── package.json │ │ ├── uni-file-picker │ │ │ ├── readme.md │ │ │ └── package.json │ │ ├── uni-title │ │ │ ├── readme.md │ │ │ └── changelog.md │ │ ├── uni-segmented-control │ │ │ ├── readme.md │ │ │ └── changelog.md │ │ ├── uni-collapse │ │ │ ├── readme.md │ │ │ └── changelog.md │ │ ├── uni-easyinput │ │ │ ├── readme.md │ │ │ └── components │ │ │ │ └── uni-easyinput │ │ │ │ └── common.js │ │ ├── uni-data-checkbox │ │ │ ├── readme.md │ │ │ └── changelog.md │ │ ├── uni-forms │ │ │ └── readme.md │ │ ├── uni-data-picker │ │ │ ├── readme.md │ │ │ └── components │ │ │ │ └── uni-data-picker │ │ │ │ └── keypress.js │ │ └── uni-list │ │ │ └── components │ │ │ ├── uni-list-chat │ │ │ └── uni-list-chat.scss │ │ │ └── uni-list │ │ │ └── uni-refresh.vue │ ├── shime-uni.d.ts │ ├── config │ │ └── env.ts │ ├── pages │ │ ├── login │ │ │ └── service.ts │ │ ├── contact │ │ │ ├── less │ │ │ │ └── index.less │ │ │ └── index.vue │ │ ├── chat │ │ │ └── components │ │ │ │ ├── MessageSpeech.vue │ │ │ │ ├── PhonemeBox.vue │ │ │ │ ├── TextPronunciation.vue │ │ │ │ ├── CommonAudioPlayer.vue │ │ │ │ └── Prompt.vue │ │ └── feedback │ │ │ └── less │ │ │ └── index.less │ ├── env.d.ts │ ├── axios │ │ ├── axiosServer.ts │ │ ├── api.ts │ │ └── axiosService.ts │ ├── App.vue │ ├── utils │ │ ├── utils.ts │ │ └── bus.ts │ ├── global │ │ └── globalCount.hooks.ts │ ├── api │ │ ├── sys.ts │ │ ├── topic.ts │ │ └── account.ts │ ├── components │ │ ├── GithubLink.vue │ │ ├── Rate.vue │ │ ├── LoadingRound.vue │ │ ├── Loading.vue │ │ └── Checkbox.vue │ ├── main.ts │ ├── less │ │ └── global.less │ └── uni.scss ├── favicon.png ├── tsconfig.json ├── vite.config.ts └── index.html └── .gitignore /talkieai-server/app/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /talkieai-server/app/api/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /talkieai-server/app/core/db_cache.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /talkieai-server/app/models/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/models/chat.ts: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /talkieai-server/app/ai/impl/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/img/loginImg/2.png: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/img/loginImg/3.png: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/img/loginImg/qq.png: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/img/loginImg/sj.png: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/img/loginImg/wx.png: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/img/loginImg/yz.png: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /talkieai-server/start.sh: -------------------------------------------------------------------------------- 1 | nohup uvicorn app.main:app --host 0.0.0.0 --port 8097 & 2 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-scss/index.scss: -------------------------------------------------------------------------------- 1 | @import './styles/index.scss'; 2 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-section/changelog.md: -------------------------------------------------------------------------------- 1 | ## 0.0.1(2022-07-22) 2 | - 初始化 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /talkieai-server/.env 2 | /talkieai-uniapp/package-lock.json 3 | /talkieai-uniapp/node_modules/ 4 | -------------------------------------------------------------------------------- /talkieai-uniapp/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/favicon.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/vip.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/vip.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-scss/styles/setting/_border.scss: -------------------------------------------------------------------------------- 1 | .uni-border { 2 | border: 1px $uni-border-1 solid; 3 | } -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/check.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/clear.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/clear.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/edit.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/home.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/logo.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/mine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/mine.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/right.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/ai-robot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/ai-robot.jpg -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/change.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/change.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/concat.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/concat.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/deleted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/deleted.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/favicon.ico -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/feedback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/feedback.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/loading.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/loading.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/playing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/playing.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/setting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/setting.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/un_check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/un_check.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/connection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/connection.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/icon_close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/icon_close.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/icon_hint.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/icon_hint.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/icon_home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/icon_home.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/icon_send.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/icon_send.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/icon_trash.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/icon_trash.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/icon_voice.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/icon_voice.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/voice_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/voice_play.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/contact_us.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/contact_us.jpeg -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/edit_select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/edit_select.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/home_select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/home_select.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/icon_collect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/icon_collect.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/icon_correct.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/icon_correct.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/icon_grammar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/icon_grammar.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/icon_keybord.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/icon_keybord.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/icon_prompt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/icon_prompt.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/icon_settings.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/icon_settings.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/mine_select.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/mine_select.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/voice_playing.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/voice_playing.gif -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/icon_copy_text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/icon_copy_text.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/icon_down_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/icon_down_white.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/icon_incorrect.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/icon_incorrect.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/icon_menu_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/icon_menu_play.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/icon_translate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/icon_translate.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/icon_voice_play.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/icon_voice_play.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/img/icons/star.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/img/icons/star.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hans.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-fav.collect": "收藏", 3 | "uni-fav.collected": "已收藏" 4 | } 5 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-fav/components/uni-fav/i18n/zh-Hant.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-fav.collect": "收藏", 3 | "uni-fav.collected": "已收藏" 4 | } 5 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/feedback_success.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/feedback_success.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/github/GitHub_Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/github/GitHub_Logo.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/github/github-mark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/github/github-mark.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/icon_header_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/icon_header_back.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/icon_switch_down.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/icon_switch_down.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/icon_voice_fixed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/icon_voice_fixed.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/img/icons/feedback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/img/icons/feedback.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/img/icons/vip-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/img/icons/vip-icon.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/menu_voice_playing.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/menu_voice_playing.gif -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/topic-result-pass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/topic-result-pass.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-fav/components/uni-fav/i18n/en.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-fav.collect": "collect", 3 | "uni-fav.collected": "collected" 4 | } 5 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/icon_collect_actived.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/icon_collect_actived.png -------------------------------------------------------------------------------- /talkieai-server/app/core/logging.py: -------------------------------------------------------------------------------- 1 | import logging 2 | 3 | logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(name)s - %(levelname)s - %(message)s') 4 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/default-account-avatar.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/default-account-avatar.jpg -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/default-account-avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/default-account-avatar.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/topic-result-not-pass.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/topic-result-not-pass.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/github/github-mark-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/github/github-mark-white.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/static/img/icons/history-records.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/static/img/icons/history-records.png -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-ui/components/uni-ui/uni-ui.vue: -------------------------------------------------------------------------------- 1 | 4 | 6 | 8 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hans.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-search-bar.cancel": "取消", 3 | "uni-search-bar.placeholder": "请输入搜索内容" 4 | } 5 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-search-bar/components/uni-search-bar/i18n/zh-Hant.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-search-bar.cancel": "取消", 3 | "uni-search-bar.placeholder": "請輸入搜索內容" 4 | } 5 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/shime-uni.d.ts: -------------------------------------------------------------------------------- 1 | export {} 2 | 3 | declare module "vue" { 4 | type Hooks = App.AppInstance & Page.PageInstance; 5 | interface ComponentCustomOptions extends Hooks {} 6 | } -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-search-bar/components/uni-search-bar/i18n/en.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-search-bar.cancel": "cancel", 3 | "uni-search-bar.placeholder": "Search enter content" 4 | } -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-icons/components/uni-icons/uniicons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/uni_modules/uni-icons/components/uni-icons/uniicons.ttf -------------------------------------------------------------------------------- /talkieai-uniapp/src/config/env.ts: -------------------------------------------------------------------------------- 1 | export default { 2 | // basePath: "http://192.168.0.102:8098/api/v1" 3 | basePath: "http://localhost:8097/api/v1" 4 | // basePath: "https://talkie.prejade.com/api/v1" 5 | }; 6 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-countdown/components/uni-countdown/i18n/en.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-countdown.day": "day", 3 | "uni-countdown.h": "h", 4 | "uni-countdown.m": "m", 5 | "uni-countdown.s": "s" 6 | } 7 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hans.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-countdown.day": "天", 3 | "uni-countdown.h": "时", 4 | "uni-countdown.m": "分", 5 | "uni-countdown.s": "秒" 6 | } 7 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-countdown/components/uni-countdown/i18n/zh-Hant.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-countdown.day": "天", 3 | "uni-countdown.h": "時", 4 | "uni-countdown.m": "分", 5 | "uni-countdown.s": "秒" 6 | } 7 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hans.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-pagination.prevText": "上一页", 3 | "uni-pagination.nextText": "下一页", 4 | "uni-pagination.piecePerPage": "条/页" 5 | } 6 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-pagination/components/uni-pagination/i18n/zh-Hant.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-pagination.prevText": "上一頁", 3 | "uni-pagination.nextText": "下一頁", 4 | "uni-pagination.piecePerPage": "條/頁" 5 | } 6 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-pagination/components/uni-pagination/i18n/en.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-pagination.prevText": "prev", 3 | "uni-pagination.nextText": "next", 4 | "uni-pagination.piecePerPage": "piece/page" 5 | } 6 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-pagination/components/uni-pagination/i18n/es.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/maioria/chatgpt-talkieai/HEAD/talkieai-uniapp/src/uni_modules/uni-pagination/components/uni-pagination/i18n/es.json -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hans.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-load-more.contentdown": "上拉显示更多", 3 | "uni-load-more.contentrefresh": "正在加载...", 4 | "uni-load-more.contentnomore": "没有更多数据了" 5 | } 6 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-load-more/components/uni-load-more/i18n/zh-Hant.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-load-more.contentdown": "上拉顯示更多", 3 | "uni-load-more.contentrefresh": "正在加載...", 4 | "uni-load-more.contentnomore": "沒有更多數據了" 5 | } 6 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-scss/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.0.3(2022-01-21) 2 | - 优化 组件示例 3 | ## 1.0.2(2021-11-22) 4 | - 修复 / 符号在 vue 不同版本兼容问题引起的报错问题 5 | ## 1.0.1(2021-11-22) 6 | - 修复 vue3中scss语法兼容问题 7 | ## 1.0.0(2021-11-18) 8 | - init 9 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-pagination/components/uni-pagination/i18n/fr.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-pagination.prevText": "précédente", 3 | "uni-pagination.nextText": "suivante", 4 | "uni-pagination.piecePerPage": "Articles/Pages" 5 | } 6 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hant.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-popup.cancel": "取消", 3 | "uni-popup.ok": "確定", 4 | "uni-popup.placeholder": "請輸入", 5 | "uni-popup.title": "提示", 6 | "uni-popup.shareTitle": "分享到" 7 | } 8 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-load-more/components/uni-load-more/i18n/en.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-load-more.contentdown": "Pull up to show more", 3 | "uni-load-more.contentrefresh": "loading...", 4 | "uni-load-more.contentnomore": "No more data" 5 | } 6 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-popup/components/uni-popup/i18n/zh-Hans.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-popup.cancel": "取消", 3 | "uni-popup.ok": "确定", 4 | "uni-popup.placeholder": "请输入", 5 | "uni-popup.title": "提示", 6 | "uni-popup.shareTitle": "分享到" 7 | } 8 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-scss/readme.md: -------------------------------------------------------------------------------- 1 | `uni-sass` 是 `uni-ui`提供的一套全局样式 ,通过一些简单的类名和`sass`变量,实现简单的页面布局操作,比如颜色、边距、圆角等。 2 | 3 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-sass) 4 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-fab/readme.md: -------------------------------------------------------------------------------- 1 | ## Fab 悬浮按钮 2 | > **组件名:uni-fab** 3 | > 代码块: `uFab` 4 | 5 | 6 | 点击可展开一个图形按钮菜单 7 | 8 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-fab) 9 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-fav/components/uni-fav/i18n/index.js: -------------------------------------------------------------------------------- 1 | import en from './en.json' 2 | import zhHans from './zh-Hans.json' 3 | import zhHant from './zh-Hant.json' 4 | export default { 5 | en, 6 | 'zh-Hans': zhHans, 7 | 'zh-Hant': zhHant 8 | } 9 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-popup/components/uni-popup/i18n/en.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-popup.cancel": "cancel", 3 | "uni-popup.ok": "ok", 4 | "uni-popup.placeholder": "pleace enter", 5 | "uni-popup.title": "Hint", 6 | "uni-popup.shareTitle": "Share to" 7 | } 8 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-popup/components/uni-popup/i18n/index.js: -------------------------------------------------------------------------------- 1 | import en from './en.json' 2 | import zhHans from './zh-Hans.json' 3 | import zhHant from './zh-Hant.json' 4 | export default { 5 | en, 6 | 'zh-Hans': zhHans, 7 | 'zh-Hant': zhHant 8 | } 9 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-calendar/components/uni-calendar/i18n/index.js: -------------------------------------------------------------------------------- 1 | import en from './en.json' 2 | import zhHans from './zh-Hans.json' 3 | import zhHant from './zh-Hant.json' 4 | export default { 5 | en, 6 | 'zh-Hans': zhHans, 7 | 'zh-Hant': zhHant 8 | } 9 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-countdown/components/uni-countdown/i18n/index.js: -------------------------------------------------------------------------------- 1 | import en from './en.json' 2 | import zhHans from './zh-Hans.json' 3 | import zhHant from './zh-Hant.json' 4 | export default { 5 | en, 6 | 'zh-Hans': zhHans, 7 | 'zh-Hant': zhHant 8 | } 9 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/index.js: -------------------------------------------------------------------------------- 1 | import en from './en.json' 2 | import zhHans from './zh-Hans.json' 3 | import zhHant from './zh-Hant.json' 4 | export default { 5 | en, 6 | 'zh-Hans': zhHans, 7 | 'zh-Hant': zhHant 8 | } 9 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-icons/readme.md: -------------------------------------------------------------------------------- 1 | ## Icons 图标 2 | > **组件名:uni-icons** 3 | > 代码块: `uIcons` 4 | 5 | 用于展示 icons 图标 。 6 | 7 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-icons) 8 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 9 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-load-more/components/uni-load-more/i18n/index.js: -------------------------------------------------------------------------------- 1 | import en from './en.json' 2 | import zhHans from './zh-Hans.json' 3 | import zhHant from './zh-Hant.json' 4 | export default { 5 | en, 6 | 'zh-Hans': zhHans, 7 | 'zh-Hant': zhHant 8 | } 9 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-grid/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Grid 宫格 4 | > **组件名:uni-grid** 5 | > 代码块: `uGrid` 6 | 7 | 8 | 宫格组件。 9 | 10 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-grid) 11 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-search-bar/components/uni-search-bar/i18n/index.js: -------------------------------------------------------------------------------- 1 | import en from './en.json' 2 | import zhHans from './zh-Hans.json' 3 | import zhHant from './zh-Hant.json' 4 | export default { 5 | en, 6 | 'zh-Hans': zhHans, 7 | 'zh-Hant': zhHant 8 | } 9 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-drawer/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Drawer 抽屉 4 | > **组件名:uni-drawer** 5 | > 代码块: `uDrawer` 6 | 7 | 抽屉侧滑菜单。 8 | 9 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-drawer) 10 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-fav/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Fav 收藏按钮 4 | > **组件名:uni-fav** 5 | > 代码块: `uFav` 6 | 7 | 用于收藏功能,可点击切换选中、不选中的状态。 8 | 9 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-fav) 10 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hans.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-goods-nav.options.shop": "店铺", 3 | "uni-goods-nav.options.cart": "购物车", 4 | "uni-goods-nav.buttonGroup.addToCart": "加入购物车", 5 | "uni-goods-nav.buttonGroup.buyNow": "立即购买" 6 | } 7 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/zh-Hant.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-goods-nav.options.shop": "店鋪", 3 | "uni-goods-nav.options.cart": "購物車", 4 | "uni-goods-nav.buttonGroup.addToCart": "加入購物車", 5 | "uni-goods-nav.buttonGroup.buyNow": "立即購買" 6 | } 7 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-group/readme.md: -------------------------------------------------------------------------------- 1 | 2 | ## Group 分组 3 | > **组件名:uni-group** 4 | > 代码块: `uGroup` 5 | 6 | 分组组件可用于将组件分组,添加间隔,以产生明显的区块。 7 | 8 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-group) 9 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-combox/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Combox 组合框 4 | > **组件名:uni-combox** 5 | > 代码块: `uCombox` 6 | 7 | 8 | 组合框组件。 9 | 10 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-combox) 11 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/index.js: -------------------------------------------------------------------------------- 1 | import en from './en.json' 2 | import zhHans from './zh-Hans.json' 3 | import zhHant from './zh-Hant.json' 4 | export default { 5 | en, 6 | 'zh-Hans': zhHans, 7 | 'zh-Hant': zhHant 8 | } 9 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-goods-nav/components/uni-goods-nav/i18n/en.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-goods-nav.options.shop": "shop", 3 | "uni-goods-nav.options.cart": "cart", 4 | "uni-goods-nav.buttonGroup.addToCart": "add to cart", 5 | "uni-goods-nav.buttonGroup.buyNow": "buy now" 6 | } 7 | -------------------------------------------------------------------------------- /talkieai-server/app/models/response.py: -------------------------------------------------------------------------------- 1 | class ApiResponse: 2 | def __init__(self, code: str = '200', status: str = 'SUCCESS', data=None, message: str = 'success'): 3 | self.code = code 4 | self.status = status 5 | self.data = data 6 | self.message = message 7 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-card/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Card 卡片 4 | > **组件名:uni-card** 5 | > 代码块: `uCard` 6 | 7 | 卡片视图组件。 8 | 9 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-card) 10 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 11 | 12 | 13 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-countdown/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## CountDown 倒计时 4 | > **组件名:uni-countdown** 5 | > 代码块: `uCountDown` 6 | 7 | 倒计时组件。 8 | 9 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-countdown) 10 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-section/readme.md: -------------------------------------------------------------------------------- 1 | ## Section 标题栏 2 | > **组件名:uni-section** 3 | > 代码块: `uSection` 4 | 5 | uni-section 组件主要用于文章、列表详情等标题展示 6 | 7 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-section) 8 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 9 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-tooltip/changelog.md: -------------------------------------------------------------------------------- 1 | ## 0.2.1(2022-05-09) 2 | - 修复 content 为空时仍然弹出的bug 3 | ## 0.2.0(2022-05-07) 4 | **注意:破坏性更新** 5 | - 更新 text 属性变更为 content 6 | - 更新 移除 width 属性 7 | ## 0.1.1(2022-04-27) 8 | - 修复 组件根 text 嵌套组件 warning 9 | ## 0.1.0(2022-04-21) 10 | - 初始化 11 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-goods-nav/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## GoodsNav 商品导航 4 | > **组件名:uni-goods-nav** 5 | > 代码块: `uGoodsNav` 6 | 7 | 商品加入购物车,立即购买等。 8 | 9 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-goods-nav) 10 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /talkieai-server/app/core/exceptions.py: -------------------------------------------------------------------------------- 1 | # 用户资源访问受限exception 2 | class UserAccessDeniedException(Exception): 3 | pass 4 | 5 | 6 | # 用户密码不正确 7 | class UserPasswordIncorrectException(Exception): 8 | pass 9 | 10 | 11 | # 参数不正确 12 | class ParameterIncorrectException(Exception): 13 | pass 14 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-data-select/readme.md: -------------------------------------------------------------------------------- 1 | ## DataSelect 下拉框选择器 2 | > **组件名:uni-data-select** 3 | > 代码块: `uDataSelect` 4 | 5 | 当选项过多时,使用下拉菜单展示并选择内容 6 | 7 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-data-select) 8 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 9 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-steps/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Steps 步骤条 4 | > **组件名:uni-steps** 5 | > 代码块: `uSteps` 6 | 7 | 8 | 步骤条,常用于显示进度 9 | 10 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-steps) 11 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 12 | 13 | 14 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-table/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Table 表单 4 | > 组件名:``uni-table``,代码块: `uTable`。 5 | 6 | 用于展示多条结构类似的数据 7 | 8 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-table) 9 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-tooltip/readme.md: -------------------------------------------------------------------------------- 1 | ## Badge 数字角标 2 | > **组件名:uni-tooltip** 3 | > 代码块: `uTooltip` 4 | 5 | 数字角标一般和其它控件(列表、9宫格等)配合使用,用于进行数量提示,默认为实心灰色背景, 6 | 7 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-tooltip) 8 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 9 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-transition/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Transition 过渡动画 4 | > **组件名:uni-transition** 5 | > 代码块: `uTransition` 6 | 7 | 8 | 元素过渡动画 9 | 10 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-transition) 11 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-dateformat/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ### DateFormat 日期格式化 4 | > **组件名:uni-dateformat** 5 | > 代码块: `uDateformat` 6 | 7 | 8 | 日期格式化组件。 9 | 10 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-dateformat) 11 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-row/readme.md: -------------------------------------------------------------------------------- 1 | ## Layout 布局 2 | 3 | > **组件名 uni-row、uni-col** 4 | > 代码块: `uRow`、`uCol` 5 | 6 | 7 | 流式栅格系统,随着屏幕或视口分为 24 份,可以迅速简便地创建布局。 8 | 9 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-row) 10 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-swiper-dot/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## SwiperDot 轮播图指示点 4 | > **组件名:uni-swiper-dot** 5 | > 代码块: `uSwiperDot` 6 | 7 | 8 | 自定义轮播图指示点 9 | 10 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-swiper-dot) 11 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-tag/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Tag 标签 4 | > **组件名:uni-tag** 5 | > 代码块: `uTag` 6 | 7 | 8 | 用于展示1个或多个文字标签,可点击切换选中、不选中的状态 。 9 | 10 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-tag) 11 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 12 | 13 | 14 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-rate/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Rate 评分 4 | > **组件名:uni-rate** 5 | > 代码块: `uRate` 6 | > 关联组件:`uni-icons` 7 | 8 | 9 | 评分组件,多用于购买商品后,对商品进行评价等场景 10 | 11 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-rate) 12 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-scss/styles/index.scss: -------------------------------------------------------------------------------- 1 | @import './setting/_variables.scss'; 2 | @import './setting/_border.scss'; 3 | @import './setting/_color.scss'; 4 | @import './setting/_space.scss'; 5 | @import './setting/_radius.scss'; 6 | @import './setting/_text.scss'; 7 | @import './setting/_styles.scss'; 8 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-badge/readme.md: -------------------------------------------------------------------------------- 1 | ## Badge 数字角标 2 | > **组件名:uni-badge** 3 | > 代码块: `uBadge` 4 | 5 | 数字角标一般和其它控件(列表、9宫格等)配合使用,用于进行数量提示,默认为实心灰色背景, 6 | 7 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-badge) 8 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 9 | 10 | 11 | -------------------------------------------------------------------------------- /talkieai-server/app/models/topic_models.py: -------------------------------------------------------------------------------- 1 | from enum import Enum 2 | from typing import List, Dict 3 | 4 | from pydantic import BaseModel, constr 5 | 6 | 7 | class CreateSessionDTO(BaseModel): 8 | topic_id: str 9 | 10 | class TopicCreateDTO(BaseModel): 11 | ai_role: str 12 | my_role: str 13 | topic: str -------------------------------------------------------------------------------- /talkieai-uniapp/src/pages/login/service.ts: -------------------------------------------------------------------------------- 1 | import request from "@/axios/api"; 2 | export default { 3 | wechatLogin: (data: any) => { 4 | return request('/wechat/code-login', "POST", data, false); 5 | }, 6 | visitorLogin: (data: any) => { 7 | return request('/visitor-login', "POST", data, false); 8 | } 9 | }; 10 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-indexed-list/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## IndexedList 索引列表 4 | > **组件名:uni-indexed-list** 5 | > 代码块: `uIndexedList` 6 | 7 | 8 | 用于展示索引列表。 9 | 10 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-indexed-list) 11 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 12 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-link/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Link 链接 4 | > **组件名:uni-link** 5 | > 代码块: `uLink` 6 | 7 | 8 | uni-link是一个外部网页超链接组件,在小程序内复制url,在app内打开外部浏览器,在h5端打开新网页。 9 | 10 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-link) 11 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-notice-bar/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## NoticeBar 通告栏 4 | > **组件名:uni-notice-bar** 5 | > 代码块: `uNoticeBar` 6 | 7 | 8 | 通告栏组件 。 9 | 10 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-notice-bar) 11 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 12 | 13 | 14 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-pagination/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Pagination 分页器 4 | > **组件名:uni-pagination** 5 | > 代码块: `uPagination` 6 | 7 | 8 | 分页器组件,用于展示页码、请求数据等。 9 | 10 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-pagination) 11 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 12 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-search-bar/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## SearchBar 搜索栏 4 | 5 | > **组件名:uni-search-bar** 6 | > 代码块: `uSearchBar` 7 | 8 | 9 | 搜索栏组件 10 | 11 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-search-bar) 12 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 13 | 14 | 15 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | declare module '*.vue' { 4 | import { DefineComponent } from 'vue' 5 | // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/ban-types 6 | const component: DefineComponent<{}, {}, any> 7 | export default component 8 | } 9 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-nav-bar/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## NavBar 导航栏 4 | > **组件名:uni-nav-bar** 5 | > 代码块: `uNavBar` 6 | 7 | 导航栏组件,主要用于头部导航。 8 | 9 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-nav-bar) 10 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-number-box/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## NumberBox 数字输入框 4 | > **组件名:uni-number-box** 5 | > 代码块: `uNumberBox` 6 | 7 | 8 | 带加减按钮的数字输入框。 9 | 10 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-number-box) 11 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 12 | 13 | 14 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-table/i18n/zh-Hans.json: -------------------------------------------------------------------------------- 1 | { 2 | "filter-dropdown.reset": "重置", 3 | "filter-dropdown.search": "搜索", 4 | "filter-dropdown.submit": "确定", 5 | "filter-dropdown.filter": "筛选", 6 | "filter-dropdown.gt": "大于等于", 7 | "filter-dropdown.lt": "小于等于", 8 | "filter-dropdown.date": "日期范围" 9 | } 10 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-table/i18n/zh-Hant.json: -------------------------------------------------------------------------------- 1 | { 2 | "filter-dropdown.reset": "重置", 3 | "filter-dropdown.search": "搜索", 4 | "filter-dropdown.submit": "確定", 5 | "filter-dropdown.filter": "篩選", 6 | "filter-dropdown.gt": "大於等於", 7 | "filter-dropdown.lt": "小於等於", 8 | "filter-dropdown.date": "日期範圍" 9 | } 10 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-table/i18n/index.js: -------------------------------------------------------------------------------- 1 | import en from './en.json' 2 | import es from './es.json' 3 | import fr from './fr.json' 4 | import zhHans from './zh-Hans.json' 5 | import zhHant from './zh-Hant.json' 6 | export default { 7 | en, 8 | es, 9 | fr, 10 | 'zh-Hans': zhHans, 11 | 'zh-Hant': zhHant 12 | } 13 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-swipe-action/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## SwipeAction 滑动操作 4 | > **组件名:uni-swipe-action** 5 | > 代码块: `uSwipeAction`、`uSwipeActionItem` 6 | 7 | 8 | 通过滑动触发选项的容器 9 | 10 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-swipe-action) 11 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /talkieai-server/app/models/sys_models.py: -------------------------------------------------------------------------------- 1 | from enum import Enum 2 | from typing import List, Dict 3 | 4 | from pydantic import BaseModel, constr 5 | 6 | class UpdateLanguageDTO(BaseModel): 7 | language: constr(min_length=1) 8 | 9 | 10 | class FeedbackDTO(BaseModel): 11 | content: constr(min_length=1) 12 | contact: str = None -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-file-picker/readme.md: -------------------------------------------------------------------------------- 1 | 2 | ## FilePicker 文件选择上传 3 | 4 | > **组件名:uni-file-picker** 5 | > 代码块: `uFilePicker` 6 | 7 | 8 | 文件选择上传组件,可以选择图片、视频等任意文件并上传到当前绑定的服务空间 9 | 10 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-file-picker) 11 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-load-more/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ### LoadMore 加载更多 4 | > **组件名:uni-load-more** 5 | > 代码块: `uLoadMore` 6 | 7 | 8 | 用于列表中,做滚动加载使用,展示 loading 的各种状态。 9 | 10 | 11 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-load-more) 12 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 13 | 14 | 15 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-title/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Title 标题 4 | > **组件名:uni-title** 5 | > 代码块: `uTitle` 6 | 7 | 8 | 章节标题,通常用于记录页面标题,使用当前组件,uni-app 如果开启统计,将会自动统计页面标题 。 9 | 10 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-title) 11 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-segmented-control/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## SegmentedControl 分段器 4 | > **组件名:uni-segmented-control** 5 | > 代码块: `uSegmentedControl` 6 | 7 | 8 | 用作不同视图的显示 9 | 10 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-segmented-control) 11 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 12 | 13 | 14 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-pagination/components/uni-pagination/i18n/index.js: -------------------------------------------------------------------------------- 1 | import en from './en.json' 2 | import es from './es.json' 3 | import fr from './fr.json' 4 | import zhHans from './zh-Hans.json' 5 | import zhHant from './zh-Hant.json' 6 | export default { 7 | en, 8 | es, 9 | fr, 10 | 'zh-Hans': zhHans, 11 | 'zh-Hant': zhHant 12 | } 13 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-popup/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Popup 弹出层 4 | > **组件名:uni-popup** 5 | > 代码块: `uPopup` 6 | > 关联组件:`uni-transition` 7 | 8 | 9 | 弹出层组件,在应用中弹出一个消息提示窗口、提示框等 10 | 11 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-popup) 12 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-table/i18n/en.json: -------------------------------------------------------------------------------- 1 | { 2 | "filter-dropdown.reset": "Reset", 3 | "filter-dropdown.search": "Search", 4 | "filter-dropdown.submit": "Submit", 5 | "filter-dropdown.filter": "Filter", 6 | "filter-dropdown.gt": "Greater or equal to", 7 | "filter-dropdown.lt": "Less than or equal to", 8 | "filter-dropdown.date": "Date" 9 | } 10 | -------------------------------------------------------------------------------- /talkieai-server/requirements.txt: -------------------------------------------------------------------------------- 1 | uvicorn==0.20.0 2 | azure_storage==0.37.0 3 | fastapi==0.109.0 4 | openai==1.9.0 5 | pydantic==1.10.5 6 | pydub==0.25.1 7 | PyJWT==2.8.0 8 | python-dotenv==1.0.1 9 | SQLAlchemy==2.0.10 10 | starlette==0.36.1 11 | zhipuai==1.0.7 12 | pymysql~=1.0.2 13 | azure-cognitiveservices-speech~=1.34.1 14 | requests~=2.28.2 15 | python-multipart 16 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-table/i18n/es.json: -------------------------------------------------------------------------------- 1 | { 2 | "filter-dropdown.reset": "Reiniciar", 3 | "filter-dropdown.search": "Búsqueda", 4 | "filter-dropdown.submit": "Entregar", 5 | "filter-dropdown.filter": "Filtrar", 6 | "filter-dropdown.gt": "Mayor o igual a", 7 | "filter-dropdown.lt": "Menos que o igual a", 8 | "filter-dropdown.date": "Fecha" 9 | } 10 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-table/i18n/fr.json: -------------------------------------------------------------------------------- 1 | { 2 | "filter-dropdown.reset": "Réinitialiser", 3 | "filter-dropdown.search": "Chercher", 4 | "filter-dropdown.submit": "Soumettre", 5 | "filter-dropdown.filter": "Filtre", 6 | "filter-dropdown.gt": "Supérieur ou égal à", 7 | "filter-dropdown.lt": "Inférieur ou égal à", 8 | "filter-dropdown.date": "Date" 9 | } 10 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/axios/axiosServer.ts: -------------------------------------------------------------------------------- 1 | // import axios from "./axiosService"; 2 | // import qs from "query-string"; 3 | 4 | // export const PostJson = (url: string, params: any) => { 5 | // return axios.post(url, params); 6 | // }; 7 | 8 | // export const GetUrl = (url: string, params: any = {}) => { 9 | // return axios.get(`${url}?${qs.stringify(params)}`, params); 10 | // }; 11 | -------------------------------------------------------------------------------- /talkieai-uniapp/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "@vue/tsconfig/tsconfig.json", 3 | "compilerOptions": { 4 | "sourceMap": true, 5 | "baseUrl": ".", 6 | "paths": { 7 | "@/*": ["./src/*"] 8 | }, 9 | "lib": ["esnext", "dom"], 10 | "types": ["@dcloudio/types"] 11 | }, 12 | "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"] 13 | } 14 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/pages/contact/less/index.less: -------------------------------------------------------------------------------- 1 | @import url('../../../less/global.less'); 2 | .contact{ 3 | display: flex; 4 | padding-top: 100rpx; 5 | justify-content: center; 6 | flex-direction: column; 7 | align-items: center; 8 | .contact-text{ 9 | font-size: 28rpx; 10 | } 11 | .contact-image{ 12 | width: 600rpx; 13 | height: 1075rpx; 14 | margin-top: 40rpx; 15 | } 16 | } -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-collapse/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Collapse 折叠面板 4 | > **组件名:uni-collapse** 5 | > 代码块: `uCollapse` 6 | > 关联组件:`uni-collapse-item`、`uni-icons`。 7 | 8 | 9 | 折叠面板用来折叠/显示过长的内容或者是列表。通常是在多内容分类项使用,折叠不重要的内容,显示重要内容。点击可以展开折叠部分。 10 | 11 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-collapse) 12 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hans.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-calender.ok": "确定", 3 | "uni-calender.cancel": "取消", 4 | "uni-calender.today": "今日", 5 | "uni-calender.SUN": "日", 6 | "uni-calender.MON": "一", 7 | "uni-calender.TUE": "二", 8 | "uni-calender.WED": "三", 9 | "uni-calender.THU": "四", 10 | "uni-calender.FRI": "五", 11 | "uni-calender.SAT": "六" 12 | } 13 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-calendar/components/uni-calendar/i18n/zh-Hant.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-calender.ok": "確定", 3 | "uni-calender.cancel": "取消", 4 | "uni-calender.today": "今日", 5 | "uni-calender.SUN": "日", 6 | "uni-calender.MON": "一", 7 | "uni-calender.TUE": "二", 8 | "uni-calender.WED": "三", 9 | "uni-calender.THU": "四", 10 | "uni-calender.FRI": "五", 11 | "uni-calender.SAT": "六" 12 | } 13 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/App.vue: -------------------------------------------------------------------------------- 1 | 12 | 13 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/models/sys.ts: -------------------------------------------------------------------------------- 1 | export interface Language { 2 | id?: string | null; 3 | language?: string | null; 4 | label: boolean; 5 | description?: string | null; 6 | } 7 | 8 | export interface Role { 9 | id?: string | null; 10 | short_name: string; 11 | country: string; 12 | gender: string; 13 | avatar: string; 14 | audio: string; 15 | sequence: number; 16 | } -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-calendar/components/uni-calendar/i18n/en.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-calender.ok": "ok", 3 | "uni-calender.cancel": "cancel", 4 | "uni-calender.today": "today", 5 | "uni-calender.MON": "MON", 6 | "uni-calender.TUE": "TUE", 7 | "uni-calender.WED": "WED", 8 | "uni-calender.THU": "THU", 9 | "uni-calender.FRI": "FRI", 10 | "uni-calender.SAT": "SAT", 11 | "uni-calender.SUN": "SUN" 12 | } 13 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-easyinput/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ### Easyinput 增强输入框 4 | > **组件名:uni-easyinput** 5 | > 代码块: `uEasyinput` 6 | 7 | 8 | easyinput 组件是对原生input组件的增强 ,是专门为配合表单组件[uni-forms](https://ext.dcloud.net.cn/plugin?id=2773)而设计的,easyinput 内置了边框,图标等,同时包含 input 所有功能 9 | 10 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-easyinput) 11 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /talkieai-uniapp/src/utils/utils.ts: -------------------------------------------------------------------------------- 1 | import __config from "@/config/env"; 2 | 3 | export default { 4 | isWechat: () => { 5 | const ua = navigator.userAgent.toLowerCase(); 6 | return ua.indexOf("micromessenger") !== -1; 7 | }, 8 | removeDecimal: (num: number) => { 9 | return Math.floor(num); 10 | }, 11 | getVoiceFileUrl: (fileName: string) => { 12 | return `${__config.basePath}/voices/${fileName}`; 13 | }, 14 | }; 15 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/isPC.js: -------------------------------------------------------------------------------- 1 | export function isPC() { 2 | var userAgentInfo = navigator.userAgent; 3 | var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"]; 4 | var flag = true; 5 | for (let v = 0; v < Agents.length - 1; v++) { 6 | if (userAgentInfo.indexOf(Agents[v]) > 0) { 7 | flag = false; 8 | break; 9 | } 10 | } 11 | return flag; 12 | } 13 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-title/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.1.1(2022-05-19) 2 | - 修改组件描述 3 | ## 1.1.0(2021-11-19) 4 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 5 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-title](https://uniapp.dcloud.io/component/uniui/uni-title) 6 | ## 1.0.2(2021-05-12) 7 | - 新增 示例地址 8 | - 修复 示例项目缺少组件的Bug 9 | ## 1.0.1(2021-02-05) 10 | - 调整为uni_modules目录规范 11 | -------------------------------------------------------------------------------- /talkieai-server/app/services/__init__.py: -------------------------------------------------------------------------------- 1 | from app.services.sys_service import SysService 2 | from app.services.account_service import AccountService 3 | from app.services.chat_service import ChatService 4 | from app.services.topic_service import TopicService 5 | from app.db import SessionLocal 6 | 7 | 8 | 9 | # 检查初始化数据 10 | db = SessionLocal() 11 | sys_service = SysService(db) 12 | account_service = AccountService(db) 13 | topic_service = TopicService(db) 14 | chat_service = ChatService(db) 15 | db.close() -------------------------------------------------------------------------------- /talkieai-server/app/ai/__init__.py: -------------------------------------------------------------------------------- 1 | from app.config import Config 2 | from app.ai.impl.zhipu_ai import ZhipuAIComponent 3 | from app.ai.impl.chat_gpt_ai import ChatGPTAI 4 | if Config.AI_SERVER=='CHAT_GPT': 5 | chat_ai = ChatGPTAI(api_key=Config.CHAT_GPT_KEY, base_url=Config.CHAT_GPT_PROXY, model=Config.CHAT_GPT_MODEL) 6 | elif Config.AI_SERVER=='ZHIPU': 7 | chat_ai = ZhipuAIComponent(api_key=Config.ZHIPU_AI_API_KEY, model=Config.ZHIPU_AI_MODEL) 8 | else: 9 | raise Exception('AI_SERVER配置错误,只能配置为CHAT_GPT或ZHIPU') -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-dateformat/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.0.0(2021-11-19) 2 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 3 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-dateformat](https://uniapp.dcloud.io/component/uniui/uni-dateformat) 4 | ## 0.0.5(2021-07-08) 5 | - 调整 默认时间不再是当前时间,而是显示'-'字符 6 | ## 0.0.4(2021-05-12) 7 | - 新增 组件示例地址 8 | ## 0.0.3(2021-02-04) 9 | - 调整为uni_modules目录规范 10 | - 修复 iOS 平台日期格式化出错的问题 11 | -------------------------------------------------------------------------------- /talkieai-server/app/core/__init__.py: -------------------------------------------------------------------------------- 1 | from fastapi import Header 2 | 3 | from app.config import Config 4 | from app.core.auth import Auth 5 | 6 | auth = Auth(Config.TOKEN_SECRET, Config.ALGORITHM, Config.DECODED_TOKEN_IAT_KEY, Config.TOKEN_EXPIRE_TIME, 7 | Config.DECODED_TOKEN_USER_KEY) 8 | 9 | 10 | def get_current_account(x_token: str = Header(None), x_token_query: str = None): 11 | if x_token_query: 12 | return auth.get_current_account(x_token_query) 13 | return auth.get_current_account(x_token) 14 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-table/components/uni-tbody/uni-tbody.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 27 | 28 | 30 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-row/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.0.0(2021-11-19) 2 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 3 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-row](https://uniapp.dcloud.io/component/uniui/uni-row) 4 | ## 0.1.0(2021-07-13) 5 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 6 | ## 0.0.4(2021-05-12) 7 | - 新增 组件示例地址 8 | ## 0.0.3(2021-02-05) 9 | - 调整为uni_modules目录规范 10 | - 新增uni-row组件 11 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-scss/styles/setting/_text.scss: -------------------------------------------------------------------------------- 1 | @mixin get-styles($k,$c) { 2 | @if $k == size or $k == weight{ 3 | font-#{$k}:#{$c} 4 | }@else{ 5 | #{$k}:#{$c} 6 | } 7 | } 8 | 9 | @each $key, $child in $uni-headings { 10 | /* #ifndef APP-NVUE */ 11 | .uni-#{$key} { 12 | @each $k, $c in $child { 13 | @include get-styles($k,$c) 14 | } 15 | } 16 | /* #endif */ 17 | /* #ifdef APP-NVUE */ 18 | .container .uni-#{$key} { 19 | @each $k, $c in $child { 20 | @include get-styles($k,$c) 21 | } 22 | } 23 | /* #endif */ 24 | } 25 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-segmented-control/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.2.0(2021-11-19) 2 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 3 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-segmented-control](https://uniapp.dcloud.io/component/uniui/uni-segmented-control) 4 | ## 1.1.0(2021-07-30) 5 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 6 | ## 1.0.5(2021-05-12) 7 | - 新增 项目示例地址 8 | ## 1.0.4(2021-02-05) 9 | - 调整为uni_modules目录规范 10 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-popup/components/uni-popup/popup.js: -------------------------------------------------------------------------------- 1 | 2 | export default { 3 | data() { 4 | return { 5 | 6 | } 7 | }, 8 | created(){ 9 | this.popup = this.getParent() 10 | }, 11 | methods:{ 12 | /** 13 | * 获取父元素实例 14 | */ 15 | getParent(name = 'uniPopup') { 16 | let parent = this.$parent; 17 | let parentName = parent.$options.name; 18 | while (parentName !== name) { 19 | parent = parent.$parent; 20 | if (!parent) return false 21 | parentName = parent.$options.name; 22 | } 23 | return parent; 24 | }, 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-status-bar.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 17 | 18 | 25 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-swiper-dot/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.2.0(2021-11-19) 2 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 3 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-swiper-dot](https://uniapp.dcloud.io/component/uniui/uni-swiper-dot) 4 | ## 1.1.0(2021-07-30) 5 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 6 | ## 1.0.6(2021-05-12) 7 | - 新增 示例地址 8 | - 修复 示例项目缺少组件的Bug 9 | ## 1.0.5(2021-02-05) 10 | - 调整为uni_modules目录规范 11 | - 新增 clickItem 事件,支持指示点控制轮播 12 | - 新增 支持 pc 可用 13 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-grid/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.4.0(2021-11-19) 2 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 3 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-grid](https://uniapp.dcloud.io/component/uniui/uni-grid) 4 | ## 1.3.2(2021-11-09) 5 | - 新增 提供组件设计资源,组件样式调整 6 | ## 1.3.1(2021-07-30) 7 | - 优化 vue3下事件警告的问题 8 | ## 1.3.0(2021-07-13) 9 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 10 | ## 1.2.4(2021-05-12) 11 | - 新增 组件示例地址 12 | ## 1.2.3(2021-02-05) 13 | - 调整为uni_modules目录规范 14 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-drawer/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.2.1(2021-11-22) 2 | - 修复 vue3中个别scss变量无法找到的问题 3 | ## 1.2.0(2021-11-19) 4 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 5 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-drawer](https://uniapp.dcloud.io/component/uniui/uni-drawer) 6 | ## 1.1.1(2021-07-30) 7 | - 优化 vue3下事件警告的问题 8 | ## 1.1.0(2021-07-13) 9 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 10 | ## 1.0.7(2021-05-12) 11 | - 新增 组件示例地址 12 | ## 1.0.6(2021-02-04) 13 | - 调整为uni_modules目录规范 14 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/global/globalCount.hooks.ts: -------------------------------------------------------------------------------- 1 | import { ref, onMounted } from "vue"; 2 | import chatRequest from "@/api/chat"; 3 | // 全局状态,创建在模块作用域下 4 | const globalUserInfo = ref(1); 5 | const globalLoading = ref(false); 6 | 7 | export function useUserInfo() { 8 | // 局部状态,每个组件都会创建 9 | const localCount = ref(1); 10 | onMounted(() => { 11 | globalLoading.value = true; 12 | chatRequest.sessionDefaultGet({}).then((data) => { 13 | globalUserInfo.value = data.data; 14 | }); 15 | globalLoading.value = false; 16 | }); 17 | return { 18 | globalUserInfo, 19 | globalLoading, 20 | localCount, 21 | }; 22 | } 23 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-link/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.0.0(2021-11-19) 2 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 3 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-link](https://uniapp.dcloud.io/component/uniui/uni-link) 4 | ## 1.1.7(2021-11-08) 5 | ## 0.0.7(2021-09-03) 6 | - 修复 在 nvue 下不显示的 bug 7 | ## 0.0.6(2021-07-30) 8 | - 新增 支持自定义插槽 9 | ## 0.0.5(2021-06-21) 10 | - 新增 download 属性,H5平台下载文件名 11 | ## 0.0.4(2021-05-12) 12 | - 新增 组件示例地址 13 | ## 0.0.3(2021-03-09) 14 | - 新增 href 属性支持 tel:|mailto: 15 | 16 | ## 0.0.2(2021-02-05) 17 | - 调整为uni_modules目录规范 18 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-steps/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.1.1(2021-11-22) 2 | - 修复 vue3中某些scss变量无法找到的问题 3 | ## 1.1.0(2021-11-19) 4 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 5 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-steps](https://uniapp.dcloud.io/component/uniui/uni-steps) 6 | ## 1.0.8(2021-05-12) 7 | - 新增 项目示例地址 8 | ## 1.0.7(2021-05-06) 9 | - 修复 uni-steps 横向布局时,多行文字高度不合理的 bug 10 | ## 1.0.6(2021-04-21) 11 | - 优化 添加依赖 uni-icons, 导入后自动下载依赖 12 | ## 1.0.5(2021-02-05) 13 | - 优化 组件引用关系,通过uni_modules引用组件 14 | 15 | ## 1.0.4(2021-02-05) 16 | - 调整为uni_modules目录规范 17 | -------------------------------------------------------------------------------- /talkieai-uniapp/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite"; 2 | import uni from "@dcloudio/vite-plugin-uni"; 3 | const target = "https://crm.shoxfashion.com/api/cms-dashboard/"; 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [uni()], 7 | server: { 8 | host: "0.0.0.0", 9 | proxy: { 10 | "/api/cms-dashboard": { 11 | target, 12 | rewrite: (path) => { 13 | console.log(path); 14 | return path.replace("/api/cms-dashboard", "/"); 15 | }, 16 | changeOrigin: true, 17 | secure: false, 18 | xfwd: false, 19 | }, 20 | }, 21 | }, 22 | }); 23 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/api/sys.ts: -------------------------------------------------------------------------------- 1 | import request from "@/axios/api"; 2 | export default { 3 | feedbackAdd: (data: any) => { 4 | return request("/sys/feedback", "POST", data, false); 5 | }, 6 | getLanguages: () => { 7 | return request("/sys/languages", "GET", null); 8 | }, 9 | getRoles: (data: any) => { 10 | return request("/sys/roles", "GET", data); 11 | }, 12 | setLearningLanguage: (data: any) => { 13 | return request("/sys/language", "POST", data); 14 | }, 15 | settingsPost: (data: any) => { 16 | return request("/sys/settings", "POST", data); 17 | }, 18 | settingsGet: () => { 19 | return request("/sys/settings", "GET"); 20 | }, 21 | }; 22 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-group/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.2.2(2022-05-30) 2 | - 新增 stat属性,是否开启uni统计功能 3 | ## 1.2.1(2021-11-22) 4 | - 修复 vue3中某些scss变量无法找到的问题 5 | ## 1.2.0(2021-11-19) 6 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 7 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-group](https://uniapp.dcloud.io/component/uniui/uni-group) 8 | ## 1.1.7(2021-11-08) 9 | ## 1.1.0(2021-07-30) 10 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 11 | - 优化 组件文档 12 | ## 1.0.3(2021-05-12) 13 | - 新增 组件示例地址 14 | ## 1.0.2(2021-02-05) 15 | - 调整为uni_modules目录规范 16 | - 优化 兼容 nvue 页面 17 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-combox/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.0.1(2021-11-23) 2 | - 优化 label、label-width 属性 3 | ## 1.0.0(2021-11-19) 4 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 5 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-combox](https://uniapp.dcloud.io/component/uniui/uni-combox) 6 | ## 0.1.0(2021-07-30) 7 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 8 | ## 0.0.6(2021-05-12) 9 | - 新增 组件示例地址 10 | ## 0.0.5(2021-04-21) 11 | - 优化 添加依赖 uni-icons, 导入后自动下载依赖 12 | ## 0.0.4(2021-02-05) 13 | - 优化 组件引用关系,通过uni_modules引用组件 14 | ## 0.0.3(2021-02-04) 15 | - 调整为uni_modules目录规范 16 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-scss/theme.scss: -------------------------------------------------------------------------------- 1 | // 间距基础倍数 2 | $uni-space-root: 2; 3 | // 边框半径默认值 4 | $uni-radius-root:5px; 5 | // 主色 6 | $uni-primary: #2979ff; 7 | // 辅助色 8 | $uni-success: #4cd964; 9 | // 警告色 10 | $uni-warning: #f0ad4e; 11 | // 错误色 12 | $uni-error: #dd524d; 13 | // 描述色 14 | $uni-info: #909399; 15 | // 中性色 16 | $uni-main-color: #303133; 17 | $uni-base-color: #606266; 18 | $uni-secondary-color: #909399; 19 | $uni-extra-color: #C0C4CC; 20 | // 背景色 21 | $uni-bg-color: #f5f5f5; 22 | // 边框颜色 23 | $uni-border-1: #DCDFE6; 24 | $uni-border-2: #E4E7ED; 25 | $uni-border-3: #EBEEF5; 26 | $uni-border-4: #F2F6FC; 27 | 28 | // 常规色 29 | $uni-black: #000000; 30 | $uni-white: #ffffff; 31 | $uni-transparent: rgba($color: #000000, $alpha: 0); 32 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-indexed-list/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.2.1(2021-11-22) 2 | - 修复 vue3中某些scss变量无法找到的问题 3 | ## 1.2.0(2021-11-19) 4 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 5 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-indexed-list](https://uniapp.dcloud.io/component/uniui/uni-indexed-list) 6 | ## 1.1.0(2021-07-30) 7 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 8 | ## 1.0.11(2021-05-12) 9 | - 新增 组件示例地址 10 | ## 1.0.10(2021-04-21) 11 | - 优化 添加依赖 uni-icons, 导入后自动下载依赖 12 | ## 1.0.9(2021-02-05) 13 | - 优化 组件引用关系,通过uni_modules引用组件 14 | 15 | ## 1.0.8(2021-02-05) 16 | - 调整为uni_modules目录规范 17 | - 新增 支持 PC 端 18 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-goods-nav/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.2.1(2022-05-30) 2 | - 新增 stat属性,是否开启uni统计功能 3 | ## 1.2.0(2021-11-19) 4 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 5 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-goods-nav](https://uniapp.dcloud.io/component/uniui/uni-goods-nav) 6 | ## 1.1.1(2021-08-24) 7 | - 新增 支持国际化 8 | ## 1.1.0(2021-07-13) 9 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 10 | ## 1.0.7(2021-05-12) 11 | - 新增 组件示例地址 12 | ## 1.0.6(2021-04-21) 13 | - 优化 添加依赖 uni-icons, 导入后自动下载依赖 14 | ## 1.0.5(2021-02-05) 15 | - 优化 组件引用关系,通过uni_modules引用组件 16 | 17 | ## 1.0.4(2021-02-05) 18 | - 调整为uni_modules目录规范 19 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-datetime-picker/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | > `重要通知:组件升级更新 2.0.0 后,支持日期+时间范围选择,组件 ui 将使用日历选择日期,ui 变化较大,同时支持 PC 和 移动端。此版本不向后兼容,不再支持单独的时间选择(type=time)及相关的 hide-second 属性(时间选可使用内置组件 picker)。若仍需使用旧版本,可在插件市场下载*非uni_modules版本*,旧版本将不再维护` 4 | 5 | ## DatetimePicker 时间选择器 6 | 7 | > **组件名:uni-datetime-picker** 8 | > 代码块: `uDatetimePicker` 9 | 10 | 11 | 该组件的优势是,支持**时间戳**输入和输出(起始时间、终止时间也支持时间戳),可**同时选择**日期和时间。 12 | 13 | 若只是需要单独选择日期和时间,不需要时间戳输入和输出,可使用原生的 picker 组件。 14 | 15 | **_点击 picker 默认值规则:_** 16 | 17 | - 若设置初始值 value, 会显示在 picker 显示框中 18 | - 若无初始值 value,则初始值 value 为当前本地时间 Date.now(), 但不会显示在 picker 显示框中 19 | 20 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-datetime-picker) 21 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-notice-bar/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.2.1(2022-09-05) 2 | - 新增 属性 fontSize,可修改文字大小。 3 | ## 1.2.0(2021-11-19) 4 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 5 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-notice-bar](https://uniapp.dcloud.io/component/uniui/uni-notice-bar) 6 | ## 1.1.1(2021-11-09) 7 | - 新增 提供组件设计资源,组件样式调整 8 | ## 1.1.0(2021-07-30) 9 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 10 | ## 1.0.9(2021-05-12) 11 | - 新增 组件示例地址 12 | ## 1.0.8(2021-04-21) 13 | - 优化 添加依赖 uni-icons, 导入后自动下载依赖 14 | ## 1.0.7(2021-02-05) 15 | - 优化 组件引用关系,通过uni_modules引用组件 16 | 17 | ## 1.0.6(2021-02-05) 18 | - 调整为uni_modules目录规范 19 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-scss/styles/tools/functions.scss: -------------------------------------------------------------------------------- 1 | // 合并 map 2 | @function map-deep-merge($parent-map, $child-map){ 3 | $result: $parent-map; 4 | @each $key, $child in $child-map { 5 | $parent-has-key: map-has-key($result, $key); 6 | $parent-value: map-get($result, $key); 7 | $parent-type: type-of($parent-value); 8 | $child-type: type-of($child); 9 | $parent-is-map: $parent-type == map; 10 | $child-is-map: $child-type == map; 11 | 12 | @if (not $parent-has-key) or ($parent-type != $child-type) or (not ($parent-is-map and $child-is-map)){ 13 | $result: map-merge($result, ( $key: $child )); 14 | }@else { 15 | $result: map-merge($result, ( $key: map-deep-merge($parent-value, $child) )); 16 | } 17 | } 18 | @return $result; 19 | }; 20 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-data-checkbox/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## DataCheckbox 数据驱动的单选复选框 4 | > **组件名:uni-data-checkbox** 5 | > 代码块: `uDataCheckbox` 6 | 7 | 8 | 本组件是基于uni-app基础组件checkbox的封装。本组件要解决问题包括: 9 | 10 | 1. 数据绑定型组件:给本组件绑定一个data,会自动渲染一组候选内容。再以往,开发者需要编写不少代码实现类似功能 11 | 2. 自动的表单校验:组件绑定了data,且符合[uni-forms](https://ext.dcloud.net.cn/plugin?id=2773)组件的表单校验规范,搭配使用会自动实现表单校验 12 | 3. 本组件合并了单选多选 13 | 4. 本组件有若干风格选择,如普通的单选多选框、并列button风格、tag风格。开发者可以快速选择需要的风格。但作为一个封装组件,样式代码虽然不用自己写了,却会牺牲一定的样式自定义性 14 | 15 | 在uniCloud开发中,`DB Schema`中配置了enum枚举等类型后,在web控制台的[自动生成表单](https://uniapp.dcloud.io/uniCloud/schema?id=autocode)功能中,会自动生成``uni-data-checkbox``组件并绑定好data 16 | 17 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-data-checkbox) 18 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-fav/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.2.1(2022-05-30) 2 | - 新增 stat 属性 ,是否开启uni统计功能 3 | ## 1.2.0(2021-11-19) 4 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 5 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-fav](https://uniapp.dcloud.io/component/uniui/uni-fav) 6 | ## 1.1.1(2021-08-24) 7 | - 新增 支持国际化 8 | ## 1.1.0(2021-07-13) 9 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 10 | ## 1.0.6(2021-05-12) 11 | - 新增 组件示例地址 12 | ## 1.0.5(2021-04-21) 13 | - 优化 添加依赖 uni-icons, 导入后自动下载依赖 14 | ## 1.0.4(2021-02-05) 15 | - 优化 组件引用关系,通过uni_modules引用组件 16 | ## 1.0.3(2021-02-05) 17 | - 优化 组件引用关系,通过uni_modules引用组件 18 | ## 1.0.2(2021-02-05) 19 | - 调整为uni_modules目录规范 20 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-load-more/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.3.3(2022-01-20) 2 | - 新增 showText属性 ,是否显示文本 3 | ## 1.3.2(2022-01-19) 4 | - 修复 nvue 平台下不显示文本的bug 5 | ## 1.3.1(2022-01-19) 6 | - 修复 微信小程序平台样式选择器报警告的问题 7 | ## 1.3.0(2021-11-19) 8 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 9 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-load-more](https://uniapp.dcloud.io/component/uniui/uni-load-more) 10 | ## 1.2.1(2021-08-24) 11 | - 新增 支持国际化 12 | ## 1.2.0(2021-07-30) 13 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 14 | ## 1.1.8(2021-05-12) 15 | - 新增 组件示例地址 16 | ## 1.1.7(2021-03-30) 17 | - 修复 uni-load-more 在首页使用时,h5 平台报 'uni is not defined' 的 bug 18 | ## 1.1.6(2021-02-05) 19 | - 调整为uni_modules目录规范 20 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/components/GithubLink.vue: -------------------------------------------------------------------------------- 1 | 5 | 14 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-icons/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.3.5(2022-01-24) 2 | - 优化 size 属性可以传入不带单位的字符串数值 3 | ## 1.3.4(2022-01-24) 4 | - 优化 size 支持其他单位 5 | ## 1.3.3(2022-01-17) 6 | - 修复 nvue 有些图标不显示的bug,兼容老版本图标 7 | ## 1.3.2(2021-12-01) 8 | - 优化 示例可复制图标名称 9 | ## 1.3.1(2021-11-23) 10 | - 优化 兼容旧组件 type 值 11 | ## 1.3.0(2021-11-19) 12 | - 新增 更多图标 13 | - 优化 自定义图标使用方式 14 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 15 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-icons](https://uniapp.dcloud.io/component/uniui/uni-icons) 16 | ## 1.1.7(2021-11-08) 17 | ## 1.2.0(2021-07-30) 18 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 19 | ## 1.1.5(2021-05-12) 20 | - 新增 组件示例地址 21 | ## 1.1.4(2021-02-05) 22 | - 调整为uni_modules目录规范 23 | -------------------------------------------------------------------------------- /talkieai-server/data/sys_language.json: -------------------------------------------------------------------------------- 1 | [ 2 | { "label": "英语(美国)", "value": "en-US", "default_voice_role_name":"en-US-JennyNeural" }, 3 | { "label": "英语(英国)", "value": "en-GB", "default_voice_role_name":"en-GB-SoniaNeural" }, 4 | { "label": "中文(普通话)", "value": "zh-CN", "default_voice_role_name":"zh-CN-XiaoxiaoNeural" }, 5 | { "label": "中文(粤语)", "value": "zh-HK", "default_voice_role_name":"" }, 6 | { "label": "德语", "value": "de-DE", "default_voice_role_name":"zh-HK-HiuMaanNeural" }, 7 | { "label": "日语", "value": "ja-JPR", "default_voice_role_name":"ja-JP-NanamiNeural" }, 8 | { "label": "韩语", "value": "ko-KR", "default_voice_role_name":"ko-KR-SunHiNeural" }, 9 | { "label": "俄语", "value": "ru-RU", "default_voice_role_name":"ru-RU-SvetlanaNeural" }, 10 | { "label": "法语", "value": "fr-FR", "default_voice_role_name":"fr-FR-DeniseNeural" } 11 | ] 12 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-transition/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.3.2(2023-05-04) 2 | - 修复 NVUE 平台报错的问题 3 | ## 1.3.1(2021-11-23) 4 | - 修复 init 方法初始化问题 5 | ## 1.3.0(2021-11-19) 6 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 7 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-transition](https://uniapp.dcloud.io/component/uniui/uni-transition) 8 | ## 1.2.1(2021-09-27) 9 | - 修复 init 方法不生效的 Bug 10 | ## 1.2.0(2021-07-30) 11 | - 组件兼容 vue3,如何创建 vue3 项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 12 | ## 1.1.1(2021-05-12) 13 | - 新增 示例地址 14 | - 修复 示例项目缺少组件的 Bug 15 | ## 1.1.0(2021-04-22) 16 | - 新增 通过方法自定义动画 17 | - 新增 custom-class 非 NVUE 平台支持自定义 class 定制样式 18 | - 优化 动画触发逻辑,使动画更流畅 19 | - 优化 支持单独的动画类型 20 | - 优化 文档示例 21 | ## 1.0.2(2021-02-05) 22 | - 调整为 uni_modules 目录规范 23 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hans.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-datetime-picker.selectDate": "选择日期", 3 | "uni-datetime-picker.selectTime": "选择时间", 4 | "uni-datetime-picker.selectDateTime": "选择日期时间", 5 | "uni-datetime-picker.startDate": "开始日期", 6 | "uni-datetime-picker.endDate": "结束日期", 7 | "uni-datetime-picker.startTime": "开始时间", 8 | "uni-datetime-picker.endTime": "结束时间", 9 | "uni-datetime-picker.ok": "确定", 10 | "uni-datetime-picker.clear": "清除", 11 | "uni-datetime-picker.cancel": "取消", 12 | "uni-datetime-picker.year": "年", 13 | "uni-datetime-picker.month": "月", 14 | "uni-calender.SUN": "日", 15 | "uni-calender.MON": "一", 16 | "uni-calender.TUE": "二", 17 | "uni-calender.WED": "三", 18 | "uni-calender.THU": "四", 19 | "uni-calender.FRI": "五", 20 | "uni-calender.SAT": "六", 21 | "uni-calender.confirm": "确认" 22 | } -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-calendar/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.4.10(2023-04-10) 2 | - 修复 某些情况 monthSwitch 未触发的Bug 3 | ## 1.4.9(2023-02-02) 4 | - 修复 某些情况切换月份错误的Bug 5 | ## 1.4.8(2023-01-30) 6 | - 修复 某些情况切换月份错误的Bug [详情](https://ask.dcloud.net.cn/question/161964) 7 | ## 1.4.7(2022-09-16) 8 | - 优化 支持使用 uni-scss 控制主题色 9 | ## 1.4.6(2022-09-08) 10 | - 修复 表头年月切换,导致改变当前日期为选择月1号,且未触发change事件的Bug 11 | ## 1.4.5(2022-02-25) 12 | - 修复 条件编译 nvue 不支持的 css 样式的Bug 13 | ## 1.4.4(2022-02-25) 14 | - 修复 条件编译 nvue 不支持的 css 样式的Bug 15 | ## 1.4.3(2021-09-22) 16 | - 修复 startDate、 endDate 属性失效的Bug 17 | ## 1.4.2(2021-08-24) 18 | - 新增 支持国际化 19 | ## 1.4.1(2021-08-05) 20 | - 修复 弹出层被 tabbar 遮盖的Bug 21 | ## 1.4.0(2021-07-30) 22 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 23 | ## 1.3.16(2021-05-12) 24 | - 新增 组件示例地址 25 | ## 1.3.15(2021-02-04) 26 | - 调整为uni_modules目录规范 27 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/utils/bus.ts: -------------------------------------------------------------------------------- 1 | export default class EventBus { 2 | constructor() { 3 | (this as any).events = {}; 4 | } 5 | emit(eventName: any, data: any) { 6 | if ((this as any).events[eventName]) { 7 | (this as any).events[eventName].forEach(function (fn: any) { 8 | fn(data); 9 | }); 10 | } 11 | } 12 | on(eventName: any, fn: any) { 13 | (this as any).events[eventName] = (this as any).events[eventName] || []; 14 | (this as any).events[eventName].push(fn); 15 | } 16 | 17 | off(eventName: any, fn: any) { 18 | if ((this as any).events[eventName]) { 19 | for (let i = 0; i < (this as any).events[eventName].length; i++) { 20 | if ((this as any).events[eventName][i] === fn) { 21 | (this as any).events[eventName].splice(i, 1); 22 | break; 23 | } 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/zh-Hant.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-datetime-picker.selectDate": "選擇日期", 3 | "uni-datetime-picker.selectTime": "選擇時間", 4 | "uni-datetime-picker.selectDateTime": "選擇日期時間", 5 | "uni-datetime-picker.startDate": "開始日期", 6 | "uni-datetime-picker.endDate": "結束日期", 7 | "uni-datetime-picker.startTime": "開始时间", 8 | "uni-datetime-picker.endTime": "結束时间", 9 | "uni-datetime-picker.ok": "確定", 10 | "uni-datetime-picker.clear": "清除", 11 | "uni-datetime-picker.cancel": "取消", 12 | "uni-datetime-picker.year": "年", 13 | "uni-datetime-picker.month": "月", 14 | "uni-calender.SUN": "日", 15 | "uni-calender.MON": "一", 16 | "uni-calender.TUE": "二", 17 | "uni-calender.WED": "三", 18 | "uni-calender.THU": "四", 19 | "uni-calender.FRI": "五", 20 | "uni-calender.SAT": "六", 21 | "uni-calender.confirm": "確認" 22 | } -------------------------------------------------------------------------------- /talkieai-server/.env.default: -------------------------------------------------------------------------------- 1 | AI_NAME=Talkie 2 | 3 | 4 | ##################### 需要配置 start ##################### 5 | # 数据库配置,数据会进行存储,这个必须配置 6 | DATABASE_URL='mysql+pymysql://{username}:{password}@{mysql_host}/{database}' 7 | 8 | # 语音合成配置 azure 9 | AZURE_KEY= 10 | 11 | # 配置AI的支持服务 CHAT_GPT 、 ZHIPU ,二选一,设置完后要进行后面参数配置 12 | AI_SERVER=CHAT_GPT 13 | 14 | # CHAT_GPT AI,AI_SERVER=CHAT_GPT 时需要配置 15 | CHAT_GPT_PROXY= 16 | CHAT_GPT_KEY= 17 | CHAT_GPT_MODEL=gpt-3.5-turbo-1106 18 | 19 | # ZHIPU AI,AI_SERVER=ZHIPU 时需要配置 20 | ZHIPU_AI_API_KEY= 21 | # glm-3-turbo glm-4 22 | ZHIPU_AI_MODEL=glm-3-turbo 23 | ##################### 需要配置 end ##################### 24 | 25 | # 文件保存路径,需要另行保存目录时再配置 26 | TEMP_SAVE_FILE_PATH=./files 27 | 28 | # api访问前缀 29 | API_PREFIX=/api 30 | # token加密 31 | TOKEN_SECRET=qwertyuiopasdfghjklzxcvbnm123456 32 | # 是否输入sql语句 33 | SQL_ECHO=False 34 | # token过期时间 35 | TOKEN_EXPIRE_TIME=43200 36 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/pages/chat/components/MessageSpeech.vue: -------------------------------------------------------------------------------- 1 | 13 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-forms/readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## Forms 表单 4 | 5 | > **组件名:uni-forms** 6 | > 代码块: `uForms`、`uni-forms-item` 7 | > 关联组件:`uni-forms-item`、`uni-easyinput`、`uni-data-checkbox`、`uni-group`。 8 | 9 | 10 | uni-app的内置组件已经有了 `
`组件,用于提交表单内容。 11 | 12 | 然而几乎每个表单都需要做表单验证,为了方便做表单验证,减少重复开发,`uni ui` 又基于 ``组件封装了 ``组件,内置了表单验证功能。 13 | 14 | `` 提供了 `rules`属性来描述校验规则、``子组件来包裹具体的表单项,以及给原生或三方组件提供了 `binddata()` 来设置表单值。 15 | 16 | 每个要校验的表单项,不管input还是checkbox,都必须放在``组件中,且一个``组件只能放置一个表单项。 17 | 18 | ``组件内部预留了显示error message的区域,默认是在表单项的底部。 19 | 20 | 另外,``组件下面的各个表单项,可以通过``包裹为不同的分组。同一``下的不同表单项目将聚拢在一起,同其他group保持垂直间距。``仅影响视觉效果。 21 | 22 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-forms) 23 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-tag/changelog.md: -------------------------------------------------------------------------------- 1 | ## 2.1.0(2021-11-19) 2 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 3 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-tag](https://uniapp.dcloud.io/component/uniui/uni-tag) 4 | ## 2.0.0(2021-11-09) 5 | - 新增 提供组件设计资源,组件样式调整 6 | - 移除 插槽 7 | - 移除 type 属性的 royal 选项 8 | ## 1.1.1(2021-08-11) 9 | - type 不是 default 时,size 为 small 字体大小显示不正确 10 | ## 1.1.0(2021-07-30) 11 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 12 | ## 1.0.7(2021-06-18) 13 | - 修复 uni-tag 在字节跳动小程序上 css 类名编译错误的 bug 14 | ## 1.0.6(2021-06-04) 15 | - 修复 未定义 sass 变量 "$uni-color-royal" 的bug 16 | ## 1.0.5(2021-05-10) 17 | - 修复 royal 类型无效的bug 18 | - 修复 uni-tag 宽度不自适应的bug 19 | - 新增 uni-tag 支持属性 custom-style 自定义样式 20 | ## 1.0.4(2021-02-05) 21 | - 调整为uni_modules目录规范 22 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-countdown/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.2.2(2022-01-19) 2 | - 修复 在微信小程序中样式不生效的bug 3 | ## 1.2.1(2022-01-18) 4 | - 新增 update 方法 ,在动态更新时间后,刷新组件 5 | ## 1.2.0(2021-11-19) 6 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 7 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-countdown](https://uniapp.dcloud.io/component/uniui/uni-countdown) 8 | ## 1.1.3(2021-10-18) 9 | - 重构 10 | - 新增 font-size 支持自定义字体大小 11 | ## 1.1.2(2021-08-24) 12 | - 新增 支持国际化 13 | ## 1.1.1(2021-07-30) 14 | - 优化 vue3下小程序事件警告的问题 15 | ## 1.1.0(2021-07-30) 16 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 17 | ## 1.0.5(2021-06-18) 18 | - 修复 uni-countdown 重复赋值跳两秒的 bug 19 | ## 1.0.4(2021-05-12) 20 | - 新增 组件示例地址 21 | ## 1.0.3(2021-05-08) 22 | - 修复 uni-countdown 不能控制倒计时的 bug 23 | ## 1.0.2(2021-02-04) 24 | - 调整为uni_modules目录规范 25 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-rate/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.3.1(2022-02-25) 2 | - 修复 条件判断 `NaN` 错误的 bug 3 | ## 1.3.0(2021-11-19) 4 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 5 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-rate](https://uniapp.dcloud.io/component/uniui/uni-rate) 6 | ## 1.2.2(2021-09-10) 7 | - 优化 默认值修改为 0 颗星 8 | ## 1.2.1(2021-07-30) 9 | - 优化 vue3下事件警告的问题 10 | ## 1.2.0(2021-07-13) 11 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 12 | ## 1.1.2(2021-05-12) 13 | - 新增 组件示例地址 14 | ## 1.1.1(2021-04-21) 15 | - 修复 布局变化后 uni-rate 星星计算不准确的 bug 16 | - 优化 添加依赖 uni-icons, 导入 uni-rate 自动下载依赖 17 | ## 1.1.0(2021-04-16) 18 | - 修复 uni-rate 属性 margin 值为 string 组件失效的 bug 19 | 20 | ## 1.0.9(2021-02-05) 21 | - 优化 组件引用关系,通过uni_modules引用组件 22 | 23 | ## 1.0.8(2021-02-05) 24 | - 调整为uni_modules目录规范 25 | - 支持 pc 端 26 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-datetime-picker/components/uni-datetime-picker/i18n/en.json: -------------------------------------------------------------------------------- 1 | { 2 | "uni-datetime-picker.selectDate": "select date", 3 | "uni-datetime-picker.selectTime": "select time", 4 | "uni-datetime-picker.selectDateTime": "select date and time", 5 | "uni-datetime-picker.startDate": "start date", 6 | "uni-datetime-picker.endDate": "end date", 7 | "uni-datetime-picker.startTime": "start time", 8 | "uni-datetime-picker.endTime": "end time", 9 | "uni-datetime-picker.ok": "ok", 10 | "uni-datetime-picker.clear": "clear", 11 | "uni-datetime-picker.cancel": "cancel", 12 | "uni-datetime-picker.year": "-", 13 | "uni-datetime-picker.month": "", 14 | "uni-calender.MON": "MON", 15 | "uni-calender.TUE": "TUE", 16 | "uni-calender.WED": "WED", 17 | "uni-calender.THU": "THU", 18 | "uni-calender.FRI": "FRI", 19 | "uni-calender.SAT": "SAT", 20 | "uni-calender.SUN": "SUN", 21 | "uni-calender.confirm": "confirm" 22 | } 23 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/pages/contact/index.vue: -------------------------------------------------------------------------------- 1 | 16 | 34 | 35 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-data-picker/readme.md: -------------------------------------------------------------------------------- 1 | ## DataPicker 级联选择 2 | > **组件名:uni-data-picker** 3 | > 代码块: `uDataPicker` 4 | > 关联组件:`uni-data-pickerview`、`uni-load-more`。 5 | 6 | 7 | `` 是一个选择类[datacom组件](https://uniapp.dcloud.net.cn/component/datacom)。 8 | 9 | 支持单列、和多列级联选择。列数没有限制,如果屏幕显示不全,顶部tab区域会左右滚动。 10 | 11 | 候选数据支持一次性加载完毕,也支持懒加载,比如示例图中,选择了“北京”后,动态加载北京的区县数据。 12 | 13 | `` 组件尤其适用于地址选择、分类选择等选择类。 14 | 15 | `` 支持本地数据、云端静态数据(json),uniCloud云数据库数据。 16 | 17 | `` 可以通过JQL直连uniCloud云数据库,配套[DB Schema](https://uniapp.dcloud.net.cn/uniCloud/schema),可在schema2code中自动生成前端页面,还支持服务器端校验。 18 | 19 | 在uniCloud数据表中新建表“uni-id-address”和“opendb-city-china”,这2个表的schema自带foreignKey关联。在“uni-id-address”表的表结构页面使用schema2code生成前端页面,会自动生成地址管理的维护页面,自动从“opendb-city-china”表包含的中国所有省市区信息里选择地址。 20 | 21 | ### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-data-picker) 22 | #### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 -------------------------------------------------------------------------------- /talkieai-uniapp/src/components/Rate.vue: -------------------------------------------------------------------------------- 1 | 8 | 18 | 42 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-data-select/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.0.6(2023-04-12) 2 | - 修复 微信小程序点击时会改变背景颜色的 bug 3 | ## 1.0.5(2023-02-03) 4 | - 修复 禁用时会显示清空按钮 5 | ## 1.0.4(2023-02-02) 6 | - 优化 查询条件短期内多次变更只查询最后一次变更后的结果 7 | - 调整 内部缓存键名调整为 uni-data-select-lastSelectedValue 8 | ## 1.0.3(2023-01-16) 9 | - 修复 不关联服务空间报错的问题 10 | ## 1.0.2(2023-01-14) 11 | - 新增 属性 `format` 可用于格式化显示选项内容 12 | ## 1.0.1(2022-12-06) 13 | - 修复 当where变化时,数据不会自动更新的问题 14 | ## 0.1.9(2022-09-05) 15 | - 修复 微信小程序下拉框出现后选择会点击到蒙板后面的输入框 16 | ## 0.1.8(2022-08-29) 17 | - 修复 点击的位置不准确 18 | ## 0.1.7(2022-08-12) 19 | - 新增 支持 disabled 属性 20 | ## 0.1.6(2022-07-06) 21 | - 修复 pc端宽度异常的bug 22 | ## 0.1.5 23 | - 修复 pc端宽度异常的bug 24 | ## 0.1.4(2022-07-05) 25 | - 优化 显示样式 26 | ## 0.1.3(2022-06-02) 27 | - 修复 localdata 赋值不生效的 bug 28 | - 新增 支持 uni.scss 修改颜色 29 | - 新增 支持选项禁用(数据选项设置 disabled: true 即禁用) 30 | ## 0.1.2(2022-05-08) 31 | - 修复 当 value 为 0 时选择不生效的 bug 32 | ## 0.1.1(2022-05-07) 33 | - 新增 记住上次的选项(仅 collection 存在时有效) 34 | ## 0.1.0(2022-04-22) 35 | - 初始化 36 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-card/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.3.1(2021-12-20) 2 | - 修复 在vue页面下略缩图显示不正常的bug 3 | ## 1.3.0(2021-11-19) 4 | - 重构插槽的用法 ,header 替换为 title 5 | - 新增 actions 插槽 6 | - 新增 cover 封面图属性和插槽 7 | - 新增 padding 内容默认内边距离 8 | - 新增 margin 卡片默认外边距离 9 | - 新增 spacing 卡片默认内边距 10 | - 新增 shadow 卡片阴影属性 11 | - 取消 mode 属性,可使用组合插槽代替 12 | - 取消 note 属性 ,使用actions插槽代替 13 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 14 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-card](https://uniapp.dcloud.io/component/uniui/uni-card) 15 | ## 1.2.1(2021-07-30) 16 | - 优化 vue3下事件警告的问题 17 | ## 1.2.0(2021-07-13) 18 | - 组件兼容 vue3,如何创建vue3项目详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 19 | ## 1.1.8(2021-07-01) 20 | - 优化 图文卡片无图片加载时,提供占位图标 21 | - 新增 header 插槽,自定义卡片头部( 图文卡片 mode="style" 时,不支持) 22 | - 修复 thumbnail 不存在仍然占位的 bug 23 | ## 1.1.7(2021-05-12) 24 | - 新增 组件示例地址 25 | ## 1.1.6(2021-02-04) 26 | - 调整为uni_modules目录规范 27 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-table/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.2.3(2023-03-28) 2 | - 修复 在vue3模式下可能会出现错误的问题 3 | ## 1.2.2(2022-11-29) 4 | - 优化 主题样式 5 | ## 1.2.1(2022-06-06) 6 | - 修复 微信小程序存在无使用组件的问题 7 | ## 1.2.0(2021-11-19) 8 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 9 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-table](https://uniapp.dcloud.io/component/uniui/uni-table) 10 | ## 1.1.0(2021-07-30) 11 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 12 | ## 1.0.7(2021-07-08) 13 | - 新增 uni-th 支持 date 日期筛选范围 14 | ## 1.0.6(2021-07-05) 15 | - 新增 uni-th 支持 range 筛选范围 16 | ## 1.0.5(2021-06-28) 17 | - 新增 uni-th 筛选功能 18 | ## 1.0.4(2021-05-12) 19 | - 新增 示例地址 20 | - 修复 示例项目缺少组件的Bug 21 | ## 1.0.3(2021-04-16) 22 | - 新增 sortable 属性,是否开启单列排序 23 | - 优化 表格多选逻辑 24 | ## 1.0.2(2021-03-22) 25 | - uni-tr 添加 disabled 属性,用于 type=selection 时,设置某行是否可由全选按钮控制 26 | ## 1.0.1(2021-02-05) 27 | - 调整为uni_modules目录规范 28 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-pagination/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.2.4(2022-09-19) 2 | - 修复,未对主题色设置默认色,导致未引入 uni-scss 变量文件报错。 3 | - 修复,未对移动端当前页文字做主题色适配。 4 | ## 1.2.3(2022-09-15) 5 | - 修复未使用 uni-scss 主题色的 bug。 6 | ## 1.2.2(2022-07-06) 7 | - 修复 es 语言 i18n 错误 8 | ## 1.2.1(2021-11-22) 9 | - 修复 vue3中某些scss变量无法找到的问题 10 | ## 1.2.0(2021-11-19) 11 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 12 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-pagination](https://uniapp.dcloud.io/component/uniui/uni-pagination) 13 | ## 1.1.2(2021-10-08) 14 | - 修复 current 、value 属性未监听,导致高亮样式失效的 bug 15 | ## 1.1.1(2021-08-20) 16 | - 新增 支持国际化 17 | ## 1.1.0(2021-07-30) 18 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 19 | ## 1.0.7(2021-05-12) 20 | - 新增 组件示例地址 21 | ## 1.0.6(2021-04-12) 22 | - 新增 PC 和 移动端适配不同的 ui 23 | ## 1.0.5(2021-02-05) 24 | - 优化 组件引用关系,通过uni_modules引用组件 25 | 26 | ## 1.0.4(2021-02-05) 27 | - 调整为uni_modules目录规范 28 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-number-box/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.2.3(2023-05-23) 2 | 更新示例工程 3 | ## 1.2.2(2023-05-08) 4 | - 修复 change 事件执行顺序错误的问题 5 | ## 1.2.1(2021-11-22) 6 | - 修复 vue3中某些scss变量无法找到的问题 7 | ## 1.2.0(2021-11-19) 8 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 9 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-number-box](https://uniapp.dcloud.io/component/uniui/uni-number-box) 10 | ## 1.1.2(2021-11-09) 11 | - 新增 提供组件设计资源,组件样式调整 12 | ## 1.1.1(2021-07-30) 13 | - 优化 vue3下事件警告的问题 14 | ## 1.1.0(2021-07-13) 15 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 16 | ## 1.0.7(2021-05-12) 17 | - 新增 组件示例地址 18 | ## 1.0.6(2021-04-20) 19 | - 修复 uni-number-box 浮点数运算不精确的 bug 20 | - 修复 uni-number-box change 事件触发不正确的 bug 21 | - 新增 uni-number-box v-model 双向绑定 22 | ## 1.0.5(2021-02-05) 23 | - 调整为uni_modules目录规范 24 | 25 | ## 1.0.7(2021-02-05) 26 | - 调整为uni_modules目录规范 27 | - 新增 支持 v-model 28 | - 新增 支持 focus、blur 事件 29 | - 新增 支持 PC 端 30 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-fab/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.2.5(2023-03-29) 2 | - 新增 pattern.icon 属性,可自定义图标 3 | ## 1.2.4(2022-09-07) 4 | 小程序端由于 style 使用了对象导致报错,[详情](https://ask.dcloud.net.cn/question/152790?item_id=211778&rf=false) 5 | ## 1.2.3(2022-09-05) 6 | - 修复 nvue 环境下,具有 tabBar 时,fab 组件下部位置无法正常获取 --window-bottom 的bug,详见:[https://ask.dcloud.net.cn/question/110638?notification_id=826310](https://ask.dcloud.net.cn/question/110638?notification_id=826310) 7 | ## 1.2.2(2021-12-29) 8 | - 更新 组件依赖 9 | ## 1.2.1(2021-11-19) 10 | - 修复 阴影颜色不正确的bug 11 | ## 1.2.0(2021-11-19) 12 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 13 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-fab](https://uniapp.dcloud.io/component/uniui/uni-fab) 14 | ## 1.1.1(2021-11-09) 15 | - 新增 提供组件设计资源,组件样式调整 16 | ## 1.1.0(2021-07-30) 17 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 18 | ## 1.0.7(2021-05-12) 19 | - 新增 组件示例地址 20 | ## 1.0.6(2021-02-05) 21 | - 调整为uni_modules目录规范 22 | - 优化 按钮背景色调整 23 | - 优化 兼容pc端 24 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/api/topic.ts: -------------------------------------------------------------------------------- 1 | import request from "@/axios/api"; 2 | export default { 3 | getTopicData: (params: any) => { 4 | return request("/topics", "GET", params, false); 5 | }, 6 | getTopicDetail: (id: string) => { 7 | return request(`/topics/${id}`, "GET", null, false); 8 | }, 9 | getTopicHistory: (id: string) => { 10 | return request(`/topics/${id}/history`, "GET", null, false); 11 | }, 12 | createSession: (data: any) => { 13 | return request(`/topics/${data.topic_id}/session`, "POST", data, true); 14 | }, 15 | completeTopic: (data: any) => { 16 | return request(`/topics/sessions/${data.session_id}/complete`, "POST", data, true); 17 | }, 18 | getTopicCompletation: (data: any) => { 19 | return request(`/topics/${data.topic_id}/session/${data.session_id}/completion`, "GET", null, false); 20 | }, 21 | getPhrase: (data: any) => { 22 | return request(`/topics/${data.topic_id}/phrases`, "GET", null, false); 23 | }, 24 | deleteTopicHistory: (data: any) => { 25 | return request(`/topics/${data.topic_id}/session/${data.session_id}`, "DELETE", null, false); 26 | } 27 | }; 28 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/components/LoadingRound.vue: -------------------------------------------------------------------------------- 1 | 6 | 25 | 56 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-search-bar/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.2.4(2023-05-09) 2 | - 修复 i18n 国际化不正确的 Bug 3 | ## 1.2.3(2022-05-24) 4 | - 新增 readonly 属性,组件只读 5 | ## 1.2.2(2022-05-06) 6 | - 修复 vue3 input 事件不生效的bug 7 | ## 1.2.1(2022-05-06) 8 | - 修复 多余代码导致的bug 9 | ## 1.2.0(2021-11-19) 10 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 11 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-search-bar](https://uniapp.dcloud.io/component/uniui/uni-search-bar) 12 | ## 1.1.2(2021-08-30) 13 | - 修复 value 属性与 modelValue 属性不兼容的Bug 14 | ## 1.1.1(2021-08-24) 15 | - 新增 支持国际化 16 | ## 1.1.0(2021-07-30) 17 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 18 | ## 1.0.9(2021-05-12) 19 | - 新增 项目示例地址 20 | ## 1.0.8(2021-04-21) 21 | - 优化 添加依赖 uni-icons, 导入后自动下载依赖 22 | ## 1.0.7(2021-04-15) 23 | - uni-ui 新增 uni-search-bar 的 focus 事件 24 | 25 | ## 1.0.6(2021-02-05) 26 | - 优化 组件引用关系,通过uni_modules引用组件 27 | 28 | ## 1.0.5(2021-02-05) 29 | - 调整为uni_modules目录规范 30 | - 新增 支持双向绑定 31 | - 更改 input 事件的返回值,e={value:Number} --> e=value 32 | - 新增 支持图标插槽 33 | - 新增 支持 clear、blur 事件 34 | - 新增 支持 focus 属性 35 | - 去掉组件背景色 36 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/pages/chat/components/PhonemeBox.vue: -------------------------------------------------------------------------------- 1 | 9 | 22 | -------------------------------------------------------------------------------- /talkieai-server/app/db/__init__.py: -------------------------------------------------------------------------------- 1 | from sqlalchemy import create_engine, event 2 | from sqlalchemy.ext.declarative import declarative_base 3 | from sqlalchemy.orm import sessionmaker 4 | from app.config import Config 5 | from sqlalchemy.exc import DisconnectionError 6 | 7 | 8 | def checkout_listener(dbapi_con, con_record, con_proxy): 9 | try: 10 | try: 11 | dbapi_con.ping(False) 12 | except TypeError: 13 | dbapi_con.ping() 14 | except dbapi_con.OperationalError as exc: 15 | if exc.args[0] in (2006, 2013, 2014, 2045, 2055): 16 | raise DisconnectionError() 17 | else: 18 | raise 19 | 20 | 21 | # 创建数据库连接, SQLALCHEMY_DATABASE_URL不能为空 22 | if not Config.SQLALCHEMY_DATABASE_URL: 23 | raise Exception('SQLALCHEMY_DATABASE_URL不能为空') 24 | engine = create_engine(Config.SQLALCHEMY_DATABASE_URL, echo=Config.SQL_ECHO, pool_pre_ping=True, pool_size=100, pool_recycle=360) 25 | event.listen(engine, 'checkout', checkout_listener) 26 | SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) 27 | 28 | # 创建基类 29 | Base = declarative_base() 30 | 31 | 32 | # 数据库会话 33 | def get_db(): 34 | db = SessionLocal() 35 | try: 36 | yield db 37 | finally: 38 | db.close() 39 | 40 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/pages/chat/components/TextPronunciation.vue: -------------------------------------------------------------------------------- 1 | 9 | 24 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/main.ts: -------------------------------------------------------------------------------- 1 | import { createSSRApp } from "vue"; 2 | import App from "./App.vue"; 3 | import EventBus from "@/utils/bus"; 4 | 5 | const getHeight = (global: any) => { 6 | uni.getSystemInfo({ 7 | success: (e) => { 8 | global.StatusBar = e.statusBarHeight || 0; 9 | // Platform-specific logic 10 | if (e.platform === "android") { 11 | global.CustomBar = global.StatusBar + 50; 12 | } else { 13 | global.CustomBar = global.StatusBar + 45; 14 | } 15 | // MP-WEIXIN specific logic 16 | // #ifdef MP-WEIXIN 17 | global.Custom = wx.getMenuButtonBoundingClientRect(); 18 | let customBar = 19 | global.Custom.bottom + global.Custom.top - global.StatusBar + 4; 20 | global.CustomBar = customBar; 21 | // #endif 22 | // MP-ALIPAY specific logic 23 | // #ifdef MP-ALIPAY 24 | const titleBarHeight = e.titleBarHeight || 0; 25 | global.CustomBar = global.StatusBar + titleBarHeight; 26 | // #endif 27 | }, 28 | }); 29 | }; 30 | export function createApp() { 31 | const $bus = new EventBus(); 32 | const app = createSSRApp(App); 33 | app.provide("$bus", $bus); 34 | app.config.globalProperties.$bus = $bus; 35 | getHeight(app.config.globalProperties); 36 | return { 37 | app, 38 | }; 39 | } 40 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-collapse/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.4.3(2022-01-25) 2 | - 修复 初始化的时候 ,open 属性失效的bug 3 | ## 1.4.2(2022-01-21) 4 | - 修复 微信小程序resize后组件收起的bug 5 | ## 1.4.1(2021-11-22) 6 | - 修复 vue3中个别scss变量无法找到的问题 7 | ## 1.4.0(2021-11-19) 8 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 9 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-collapse](https://uniapp.dcloud.io/component/uniui/uni-collapse) 10 | ## 1.3.3(2021-08-17) 11 | - 优化 show-arrow 属性默认为true 12 | ## 1.3.2(2021-08-17) 13 | - 新增 show-arrow 属性,控制是否显示右侧箭头 14 | ## 1.3.1(2021-07-30) 15 | - 优化 vue3下小程序事件警告的问题 16 | ## 1.3.0(2021-07-30) 17 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 18 | ## 1.2.2(2021-07-21) 19 | - 修复 由1.2.0版本引起的 change 事件返回 undefined 的Bug 20 | ## 1.2.1(2021-07-21) 21 | - 优化 组件示例 22 | ## 1.2.0(2021-07-21) 23 | - 新增 组件折叠动画 24 | - 新增 value\v-model 属性 ,动态修改面板折叠状态 25 | - 新增 title 插槽 ,可定义面板标题 26 | - 新增 border 属性 ,显示隐藏面板内容分隔线 27 | - 新增 title-border 属性 ,显示隐藏面板标题分隔线 28 | - 修复 resize 方法失效的Bug 29 | - 修复 change 事件返回参数不正确的Bug 30 | - 优化 H5、App 平台自动更具内容更新高度,无需调用 reszie() 方法 31 | ## 1.1.7(2021-05-12) 32 | - 新增 组件示例地址 33 | ## 1.1.6(2021-02-05) 34 | - 优化 组件引用关系,通过uni_modules引用组件 35 | ## 1.1.5(2021-02-05) 36 | - 调整为uni_modules目录规范 -------------------------------------------------------------------------------- /talkieai-uniapp/src/api/account.ts: -------------------------------------------------------------------------------- 1 | import request from "@/axios/api"; 2 | export default { 3 | visitorLogin: (data: any) => { 4 | return request("/account/visitor-login", "POST", data, true); 5 | }, 6 | accountInfoGet: () => { 7 | return request("/account/info", "GET"); 8 | }, 9 | setSettings: (data: any) => { 10 | return request("/account/settings", "POST", data); 11 | }, 12 | getSettings: () => { 13 | return request("/account/settings", "GET"); 14 | }, 15 | setRole: (data: any) => { 16 | return request("/account/role", "POST", data); 17 | }, 18 | getRole: () => { 19 | return request("/account/role", "GET", null); 20 | }, 21 | setLearningLanguage: (data: any) => { 22 | return request("/account/language", "POST", data); 23 | }, 24 | getLearningLanguage: () => { 25 | return request("/account/language", "GET", null); 26 | }, 27 | collectGet: (data: any) => { 28 | return request("/account/collect", "GET", data, false); 29 | }, 30 | collect: (data: any) => { 31 | return request("/account/collect", "POST", data, false); 32 | }, 33 | cancelCollect: (data: any) => { 34 | return request("/account/collect", "DELETE", data, false); 35 | }, 36 | collectsGet: (data: any) => { 37 | return request("/account/collects", "GET", data, false); 38 | } 39 | }; 40 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-list/components/uni-list-chat/uni-list-chat.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * 这里是 uni-list 组件内置的常用样式变量 3 | * 如果需要覆盖样式,这里提供了基本的组件样式变量,您可以尝试修改这里的变量,去完成样式替换,而不用去修改源码 4 | * 5 | */ 6 | 7 | // 背景色 8 | $background-color : #fff; 9 | // 分割线颜色 10 | $divide-line-color : #e5e5e5; 11 | 12 | // 默认头像大小,如需要修改此值,注意同步修改 js 中的值 const avatarWidth = xx ,目前只支持方形头像 13 | // nvue 页面不支持修改头像大小 14 | $avatar-width : 45px ; 15 | 16 | // 头像边框 17 | $avatar-border-radius: 5px; 18 | $avatar-border-color: #eee; 19 | $avatar-border-width: 1px; 20 | 21 | // 标题文字样式 22 | $title-size : 16px; 23 | $title-color : #3b4144; 24 | $title-weight : normal; 25 | 26 | // 描述文字样式 27 | $note-size : 12px; 28 | $note-color : #999; 29 | $note-weight : normal; 30 | 31 | // 右侧额外内容默认样式 32 | $right-text-size : 12px; 33 | $right-text-color : #999; 34 | $right-text-weight : normal; 35 | 36 | // 角标样式 37 | // nvue 页面不支持修改圆点位置以及大小 38 | // 角标在左侧时,角标的位置,默认为 0 ,负数左/下移动,正数右/上移动 39 | $badge-left: 0px; 40 | $badge-top: 0px; 41 | 42 | // 显示圆点时,圆点大小 43 | $dot-width: 10px; 44 | $dot-height: 10px; 45 | 46 | // 显示角标时,角标大小和字体大小 47 | $badge-size : 18px; 48 | $badge-font : 12px; 49 | // 显示角标时,角标前景色 50 | $badge-color : #fff; 51 | // 显示角标时,角标背景色 52 | $badge-background-color : #ff5a5f; 53 | // 显示角标时,角标左右间距 54 | $badge-space : 6px; 55 | 56 | // 状态样式 57 | // 选中颜色 58 | $hover : #f5f5f5; 59 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/components/Loading.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 58 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-popup/components/uni-popup-dialog/keypress.js: -------------------------------------------------------------------------------- 1 | // #ifdef H5 2 | export default { 3 | name: 'Keypress', 4 | props: { 5 | disable: { 6 | type: Boolean, 7 | default: false 8 | } 9 | }, 10 | mounted () { 11 | const keyNames = { 12 | esc: ['Esc', 'Escape'], 13 | tab: 'Tab', 14 | enter: 'Enter', 15 | space: [' ', 'Spacebar'], 16 | up: ['Up', 'ArrowUp'], 17 | left: ['Left', 'ArrowLeft'], 18 | right: ['Right', 'ArrowRight'], 19 | down: ['Down', 'ArrowDown'], 20 | delete: ['Backspace', 'Delete', 'Del'] 21 | } 22 | const listener = ($event) => { 23 | if (this.disable) { 24 | return 25 | } 26 | const keyName = Object.keys(keyNames).find(key => { 27 | const keyName = $event.key 28 | const value = keyNames[key] 29 | return value === keyName || (Array.isArray(value) && value.includes(keyName)) 30 | }) 31 | if (keyName) { 32 | // 避免和其他按键事件冲突 33 | setTimeout(() => { 34 | this.$emit(keyName, {}) 35 | }, 0) 36 | } 37 | } 38 | document.addEventListener('keyup', listener) 39 | this.$once('hook:beforeDestroy', () => { 40 | document.removeEventListener('keyup', listener) 41 | }) 42 | }, 43 | render: () => {} 44 | } 45 | // #endif 46 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-popup/components/uni-popup/keypress.js: -------------------------------------------------------------------------------- 1 | // #ifdef H5 2 | export default { 3 | name: 'Keypress', 4 | props: { 5 | disable: { 6 | type: Boolean, 7 | default: false 8 | } 9 | }, 10 | mounted () { 11 | const keyNames = { 12 | esc: ['Esc', 'Escape'], 13 | tab: 'Tab', 14 | enter: 'Enter', 15 | space: [' ', 'Spacebar'], 16 | up: ['Up', 'ArrowUp'], 17 | left: ['Left', 'ArrowLeft'], 18 | right: ['Right', 'ArrowRight'], 19 | down: ['Down', 'ArrowDown'], 20 | delete: ['Backspace', 'Delete', 'Del'] 21 | } 22 | const listener = ($event) => { 23 | if (this.disable) { 24 | return 25 | } 26 | const keyName = Object.keys(keyNames).find(key => { 27 | const keyName = $event.key 28 | const value = keyNames[key] 29 | return value === keyName || (Array.isArray(value) && value.includes(keyName)) 30 | }) 31 | if (keyName) { 32 | // 避免和其他按键事件冲突 33 | setTimeout(() => { 34 | this.$emit(keyName, {}) 35 | }, 0) 36 | } 37 | } 38 | document.addEventListener('keyup', listener) 39 | // this.$once('hook:beforeDestroy', () => { 40 | // document.removeEventListener('keyup', listener) 41 | // }) 42 | }, 43 | render: () => {} 44 | } 45 | // #endif 46 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-data-picker/components/uni-data-picker/keypress.js: -------------------------------------------------------------------------------- 1 | // #ifdef H5 2 | export default { 3 | name: 'Keypress', 4 | props: { 5 | disable: { 6 | type: Boolean, 7 | default: false 8 | } 9 | }, 10 | mounted () { 11 | const keyNames = { 12 | esc: ['Esc', 'Escape'], 13 | tab: 'Tab', 14 | enter: 'Enter', 15 | space: [' ', 'Spacebar'], 16 | up: ['Up', 'ArrowUp'], 17 | left: ['Left', 'ArrowLeft'], 18 | right: ['Right', 'ArrowRight'], 19 | down: ['Down', 'ArrowDown'], 20 | delete: ['Backspace', 'Delete', 'Del'] 21 | } 22 | const listener = ($event) => { 23 | if (this.disable) { 24 | return 25 | } 26 | const keyName = Object.keys(keyNames).find(key => { 27 | const keyName = $event.key 28 | const value = keyNames[key] 29 | return value === keyName || (Array.isArray(value) && value.includes(keyName)) 30 | }) 31 | if (keyName) { 32 | // 避免和其他按键事件冲突 33 | setTimeout(() => { 34 | this.$emit(keyName, {}) 35 | }, 0) 36 | } 37 | } 38 | document.addEventListener('keyup', listener) 39 | this.$once('hook:beforeDestroy', () => { 40 | document.removeEventListener('keyup', listener) 41 | }) 42 | }, 43 | render: () => {} 44 | } 45 | // #endif 46 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-drawer/components/uni-drawer/keypress.js: -------------------------------------------------------------------------------- 1 | // #ifdef H5 2 | export default { 3 | name: 'Keypress', 4 | props: { 5 | disable: { 6 | type: Boolean, 7 | default: false 8 | } 9 | }, 10 | mounted () { 11 | const keyNames = { 12 | esc: ['Esc', 'Escape'], 13 | tab: 'Tab', 14 | enter: 'Enter', 15 | space: [' ', 'Spacebar'], 16 | up: ['Up', 'ArrowUp'], 17 | left: ['Left', 'ArrowLeft'], 18 | right: ['Right', 'ArrowRight'], 19 | down: ['Down', 'ArrowDown'], 20 | delete: ['Backspace', 'Delete', 'Del'] 21 | } 22 | const listener = ($event) => { 23 | if (this.disable) { 24 | return 25 | } 26 | const keyName = Object.keys(keyNames).find(key => { 27 | const keyName = $event.key 28 | const value = keyNames[key] 29 | return value === keyName || (Array.isArray(value) && value.includes(keyName)) 30 | }) 31 | if (keyName) { 32 | // 避免和其他按键事件冲突 33 | setTimeout(() => { 34 | this.$emit(keyName, {}) 35 | }, 0) 36 | } 37 | } 38 | document.addEventListener('keyup', listener) 39 | // this.$once('hook:beforeDestroy', () => { 40 | // document.removeEventListener('keyup', listener) 41 | // }) 42 | }, 43 | render: () => {} 44 | } 45 | // #endif 46 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-tooltip/components/uni-tooltip/uni-tooltip.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 13 | 43 | 44 | 69 | -------------------------------------------------------------------------------- /talkieai-server/app/config.py: -------------------------------------------------------------------------------- 1 | import os 2 | from dotenv import load_dotenv 3 | 4 | load_dotenv() 5 | 6 | 7 | class Config: 8 | DEFAULT_SOURCE_LANGUAGE = 'zh-CN' 9 | DEFAULT_TARGET_LANGUAGE = 'en-US' 10 | AI_NAME = os.getenv('AI_NAME') 11 | # 数据库连接信息,需要判断不能为空 12 | SQLALCHEMY_DATABASE_URL: str = os.getenv('DATABASE_URL') 13 | 14 | # 文件上传路径 15 | TEMP_SAVE_FILE_PATH = os.getenv('TEMP_SAVE_FILE_PATH') 16 | 17 | # 微软语音 18 | AZURE_KEY = os.getenv('AZURE_KEY') 19 | 20 | # AI 21 | AI_SERVER = os.getenv('AI_SERVER') 22 | # ChatGPT Key 23 | CHAT_GPT_PROXY = os.getenv('CHAT_GPT_PROXY') 24 | CHAT_GPT_KEY = os.getenv('CHAT_GPT_KEY') 25 | CHAT_GPT_MODEL = os.getenv('CHAT_GPT_MODEL') 26 | # 智谱AI配置 27 | ZHIPU_AI_API_KEY = os.getenv('ZHIPU_AI_API_KEY') 28 | ZHIPU_AI_MODEL = os.getenv('ZHIPU_AI_MODEL') 29 | 30 | # WeChat 31 | WECHAT_APP_ID = os.getenv('WECHAT_APP_ID') 32 | WECHAT_APP_SECRET = os.getenv('WECHAT_APP_SECRET') 33 | WE_CHAT_SERVER_URL = os.getenv('WE_CHAT_SERVER_URL') 34 | 35 | # 是否开启SQL语句打印 36 | SQL_ECHO: bool = os.getenv('SQL_ECHO').lower() == 'true' 37 | 38 | # JWT配置 39 | TOKEN_SECRET = os.getenv('TOKEN_SECRET') 40 | ALGORITHM = 'HS256' 41 | DECODED_TOKEN_USER_KEY = "sub" 42 | DECODED_TOKEN_IAT_KEY = "iat" 43 | TOKEN_EXPIRE_TIME = int(os.getenv("TOKEN_EXPIRE_TIME")) 44 | 45 | # API前缀 46 | API_PREFIX = os.getenv('API_PREFIX', '/api') -------------------------------------------------------------------------------- /talkieai-uniapp/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | TalkieAI 11 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-swipe-action/components/uni-swipe-action/uni-swipe-action.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 59 | 60 | 61 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-badge/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.2.2(2023-01-28) 2 | - 修复 运行/打包 控制台警告问题 3 | ## 1.2.1(2022-09-05) 4 | - 修复 当 text 超过 max-num 时,badge 的宽度计算是根据 text 的长度计算,更改为 css 计算实际展示宽度,详见:[https://ask.dcloud.net.cn/question/150473](https://ask.dcloud.net.cn/question/150473) 5 | ## 1.2.0(2021-11-19) 6 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 7 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-badge](https://uniapp.dcloud.io/component/uniui/uni-badge) 8 | ## 1.1.7(2021-11-08) 9 | - 优化 升级ui 10 | - 修改 size 属性默认值调整为 small 11 | - 修改 type 属性,默认值调整为 error,info 替换 default 12 | ## 1.1.6(2021-09-22) 13 | - 修复 在字节小程序上样式不生效的 bug 14 | ## 1.1.5(2021-07-30) 15 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 16 | ## 1.1.4(2021-07-29) 17 | - 修复 去掉 nvue 不支持css 的 align-self 属性,nvue 下不暂支持 absolute 属性 18 | ## 1.1.3(2021-06-24) 19 | - 优化 示例项目 20 | ## 1.1.1(2021-05-12) 21 | - 新增 组件示例地址 22 | ## 1.1.0(2021-05-12) 23 | - 新增 uni-badge 的 absolute 属性,支持定位 24 | - 新增 uni-badge 的 offset 属性,支持定位偏移 25 | - 新增 uni-badge 的 is-dot 属性,支持仅显示有一个小点 26 | - 新增 uni-badge 的 max-num 属性,支持自定义封顶的数字值,超过 99 显示99+ 27 | - 优化 uni-badge 属性 custom-style, 支持以对象形式自定义样式 28 | ## 1.0.7(2021-05-07) 29 | - 修复 uni-badge 在 App 端,数字小于10时不是圆形的bug 30 | - 修复 uni-badge 在父元素不是 flex 布局时,宽度缩小的bug 31 | - 新增 uni-badge 属性 custom-style, 支持自定义样式 32 | ## 1.0.6(2021-02-04) 33 | - 调整为uni_modules目录规范 34 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-easyinput/components/uni-easyinput/common.js: -------------------------------------------------------------------------------- 1 | /** 2 | * @desc 函数防抖 3 | * @param func 目标函数 4 | * @param wait 延迟执行毫秒数 5 | * @param immediate true - 立即执行, false - 延迟执行 6 | */ 7 | export const debounce = function(func, wait = 1000, immediate = true) { 8 | let timer; 9 | console.log(1); 10 | return function() { 11 | console.log(123); 12 | let context = this, 13 | args = arguments; 14 | if (timer) clearTimeout(timer); 15 | if (immediate) { 16 | let callNow = !timer; 17 | timer = setTimeout(() => { 18 | timer = null; 19 | }, wait); 20 | if (callNow) func.apply(context, args); 21 | } else { 22 | timer = setTimeout(() => { 23 | func.apply(context, args); 24 | }, wait) 25 | } 26 | } 27 | } 28 | /** 29 | * @desc 函数节流 30 | * @param func 函数 31 | * @param wait 延迟执行毫秒数 32 | * @param type 1 使用表时间戳,在时间段开始的时候触发 2 使用表定时器,在时间段结束的时候触发 33 | */ 34 | export const throttle = (func, wait = 1000, type = 1) => { 35 | let previous = 0; 36 | let timeout; 37 | return function() { 38 | let context = this; 39 | let args = arguments; 40 | if (type === 1) { 41 | let now = Date.now(); 42 | 43 | if (now - previous > wait) { 44 | func.apply(context, args); 45 | previous = now; 46 | } 47 | } else if (type === 2) { 48 | if (!timeout) { 49 | timeout = setTimeout(() => { 50 | timeout = null; 51 | func.apply(context, args) 52 | }, wait) 53 | } 54 | } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-scss/styles/setting/_space.scss: -------------------------------------------------------------------------------- 1 | 2 | @mixin fn($space,$direction,$size,$n) { 3 | @if $n { 4 | #{$space}-#{$direction}: #{$size*$uni-space-root}px 5 | } @else { 6 | #{$space}-#{$direction}: #{-$size*$uni-space-root}px 7 | } 8 | } 9 | @mixin get-styles($direction,$i,$space,$n){ 10 | @if $direction == t { 11 | @include fn($space, top,$i,$n); 12 | } 13 | @if $direction == r { 14 | @include fn($space, right,$i,$n); 15 | } 16 | @if $direction == b { 17 | @include fn($space, bottom,$i,$n); 18 | } 19 | @if $direction == l { 20 | @include fn($space, left,$i,$n); 21 | } 22 | @if $direction == x { 23 | @include fn($space, left,$i,$n); 24 | @include fn($space, right,$i,$n); 25 | } 26 | @if $direction == y { 27 | @include fn($space, top,$i,$n); 28 | @include fn($space, bottom,$i,$n); 29 | } 30 | @if $direction == a { 31 | @if $n { 32 | #{$space}:#{$i*$uni-space-root}px; 33 | } @else { 34 | #{$space}:#{-$i*$uni-space-root}px; 35 | } 36 | } 37 | } 38 | 39 | @each $orientation in m,p { 40 | $space: margin; 41 | @if $orientation == m { 42 | $space: margin; 43 | } @else { 44 | $space: padding; 45 | } 46 | @for $i from 0 through 16 { 47 | @each $direction in t, r, b, l, x, y, a { 48 | .uni-#{$orientation}#{$direction}-#{$i} { 49 | @include get-styles($direction,$i,$space,true); 50 | } 51 | .uni-#{$orientation}#{$direction}-n#{$i} { 52 | @include get-styles($direction,$i,$space,false); 53 | } 54 | } 55 | } 56 | } -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-data-checkbox/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.0.3(2022-09-16) 2 | - 可以使用 uni-scss 控制主题色 3 | ## 1.0.2(2022-06-30) 4 | - 优化 在 uni-forms 中的依赖注入方式 5 | ## 1.0.1(2022-02-07) 6 | - 修复 multiple 为 true 时,v-model 的值为 null 报错的 bug 7 | ## 1.0.0(2021-11-19) 8 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 9 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-data-checkbox](https://uniapp.dcloud.io/component/uniui/uni-data-checkbox) 10 | ## 0.2.5(2021-08-23) 11 | - 修复 在uni-forms中 modelValue 中不存在当前字段,当前字段必填写也不参与校验的问题 12 | ## 0.2.4(2021-08-17) 13 | - 修复 单选 list 模式下 ,icon 为 left 时,选中图标不显示的问题 14 | ## 0.2.3(2021-08-11) 15 | - 修复 在 uni-forms 中重置表单,错误信息无法清除的问题 16 | ## 0.2.2(2021-07-30) 17 | - 优化 在uni-forms组件,与label不对齐的问题 18 | ## 0.2.1(2021-07-27) 19 | - 修复 单选默认值为0不能选中的Bug 20 | ## 0.2.0(2021-07-13) 21 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 22 | ## 0.1.11(2021-07-06) 23 | - 优化 删除无用日志 24 | ## 0.1.10(2021-07-05) 25 | - 修复 由 0.1.9 引起的非 nvue 端图标不显示的问题 26 | ## 0.1.9(2021-07-05) 27 | - 修复 nvue 黑框样式问题 28 | ## 0.1.8(2021-06-28) 29 | - 修复 selectedTextColor 属性不生效的Bug 30 | ## 0.1.7(2021-06-02) 31 | - 新增 map 属性,可以方便映射text/value属性 32 | ## 0.1.6(2021-05-26) 33 | - 修复 不关联服务空间的情况下组件报错的Bug 34 | ## 0.1.5(2021-05-12) 35 | - 新增 组件示例地址 36 | ## 0.1.4(2021-04-09) 37 | - 修复 nvue 下无法选中的问题 38 | ## 0.1.3(2021-03-22) 39 | - 新增 disabled属性 40 | ## 0.1.2(2021-02-24) 41 | - 优化 默认颜色显示 42 | ## 0.1.1(2021-02-24) 43 | - 新增 支持nvue 44 | ## 0.1.0(2021-02-18) 45 | - “暂无数据”显示居中 46 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-swipe-action/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.3.8(2023-04-13) 2 | - 修复`uni-swipe-action`和`uni-swipe-action-item`不同时使用导致 closeOther 方法报错的 bug 3 | ## 1.3.7(2022-06-06) 4 | - 修复 vue3 下使用组件不能正常运行的Bug 5 | ## 1.3.6(2022-05-31) 6 | - 修复 h5端点击click触发两次的Bug 7 | ## 1.3.5(2022-05-23) 8 | - 修复 isPC 找不到的Bug 9 | ## 1.3.4(2022-05-19) 10 | - 修复 在 nvue 下 disabled 失效的bug 11 | ## 1.3.3(2022-03-31) 12 | - 修复 按钮字体大小不能设置的bug 13 | ## 1.3.2(2022-03-16) 14 | - 修复 h5和app端下报el错误的bug 15 | ## 1.3.1(2022-03-07) 16 | - 修复 HBuilderX 1.4.X 版本中,h5和app端下报错的bug 17 | ## 1.3.0(2021-11-19) 18 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 19 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-swipe-action](https://uniapp.dcloud.io/component/uniui/uni-swipe-action) 20 | ## 1.2.4(2021-08-20) 21 | - 优化 close-all 方法 22 | ## 1.2.3(2021-08-20) 23 | - 新增 close-all 方法,关闭所有已打开的组件 24 | ## 1.2.2(2021-08-17) 25 | - 新增 resize() 方法,在非微信小程序、h5、app-vue端出现不能滑动的问题的时候,重置组件 26 | - 修复 app 端偶尔出现类似 Page[x][-x,xx;-x,xx,x,x-x] 的问题 27 | - 优化 微信小程序、h5、app-vue 滑动逻辑,避免出现动态新增组件后不能滑动的问题 28 | ## 1.2.1(2021-07-30) 29 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 30 | - 修复 跨页面修改组件数据 ,导致不能滑动的问题 31 | ## 1.1.10(2021-06-17) 32 | - 修复 按钮点击执行两次的bug 33 | ## 1.1.9(2021-05-12) 34 | - 新增 项目示例地址 35 | ## 1.1.8(2021-03-26) 36 | - 修复 微信小程序 nv_navigator is not defined 报错的bug 37 | ## 1.1.7(2021-02-05) 38 | - 调整为uni_modules目录规范 39 | - 新增 左侧滑动 40 | - 新增 插槽使用方式 41 | - 新增 threshold 属性,可以控制滑动缺省值 42 | - 优化 长列表滚动性能 43 | - 修复 滚动页面时触发组件滑动的Bug 44 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/axios/api.ts: -------------------------------------------------------------------------------- 1 | import __config from "@/config/env"; 2 | 3 | const request = ( 4 | url: string, 5 | method?: 6 | | "OPTIONS" 7 | | "GET" 8 | | "HEAD" 9 | | "POST" 10 | | "PUT" 11 | | "DELETE" 12 | | "TRACE" 13 | | "CONNECT", 14 | data?: any, 15 | showLoading?: boolean 16 | ): Promise => { 17 | let _url = __config.basePath + url; 18 | return new Promise((resolve, reject) => { 19 | if (showLoading) { 20 | uni.showLoading(); 21 | } 22 | uni.request({ 23 | url: _url, 24 | method: method, 25 | data: data, 26 | header: { 27 | "Content-Type": "application/json", 28 | "X-Token": uni.getStorageSync("x-token") 29 | ? uni.getStorageSync("x-token") 30 | : "", 31 | }, 32 | success(res) { 33 | if (res.statusCode == 200) { 34 | resolve(res.data); 35 | } else if (res.statusCode == 401) { 36 | uni.showToast({ 37 | title: "登录过期,重新登录", 38 | icon: "none", 39 | duration: 2000, 40 | }); 41 | uni.removeStorageSync("x-token"); 42 | uni.navigateTo({ 43 | url: "/pages/login/index", 44 | }); 45 | } else { 46 | reject(res.data); 47 | } 48 | }, 49 | fail(error) { 50 | console.error(error); 51 | reject(error); 52 | }, 53 | complete(res) { 54 | // 判断是否在loading中 55 | if (showLoading) { 56 | uni?.hideLoading(); 57 | } 58 | }, 59 | }); 60 | }); 61 | }; 62 | export default request; 63 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-nav-bar/changelog.md: -------------------------------------------------------------------------------- 1 | ## 1.3.11(2023-03-29) 2 | - 修复 自定义状态栏高度闪动BUG 3 | ## 1.3.10(2023-03-29) 4 | - 修复 暗黑模式下边线颜色错误的bug 5 | ## 1.3.9(2022-10-13) 6 | - 修复 条件编译错误的bug 7 | ## 1.3.8(2022-10-12) 8 | - 修复 nvue 环境 fixed 为 true 的情况下,无法置顶的 bug 9 | ## 1.3.7(2022-08-11) 10 | - 修复 nvue 环境下 fixed 为 true 的情况下,无法置顶的 bug 11 | ## 1.3.6(2022-06-30) 12 | - 修复 组件示例中插槽用法无法显示内容的bug 13 | ## 1.3.5(2022-05-24) 14 | - 新增 stat 属性 ,可开启统计title 上报 ,仅使用了title 属性且项目开启了uni统计生效 15 | ## 1.3.4(2022-01-24) 16 | - 更新 组件示例 17 | ## 1.3.3(2022-01-24) 18 | - 新增 left-width/right-width属性 ,可修改左右两侧的宽度 19 | ## 1.3.2(2022-01-18) 20 | - 修复 在vue下,标题不垂直居中的bug 21 | ## 1.3.1(2022-01-18) 22 | - 修复 height 属性类型错误 23 | ## 1.3.0(2022-01-18) 24 | - 新增 height 属性,可修改组件高度 25 | - 新增 dark 属性可可开启暗黑模式 26 | - 优化 标题字数过多显示省略号 27 | - 优化 插槽,插入内容可完全覆盖 28 | ## 1.2.1(2022-01-10) 29 | - 修复 color 属性不生效的bug 30 | ## 1.2.0(2021-11-19) 31 | - 优化 组件UI,并提供设计资源,详见:[https://uniapp.dcloud.io/component/uniui/resource](https://uniapp.dcloud.io/component/uniui/resource) 32 | - 文档迁移,详见:[https://uniapp.dcloud.io/component/uniui/uni-nav-bar](https://uniapp.dcloud.io/component/uniui/uni-nav-bar) 33 | ## 1.1.0(2021-07-30) 34 | - 组件兼容 vue3,如何创建vue3项目,详见 [uni-app 项目支持 vue3 介绍](https://ask.dcloud.net.cn/article/37834) 35 | ## 1.0.11(2021-05-12) 36 | - 新增 组件示例地址 37 | ## 1.0.10(2021-04-30) 38 | - 修复 在nvue下fixed为true,宽度不能撑满的Bug 39 | ## 1.0.9(2021-04-21) 40 | - 优化 添加依赖 uni-icons, 导入后自动下载依赖 41 | ## 1.0.8(2021-04-14) 42 | - uni-ui 修复 uni-nav-bar 当 fixed 属性为 true 时铺不满屏幕的 bug 43 | 44 | ## 1.0.7(2021-02-25) 45 | - 修复 easycom 下,找不到 uni-status-bar 的bug 46 | 47 | ## 1.0.6(2021-02-05) 48 | - 优化 组件引用关系,通过uni_modules引用组件 49 | 50 | ## 1.0.5(2021-02-05) 51 | - 调整为uni_modules目录规范 52 | -------------------------------------------------------------------------------- /talkieai-server/app/core/language.py: -------------------------------------------------------------------------------- 1 | import json 2 | from app.core.logging import logging 3 | 4 | language_data = [] 5 | 6 | azure_data = {} 7 | with open("data/azure.json", "r") as f: 8 | azure_data = json.load(f) 9 | 10 | azure_style_label_data = [] 11 | with open("data/azure_style_label.json", "r") as f: 12 | azure_style_label_data = json.load(f) 13 | 14 | azure_style_label_map = {} 15 | for item in azure_style_label_data: 16 | azure_style_label_map[item["value"]] = item["label"] 17 | 18 | sys_language_data = {} 19 | with open("data/sys_language.json", "r") as f: 20 | sys_language_data = json.load(f) 21 | 22 | def get_label_by_language(language: str) -> str: 23 | """根据语言获取对应的label""" 24 | for item in sys_language_data: 25 | if item["value"] == language: 26 | return item["label"] 27 | raise Exception("没有找到对应的语言:{language}") 28 | 29 | def get_azure_style_label(style: str): 30 | """根据style获取对应的label""" 31 | # 检查azure_style_label_map是否包含style 32 | if style in azure_style_label_map: 33 | return azure_style_label_map[style] 34 | logging.warning(f"没有找到对应的style:{style}") 35 | return "" 36 | 37 | def get_azure_language_default_role(language: str): 38 | """根据语言获取默认的角色""" 39 | for item in sys_language_data: 40 | if item["value"] == language: 41 | return item["default_voice_role_name"] 42 | raise Exception(f"没有找到对应的语言:{language}") 43 | 44 | def get_role_info_by_short_name(short_name: str): 45 | """根据short_name获取角色信息""" 46 | for item in sys_language_data: 47 | if item["short_name"] == short_name: 48 | return item 49 | raise Exception(f"没有找到对应的角色:{short_name}") 50 | 51 | -------------------------------------------------------------------------------- /talkieai-server/data/azure_style_label.json: -------------------------------------------------------------------------------- 1 | [ 2 | { "value": "chat", "label": "聊天" }, 3 | { "value": "customerservice", "label": "服务" }, 4 | { "value": "narration-professional", "label": "专业" }, 5 | { "value": "newscast-casual", "label": "随意" }, 6 | { "value": "newscast-formal", "label": "正式" }, 7 | { "value": "cheerful", "label": "愉快" }, 8 | { "value": "empathetic", "label": "同情" }, 9 | { "value": "angry", "label": "生气" }, 10 | { "value": "sad", "label": "悲伤" }, 11 | { "value": "excited", "label": "兴奋" }, 12 | { "value": "friendly", "label": "友好" }, 13 | { "value": "terrified", "label": "害怕" }, 14 | { "value": "shouting", "label": "喊叫" }, 15 | { "value": "unfriendly", "label": "不友好" }, 16 | { "value": "whispering", "label": "低语" }, 17 | { "value": "hopeful", "label": "希望" }, 18 | { "value": "calm", "label": "平静" }, 19 | { "value": "fearful", "label": "害怕" }, 20 | { "value": "disgruntled", "label": "不满" }, 21 | { "value": "serious", "label": "认真" }, 22 | { "value": "gentle", "label": "温和" }, 23 | { "value": "affectionate", "label": "深情" }, 24 | { "value": "embarrassed", "label": "尴尬" }, 25 | { "value": "depressed", "label": "沮丧" }, 26 | { "value": "envious", "label": "嫉妒" }, 27 | { "value": "assistant", "label": "助手" }, 28 | { "value": "newscast", "label": "播报" }, 29 | { "value": "lyrical", "label": "抒情" }, 30 | { "value": "poetry-reading", "label": "朗诵" }, 31 | { "value": "advertisement-upbeat", "label": "广告" }, 32 | { "value": "narration-relaxed", "label": "叙述" }, 33 | { "value": "sports-commentary", "label": "体育评论" }, 34 | { "value": "sports-commentary-excited", "label": "体育评论" }, 35 | { "value": "documentary-narration", "label": "纪录片" } 36 | ] 37 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/components/Checkbox.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 47 | 48 | 69 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-scss/styles/setting/_radius.scss: -------------------------------------------------------------------------------- 1 | @mixin radius($r,$d:null ,$important: false){ 2 | $radius-value:map-get($uni-radius, $r) if($important, !important, null); 3 | // Key exists within the $uni-radius variable 4 | @if (map-has-key($uni-radius, $r) and $d){ 5 | @if $d == t { 6 | border-top-left-radius:$radius-value; 7 | border-top-right-radius:$radius-value; 8 | }@else if $d == r { 9 | border-top-right-radius:$radius-value; 10 | border-bottom-right-radius:$radius-value; 11 | }@else if $d == b { 12 | border-bottom-left-radius:$radius-value; 13 | border-bottom-right-radius:$radius-value; 14 | }@else if $d == l { 15 | border-top-left-radius:$radius-value; 16 | border-bottom-left-radius:$radius-value; 17 | }@else if $d == tl { 18 | border-top-left-radius:$radius-value; 19 | }@else if $d == tr { 20 | border-top-right-radius:$radius-value; 21 | }@else if $d == br { 22 | border-bottom-right-radius:$radius-value; 23 | }@else if $d == bl { 24 | border-bottom-left-radius:$radius-value; 25 | } 26 | }@else{ 27 | border-radius:$radius-value; 28 | } 29 | } 30 | 31 | @each $key, $child in $uni-radius { 32 | @if($key){ 33 | .uni-radius-#{"" + $key} { 34 | @include radius($key) 35 | } 36 | }@else{ 37 | .uni-radius { 38 | @include radius($key) 39 | } 40 | } 41 | } 42 | 43 | @each $direction in t, r, b, l,tl, tr, br, bl { 44 | @each $key, $child in $uni-radius { 45 | @if($key){ 46 | .uni-radius-#{"" + $direction}-#{"" + $key} { 47 | @include radius($key,$direction,false) 48 | } 49 | }@else{ 50 | .uni-radius-#{$direction} { 51 | @include radius($key,$direction,false) 52 | } 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-scss/styles/setting/_color.scss: -------------------------------------------------------------------------------- 1 | 2 | // TODO 暂时不需要 class ,需要用户使用变量实现 ,如果使用类名其实并不推荐 3 | // @mixin get-styles($k,$c) { 4 | // @if $k == size or $k == weight{ 5 | // font-#{$k}:#{$c} 6 | // }@else{ 7 | // #{$k}:#{$c} 8 | // } 9 | // } 10 | $uni-ui-color:( 11 | // 主色 12 | primary: $uni-primary, 13 | primary-disable: $uni-primary-disable, 14 | primary-light: $uni-primary-light, 15 | // 辅助色 16 | success: $uni-success, 17 | success-disable: $uni-success-disable, 18 | success-light: $uni-success-light, 19 | warning: $uni-warning, 20 | warning-disable: $uni-warning-disable, 21 | warning-light: $uni-warning-light, 22 | error: $uni-error, 23 | error-disable: $uni-error-disable, 24 | error-light: $uni-error-light, 25 | info: $uni-info, 26 | info-disable: $uni-info-disable, 27 | info-light: $uni-info-light, 28 | // 中性色 29 | main-color: $uni-main-color, 30 | base-color: $uni-base-color, 31 | secondary-color: $uni-secondary-color, 32 | extra-color: $uni-extra-color, 33 | // 背景色 34 | bg-color: $uni-bg-color, 35 | // 边框颜色 36 | border-1: $uni-border-1, 37 | border-2: $uni-border-2, 38 | border-3: $uni-border-3, 39 | border-4: $uni-border-4, 40 | // 黑色 41 | black:$uni-black, 42 | // 白色 43 | white:$uni-white, 44 | // 透明 45 | transparent:$uni-transparent 46 | ) !default; 47 | @each $key, $child in $uni-ui-color { 48 | .uni-#{"" + $key} { 49 | color: $child; 50 | } 51 | .uni-#{"" + $key}-bg { 52 | background-color: $child; 53 | } 54 | } 55 | .uni-shadow-sm { 56 | box-shadow: $uni-shadow-sm; 57 | } 58 | .uni-shadow-base { 59 | box-shadow: $uni-shadow-base; 60 | } 61 | .uni-shadow-lg { 62 | box-shadow: $uni-shadow-lg; 63 | } 64 | .uni-mask { 65 | background-color:$uni-mask; 66 | } 67 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/less/global.less: -------------------------------------------------------------------------------- 1 | // 使用 * 的话 微信小程序会报错 2 | // [ WXSS 文件编译错误] ./pages/contact/index.wxss unexpected token * 3 | 4 | view { 5 | margin: 0; 6 | padding: 0; 7 | 8 | } 9 | 10 | @common-color:#6236FF; 11 | @common-bg-gray-color: #F5F5FE; 12 | 13 | .common-button{ 14 | width: 590rpx; 15 | height: 120rpx; 16 | background: @common-color; 17 | color:#fff; 18 | font-size: 14px; 19 | border-radius: 60rpx; 20 | display: flex; 21 | align-items: center; 22 | justify-content: center; 23 | 24 | } 25 | 26 | button:active{ 27 | opacity: .8; 28 | } 29 | 30 | view{ 31 | box-sizing: border-box; 32 | } 33 | 34 | .row-bc { 35 | display: flex; 36 | flex-direction: row; 37 | justify-content: space-between; 38 | align-items: center; 39 | } 40 | 41 | .row-sc { 42 | display: flex; 43 | flex-direction: row; 44 | justify-content: flex-start; 45 | align-items: center; 46 | } 47 | 48 | .common-button{ 49 | width: 590rpx; 50 | height: 120rpx; 51 | background: @common-color; 52 | color:#fff; 53 | font-size: 14px; 54 | border-radius: 60rpx; 55 | display: flex; 56 | align-items: center; 57 | justify-content: center; 58 | 59 | } 60 | 61 | .atk-btn-box { 62 | padding: 28rpx 0; 63 | background: @common-color; 64 | display: flex; 65 | align-items: center; 66 | justify-content: center; 67 | font-size: 18px; 68 | border-radius: 60rpx; 69 | color:#fff; 70 | .atk-btn { 71 | letter-spacing: 4rpx; 72 | } 73 | 74 | &.gray { 75 | background: #999; 76 | } 77 | } 78 | .bottom-box { 79 | margin: 32rpx; 80 | width: calc(100vw - 64rpx); 81 | position: fixed; 82 | bottom: 0; 83 | padding-bottom: calc(env(safe-area-inset-bottom) / 2); 84 | } 85 | 86 | .icon { 87 | width: 32rpx; 88 | height: 32rpx; 89 | } -------------------------------------------------------------------------------- /talkieai-uniapp/src/pages/chat/components/CommonAudioPlayer.vue: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-scss/variables.scss: -------------------------------------------------------------------------------- 1 | @import './styles/setting/_variables.scss'; 2 | // 间距基础倍数 3 | $uni-space-root: 2; 4 | // 边框半径默认值 5 | $uni-radius-root:5px; 6 | 7 | // 主色 8 | $uni-primary: #2979ff; 9 | $uni-primary-disable:mix(#fff,$uni-primary,50%); 10 | $uni-primary-light: mix(#fff,$uni-primary,80%); 11 | 12 | // 辅助色 13 | // 除了主色外的场景色,需要在不同的场景中使用(例如危险色表示危险的操作)。 14 | $uni-success: #18bc37; 15 | $uni-success-disable:mix(#fff,$uni-success,50%); 16 | $uni-success-light: mix(#fff,$uni-success,80%); 17 | 18 | $uni-warning: #f3a73f; 19 | $uni-warning-disable:mix(#fff,$uni-warning,50%); 20 | $uni-warning-light: mix(#fff,$uni-warning,80%); 21 | 22 | $uni-error: #e43d33; 23 | $uni-error-disable:mix(#fff,$uni-error,50%); 24 | $uni-error-light: mix(#fff,$uni-error,80%); 25 | 26 | $uni-info: #8f939c; 27 | $uni-info-disable:mix(#fff,$uni-info,50%); 28 | $uni-info-light: mix(#fff,$uni-info,80%); 29 | 30 | // 中性色 31 | // 中性色用于文本、背景和边框颜色。通过运用不同的中性色,来表现层次结构。 32 | $uni-main-color: #3a3a3a; // 主要文字 33 | $uni-base-color: #6a6a6a; // 常规文字 34 | $uni-secondary-color: #909399; // 次要文字 35 | $uni-extra-color: #c7c7c7; // 辅助说明 36 | 37 | // 边框颜色 38 | $uni-border-1: #F0F0F0; 39 | $uni-border-2: #EDEDED; 40 | $uni-border-3: #DCDCDC; 41 | $uni-border-4: #B9B9B9; 42 | 43 | // 常规色 44 | $uni-black: #000000; 45 | $uni-white: #ffffff; 46 | $uni-transparent: rgba($color: #000000, $alpha: 0); 47 | 48 | // 背景色 49 | $uni-bg-color: #f7f7f7; 50 | 51 | /* 水平间距 */ 52 | $uni-spacing-sm: 8px; 53 | $uni-spacing-base: 15px; 54 | $uni-spacing-lg: 30px; 55 | 56 | // 阴影 57 | $uni-shadow-sm:0 0 5px rgba($color: #d8d8d8, $alpha: 0.5); 58 | $uni-shadow-base:0 1px 8px 1px rgba($color: #a5a5a5, $alpha: 0.2); 59 | $uni-shadow-lg:0px 1px 10px 2px rgba($color: #a5a4a4, $alpha: 0.5); 60 | 61 | // 蒙版 62 | $uni-mask: rgba($color: #000000, $alpha: 0.4); 63 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/models/models.ts: -------------------------------------------------------------------------------- 1 | export interface AccountInfo { 2 | account_id: string; 3 | today_chat_count: number; 4 | total_chat_count: number; 5 | target_language_label: string; 6 | } 7 | 8 | export interface AccountSettings { 9 | auto_playing_voice:number; 10 | auto_text_shadow:number; 11 | auto_pronunciation:number; 12 | playing_voice_speed:string; 13 | speech_role_name_label:string; 14 | speech_role_name:string; 15 | target_language:string; 16 | } 17 | 18 | export interface Collect { 19 | id?: string | null; 20 | type: string; 21 | content: string; 22 | translation: string; 23 | message_id?: string | null; 24 | create_time?: string | null; 25 | } 26 | export interface Message { 27 | id?: string | null; 28 | content?: string | null; 29 | owner: boolean; 30 | file_name?: string | null; 31 | role: string | "USER" | "ASSISTANT"; 32 | session_id?: string | null; 33 | auto_play?: boolean | null; 34 | auto_hint?: boolean | null; 35 | auto_pronunciation?: boolean | null; 36 | pronunciation?: Pronunciation | null | undefined; 37 | } 38 | 39 | export interface Phoneme { 40 | phoneme: string; 41 | accuracy_score: number; 42 | } 43 | 44 | export interface Word { 45 | word: string; 46 | accuracy_score: number; 47 | error_type: string; 48 | phonemes: Phoneme[]; 49 | } 50 | 51 | export interface Pronunciation { 52 | accuracy_score: number; 53 | fluency_score: number; 54 | completeness_score: number; 55 | pronunciation_score: number; 56 | words: Word[]; 57 | } 58 | 59 | export interface MessagePage { 60 | list: Message[]; 61 | total: number; 62 | } 63 | 64 | export interface Session { 65 | id?: string; 66 | type?: string; 67 | messages: MessagePage; 68 | } 69 | 70 | export interface Prompt { 71 | text?: string; 72 | translateShow?: boolean; 73 | } 74 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-swipe-action/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-swipe-action", 3 | "displayName": "uni-swipe-action 滑动操作", 4 | "version": "1.3.8", 5 | "description": "SwipeAction 滑动操作操作组件", 6 | "keywords": [ 7 | "", 8 | "uni-ui", 9 | "uniui", 10 | "滑动删除", 11 | "侧滑删除" 12 | ], 13 | "repository": "https://github.com/dcloudio/uni-ui", 14 | "engines": { 15 | "HBuilderX": "" 16 | }, 17 | "directories": { 18 | "example": "../../temps/example_temps" 19 | }, 20 | "dcloudext": { 21 | "sale": { 22 | "regular": { 23 | "price": "0.00" 24 | }, 25 | "sourcecode": { 26 | "price": "0.00" 27 | } 28 | }, 29 | "contact": { 30 | "qq": "" 31 | }, 32 | "declaration": { 33 | "ads": "无", 34 | "data": "无", 35 | "permissions": "无" 36 | }, 37 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", 38 | "type": "component-vue" 39 | }, 40 | "uni_modules": { 41 | "dependencies": ["uni-scss"], 42 | "encrypt": [], 43 | "platforms": { 44 | "cloud": { 45 | "tcb": "y", 46 | "aliyun": "y" 47 | }, 48 | "client": { 49 | "App": { 50 | "app-vue": "y", 51 | "app-nvue": "y" 52 | }, 53 | "H5-mobile": { 54 | "Safari": "y", 55 | "Android Browser": "y", 56 | "微信浏览器(Android)": "y", 57 | "QQ浏览器(Android)": "y" 58 | }, 59 | "H5-pc": { 60 | "Chrome": "y", 61 | "IE": "y", 62 | "Edge": "y", 63 | "Firefox": "y", 64 | "Safari": "y" 65 | }, 66 | "小程序": { 67 | "微信": "y", 68 | "阿里": "y", 69 | "百度": "y", 70 | "字节跳动": "y", 71 | "QQ": "y" 72 | }, 73 | "快应用": { 74 | "华为": "y", 75 | "联盟": "u" 76 | }, 77 | "Vue": { 78 | "vue2": "y", 79 | "vue3": "y" 80 | } 81 | } 82 | } 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /talkieai-server/app/core/auth.py: -------------------------------------------------------------------------------- 1 | import time 2 | import jwt 3 | from fastapi import HTTPException 4 | 5 | 6 | 7 | class Auth: 8 | def __init__(self, token_secret: str, algorithm: str, decoded_token_iat_key: str, expire_time: int, 9 | decoded_token_user_key: str): 10 | self.token_secret = token_secret 11 | self.algorithm = algorithm 12 | self.expire_time = expire_time 13 | self.decoded_token_iat_key = decoded_token_iat_key 14 | self.decoded_token_user_key = decoded_token_user_key 15 | 16 | def init_token(self, name: str, id: str) -> str: 17 | return jwt.encode({ 18 | 'sub': id, 19 | 'iat': int(time.time()), 20 | 'name': name 21 | }, self.token_secret, algorithm=self.algorithm) 22 | 23 | def get_current_account(self, x_token: str) -> str: 24 | """Get user info from x_token""" 25 | if not x_token: 26 | raise HTTPException(status_code=401, detail="X-Token header is missing") 27 | try: 28 | decoded_token = jwt.decode(x_token, self.token_secret, algorithms=[self.algorithm]) 29 | except jwt.PyJWTError: 30 | print(jwt.PyJWTError) 31 | raise HTTPException(status_code=401, detail="Invalid token") 32 | # Check Whether the token expired 33 | iat = decoded_token.get(self.decoded_token_iat_key) 34 | """Check whether the token is expired""" 35 | delta = int((time.time() - iat) / 60) 36 | if delta > self.expire_time: 37 | raise HTTPException(status_code=401, detail="Token has expired") 38 | account_id = decoded_token.get(self.decoded_token_user_key) 39 | if not account_id: 40 | raise HTTPException(status_code=401, detail="User not found in token") 41 | return account_id 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-tooltip/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-tooltip", 3 | "displayName": "uni-tooltip", 4 | "version": "0.2.1", 5 | "description": "Tooltip 提示文字", 6 | "keywords": [ 7 | "uni-tooltip", 8 | "uni-ui", 9 | "tooltip", 10 | "tip", 11 | "文字提示" 12 | ], 13 | "repository": "", 14 | "engines": { 15 | }, 16 | "dcloudext": { 17 | "category": [ 18 | "前端组件", 19 | "通用组件" 20 | ], 21 | "sale": { 22 | "regular": { 23 | "price": "0.00" 24 | }, 25 | "sourcecode": { 26 | "price": "0.00" 27 | } 28 | }, 29 | "contact": { 30 | "qq": "" 31 | }, 32 | "declaration": { 33 | "ads": "无 ", 34 | "data": "无", 35 | "permissions": "无" 36 | }, 37 | "npmurl": "" 38 | }, 39 | "uni_modules": { 40 | "dependencies": [], 41 | "encrypt": [], 42 | "platforms": { 43 | "cloud": { 44 | "tcb": "y", 45 | "aliyun": "y" 46 | }, 47 | "client": { 48 | "Vue": { 49 | "vue2": "y", 50 | "vue3": "y" 51 | }, 52 | "App": { 53 | "app-vue": "y", 54 | "app-nvue": "u" 55 | }, 56 | "H5-mobile": { 57 | "Safari": "y", 58 | "Android Browser": "y", 59 | "微信浏览器(Android)": "y", 60 | "QQ浏览器(Android)": "y" 61 | }, 62 | "H5-pc": { 63 | "Chrome": "y", 64 | "IE": "y", 65 | "Edge": "y", 66 | "Firefox": "y", 67 | "Safari": "y" 68 | }, 69 | "小程序": { 70 | "微信": "y", 71 | "阿里": "u", 72 | "百度": "u", 73 | "字节跳动": "u", 74 | "QQ": "u" 75 | }, 76 | "快应用": { 77 | "华为": "u", 78 | "联盟": "u" 79 | } 80 | } 81 | } 82 | } 83 | } -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-list/components/uni-list/uni-refresh.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 59 | 60 | 66 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-popup/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-popup", 3 | "displayName": "uni-popup 弹出层", 4 | "version": "1.8.3", 5 | "description": " Popup 组件,提供常用的弹层", 6 | "keywords": [ 7 | "uni-ui", 8 | "弹出层", 9 | "弹窗", 10 | "popup", 11 | "弹框" 12 | ], 13 | "repository": "https://github.com/dcloudio/uni-ui", 14 | "engines": { 15 | "HBuilderX": "" 16 | }, 17 | "directories": { 18 | "example": "../../temps/example_temps" 19 | }, 20 | "dcloudext": { 21 | "sale": { 22 | "regular": { 23 | "price": "0.00" 24 | }, 25 | "sourcecode": { 26 | "price": "0.00" 27 | } 28 | }, 29 | "contact": { 30 | "qq": "" 31 | }, 32 | "declaration": { 33 | "ads": "无", 34 | "data": "无", 35 | "permissions": "无" 36 | }, 37 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", 38 | "type": "component-vue" 39 | }, 40 | "uni_modules": { 41 | "dependencies": [ 42 | "uni-scss", 43 | "uni-transition" 44 | ], 45 | "encrypt": [], 46 | "platforms": { 47 | "cloud": { 48 | "tcb": "y", 49 | "aliyun": "y" 50 | }, 51 | "client": { 52 | "App": { 53 | "app-vue": "y", 54 | "app-nvue": "y" 55 | }, 56 | "H5-mobile": { 57 | "Safari": "y", 58 | "Android Browser": "y", 59 | "微信浏览器(Android)": "y", 60 | "QQ浏览器(Android)": "y" 61 | }, 62 | "H5-pc": { 63 | "Chrome": "y", 64 | "IE": "y", 65 | "Edge": "y", 66 | "Firefox": "y", 67 | "Safari": "y" 68 | }, 69 | "小程序": { 70 | "微信": "y", 71 | "阿里": "y", 72 | "百度": "y", 73 | "字节跳动": "y", 74 | "QQ": "y" 75 | }, 76 | "快应用": { 77 | "华为": "u", 78 | "联盟": "u" 79 | }, 80 | "Vue": { 81 | "vue2": "y", 82 | "vue3": "y" 83 | } 84 | } 85 | } 86 | } 87 | } 88 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-swipe-action/components/uni-swipe-action-item/mpwxs.js: -------------------------------------------------------------------------------- 1 | let mpMixins = {} 2 | let is_pc = null 3 | // #ifdef H5 4 | import { 5 | isPC 6 | } from "./isPC" 7 | is_pc = isPC() 8 | // #endif 9 | // #ifdef APP-VUE|| MP-WEIXIN || H5 10 | 11 | mpMixins = { 12 | data() { 13 | return { 14 | is_show: 'none' 15 | } 16 | }, 17 | watch: { 18 | show(newVal) { 19 | this.is_show = this.show 20 | } 21 | }, 22 | created() { 23 | this.swipeaction = this.getSwipeAction() 24 | if (this.swipeaction && Array.isArray(this.swipeaction.children)) { 25 | this.swipeaction.children.push(this) 26 | } 27 | }, 28 | mounted() { 29 | this.is_show = this.show 30 | }, 31 | methods: { 32 | // wxs 中调用 33 | closeSwipe(e) { 34 | if (this.autoClose && this.swipeaction) { 35 | this.swipeaction.closeOther(this) 36 | } 37 | }, 38 | 39 | change(e) { 40 | this.$emit('change', e.open) 41 | if (this.is_show !== e.open) { 42 | this.is_show = e.open 43 | } 44 | }, 45 | 46 | appTouchStart(e) { 47 | if (is_pc) return 48 | const { 49 | clientX 50 | } = e.changedTouches[0] 51 | this.clientX = clientX 52 | this.timestamp = new Date().getTime() 53 | }, 54 | appTouchEnd(e, index, item, position) { 55 | if (is_pc) return 56 | const { 57 | clientX 58 | } = e.changedTouches[0] 59 | // fixed by xxxx 模拟点击事件,解决 ios 13 点击区域错位的问题 60 | let diff = Math.abs(this.clientX - clientX) 61 | let time = (new Date().getTime()) - this.timestamp 62 | if (diff < 40 && time < 300) { 63 | this.$emit('click', { 64 | content: item, 65 | index, 66 | position 67 | }) 68 | } 69 | }, 70 | onClickForPC(index, item, position) { 71 | if (!is_pc) return 72 | // #ifdef H5 73 | this.$emit('click', { 74 | content: item, 75 | index, 76 | position 77 | }) 78 | // #endif 79 | } 80 | } 81 | } 82 | 83 | // #endif 84 | export default mpMixins 85 | -------------------------------------------------------------------------------- /talkieai-server/app/ai/interfaces.py: -------------------------------------------------------------------------------- 1 | from app.ai.models import * 2 | from abc import ABC, abstractmethod 3 | from typing import List, Dict 4 | from abc import ABC, abstractmethod 5 | from dataclasses import dataclass 6 | from app.ai.models import * 7 | 8 | 9 | @dataclass 10 | class MessageInvokeDTO: 11 | messages: List[Dict] 12 | temperature: float = 0.5 13 | max_tokens: int = 300 14 | 15 | 16 | @dataclass 17 | class FunctionInvokeDTO: 18 | function: Dict 19 | messages: List[Dict] 20 | temperature: float = 0.5 21 | max_tokens: int = 300 22 | 23 | 24 | class ChatAI(ABC): 25 | @abstractmethod 26 | def invoke_message(self, dto: MessageParams) -> AIMessageResult: 27 | """聊天""" 28 | pass 29 | 30 | @abstractmethod 31 | def invoke_translate(self, dto: TranslateParams) -> str: 32 | """翻译""" 33 | pass 34 | 35 | @abstractmethod 36 | def invoke_greet(self, dto: GreetParams) -> str: 37 | """打招呼""" 38 | pass 39 | 40 | @abstractmethod 41 | def invoke_grammar_analysis( 42 | self, dto: GrammarAnalysisParams 43 | ) -> AIGrammarAnalysisResult: 44 | """语法分析""" 45 | pass 46 | 47 | @abstractmethod 48 | def invoke_prompt_sentence(self, dto: PromptSentenceParams) -> str: 49 | """为用户提示句子""" 50 | pass 51 | 52 | @abstractmethod 53 | def invoke_word_detail(self, dto: WordDetailParams) -> AIWordDetailResult: 54 | """单词详情""" 55 | pass 56 | 57 | @abstractmethod 58 | def topic_invoke_greet(self, dto: TopicGreetParams) -> str: 59 | """场景 打招呼""" 60 | pass 61 | 62 | @abstractmethod 63 | def topic_invoke_message(self, dto: AITopicMessageParams) -> AITopicMessageResult: 64 | """场景 聊天""" 65 | pass 66 | 67 | @abstractmethod 68 | def topic_invoke_complete(self, dto: AITopicCompleteParams) -> AITopicCompleteResult: 69 | """场景 结束""" 70 | pass 71 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni.scss: -------------------------------------------------------------------------------- 1 | /** 2 | * 这里是uni-app内置的常用样式变量 3 | * 4 | * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 5 | * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App 6 | * 7 | */ 8 | 9 | /** 10 | * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 11 | * 12 | * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 13 | */ 14 | 15 | /* 颜色变量 */ 16 | 17 | /* 行为相关颜色 */ 18 | $uni-color-primary: #007aff; 19 | $uni-color-success: #4cd964; 20 | $uni-color-warning: #f0ad4e; 21 | $uni-color-error: #dd524d; 22 | 23 | /* 文字基本颜色 */ 24 | $uni-text-color: #333; // 基本色 25 | $uni-text-color-inverse: #fff; // 反色 26 | $uni-text-color-grey: #999; // 辅助灰色,如加载更多的提示信息 27 | $uni-text-color-placeholder: #808080; 28 | $uni-text-color-disable: #c0c0c0; 29 | 30 | /* 背景颜色 */ 31 | $uni-bg-color: #fff; 32 | $uni-bg-color-grey: #f8f8f8; 33 | $uni-bg-color-hover: #f1f1f1; // 点击状态颜色 34 | $uni-bg-color-mask: rgba(0, 0, 0, 0.4); // 遮罩颜色 35 | 36 | /* 边框颜色 */ 37 | $uni-border-color: #c8c7cc; 38 | 39 | /* 尺寸变量 */ 40 | 41 | /* 文字尺寸 */ 42 | $uni-font-size-sm: 12px; 43 | $uni-font-size-base: 14px; 44 | $uni-font-size-lg: 16; 45 | 46 | /* 图片尺寸 */ 47 | $uni-img-size-sm: 20px; 48 | $uni-img-size-base: 26px; 49 | $uni-img-size-lg: 40px; 50 | 51 | /* Border Radius */ 52 | $uni-border-radius-sm: 2px; 53 | $uni-border-radius-base: 3px; 54 | $uni-border-radius-lg: 6px; 55 | $uni-border-radius-circle: 50%; 56 | 57 | /* 水平间距 */ 58 | $uni-spacing-row-sm: 5px; 59 | $uni-spacing-row-base: 10px; 60 | $uni-spacing-row-lg: 15px; 61 | 62 | /* 垂直间距 */ 63 | $uni-spacing-col-sm: 4px; 64 | $uni-spacing-col-base: 8px; 65 | $uni-spacing-col-lg: 12px; 66 | 67 | /* 透明度 */ 68 | $uni-opacity-disabled: 0.3; // 组件禁用态的透明度 69 | 70 | /* 文章场景相关 */ 71 | $uni-color-title: #2c405a; // 文章标题颜色 72 | $uni-font-size-title: 20px; 73 | $uni-color-subtitle: #555; // 二级标题颜色 74 | $uni-font-size-subtitle: 18px; 75 | $uni-color-paragraph: #3f536e; // 文章段落颜色 76 | $uni-font-size-paragraph: 15px; -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-scss/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-scss", 3 | "displayName": "uni-scss 辅助样式", 4 | "version": "1.0.3", 5 | "description": "uni-sass是uni-ui提供的一套全局样式 ,通过一些简单的类名和sass变量,实现简单的页面布局操作,比如颜色、边距、圆角等。", 6 | "keywords": [ 7 | "uni-scss", 8 | "uni-ui", 9 | "辅助样式" 10 | ], 11 | "repository": "https://github.com/dcloudio/uni-ui", 12 | "engines": { 13 | "HBuilderX": "^3.1.0" 14 | }, 15 | "dcloudext": { 16 | "category": [ 17 | "JS SDK", 18 | "通用 SDK" 19 | ], 20 | "sale": { 21 | "regular": { 22 | "price": "0.00" 23 | }, 24 | "sourcecode": { 25 | "price": "0.00" 26 | } 27 | }, 28 | "contact": { 29 | "qq": "" 30 | }, 31 | "declaration": { 32 | "ads": "无", 33 | "data": "无", 34 | "permissions": "无" 35 | }, 36 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" 37 | }, 38 | "uni_modules": { 39 | "dependencies": [], 40 | "encrypt": [], 41 | "platforms": { 42 | "cloud": { 43 | "tcb": "y", 44 | "aliyun": "y" 45 | }, 46 | "client": { 47 | "App": { 48 | "app-vue": "y", 49 | "app-nvue": "u" 50 | }, 51 | "H5-mobile": { 52 | "Safari": "y", 53 | "Android Browser": "y", 54 | "微信浏览器(Android)": "y", 55 | "QQ浏览器(Android)": "y" 56 | }, 57 | "H5-pc": { 58 | "Chrome": "y", 59 | "IE": "y", 60 | "Edge": "y", 61 | "Firefox": "y", 62 | "Safari": "y" 63 | }, 64 | "小程序": { 65 | "微信": "y", 66 | "阿里": "y", 67 | "百度": "y", 68 | "字节跳动": "y", 69 | "QQ": "y" 70 | }, 71 | "快应用": { 72 | "华为": "n", 73 | "联盟": "n" 74 | }, 75 | "Vue": { 76 | "vue2": "y", 77 | "vue3": "y" 78 | } 79 | } 80 | } 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-calendar/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-calendar", 3 | "displayName": "uni-calendar 日历", 4 | "version": "1.4.10", 5 | "description": "日历组件", 6 | "keywords": [ 7 | "uni-ui", 8 | "uniui", 9 | "日历", 10 | "", 11 | "打卡", 12 | "日历选择" 13 | ], 14 | "repository": "https://github.com/dcloudio/uni-ui", 15 | "engines": { 16 | "HBuilderX": "" 17 | }, 18 | "directories": { 19 | "example": "../../temps/example_temps" 20 | }, 21 | "dcloudext": { 22 | "sale": { 23 | "regular": { 24 | "price": "0.00" 25 | }, 26 | "sourcecode": { 27 | "price": "0.00" 28 | } 29 | }, 30 | "contact": { 31 | "qq": "" 32 | }, 33 | "declaration": { 34 | "ads": "无", 35 | "data": "无", 36 | "permissions": "无" 37 | }, 38 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", 39 | "type": "component-vue" 40 | }, 41 | "uni_modules": { 42 | "dependencies": [], 43 | "encrypt": [], 44 | "platforms": { 45 | "cloud": { 46 | "tcb": "y", 47 | "aliyun": "y" 48 | }, 49 | "client": { 50 | "App": { 51 | "app-vue": "y", 52 | "app-nvue": "y" 53 | }, 54 | "H5-mobile": { 55 | "Safari": "y", 56 | "Android Browser": "y", 57 | "微信浏览器(Android)": "y", 58 | "QQ浏览器(Android)": "y" 59 | }, 60 | "H5-pc": { 61 | "Chrome": "y", 62 | "IE": "y", 63 | "Edge": "y", 64 | "Firefox": "y", 65 | "Safari": "y" 66 | }, 67 | "小程序": { 68 | "微信": "y", 69 | "阿里": "y", 70 | "百度": "y", 71 | "字节跳动": "y", 72 | "QQ": "y" 73 | }, 74 | "快应用": { 75 | "华为": "u", 76 | "联盟": "u" 77 | }, 78 | "Vue": { 79 | "vue2": "y", 80 | "vue3": "y" 81 | } 82 | } 83 | } 84 | } 85 | } -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-transition/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-transition", 3 | "displayName": "uni-transition 过渡动画", 4 | "version": "1.3.2", 5 | "description": "元素的简单过渡动画", 6 | "keywords": [ 7 | "uni-ui", 8 | "uniui", 9 | "动画", 10 | "过渡", 11 | "过渡动画" 12 | ], 13 | "repository": "https://github.com/dcloudio/uni-ui", 14 | "engines": { 15 | "HBuilderX": "" 16 | }, 17 | "directories": { 18 | "example": "../../temps/example_temps" 19 | }, 20 | "dcloudext": { 21 | "sale": { 22 | "regular": { 23 | "price": "0.00" 24 | }, 25 | "sourcecode": { 26 | "price": "0.00" 27 | } 28 | }, 29 | "contact": { 30 | "qq": "" 31 | }, 32 | "declaration": { 33 | "ads": "无", 34 | "data": "无", 35 | "permissions": "无" 36 | }, 37 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", 38 | "type": "component-vue" 39 | }, 40 | "uni_modules": { 41 | "dependencies": ["uni-scss"], 42 | "encrypt": [], 43 | "platforms": { 44 | "cloud": { 45 | "tcb": "y", 46 | "aliyun": "y" 47 | }, 48 | "client": { 49 | "App": { 50 | "app-vue": "y", 51 | "app-nvue": "y" 52 | }, 53 | "H5-mobile": { 54 | "Safari": "y", 55 | "Android Browser": "y", 56 | "微信浏览器(Android)": "y", 57 | "QQ浏览器(Android)": "y" 58 | }, 59 | "H5-pc": { 60 | "Chrome": "y", 61 | "IE": "y", 62 | "Edge": "y", 63 | "Firefox": "y", 64 | "Safari": "y" 65 | }, 66 | "小程序": { 67 | "微信": "y", 68 | "阿里": "y", 69 | "百度": "y", 70 | "字节跳动": "y", 71 | "QQ": "y" 72 | }, 73 | "快应用": { 74 | "华为": "u", 75 | "联盟": "u" 76 | }, 77 | "Vue": { 78 | "vue2": "y", 79 | "vue3": "y" 80 | } 81 | } 82 | } 83 | } 84 | } -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-table/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-table", 3 | "displayName": "uni-table 表格", 4 | "version": "1.2.3", 5 | "description": "表格组件,多用于展示多条结构类似的数据,如", 6 | "keywords": [ 7 | "uni-ui", 8 | "uniui", 9 | "table", 10 | "表格" 11 | ], 12 | "repository": "https://github.com/dcloudio/uni-ui", 13 | "engines": { 14 | "HBuilderX": "" 15 | }, 16 | "directories": { 17 | "example": "../../temps/example_temps" 18 | }, 19 | "dcloudext": { 20 | "sale": { 21 | "regular": { 22 | "price": "0.00" 23 | }, 24 | "sourcecode": { 25 | "price": "0.00" 26 | } 27 | }, 28 | "contact": { 29 | "qq": "" 30 | }, 31 | "declaration": { 32 | "ads": "无", 33 | "data": "无", 34 | "permissions": "无" 35 | }, 36 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", 37 | "type": "component-vue" 38 | }, 39 | "uni_modules": { 40 | "dependencies": ["uni-scss","uni-datetime-picker"], 41 | "encrypt": [], 42 | "platforms": { 43 | "cloud": { 44 | "tcb": "y", 45 | "aliyun": "y" 46 | }, 47 | "client": { 48 | "App": { 49 | "app-vue": "y", 50 | "app-nvue": "n" 51 | }, 52 | "H5-mobile": { 53 | "Safari": "y", 54 | "Android Browser": "y", 55 | "微信浏览器(Android)": "y", 56 | "QQ浏览器(Android)": "y" 57 | }, 58 | "H5-pc": { 59 | "Chrome": "y", 60 | "IE": "y", 61 | "Edge": "y", 62 | "Firefox": "y", 63 | "Safari": "y" 64 | }, 65 | "小程序": { 66 | "微信": "y", 67 | "阿里": "y", 68 | "百度": "y", 69 | "字节跳动": "n", 70 | "QQ": "y" 71 | }, 72 | "快应用": { 73 | "华为": "n", 74 | "联盟": "n" 75 | }, 76 | "Vue": { 77 | "vue2": "y", 78 | "vue3": "y" 79 | } 80 | } 81 | } 82 | } 83 | } -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-number-box/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-number-box", 3 | "displayName": "uni-number-box 数字输入框", 4 | "version": "1.2.3", 5 | "description": "NumberBox 带加减按钮的数字输入框组件,用户可以控制每次点击增加的数值,支持小数。", 6 | "keywords": [ 7 | "uni-ui", 8 | "uniui", 9 | "数字输入框" 10 | ], 11 | "repository": "https://github.com/dcloudio/uni-ui", 12 | "engines": { 13 | "HBuilderX": "" 14 | }, 15 | "directories": { 16 | "example": "../../temps/example_temps" 17 | }, 18 | "dcloudext": { 19 | "sale": { 20 | "regular": { 21 | "price": "0.00" 22 | }, 23 | "sourcecode": { 24 | "price": "0.00" 25 | } 26 | }, 27 | "contact": { 28 | "qq": "" 29 | }, 30 | "declaration": { 31 | "ads": "无", 32 | "data": "无", 33 | "permissions": "无" 34 | }, 35 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", 36 | "type": "component-vue" 37 | }, 38 | "uni_modules": { 39 | "dependencies": ["uni-scss"], 40 | "encrypt": [], 41 | "platforms": { 42 | "cloud": { 43 | "tcb": "y", 44 | "aliyun": "y" 45 | }, 46 | "client": { 47 | "App": { 48 | "app-vue": "y", 49 | "app-nvue": "y" 50 | }, 51 | "H5-mobile": { 52 | "Safari": "y", 53 | "Android Browser": "y", 54 | "微信浏览器(Android)": "y", 55 | "QQ浏览器(Android)": "y" 56 | }, 57 | "H5-pc": { 58 | "Chrome": "y", 59 | "IE": "y", 60 | "Edge": "y", 61 | "Firefox": "y", 62 | "Safari": "y" 63 | }, 64 | "小程序": { 65 | "微信": "y", 66 | "阿里": "y", 67 | "百度": "y", 68 | "字节跳动": "y", 69 | "QQ": "y" 70 | }, 71 | "快应用": { 72 | "华为": "u", 73 | "联盟": "u" 74 | }, 75 | "Vue": { 76 | "vue2": "y", 77 | "vue3": "y" 78 | } 79 | } 80 | } 81 | } 82 | } -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-dateformat/components/uni-dateformat/uni-dateformat.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 85 | 86 | 89 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/pages/feedback/less/index.less: -------------------------------------------------------------------------------- 1 | @import url("../../../less/global.less"); 2 | .feedback { 3 | display: flex; 4 | justify-content: center; 5 | flex-direction: column; 6 | align-items: center; 7 | margin-top: 30rpx; 8 | .feedback-box { 9 | width: 100%; 10 | display: flex; 11 | justify-content: center; 12 | flex-direction: column; 13 | align-items: center; 14 | } 15 | .feedback-textarea-box { 16 | padding: 0 32rpx; 17 | border-bottom: 1rpx solid #e8e8e8; 18 | width: 750rpx; 19 | position: relative; 20 | .feedback-textarea { 21 | z-index: 99; 22 | width: 100%; 23 | font-size: 28rpx; 24 | white-space: initial; 25 | height: 360rpx; 26 | } 27 | .placeholder-style { 28 | position: absolute; 29 | top: 0; 30 | left: 32rpx; 31 | font-size: 28rpx; 32 | font-weight: 400; 33 | color: #707070; 34 | line-height: 40rpx; 35 | white-space: pre-wrap; 36 | word-break: break-all; 37 | width: 686rpx; 38 | } 39 | } 40 | .feedback-input-box { 41 | padding: 28rpx; 42 | width: 100%; 43 | font-size: 28rpx; 44 | 45 | border-bottom: 1rpx solid #e8e8e8; 46 | .feedback-input { 47 | width: 100%; 48 | white-space: initial; 49 | } 50 | } 51 | .feedback-btn-box { 52 | padding: 0 32rpx; 53 | width: 100%; 54 | .feedback-btn { 55 | width: 100%; 56 | border-radius: 30rpx; 57 | height: 108rpx; 58 | margin-top: 100rpx; 59 | font-size: 36rpx; 60 | font-weight: 500; 61 | line-height: 50rpx; 62 | letter-spacing: 1px; 63 | } 64 | } 65 | 66 | .feedback-success { 67 | text-align: center; 68 | color: #6236ff; 69 | font-size: 34rpx; 70 | margin-top: 30rpx; 71 | } 72 | 73 | .feedback-box { 74 | padding-top: 12rpx; 75 | .feedback-ico { 76 | margin-top: 100rpx; 77 | width: 346rpx; 78 | height: 234rpx; 79 | } 80 | } 81 | 82 | .return-btn { 83 | margin-top: 120rpx; 84 | } 85 | } 86 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-fab/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-fab", 3 | "displayName": "uni-fab 悬浮按钮", 4 | "version": "1.2.5", 5 | "description": "悬浮按钮 fab button ,点击可展开一个图标按钮菜单。", 6 | "keywords": [ 7 | "uni-ui", 8 | "uniui", 9 | "按钮", 10 | "悬浮按钮", 11 | "fab" 12 | ], 13 | "repository": "https://github.com/dcloudio/uni-ui", 14 | "engines": { 15 | "HBuilderX": "" 16 | }, 17 | "directories": { 18 | "example": "../../temps/example_temps" 19 | }, 20 | "dcloudext": { 21 | "sale": { 22 | "regular": { 23 | "price": "0.00" 24 | }, 25 | "sourcecode": { 26 | "price": "0.00" 27 | } 28 | }, 29 | "contact": { 30 | "qq": "" 31 | }, 32 | "declaration": { 33 | "ads": "无", 34 | "data": "无", 35 | "permissions": "无" 36 | }, 37 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", 38 | "type": "component-vue" 39 | }, 40 | "uni_modules": { 41 | "dependencies": ["uni-scss","uni-icons"], 42 | "encrypt": [], 43 | "platforms": { 44 | "cloud": { 45 | "tcb": "y", 46 | "aliyun": "y" 47 | }, 48 | "client": { 49 | "App": { 50 | "app-vue": "y", 51 | "app-nvue": "y" 52 | }, 53 | "H5-mobile": { 54 | "Safari": "y", 55 | "Android Browser": "y", 56 | "微信浏览器(Android)": "y", 57 | "QQ浏览器(Android)": "y" 58 | }, 59 | "H5-pc": { 60 | "Chrome": "y", 61 | "IE": "y", 62 | "Edge": "y", 63 | "Firefox": "y", 64 | "Safari": "y" 65 | }, 66 | "小程序": { 67 | "微信": "y", 68 | "阿里": "y", 69 | "百度": "y", 70 | "字节跳动": "y", 71 | "QQ": "y" 72 | }, 73 | "快应用": { 74 | "华为": "u", 75 | "联盟": "u" 76 | }, 77 | "Vue": { 78 | "vue2": "y", 79 | "vue3": "y" 80 | } 81 | } 82 | } 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-pagination/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-pagination", 3 | "displayName": "uni-pagination 分页器", 4 | "version": "1.2.4", 5 | "description": "Pagination 分页器组件,用于展示页码、请求数据等。", 6 | "keywords": [ 7 | "uni-ui", 8 | "uniui", 9 | "分页器", 10 | "页码" 11 | ], 12 | "repository": "https://github.com/dcloudio/uni-ui", 13 | "engines": { 14 | "HBuilderX": "" 15 | }, 16 | "directories": { 17 | "example": "../../temps/example_temps" 18 | }, 19 | "dcloudext": { 20 | "sale": { 21 | "regular": { 22 | "price": "0.00" 23 | }, 24 | "sourcecode": { 25 | "price": "0.00" 26 | } 27 | }, 28 | "contact": { 29 | "qq": "" 30 | }, 31 | "declaration": { 32 | "ads": "无", 33 | "data": "无", 34 | "permissions": "无" 35 | }, 36 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", 37 | "type": "component-vue" 38 | }, 39 | "uni_modules": { 40 | "dependencies": ["uni-scss","uni-icons"], 41 | "encrypt": [], 42 | "platforms": { 43 | "cloud": { 44 | "tcb": "y", 45 | "aliyun": "y" 46 | }, 47 | "client": { 48 | "App": { 49 | "app-vue": "y", 50 | "app-nvue": "y" 51 | }, 52 | "H5-mobile": { 53 | "Safari": "y", 54 | "Android Browser": "y", 55 | "微信浏览器(Android)": "y", 56 | "QQ浏览器(Android)": "y" 57 | }, 58 | "H5-pc": { 59 | "Chrome": "y", 60 | "IE": "y", 61 | "Edge": "y", 62 | "Firefox": "y", 63 | "Safari": "y" 64 | }, 65 | "小程序": { 66 | "微信": "y", 67 | "阿里": "y", 68 | "百度": "y", 69 | "字节跳动": "y", 70 | "QQ": "y" 71 | }, 72 | "快应用": { 73 | "华为": "u", 74 | "联盟": "u" 75 | }, 76 | "Vue": { 77 | "vue2": "y", 78 | "vue3": "y" 79 | } 80 | } 81 | } 82 | } 83 | } -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-section/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-section", 3 | "displayName": "uni-section 标题栏", 4 | "version": "0.0.1", 5 | "description": "标题栏组件", 6 | "keywords": [ 7 | "uni-ui", 8 | "uniui", 9 | "标题栏" 10 | ], 11 | "repository": "https://github.com/dcloudio/uni-ui", 12 | "engines": { 13 | "HBuilderX": "" 14 | }, 15 | "directories": { 16 | "example": "../../temps/example_temps" 17 | }, 18 | "dcloudext": { 19 | "category": [ 20 | "前端组件", 21 | "通用组件" 22 | ], 23 | "sale": { 24 | "regular": { 25 | "price": "0.00" 26 | }, 27 | "sourcecode": { 28 | "price": "0.00" 29 | } 30 | }, 31 | "contact": { 32 | "qq": "" 33 | }, 34 | "declaration": { 35 | "ads": "无", 36 | "data": "无", 37 | "permissions": "无" 38 | }, 39 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" 40 | }, 41 | "uni_modules": { 42 | "dependencies": [ 43 | "uni-scss" 44 | ], 45 | "encrypt": [], 46 | "platforms": { 47 | "cloud": { 48 | "tcb": "y", 49 | "aliyun": "y" 50 | }, 51 | "client": { 52 | "App": { 53 | "app-vue": "y", 54 | "app-nvue": "y" 55 | }, 56 | "H5-mobile": { 57 | "Safari": "y", 58 | "Android Browser": "y", 59 | "微信浏览器(Android)": "y", 60 | "QQ浏览器(Android)": "y" 61 | }, 62 | "H5-pc": { 63 | "Chrome": "y", 64 | "IE": "y", 65 | "Edge": "y", 66 | "Firefox": "y", 67 | "Safari": "y" 68 | }, 69 | "小程序": { 70 | "微信": "y", 71 | "阿里": "y", 72 | "百度": "y", 73 | "字节跳动": "y", 74 | "QQ": "y" 75 | }, 76 | "快应用": { 77 | "华为": "u", 78 | "联盟": "u" 79 | }, 80 | "Vue": { 81 | "vue2": "y", 82 | "vue3": "y" 83 | } 84 | } 85 | } 86 | } 87 | } -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-file-picker/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-file-picker", 3 | "displayName": "uni-file-picker 文件选择上传", 4 | "version": "1.0.4", 5 | "description": "文件选择上传组件,可以选择图片、视频等任意文件并上传到当前绑定的服务空间", 6 | "keywords": [ 7 | "uni-ui", 8 | "uniui", 9 | "图片上传", 10 | "文件上传" 11 | ], 12 | "repository": "https://github.com/dcloudio/uni-ui", 13 | "engines": { 14 | "HBuilderX": "" 15 | }, 16 | "directories": { 17 | "example": "../../temps/example_temps" 18 | }, 19 | "dcloudext": { 20 | "sale": { 21 | "regular": { 22 | "price": "0.00" 23 | }, 24 | "sourcecode": { 25 | "price": "0.00" 26 | } 27 | }, 28 | "contact": { 29 | "qq": "" 30 | }, 31 | "declaration": { 32 | "ads": "无", 33 | "data": "无", 34 | "permissions": "无" 35 | }, 36 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", 37 | "type": "component-vue" 38 | }, 39 | "uni_modules": { 40 | "dependencies": ["uni-scss"], 41 | "encrypt": [], 42 | "platforms": { 43 | "cloud": { 44 | "tcb": "y", 45 | "aliyun": "y" 46 | }, 47 | "client": { 48 | "App": { 49 | "app-vue": "y", 50 | "app-nvue": "n" 51 | }, 52 | "H5-mobile": { 53 | "Safari": "y", 54 | "Android Browser": "y", 55 | "微信浏览器(Android)": "y", 56 | "QQ浏览器(Android)": "y" 57 | }, 58 | "H5-pc": { 59 | "Chrome": "y", 60 | "IE": "y", 61 | "Edge": "y", 62 | "Firefox": "y", 63 | "Safari": "y" 64 | }, 65 | "小程序": { 66 | "微信": "y", 67 | "阿里": "y", 68 | "百度": "y", 69 | "字节跳动": "y", 70 | "QQ": "y" 71 | }, 72 | "快应用": { 73 | "华为": "u", 74 | "联盟": "u" 75 | }, 76 | "Vue": { 77 | "vue2": "y", 78 | "vue3": "y" 79 | } 80 | } 81 | } 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-nav-bar/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-nav-bar", 3 | "displayName": "uni-nav-bar 自定义导航栏", 4 | "version": "1.3.11", 5 | "description": "自定义导航栏组件,主要用于头部导航。", 6 | "keywords": [ 7 | "uni-ui", 8 | "导航", 9 | "导航栏", 10 | "自定义导航栏" 11 | ], 12 | "repository": "https://github.com/dcloudio/uni-ui", 13 | "engines": { 14 | "HBuilderX": "" 15 | }, 16 | "directories": { 17 | "example": "../../temps/example_temps" 18 | }, 19 | "dcloudext": { 20 | "sale": { 21 | "regular": { 22 | "price": "0.00" 23 | }, 24 | "sourcecode": { 25 | "price": "0.00" 26 | } 27 | }, 28 | "contact": { 29 | "qq": "" 30 | }, 31 | "declaration": { 32 | "ads": "无", 33 | "data": "无", 34 | "permissions": "无" 35 | }, 36 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", 37 | "type": "component-vue" 38 | }, 39 | "uni_modules": { 40 | "dependencies": [ 41 | "uni-scss", 42 | "uni-icons" 43 | ], 44 | "encrypt": [], 45 | "platforms": { 46 | "cloud": { 47 | "tcb": "y", 48 | "aliyun": "y" 49 | }, 50 | "client": { 51 | "App": { 52 | "app-vue": "y", 53 | "app-nvue": "y" 54 | }, 55 | "H5-mobile": { 56 | "Safari": "y", 57 | "Android Browser": "y", 58 | "微信浏览器(Android)": "y", 59 | "QQ浏览器(Android)": "y" 60 | }, 61 | "H5-pc": { 62 | "Chrome": "y", 63 | "IE": "y", 64 | "Edge": "y", 65 | "Firefox": "y", 66 | "Safari": "y" 67 | }, 68 | "小程序": { 69 | "微信": "y", 70 | "阿里": "y", 71 | "百度": "y", 72 | "字节跳动": "y", 73 | "QQ": "y" 74 | }, 75 | "快应用": { 76 | "华为": "u", 77 | "联盟": "u" 78 | }, 79 | "Vue": { 80 | "vue2": "y", 81 | "vue3": "y" 82 | } 83 | } 84 | } 85 | } 86 | } -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-badge/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-badge", 3 | "displayName": "uni-badge 数字角标", 4 | "version": "1.2.2", 5 | "description": "数字角标(徽章)组件,在元素周围展示消息提醒,一般用于列表、九宫格、按钮等地方。", 6 | "keywords": [ 7 | "", 8 | "badge", 9 | "uni-ui", 10 | "uniui", 11 | "数字角标", 12 | "徽章" 13 | ], 14 | "repository": "https://github.com/dcloudio/uni-ui", 15 | "engines": { 16 | "HBuilderX": "" 17 | }, 18 | "directories": { 19 | "example": "../../temps/example_temps" 20 | }, 21 | "dcloudext": { 22 | "sale": { 23 | "regular": { 24 | "price": "0.00" 25 | }, 26 | "sourcecode": { 27 | "price": "0.00" 28 | } 29 | }, 30 | "contact": { 31 | "qq": "" 32 | }, 33 | "declaration": { 34 | "ads": "无", 35 | "data": "无", 36 | "permissions": "无" 37 | }, 38 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", 39 | "type": "component-vue" 40 | }, 41 | "uni_modules": { 42 | "dependencies": ["uni-scss"], 43 | "encrypt": [], 44 | "platforms": { 45 | "cloud": { 46 | "tcb": "y", 47 | "aliyun": "y" 48 | }, 49 | "client": { 50 | "App": { 51 | "app-vue": "y", 52 | "app-nvue": "y" 53 | }, 54 | "H5-mobile": { 55 | "Safari": "y", 56 | "Android Browser": "y", 57 | "微信浏览器(Android)": "y", 58 | "QQ浏览器(Android)": "y" 59 | }, 60 | "H5-pc": { 61 | "Chrome": "y", 62 | "IE": "y", 63 | "Edge": "y", 64 | "Firefox": "y", 65 | "Safari": "y" 66 | }, 67 | "小程序": { 68 | "微信": "y", 69 | "阿里": "y", 70 | "百度": "y", 71 | "字节跳动": "y", 72 | "QQ": "y" 73 | }, 74 | "快应用": { 75 | "华为": "y", 76 | "联盟": "y" 77 | }, 78 | "Vue": { 79 | "vue2": "y", 80 | "vue3": "y" 81 | } 82 | } 83 | } 84 | } 85 | } -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-countdown/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-countdown", 3 | "displayName": "uni-countdown 倒计时", 4 | "version": "1.2.2", 5 | "description": "CountDown 倒计时组件", 6 | "keywords": [ 7 | "uni-ui", 8 | "uniui", 9 | "countdown", 10 | "倒计时" 11 | ], 12 | "repository": "https://github.com/dcloudio/uni-ui", 13 | "engines": { 14 | "HBuilderX": "" 15 | }, 16 | "directories": { 17 | "example": "../../temps/example_temps" 18 | }, 19 | "dcloudext": { 20 | "category": [ 21 | "前端组件", 22 | "通用组件" 23 | ], 24 | "sale": { 25 | "regular": { 26 | "price": "0.00" 27 | }, 28 | "sourcecode": { 29 | "price": "0.00" 30 | } 31 | }, 32 | "contact": { 33 | "qq": "" 34 | }, 35 | "declaration": { 36 | "ads": "无", 37 | "data": "无", 38 | "permissions": "无" 39 | }, 40 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" 41 | }, 42 | "uni_modules": { 43 | "dependencies": ["uni-scss"], 44 | "encrypt": [], 45 | "platforms": { 46 | "cloud": { 47 | "tcb": "y", 48 | "aliyun": "y" 49 | }, 50 | "client": { 51 | "App": { 52 | "app-vue": "y", 53 | "app-nvue": "y" 54 | }, 55 | "H5-mobile": { 56 | "Safari": "y", 57 | "Android Browser": "y", 58 | "微信浏览器(Android)": "y", 59 | "QQ浏览器(Android)": "y" 60 | }, 61 | "H5-pc": { 62 | "Chrome": "y", 63 | "IE": "y", 64 | "Edge": "y", 65 | "Firefox": "y", 66 | "Safari": "y" 67 | }, 68 | "小程序": { 69 | "微信": "y", 70 | "阿里": "y", 71 | "百度": "y", 72 | "字节跳动": "y", 73 | "QQ": "y" 74 | }, 75 | "快应用": { 76 | "华为": "u", 77 | "联盟": "u" 78 | }, 79 | "Vue": { 80 | "vue2": "y", 81 | "vue3": "y" 82 | } 83 | } 84 | } 85 | } 86 | } -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-icons/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-icons", 3 | "displayName": "uni-icons 图标", 4 | "version": "1.3.5", 5 | "description": "图标组件,用于展示移动端常见的图标,可自定义颜色、大小。", 6 | "keywords": [ 7 | "uni-ui", 8 | "uniui", 9 | "icon", 10 | "图标" 11 | ], 12 | "repository": "https://github.com/dcloudio/uni-ui", 13 | "engines": { 14 | "HBuilderX": "^3.2.14" 15 | }, 16 | "directories": { 17 | "example": "../../temps/example_temps" 18 | }, 19 | "dcloudext": { 20 | "category": [ 21 | "前端组件", 22 | "通用组件" 23 | ], 24 | "sale": { 25 | "regular": { 26 | "price": "0.00" 27 | }, 28 | "sourcecode": { 29 | "price": "0.00" 30 | } 31 | }, 32 | "contact": { 33 | "qq": "" 34 | }, 35 | "declaration": { 36 | "ads": "无", 37 | "data": "无", 38 | "permissions": "无" 39 | }, 40 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" 41 | }, 42 | "uni_modules": { 43 | "dependencies": ["uni-scss"], 44 | "encrypt": [], 45 | "platforms": { 46 | "cloud": { 47 | "tcb": "y", 48 | "aliyun": "y" 49 | }, 50 | "client": { 51 | "App": { 52 | "app-vue": "y", 53 | "app-nvue": "y" 54 | }, 55 | "H5-mobile": { 56 | "Safari": "y", 57 | "Android Browser": "y", 58 | "微信浏览器(Android)": "y", 59 | "QQ浏览器(Android)": "y" 60 | }, 61 | "H5-pc": { 62 | "Chrome": "y", 63 | "IE": "y", 64 | "Edge": "y", 65 | "Firefox": "y", 66 | "Safari": "y" 67 | }, 68 | "小程序": { 69 | "微信": "y", 70 | "阿里": "y", 71 | "百度": "y", 72 | "字节跳动": "y", 73 | "QQ": "y" 74 | }, 75 | "快应用": { 76 | "华为": "u", 77 | "联盟": "u" 78 | }, 79 | "Vue": { 80 | "vue2": "y", 81 | "vue3": "y" 82 | } 83 | } 84 | } 85 | } 86 | } -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-search-bar/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-search-bar", 3 | "displayName": "uni-search-bar 搜索栏", 4 | "version": "1.2.4", 5 | "description": "搜索栏组件,通常用于搜索商品、文章等", 6 | "keywords": [ 7 | "uni-ui", 8 | "uniui", 9 | "搜索框", 10 | "搜索栏" 11 | ], 12 | "repository": "https://github.com/dcloudio/uni-ui", 13 | "engines": { 14 | "HBuilderX": "" 15 | }, 16 | "directories": { 17 | "example": "../../temps/example_temps" 18 | }, 19 | "dcloudext": { 20 | "sale": { 21 | "regular": { 22 | "price": "0.00" 23 | }, 24 | "sourcecode": { 25 | "price": "0.00" 26 | } 27 | }, 28 | "contact": { 29 | "qq": "" 30 | }, 31 | "declaration": { 32 | "ads": "无", 33 | "data": "无", 34 | "permissions": "无" 35 | }, 36 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui", 37 | "type": "component-vue" 38 | }, 39 | "uni_modules": { 40 | "dependencies": [ 41 | "uni-scss", 42 | "uni-icons" 43 | ], 44 | "encrypt": [], 45 | "platforms": { 46 | "cloud": { 47 | "tcb": "y", 48 | "aliyun": "y" 49 | }, 50 | "client": { 51 | "App": { 52 | "app-vue": "y", 53 | "app-nvue": "y" 54 | }, 55 | "H5-mobile": { 56 | "Safari": "y", 57 | "Android Browser": "y", 58 | "微信浏览器(Android)": "y", 59 | "QQ浏览器(Android)": "y" 60 | }, 61 | "H5-pc": { 62 | "Chrome": "y", 63 | "IE": "y", 64 | "Edge": "y", 65 | "Firefox": "y", 66 | "Safari": "y" 67 | }, 68 | "小程序": { 69 | "微信": "y", 70 | "阿里": "y", 71 | "百度": "y", 72 | "字节跳动": "y", 73 | "QQ": "y" 74 | }, 75 | "快应用": { 76 | "华为": "u", 77 | "联盟": "u" 78 | }, 79 | "Vue": { 80 | "vue2": "y", 81 | "vue3": "y" 82 | } 83 | } 84 | } 85 | } 86 | } -------------------------------------------------------------------------------- /talkieai-uniapp/src/axios/axiosService.ts: -------------------------------------------------------------------------------- 1 | // import axios from "axios"; 2 | // import Cookies from "js-cookie"; 3 | // axios.interceptors.request.use( 4 | // function (config) { 5 | // // 在发送请求之前做些什么 6 | // let configCp = { ...config }; 7 | // const token = Cookies.get("token"); 8 | // const authHeader = { 9 | // Authorization: `${token}`, 10 | // headers: { 11 | // "Content-Type": "application/json", 12 | // }, 13 | // }; 14 | // configCp.headers = { 15 | // ...configCp.headers, 16 | // ...authHeader, 17 | // } as any; 18 | // return configCp; 19 | // }, 20 | // function (error) { 21 | // // 对请求错误做些什么 22 | // return Promise.reject(error); 23 | // } 24 | // ); 25 | 26 | // // 添加响应拦截器 27 | // axios.interceptors.response.use( 28 | // function (response) { 29 | // // 2xx 范围内的状态码都会触发该函数。 30 | // // 对响应数据做点什么 31 | // console.log("response", response); 32 | // if (response.status == 200) { 33 | // if (response.data.code === 401) { 34 | // Cookies.remove("token"); 35 | // window.location.href = "./login"; 36 | // // Toast.show(response.data.message || "Server Internal Error"); 37 | // } else if (response.data.code !== 200) { 38 | // // Toast.show(response.data.message || "Server Internal Error"); 39 | // } 40 | // } else if (response.status == 200) { 41 | // // Toast.show("Server Internal Error"); 42 | // } else if (response.status != 200) { 43 | // // Toast.show("Server Internal Error"); 44 | // } 45 | // return response; 46 | // }, 47 | // function (response) { 48 | // // 超出 2xx 范围的状态码都会触发该函数。 49 | // // 对响应错误做点什么 50 | // if (response.status == 200 && response.data.code !== 200) { 51 | // // Toast.show(response.data.message || "Server Internal Error"); 52 | // } else if (response.status != 200) { 53 | // // Toast.show("Server Internal Error"); 54 | // } 55 | // return response; 56 | // } 57 | // ); 58 | 59 | // export default axios; 60 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/pages/chat/components/Prompt.vue: -------------------------------------------------------------------------------- 1 | 19 | 40 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-drawer/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-drawer", 3 | "displayName": "uni-drawer 抽屉", 4 | "version": "1.2.1", 5 | "description": "抽屉式导航,用于展示侧滑菜单,侧滑导航。", 6 | "keywords": [ 7 | "uni-ui", 8 | "uniui", 9 | "drawer", 10 | "抽屉", 11 | "侧滑导航" 12 | ], 13 | "repository": "https://github.com/dcloudio/uni-ui", 14 | "engines": { 15 | "HBuilderX": "" 16 | }, 17 | "directories": { 18 | "example": "../../temps/example_temps" 19 | }, 20 | "dcloudext": { 21 | "category": [ 22 | "前端组件", 23 | "通用组件" 24 | ], 25 | "sale": { 26 | "regular": { 27 | "price": "0.00" 28 | }, 29 | "sourcecode": { 30 | "price": "0.00" 31 | } 32 | }, 33 | "contact": { 34 | "qq": "" 35 | }, 36 | "declaration": { 37 | "ads": "无", 38 | "data": "无", 39 | "permissions": "无" 40 | }, 41 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" 42 | }, 43 | "uni_modules": { 44 | "dependencies": ["uni-scss"], 45 | "encrypt": [], 46 | "platforms": { 47 | "cloud": { 48 | "tcb": "y", 49 | "aliyun": "y" 50 | }, 51 | "client": { 52 | "App": { 53 | "app-vue": "y", 54 | "app-nvue": "y" 55 | }, 56 | "H5-mobile": { 57 | "Safari": "y", 58 | "Android Browser": "y", 59 | "微信浏览器(Android)": "y", 60 | "QQ浏览器(Android)": "y" 61 | }, 62 | "H5-pc": { 63 | "Chrome": "y", 64 | "IE": "y", 65 | "Edge": "y", 66 | "Firefox": "y", 67 | "Safari": "y" 68 | }, 69 | "小程序": { 70 | "微信": "y", 71 | "阿里": "y", 72 | "百度": "y", 73 | "字节跳动": "y", 74 | "QQ": "y" 75 | }, 76 | "快应用": { 77 | "华为": "u", 78 | "联盟": "u" 79 | }, 80 | "Vue": { 81 | "vue2": "y", 82 | "vue3": "y" 83 | } 84 | } 85 | } 86 | } 87 | } -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-grid/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-grid", 3 | "displayName": "uni-grid 宫格", 4 | "version": "1.4.0", 5 | "description": "Grid 宫格组件,提供移动端常见的宫格布局,如九宫格。", 6 | "keywords": [ 7 | "uni-ui", 8 | "uniui", 9 | "九宫格", 10 | "表格" 11 | ], 12 | "repository": "https://github.com/dcloudio/uni-ui", 13 | "engines": { 14 | "HBuilderX": "" 15 | }, 16 | "directories": { 17 | "example": "../../temps/example_temps" 18 | }, 19 | "dcloudext": { 20 | "category": [ 21 | "前端组件", 22 | "通用组件" 23 | ], 24 | "sale": { 25 | "regular": { 26 | "price": "0.00" 27 | }, 28 | "sourcecode": { 29 | "price": "0.00" 30 | } 31 | }, 32 | "contact": { 33 | "qq": "" 34 | }, 35 | "declaration": { 36 | "ads": "无", 37 | "data": "无", 38 | "permissions": "无" 39 | }, 40 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" 41 | }, 42 | "uni_modules": { 43 | "dependencies": ["uni-scss","uni-icons"], 44 | "encrypt": [], 45 | "platforms": { 46 | "cloud": { 47 | "tcb": "y", 48 | "aliyun": "y" 49 | }, 50 | "client": { 51 | "App": { 52 | "app-vue": "y", 53 | "app-nvue": "y" 54 | }, 55 | "H5-mobile": { 56 | "Safari": "y", 57 | "Android Browser": "y", 58 | "微信浏览器(Android)": "y", 59 | "QQ浏览器(Android)": "y" 60 | }, 61 | "H5-pc": { 62 | "Chrome": "y", 63 | "IE": "y", 64 | "Edge": "y", 65 | "Firefox": "y", 66 | "Safari": "y" 67 | }, 68 | "小程序": { 69 | "微信": "y", 70 | "阿里": "y", 71 | "百度": "y", 72 | "字节跳动": "y", 73 | "QQ": "y" 74 | }, 75 | "快应用": { 76 | "华为": "u", 77 | "联盟": "u" 78 | }, 79 | "Vue": { 80 | "vue2": "y", 81 | "vue3": "y" 82 | } 83 | } 84 | } 85 | } 86 | } 87 | -------------------------------------------------------------------------------- /talkieai-uniapp/src/uni_modules/uni-group/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "uni-group", 3 | "displayName": "uni-group 分组", 4 | "version": "1.2.2", 5 | "description": "分组组件可用于将组件用于分组,添加间隔,以产生明显的区块", 6 | "keywords": [ 7 | "uni-ui", 8 | "uniui", 9 | "group", 10 | "分组", 11 | "" 12 | ], 13 | "repository": "https://github.com/dcloudio/uni-ui", 14 | "engines": { 15 | "HBuilderX": "" 16 | }, 17 | "directories": { 18 | "example": "../../temps/example_temps" 19 | }, 20 | "dcloudext": { 21 | "category": [ 22 | "前端组件", 23 | "通用组件" 24 | ], 25 | "sale": { 26 | "regular": { 27 | "price": "0.00" 28 | }, 29 | "sourcecode": { 30 | "price": "0.00" 31 | } 32 | }, 33 | "contact": { 34 | "qq": "" 35 | }, 36 | "declaration": { 37 | "ads": "无", 38 | "data": "无", 39 | "permissions": "无" 40 | }, 41 | "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui" 42 | }, 43 | "uni_modules": { 44 | "dependencies": ["uni-scss"], 45 | "encrypt": [], 46 | "platforms": { 47 | "cloud": { 48 | "tcb": "y", 49 | "aliyun": "y" 50 | }, 51 | "client": { 52 | "App": { 53 | "app-vue": "y", 54 | "app-nvue": "y" 55 | }, 56 | "H5-mobile": { 57 | "Safari": "y", 58 | "Android Browser": "y", 59 | "微信浏览器(Android)": "y", 60 | "QQ浏览器(Android)": "y" 61 | }, 62 | "H5-pc": { 63 | "Chrome": "y", 64 | "IE": "y", 65 | "Edge": "y", 66 | "Firefox": "y", 67 | "Safari": "y" 68 | }, 69 | "小程序": { 70 | "微信": "y", 71 | "阿里": "y", 72 | "百度": "y", 73 | "字节跳动": "y", 74 | "QQ": "y" 75 | }, 76 | "快应用": { 77 | "华为": "u", 78 | "联盟": "u" 79 | }, 80 | "Vue": { 81 | "vue2": "y", 82 | "vue3": "y" 83 | } 84 | } 85 | } 86 | } 87 | } --------------------------------------------------------------------------------