diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..78a752d --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +.DS_Store +node_modules/ +dist/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* +**/*.log + +tests/**/coverage/ +tests/e2e/reports +selenium-debug.log + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.local + +package-lock.json +yarn.lock diff --git a/.hbuilderx/launch.json b/.hbuilderx/launch.json new file mode 100644 index 0000000..81f13f4 --- /dev/null +++ b/.hbuilderx/launch.json @@ -0,0 +1,16 @@ +{ // 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": [{ + "default" : + { + "launchtype" : "local" + }, + "mp-weixin" : + { + "launchtype" : "local" + }, + "type" : "uniCloud" + } + ] +} diff --git a/App.vue b/App.vue new file mode 100644 index 0000000..8c2b732 --- /dev/null +++ b/App.vue @@ -0,0 +1,17 @@ + + + diff --git a/index.html b/index.html new file mode 100644 index 0000000..c3ff205 --- /dev/null +++ b/index.html @@ -0,0 +1,20 @@ + + + + + + + + + + +
+ + + diff --git a/main.js b/main.js new file mode 100644 index 0000000..bf3085a --- /dev/null +++ b/main.js @@ -0,0 +1,33 @@ +import App from './App' + +import uView from 'uview-ui' +import { + apiService, + toast +} from "./service/request.js" +Vue.use(uView) + +Vue.prototype.$api = apiService +Vue.prototype.$toast = toast + +// #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/manifest.json b/manifest.json new file mode 100644 index 0000000..066ca83 --- /dev/null +++ b/manifest.json @@ -0,0 +1,72 @@ +{ + "name" : "city-store-transfer", + "appid" : "__UNI__F3EA0D6", + "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/package.json b/package.json new file mode 100644 index 0000000..49fd105 --- /dev/null +++ b/package.json @@ -0,0 +1,5 @@ +{ + "dependencies": { + "uview-ui": "^2.0.36" + } +} diff --git a/pages.json b/pages.json new file mode 100644 index 0000000..9ff96c3 --- /dev/null +++ b/pages.json @@ -0,0 +1,58 @@ +{ + "easycom": { + "autoscan": true, //是否自动扫描组件 + "custom": { + "^u-(.*)": "uview-ui/components/u-$1/u-$1.vue", + "^ua-(.*)": "@/components/uview-ui/components/u-$1/u-$1.vue", + "^customer-(.*)": "@/components/uni-$1.vue" // 匹配components目录内的vue文件 + } + }, + "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages + { + "path": "pages/index/index", + "style": { + "navigationBarTitleText": "uni-app", + "navigationBarTextStyle": "white", + "navigationBarBackgroundColor": "#12CA64", + //导航栏取消 + // "navigationStyle": "custom", + //是否开启下拉刷新 + "enablePullDownRefresh": true + } + }, { + "path": "pages/my/my", + "style": { + "navigationBarTitleText": "", + "navigationBarTextStyle": "white", + "navigationBarBackgroundColor": "#12CA64", + "enablePullDownRefresh": false + } + } + ], + "tabBar": { + "color": "#CCCCCC", + "selectedColor": "#0EBB5B", + "borderStyle": "white", + "backgroundColor": "#FFFFFF", + "list": [{ + "pagePath": "pages/index/index", + "text": "首页", + "iconPath": "static/tabbar/sy_icon_syh.png", + "selectedIconPath": "static/tabbar/sy_icon_sy(1).png" + }, + { + "pagePath": "pages/my/my", + "text": "我的", + "iconPath": "static/tabbar/sy_icon_wdh.png", + "selectedIconPath": "static/tabbar/sy_icon_wd.png" + } + ] + }, + "globalStyle": { + "navigationBarTextStyle": "black", + "navigationBarTitleText": "uni-app", + "navigationBarBackgroundColor": "#F8F8F8", + "backgroundColor": "#F8F8F8" + }, + "uniIdRouter": {} +} \ No newline at end of file diff --git a/pages/index/index.vue b/pages/index/index.vue new file mode 100644 index 0000000..deee3c1 --- /dev/null +++ b/pages/index/index.vue @@ -0,0 +1,56 @@ + + + + + \ No newline at end of file diff --git a/pages/my/my.vue b/pages/my/my.vue new file mode 100644 index 0000000..44c5cd0 --- /dev/null +++ b/pages/my/my.vue @@ -0,0 +1,29 @@ + + + + + \ No newline at end of file diff --git a/service/request.js b/service/request.js new file mode 100644 index 0000000..a50f3c3 --- /dev/null +++ b/service/request.js @@ -0,0 +1,181 @@ +const serverHost = ''//http://xx.xxx.xx + +const service = { + get(url, data) { + const header = {} + header['token'] = uni.getStorageSync('loginToken') + header['content-type'] = 'application/json' + return new Promise((resolve, reject) => { + uni.request({ + method: 'get', + url: serverHost + url, + data: data, + header: header, + success: res => { + resolve(res) + }, + fail: err => { + reject(err) + } + }) + }) + }, + post(url, data) { + const header = {} + header['token'] = uni.getStorageSync('loginToken') + header['content-type'] = 'application/json' + return new Promise((resolve, reject) => { + uni.request({ + method: 'post', + url: serverHost + url, + data: data, + header: header, + success: res => { + resolve(res) + }, + fail: err => { + try { + toast.error(err.data.message) + } catch (errr) { + toast.error('服务器出错') + } + reject(err) + } + }) + }) + }, + put(url, data) { + const header = {} + header['token'] = uni.getStorageSync('loginToken') + header['content-type'] = 'application/json' + return new Promise((resolve, reject) => { + uni.request({ + method: 'put', + url: serverHost + url, + data: data, + header: header, + success: res => { + resolve(res) + }, + fail: err => { + reject(err) + } + }) + }) + }, + putWithFormData(url, data) { + const header = {} + header['token'] = uni.getStorageSync('loginToken') + header['content-type'] = 'application/x-www-form-urlencoded' + return new Promise((resolve, reject) => { + uni.request({ + method: 'put', + url: serverHost + url, + data: data, + header: header, + success: res => { + resolve(res) + }, + fail: err => { + reject(err) + } + }) + }) + }, + delete(url, data) { + const header = {} + header['token'] = uni.getStorageSync('loginToken') + header['content-type'] = 'application/json' + return new Promise((resolve, reject) => { + uni.request({ + method: 'delete', + url: serverHost + url, + data: data, + header: header, + success: res => { + resolve(res) + }, + fail: err => { + reject(err) + } + }) + }) + } +} +const toastDuration = 1500 +const toast = { + success: (text, dur) => { + uni.showToast({ + icon: 'none', + title: text || '成功', + duration: dur || toastDuration + }) + }, + warn: text => { + uni.showToast({ + icon: 'none', + title: text || '未知警告', + duration: toastDuration + }) + }, + error: text => { + uni.showToast({ + icon: 'none', + title: text || '未知错误', + duration: toastDuration + }) + } +} +const apiService = { + serverHost, + uploadImgUrl: serverHost + `/upload/image/`, + //登录接口 + login(data) { + const url = `/login` + return new Promise((resolve, reject) => { + resolve(service.post(url, data)) + }) + }, + // 展示用户信息 + getUserInfo() { + const url = '/user' + return new Promise((resolve, reject) => { + resolve(service.get(url)) + }) + }, + // 获取详情 + getProductDetail(id) { + const url = `/home/pdetail/?productId=${id}` + return new Promise((resolve, reject) => { + resolve(service.get(url, id)) + }) + }, + //修改 + updatePlan(data) { + const url = '/plan' + return new Promise((resolve, reject) => { + resolve(service.put(url, data)) + }) + }, + //删除 + deleteIdeasAndNeeds(id) { + const url = `/center/delreq/?id=${id}` + return new Promise((resolve, reject) => { + resolve(service.delete(url, id)) + }) + }, + // 提交 + submitIdeasAndNeeds(data) { + let url = `/require/release/` + if (data.id) { + url = `/require/update/` + } + return new Promise((resolve, reject) => { + resolve(service.putWithFormData(url, data)) + }) + }, +} +export { + apiService, + toast +} \ No newline at end of file diff --git a/static/logo.png b/static/logo.png new file mode 100644 index 0000000..b5771e2 Binary files /dev/null and b/static/logo.png differ diff --git a/static/tabbar/sy_icon_sy(1).png b/static/tabbar/sy_icon_sy(1).png new file mode 100644 index 0000000..764206c Binary files /dev/null and b/static/tabbar/sy_icon_sy(1).png differ diff --git a/static/tabbar/sy_icon_syh.png b/static/tabbar/sy_icon_syh.png new file mode 100644 index 0000000..b29f7c3 Binary files /dev/null and b/static/tabbar/sy_icon_syh.png differ diff --git a/static/tabbar/sy_icon_wd.png b/static/tabbar/sy_icon_wd.png new file mode 100644 index 0000000..78ef662 Binary files /dev/null and b/static/tabbar/sy_icon_wd.png differ diff --git a/static/tabbar/sy_icon_wdh.png b/static/tabbar/sy_icon_wdh.png new file mode 100644 index 0000000..ff78fc2 Binary files /dev/null and b/static/tabbar/sy_icon_wdh.png differ diff --git a/uni.scss b/uni.scss new file mode 100644 index 0000000..1c39e72 --- /dev/null +++ b/uni.scss @@ -0,0 +1,76 @@ +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ + +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +@import 'uview-ui/theme.scss'; +/* 颜色变量 */ + +/* 行为相关颜色 */ +$uni-color-primary: #007aff; +$uni-color-success: #4cd964; +$uni-color-warning: #f0ad4e; +$uni-color-error: #dd524d; + +/* 文字基本颜色 */ +$uni-text-color:#333;//基本色 +$uni-text-color-inverse:#fff;//反色 +$uni-text-color-grey:#999;//辅助灰色,如加载更多的提示信息 +$uni-text-color-placeholder: #808080; +$uni-text-color-disable:#c0c0c0; + +/* 背景颜色 */ +$uni-bg-color:#ffffff; +$uni-bg-color-grey:#f8f8f8; +$uni-bg-color-hover:#f1f1f1;//点击状态颜色 +$uni-bg-color-mask:rgba(0, 0, 0, 0.4);//遮罩颜色 + +/* 边框颜色 */ +$uni-border-color:#c8c7cc; + +/* 尺寸变量 */ + +/* 文字尺寸 */ +$uni-font-size-sm:12px; +$uni-font-size-base:14px; +$uni-font-size-lg:16; + +/* 图片尺寸 */ +$uni-img-size-sm:20px; +$uni-img-size-base:26px; +$uni-img-size-lg:40px; + +/* Border Radius */ +$uni-border-radius-sm: 2px; +$uni-border-radius-base: 3px; +$uni-border-radius-lg: 6px; +$uni-border-radius-circle: 50%; + +/* 水平间距 */ +$uni-spacing-row-sm: 5px; +$uni-spacing-row-base: 10px; +$uni-spacing-row-lg: 15px; + +/* 垂直间距 */ +$uni-spacing-col-sm: 4px; +$uni-spacing-col-base: 8px; +$uni-spacing-col-lg: 12px; + +/* 透明度 */ +$uni-opacity-disabled: 0.3; // 组件禁用态的透明度 + +/* 文章场景相关 */ +$uni-color-title: #2C405A; // 文章标题颜色 +$uni-font-size-title:20px; +$uni-color-subtitle: #555555; // 二级标题颜色 +$uni-font-size-subtitle:26px; +$uni-color-paragraph: #3F536E; // 文章段落颜色 +$uni-font-size-paragraph:15px; diff --git a/新建 文本文档.txt b/新建 文本文档.txt deleted file mode 100644 index e69de29..0000000