diff --git a/.gitignore b/.gitignore
index 3cd381a..087bf31 100644
--- a/.gitignore
+++ b/.gitignore
@@ -40,4 +40,7 @@ selenium-debug.log
*.suo
*.ntvs*
*.njsproj
-*.sln
\ No newline at end of file
+*.sln
+
+node_modules/
+unpackage/
\ No newline at end of file
diff --git a/src/main/resources/static/linfeng-community-uniapp-ky/.hbuilderx/launch.json b/src/main/resources/static/linfeng-community-uniapp-ky/.hbuilderx/launch.json
new file mode 100644
index 0000000..c9abd4b
--- /dev/null
+++ b/src/main/resources/static/linfeng-community-uniapp-ky/.hbuilderx/launch.json
@@ -0,0 +1,11 @@
+{ // launch.json 配置了启动调试时相关设置,configurations下节点名称可为 app-plus/h5/mp-weixin/mp-baidu/mp-alipay/mp-qq/mp-toutiao/mp-360/
+ // launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
+ "version": "0.0",
+ "configurations": [{
+ "type": "uniCloud",
+ "default": {
+ "launchtype": "local"
+ }
+ }
+ ]
+}
diff --git a/src/main/resources/static/linfeng-community-uniapp-ky/App.vue b/src/main/resources/static/linfeng-community-uniapp-ky/App.vue
new file mode 100644
index 0000000..ab8d2ea
--- /dev/null
+++ b/src/main/resources/static/linfeng-community-uniapp-ky/App.vue
@@ -0,0 +1,19 @@
+
+
+
diff --git a/src/main/resources/static/linfeng-community-uniapp-ky/index.html b/src/main/resources/static/linfeng-community-uniapp-ky/index.html
new file mode 100644
index 0000000..c3ff205
--- /dev/null
+++ b/src/main/resources/static/linfeng-community-uniapp-ky/index.html
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/static/linfeng-community-uniapp-ky/main.js b/src/main/resources/static/linfeng-community-uniapp-ky/main.js
new file mode 100644
index 0000000..aeb2752
--- /dev/null
+++ b/src/main/resources/static/linfeng-community-uniapp-ky/main.js
@@ -0,0 +1,33 @@
+import App from './App'
+import store from "./store"
+import uView from "uview-ui";
+import config from './utils/config.js';
+import request from './utils/request.js';
+
+Vue.use(uView);
+// 挂载Vuex
+Vue.prototype.$store = store;
+// 配置文件
+Vue.prototype.$c = config;
+// http请求
+Vue.prototype.$H = request;
+
+// #ifndef VUE3
+import Vue from 'vue'
+Vue.config.productionTip = false
+App.mpType = 'app'
+const app = new Vue({
+ ...App
+})
+app.$mount()
+// #endif
+
+// #ifdef VUE3
+import { createSSRApp } from 'vue'
+export function createApp() {
+ const app = createSSRApp(App)
+ return {
+ app
+ }
+}
+// #endif
\ No newline at end of file
diff --git a/src/main/resources/static/linfeng-community-uniapp-ky/manifest.json b/src/main/resources/static/linfeng-community-uniapp-ky/manifest.json
new file mode 100644
index 0000000..d66c3ed
--- /dev/null
+++ b/src/main/resources/static/linfeng-community-uniapp-ky/manifest.json
@@ -0,0 +1,72 @@
+{
+ "name" : "linfeng-community-uniapp-ky",
+ "appid" : "__UNI__A0400CB",
+ "description" : "",
+ "versionName" : "1.0.0",
+ "versionCode" : "100",
+ "transformPx" : false,
+ /* 5+App特有相关 */
+ "app-plus" : {
+ "usingComponents" : true,
+ "nvueStyleCompiler" : "uni-app",
+ "compilerVersion" : 3,
+ "splashscreen" : {
+ "alwaysShowBeforeRender" : true,
+ "waiting" : true,
+ "autoclose" : true,
+ "delay" : 0
+ },
+ /* 模块配置 */
+ "modules" : {},
+ /* 应用发布信息 */
+ "distribute" : {
+ /* android打包配置 */
+ "android" : {
+ "permissions" : [
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ "",
+ ""
+ ]
+ },
+ /* ios打包配置 */
+ "ios" : {},
+ /* SDK配置 */
+ "sdkConfigs" : {}
+ }
+ },
+ /* 快应用特有相关 */
+ "quickapp" : {},
+ /* 小程序特有相关 */
+ "mp-weixin" : {
+ "appid" : "",
+ "setting" : {
+ "urlCheck" : false
+ },
+ "usingComponents" : true
+ },
+ "mp-alipay" : {
+ "usingComponents" : true
+ },
+ "mp-baidu" : {
+ "usingComponents" : true
+ },
+ "mp-toutiao" : {
+ "usingComponents" : true
+ },
+ "uniStatistics" : {
+ "enable" : false
+ },
+ "vueVersion" : "2"
+}
diff --git a/src/main/resources/static/linfeng-community-uniapp-ky/package-lock.json b/src/main/resources/static/linfeng-community-uniapp-ky/package-lock.json
new file mode 100644
index 0000000..6bd920c
--- /dev/null
+++ b/src/main/resources/static/linfeng-community-uniapp-ky/package-lock.json
@@ -0,0 +1,13 @@
+{
+ "name": "linfeng-community-uniapp-ky",
+ "version": "1.0.0",
+ "lockfileVersion": 1,
+ "requires": true,
+ "dependencies": {
+ "uview-ui": {
+ "version": "1.8.4",
+ "resolved": "https://registry.npmmirror.com/uview-ui/-/uview-ui-1.8.4.tgz",
+ "integrity": "sha512-Zr+D5dFdNy6CdHQLBEXeGq/w0LkjxzBtsgaaDwLl0P58g67H7fBBDvy6AzWK/k0c7dwPYMBiK7I4Tr9p92+0DA=="
+ }
+ }
+}
diff --git a/src/main/resources/static/linfeng-community-uniapp-ky/package.json b/src/main/resources/static/linfeng-community-uniapp-ky/package.json
new file mode 100644
index 0000000..cdece40
--- /dev/null
+++ b/src/main/resources/static/linfeng-community-uniapp-ky/package.json
@@ -0,0 +1,15 @@
+{
+ "name": "linfeng-community-uniapp-ky",
+ "version": "1.0.0",
+ "description": "",
+ "main": "main.js",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "keywords": [],
+ "author": "",
+ "license": "ISC",
+ "dependencies": {
+ "uview-ui": "^1.8.4"
+ }
+}
diff --git a/src/main/resources/static/linfeng-community-uniapp-ky/pages.json b/src/main/resources/static/linfeng-community-uniapp-ky/pages.json
new file mode 100644
index 0000000..293c456
--- /dev/null
+++ b/src/main/resources/static/linfeng-community-uniapp-ky/pages.json
@@ -0,0 +1,63 @@
+{
+ "easycom": {
+ "^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
+ },
+ "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
+ {
+ "path": "pages/index/index",
+ "style": {
+ "navigationBarTitleText": "uni-app"
+ }
+ }
+ ,{
+ "path" : "pages/message/message",
+ "style" :
+ {
+ "navigationBarTitleText": "",
+ "enablePullDownRefresh": false
+ }
+
+ }
+ ,{
+ "path" : "pages/user/user",
+ "style" :
+ {
+ "navigationBarTitleText": "",
+ "enablePullDownRefresh": false
+ }
+
+ }
+ ],
+ "globalStyle": {
+ "navigationBarTextStyle": "black",
+ "navigationBarTitleText": "林风论坛",
+ "navigationBarBackgroundColor": "#FFFFFF",
+ "backgroundColor": "#FFFFFF"
+ },
+ "tabBar": {
+ "color": "#7A7E83",
+ "selectedColor": "#2c2c2c",
+ "borderStyle": "white",
+ "backgroundColor": "#ffffff",
+ "list": [{
+ "pagePath": "pages/index/index",
+ "iconPath": "static/tabbar/home-1.png",
+ "selectedIconPath": "static/tabbar/home.png",
+ "text": "主页"
+ },
+ {
+ "pagePath": "pages/message/message",
+ "iconPath": "static/tabbar/msg-1.png",
+ "selectedIconPath": "static/tabbar/msg.png",
+ "text": "消息"
+ },
+ {
+ "pagePath": "pages/user/user",
+ "iconPath": "static/tabbar/my-1.png",
+ "selectedIconPath": "static/tabbar/my.png",
+ "text": "我的"
+ }
+ ]
+ }
+
+}
diff --git a/src/main/resources/static/linfeng-community-uniapp-ky/pages/index/index.vue b/src/main/resources/static/linfeng-community-uniapp-ky/pages/index/index.vue
new file mode 100644
index 0000000..0f03100
--- /dev/null
+++ b/src/main/resources/static/linfeng-community-uniapp-ky/pages/index/index.vue
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/static/linfeng-community-uniapp-ky/pages/message/message.vue b/src/main/resources/static/linfeng-community-uniapp-ky/pages/message/message.vue
new file mode 100644
index 0000000..6f58754
--- /dev/null
+++ b/src/main/resources/static/linfeng-community-uniapp-ky/pages/message/message.vue
@@ -0,0 +1,22 @@
+
+
+ 消息页
+
+
+
+
+
+
diff --git a/src/main/resources/static/linfeng-community-uniapp-ky/pages/user/user.vue b/src/main/resources/static/linfeng-community-uniapp-ky/pages/user/user.vue
new file mode 100644
index 0000000..4c859fe
--- /dev/null
+++ b/src/main/resources/static/linfeng-community-uniapp-ky/pages/user/user.vue
@@ -0,0 +1,22 @@
+
+
+ 我的
+
+
+
+
+
+
diff --git a/src/main/resources/static/linfeng-community-uniapp-ky/static/css/iconfont.css b/src/main/resources/static/linfeng-community-uniapp-ky/static/css/iconfont.css
new file mode 100644
index 0000000..2ccb486
--- /dev/null
+++ b/src/main/resources/static/linfeng-community-uniapp-ky/static/css/iconfont.css
@@ -0,0 +1,176 @@
+@font-face {font-family: "iconfont";
+ src: url('//at.alicdn.com/t/font_1817318_pgi7seo7tle.eot?t=1599975848801'); /* IE9 */
+ src: url('//at.alicdn.com/t/font_1817318_pgi7seo7tle.eot?t=1599975848801#iefix') format('embedded-opentype'), /* IE6-IE8 */
+ url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2'),
+ url('//at.alicdn.com/t/font_1817318_pgi7seo7tle.woff?t=1599975848801') format('woff'),
+ url('//at.alicdn.com/t/font_1817318_pgi7seo7tle.ttf?t=1599975848801') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
+ url('//at.alicdn.com/t/font_1817318_pgi7seo7tle.svg?t=1599975848801#iconfont') format('svg'); /* iOS 4.1- */
+}
+
+.iconfont {
+ font-family: "iconfont" !important;
+ font-size: 16px;
+ font-style: normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-deliver:before {
+ content: "\e671";
+}
+
+.icon-pay:before {
+ content: "\e673";
+}
+
+.icon-send:before {
+ content: "\e675";
+}
+
+.icon-settings:before {
+ content: "\e68a";
+}
+
+.icon-forward:before {
+ content: "\e6eb";
+}
+
+.icon-service:before {
+ content: "\e700";
+}
+
+.icon-file:before {
+ content: "\e739";
+}
+
+.icon-deliver_fill:before {
+ content: "\e81f";
+}
+
+.icon-favorfill:before {
+ content: "\e64b";
+}
+
+.icon-favor:before {
+ content: "\e64c";
+}
+
+.icon-kefu1:before {
+ content: "\e60e";
+}
+
+.icon-daohangquanzi:before {
+ content: "\e6ec";
+}
+
+.icon-yaoqinghaoyou1:before {
+ content: "\e740";
+}
+
+.icon-kefu:before {
+ content: "\e6f1";
+}
+
+.icon-nan:before {
+ content: "\e68d";
+}
+
+.icon-nv:before {
+ content: "\e62f";
+}
+
+.icon-xiaoxi-tongzhi:before {
+ content: "\e69d";
+}
+
+.icon-xiaoxitongzhi:before {
+ content: "\e821";
+}
+
+.icon-shoucang2:before {
+ content: "\e688";
+}
+
+.icon-xinzengguanzhu:before {
+ content: "\e611";
+}
+
+.icon-leimupinleifenleileibie:before {
+ content: "\e600";
+}
+
+.icon-gengduo:before {
+ content: "\e6dc";
+}
+
+.icon-gengduo1:before {
+ content: "\e640";
+}
+
+.icon-tuijian:before {
+ content: "\e601";
+}
+
+.icon-delete:before {
+ content: "\e603";
+}
+
+.icon-dongtai:before {
+ content: "\e6a7";
+}
+
+.icon-quanzi:before {
+ content: "\e632";
+}
+
+.icon-huati:before {
+ content: "\e8c4";
+}
+
+.icon-shoucang1:before {
+ content: "\e60d";
+}
+
+.icon-unfold:before {
+ content: "\e661";
+}
+
+.icon-back:before {
+ content: "\e679";
+}
+
+.icon-right:before {
+ content: "\e6a3";
+}
+
+.icon-fold:before {
+ content: "\e6de";
+}
+
+.icon-shoucang:before {
+ content: "\e64f";
+}
+
+.icon-fenxiang:before {
+ content: "\e687";
+}
+
+.icon-lujing:before {
+ content: "\e621";
+}
+
+.icon-dianzan:before {
+ content: "\e60c";
+}
+
+.icon-yuedu:before {
+ content: "\e639";
+}
+
+.icon-dianzan1:before {
+ content: "\e64d";
+}
+
+.icon-pinglun:before {
+ content: "\e60b";
+}
diff --git a/src/main/resources/static/linfeng-community-uniapp-ky/static/tabbar/home-1.png b/src/main/resources/static/linfeng-community-uniapp-ky/static/tabbar/home-1.png
new file mode 100644
index 0000000..921ccaf
Binary files /dev/null and b/src/main/resources/static/linfeng-community-uniapp-ky/static/tabbar/home-1.png differ
diff --git a/src/main/resources/static/linfeng-community-uniapp-ky/static/tabbar/home.png b/src/main/resources/static/linfeng-community-uniapp-ky/static/tabbar/home.png
new file mode 100644
index 0000000..7f59f26
Binary files /dev/null and b/src/main/resources/static/linfeng-community-uniapp-ky/static/tabbar/home.png differ
diff --git a/src/main/resources/static/linfeng-community-uniapp-ky/static/tabbar/msg-1.png b/src/main/resources/static/linfeng-community-uniapp-ky/static/tabbar/msg-1.png
new file mode 100644
index 0000000..91cb792
Binary files /dev/null and b/src/main/resources/static/linfeng-community-uniapp-ky/static/tabbar/msg-1.png differ
diff --git a/src/main/resources/static/linfeng-community-uniapp-ky/static/tabbar/msg.png b/src/main/resources/static/linfeng-community-uniapp-ky/static/tabbar/msg.png
new file mode 100644
index 0000000..eb08bac
Binary files /dev/null and b/src/main/resources/static/linfeng-community-uniapp-ky/static/tabbar/msg.png differ
diff --git a/src/main/resources/static/linfeng-community-uniapp-ky/static/tabbar/my-1.png b/src/main/resources/static/linfeng-community-uniapp-ky/static/tabbar/my-1.png
new file mode 100644
index 0000000..8dc81cd
Binary files /dev/null and b/src/main/resources/static/linfeng-community-uniapp-ky/static/tabbar/my-1.png differ
diff --git a/src/main/resources/static/linfeng-community-uniapp-ky/static/tabbar/my.png b/src/main/resources/static/linfeng-community-uniapp-ky/static/tabbar/my.png
new file mode 100644
index 0000000..d20dfe8
Binary files /dev/null and b/src/main/resources/static/linfeng-community-uniapp-ky/static/tabbar/my.png differ
diff --git a/src/main/resources/static/linfeng-community-uniapp-ky/store/index.js b/src/main/resources/static/linfeng-community-uniapp-ky/store/index.js
new file mode 100644
index 0000000..2ffc781
--- /dev/null
+++ b/src/main/resources/static/linfeng-community-uniapp-ky/store/index.js
@@ -0,0 +1,24 @@
+import Vue from 'vue'
+import Vuex from 'vuex'
+
+Vue.use(Vuex)
+
+const store = new Vuex.Store({
+ state: {
+ hasLogin: uni.getStorageSync("hasLogin"),
+ sessionKey: uni.getStorageSync("sessionKey"),
+ messegeNum:[],
+ },
+ mutations: {
+ login(state, userInfo) {
+ state.hasLogin = uni.getStorageSync("hasLogin");
+ state.sessionKey = uni.getStorageSync("sessionKey");
+ },
+ logout(state) {
+ state.hasLogin = false;
+ state.sessionKey = null;
+ }
+ }
+})
+
+export default store
diff --git a/src/main/resources/static/linfeng-community-uniapp-ky/uni.scss b/src/main/resources/static/linfeng-community-uniapp-ky/uni.scss
new file mode 100644
index 0000000..9ecd120
--- /dev/null
+++ b/src/main/resources/static/linfeng-community-uniapp-ky/uni.scss
@@ -0,0 +1 @@
+@import 'uview-ui/theme.scss';
\ No newline at end of file
diff --git a/src/main/resources/static/linfeng-community-uniapp-ky/utils/config.js b/src/main/resources/static/linfeng-community-uniapp-ky/utils/config.js
new file mode 100644
index 0000000..45d3b8e
--- /dev/null
+++ b/src/main/resources/static/linfeng-community-uniapp-ky/utils/config.js
@@ -0,0 +1,19 @@
+const miniappName = "林风社交论坛"; //分享时的标题
+const shareH5Url = "https://www.linfeng.tech/#/"; //H5分享路径
+
+
+//本地环境配置
+// const baseUrl = "localhost:8080";
+// const domain = 'http://' + baseUrl + "/app/";
+
+//线上环境配置
+const baseUrl = "wxapi.linfeng.tech";
+const domain = 'https://' + baseUrl + "/app/";
+
+
+export default {
+ baseUrl: baseUrl,
+ domain: domain,
+ miniappName: miniappName,
+ shareH5Url: shareH5Url
+}
diff --git a/src/main/resources/static/linfeng-community-uniapp-ky/utils/request.js b/src/main/resources/static/linfeng-community-uniapp-ky/utils/request.js
new file mode 100644
index 0000000..9ab43b3
--- /dev/null
+++ b/src/main/resources/static/linfeng-community-uniapp-ky/utils/request.js
@@ -0,0 +1,67 @@
+import config from './config.js';
+export default {
+ request(options = {}) {
+ return new Promise((resolve, reject) => {
+ let url = options.url;
+ if (url.indexOf("http://") == -1 && url.indexOf("https://") == -1) {
+ options.url = config.domain + url;
+ }
+ options.header.token = uni.getStorageSync("token");
+ options.complete = (response) => {
+ if (response.statusCode == 200 || response.statusCode == 0) {
+ if (response.data.code == 401 || response.data.code == 420) {
+ // #ifdef MP-WEIXIN
+ uni.navigateTo({
+ url: "/pages/login/weixin"
+ })
+ // #endif
+
+ // #ifdef H5
+ uni.navigateTo({
+ url: "/pages/login/login"
+ })
+ // #endif
+ }
+
+ if (response.data.code == 500) {
+ uni.showToast({
+ title: response.data.msg,
+ icon: "none",
+ duration: 2000
+ });
+ }
+ resolve(response.data)
+ } else {
+ uni.showToast({
+ title: '请求异常!',
+ icon: "none"
+ });
+ }
+ }
+
+ uni.request(options)
+ })
+ },
+
+ post(url, data = {}, header = {}) {
+
+ let options = {
+ url: url,
+ data: data,
+ header: header,
+ method: "POST"
+ }
+
+ return this.request(options);
+ },
+
+ get(url, data = {}, header = {}) {
+ let options = {
+ url: url,
+ data: data,
+ header: header
+ }
+
+ return this.request(options);
+ }
+};
\ No newline at end of file