diff --git a/App.vue b/App.vue
new file mode 100644
index 0000000..99f6e28
--- /dev/null
+++ b/App.vue
@@ -0,0 +1,17 @@
+
+
+
diff --git a/components/header.vue b/components/header.vue
new file mode 100644
index 0000000..2353387
--- /dev/null
+++ b/components/header.vue
@@ -0,0 +1,210 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/pop.vue b/components/pop.vue
new file mode 100644
index 0000000..b605630
--- /dev/null
+++ b/components/pop.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/components/tabbar.vue b/components/tabbar.vue
new file mode 100644
index 0000000..8b7a3aa
--- /dev/null
+++ b/components/tabbar.vue
@@ -0,0 +1,142 @@
+
+
+
+
+
+
+
+ 文章
+
+
+
+
+
+
+
+
+ 我的
+
+
+
+
+
+
+
\ No newline at end of file
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..a7172b8
--- /dev/null
+++ b/main.js
@@ -0,0 +1,406 @@
+import App from './App'
+
+// #ifndef VUE3
+import Vue from 'vue'
+import './uni.promisify.adaptor'
+Vue.config.productionTip = false
+App.mpType = 'app'
+const app = new Vue({
+ ...App
+})
+
+//设备型号判断
+Vue.prototype.platform = "";
+Vue.prototype.isIos = "";
+Vue.prototype.isIphoneXr = false;
+
+String.prototype.trim=function(){
+ return this.replace(/(^s*)|(s*$)/g, "");
+}
+
+// const NODE_ENV = 'development';
+const NODE_ENV = 'production';
+if(NODE_ENV == 'development'){
+ Vue.prototype.cssUrl = '/static/images/frontend/';
+ Vue.prototype.request_domain = "http://xmztest.yitongtang66.com/";
+}else{
+ Vue.prototype.cssUrl = 'https://xmz.yitongtang66.com/assets/img/new/';
+ Vue.prototype.request_domain = "https://xmz.yitongtang66.com/";
+}
+
+try{
+ var res = uni.getSystemInfoSync(),
+ platform = res.platform.toLowerCase(),
+ system = res.system.toLowerCase(),
+ model = res.model.toLowerCase();
+ if(system.indexOf('mac') > -1 || model.indexOf('mac') > -1 || model.indexOf('iphone 12/13 mini') > -1) platform = 'ios';
+ if(system.indexOf('ios') > -1 || model.indexOf('ipad') > -1) platform = 'ios';
+ Vue.prototype.platform = platform;
+ Vue.prototype.isIos = platform == 'ios' ? true : false;
+ Vue.prototype.isIphoneXr = (platform == "ios") && (res.model.toLowerCase().indexOf("iphone x")>-1);
+ if(NODE_ENV == 'development') Vue.prototype.isIos = '';
+ if(platform.indexOf('windows') > -1) Vue.prototype.isPc = true;
+}catch(e){
+}
+
+Vue.prototype.env_val = 'xcx';
+Vue.prototype.is_pc = false;
+Vue.prototype.isMobile = false;
+
+function isMobile() {
+ var userAgentInfo = navigator.userAgent;
+
+ var mobileAgents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
+
+ var mobile_flag = false;
+
+ //根据userAgent判断是否是手机
+ for (var v = 0; v < mobileAgents.length; v++) {
+ if (userAgentInfo.indexOf(mobileAgents[v]) > 0) {
+ mobile_flag = true;
+ break;
+ }
+ }
+ var screen_width = window.screen.width;
+ var screen_height = window.screen.height;
+
+ //根据屏幕分辨率判断是否是手机
+ if (screen_width > 325 && screen_height < 750) {
+ mobile_flag = true;
+ }
+
+ return mobile_flag;
+}
+
+
+function trim(str, type = 'both') {
+ if (type == 'both') {
+ //去除两端
+ return str.replace(/^\s+|\s+$/g, '');
+ } else if (type == "left") {
+ //去除左边
+ return str.replace(/^\s*/, '');
+ } else if (type == 'right') {
+ //去除右边
+ return str.replace(/(\s*$)/g, '');
+ } else if (type == 'all') {
+ //去除所有
+ return str.replace(/\s+/g, '');
+ } else {
+ return str;
+ }
+}
+
+function isOpenMode() {
+ var system = {
+ win: false,
+ mac: false,
+ xll: false,
+ ipad: false
+ };
+ var p = navigator.platform;
+ system.win = p.indexOf("Win") == 0;
+ system.mac = p.indexOf("Mac") == 0;
+ system.xll = (p == "X11") || (p.indexOf("Linux") == 0);
+ system.ipad = (navigator.userAgent.match(/iPad/i) != null) ? true : false;
+ if ((system.win || system.mac || system.xll || system.ipad) && !Vue.prototype.isMobile) {
+ var ua = navigator.userAgent.toLowerCase();
+ if (ua.match(/MicroMessenger/i) == "micromessenger") {
+ // "在PC端微信上打开的"
+ Vue.prototype.env_val = 'pc_weixin';
+ } else {
+ // "在PC端非微信上打开的"
+ Vue.prototype.env_val = 'pc';
+ }
+ Vue.prototype.isPc = true;
+ } else {
+ var ua = navigator.userAgent.toLowerCase();
+ if (ua.match(/MicroMessenger/i) == "micromessenger") {
+ // "在手机端微信上打开的"
+ Vue.prototype.env_val = 'phone_weixin';
+ } else {
+ // "在手机上非微信上打开的"
+ Vue.prototype.env_val = 'phone';
+ }
+ }
+}
+
+Vue.prototype.xcxtype = -1;
+Vue.prototype.provider_baidu = "baidu";
+Vue.prototype.provider_weixin = "weixin";
+Vue.prototype.provider_alipay = "alipay";
+Vue.prototype.provider = '';
+try{
+ uni.getProvider({
+ service: 'oauth',
+ success: function (res) {
+ if (~res.provider.indexOf(Vue.prototype.provider_baidu)) {
+ Vue.prototype.xcxtype = 1;
+ Vue.prototype.provider = Vue.prototype.provider_baidu;
+ }
+ if (~res.provider.indexOf(Vue.prototype.provider_weixin)) {
+ Vue.prototype.xcxtype = 0;
+ Vue.prototype.provider = Vue.prototype.provider_weixin;
+ }
+ if (~res.provider.indexOf(Vue.prototype.provider_alipay)) {
+ Vue.prototype.xcxtype = 2;
+ Vue.prototype.provider = Vue.prototype.provider_alipay;
+ }
+
+ if(Vue.prototype.xcxtype == -1){
+ Vue.prototype.isMobile = isMobile();
+ isOpenMode();
+ }else{
+ Vue.prototype.isMobile = true;
+ }
+ }
+ });
+}catch(e){
+ isOpenMode();
+ Vue.prototype.isMobile = isMobile();
+}
+
+Vue.prototype.appid = '';
+Vue.prototype.USER_SOURCE_WX_XCX = 1;
+Vue.prototype.USER_SOURCE_WX_H5 = 2;
+Vue.prototype.USER_SOURCE_PC = 3;
+Vue.prototype.USER_SOURCE_H5 = 4;
+if(Vue.prototype.provider == Vue.prototype.provider_weixin) {
+ var wxXcxAccountInfo = wx.getAccountInfoSync();
+ Vue.prototype.appid = wxXcxAccountInfo.miniProgram.appId;
+ const pagesView = getCurrentPages();
+ const currentPageView = pagesView[pagesView.length - 1];
+ Vue.prototype.View = currentPageView+'New';
+}
+
+const CODE_SUCCESS = 200;
+const CODE_ERROR = 40001;
+const CODE_LOGIN_EXIPRE = 40002;
+
+Vue.prototype.user_preview = 1;
+Vue.prototype.edit_preview = 2;
+Vue.prototype.add_preview = 3;
+Vue.prototype.edit_album = 4;
+
+function removeLogin() {
+ uni.removeStorageSync('token');
+ uni.removeStorageSync('uuid');
+ uni.removeStorageSync('nickname');
+ uni.removeStorageSync('avatar');
+ uni.removeStorageSync('level_id');
+ uni.removeStorageSync('level_name');
+ uni.removeStorageSync('is_admin');
+ uni.removeStorageSync('avatar_full');
+ uni.removeStorageSync('create');
+ uni.removeStorageSync('uuid_str');
+}
+
+function req(url, data={}, method = 'POST') {
+ var domain = Vue.prototype.request_domain;
+ data.xcxtype = 3;
+ if(Vue.prototype.appid != '') {
+ data.appid = Vue.prototype.appid;
+ data.xcx_scource = Vue.prototype.USER_SOURCE_WX_XCX;
+ }else{
+ domain = '/api/';
+ if(Vue.prototype.isMobile){
+ data.xcx_scource = Vue.prototype.USER_SOURCE_H5;
+ if(Vue.prototype.env_val.indexOf('weixin') > -1) data.xcx_scource = Vue.prototype.USER_SOURCE_WX_H5;
+ data.host = location.host;
+ }else{
+ data.xcx_scource = Vue.prototype.USER_SOURCE_PC;
+ data.host = location.host;
+ }
+ }
+
+ if(NODE_ENV == 'development') data.env = 'dev';
+
+ var headerObj = {'content-type': 'application/x-www-form-urlencoded'};
+ var token = uni.getStorageSync('token');
+ var uuid = uni.getStorageSync('uuid');
+
+ var loginFunc = '';
+ if(data.xcx_scource == Vue.prototype.USER_SOURCE_WX_XCX) loginFunc = 'ai_xcx_login';
+ data.submit_source = data.xcx_scource;
+ data.is_ai = 1;
+ if(token && uuid && url != loginFunc){
+ data.token = token;
+ data.user_id = uuid;
+ }
+
+ return new Promise((resolve, reject) => {
+ uni.request({
+ method: method,
+ url: domain+url,
+ data: data,
+ header: headerObj,
+ async: false,
+ success(res) {
+ try{
+ var rdata = res.data;
+ if(rdata.code != CODE_SUCCESS) {
+ if(data.xcx_scource == Vue.prototype.USER_SOURCE_WX_XCX && !data.repeat && rdata.code==CODE_LOGIN_EXIPRE && url != 'userapi/login2/weChatLogin'){
+ removeLogin();
+ xcx_login(url, data, method).then(data=>{
+ return resolve(data);
+ });
+ return;
+ }
+
+ if(data.xcx_scource == Vue.prototype.USER_SOURCE_H5 && res.data.info.indexOf('请先登录')>-1){
+ location.href="/pages/jumpxcx/jumpxcx";
+ return;
+ }
+
+ if(rdata.code==CODE_LOGIN_EXIPRE && data.xcx_scource == Vue.prototype.USER_SOURCE_WX_H5 && url != 'ai_get_mplogin_url'){
+ var logindatac = new Object();
+ logindatac.host = location.host;
+
+ const pagesc = getCurrentPages();
+ const currentPagec = pagesc[pagesc.length - 1];
+ var pageUrlc = '/'+currentPagec.route;
+ logindatac.state = encodeURIComponent(pageUrlc);
+ req('ai_get_mplogin_url', logindatac).then(data=>{
+ if(data == -1 || !data.login_link) return;
+ location.href = data.login_link;
+ });
+ return;
+ }
+
+ uni.showModal({
+ title: '提示',
+ showCancel: false,
+ content: rdata.msg ? rdata.msg : '网络错误,请重试|'+res.statusCode,
+ success: function (rs) {
+ if (rs.confirm && rdata.code==CODE_LOGIN_EXIPRE) {
+ removeLogin();
+ const pages = getCurrentPages();
+ const currentPage = pages[pages.length - 1];
+ let pageUrl = '/'+currentPage.route;
+ if(data.xcx_scource == Vue.prototype.USER_SOURCE_WX_H5){
+ uni.navigateTo({
+ url: '/pages/index/index?url='+encodeURIComponent(pageUrl)
+ });
+ }else{
+
+ }
+ return;
+ }
+ }
+ });
+
+ return resolve("-1");
+ }else{
+ return resolve(res.data.data);
+ }
+ }catch(e){
+ uni.showModal({
+ title: '提示',
+ showCancel: false,
+ content: '请求数据出错|f',
+ success: function (rs) {
+ return resolve("-1");
+ }
+ });
+ }
+ },
+ fail(err) {
+ uni.showModal({
+ title: '提示',
+ showCancel: false,
+ content: '网络错误,请重试|f|'+JSON.stringify(err),
+ success: function (rs) {
+ return resolve("-1");
+ }
+ });
+ }
+ });
+ });
+}
+
+function xcx_login(url, eqdata={}, method = 'POST') {
+ return new Promise((resolve, reject) => {
+ wx.login({
+ success (res) {
+ if (res.code) {
+ var pdata = new Object();
+ pdata.code = res.code;
+ req('userapi/login2/weChatLogin', pdata).then(data=>{
+ uni.setStorageSync('token', data.token);
+ uni.setStorageSync('uuid', data.userId);
+ uni.setStorageSync('uuid_str', data.userIdStr);
+ uni.setStorageSync('nickname', data.nickname);
+ uni.setStorageSync('avatar', data.avatar);
+ uni.setStorageSync('level_id', data.level_id);
+ uni.setStorageSync('level_name', data.level_name);
+ uni.setStorageSync('avatar_full', data.avatar_full);
+ uni.setStorageSync('create', data.create);
+ if(data.is_admin) uni.setStorageSync('is_admin', data.is_admin);
+
+ eqdata.repeat = 1;
+ req(url, eqdata, method).then(data=>{
+ return resolve(data);
+ });
+ });
+ }
+ }
+ });
+ })
+}
+
+function toPage(path){
+ if(Vue.prototype.provider == Vue.prototype.provider_weixin){
+ if(path.indexOf('/index/index') == -1){
+ wx.navigateTo({
+ url: path
+ });
+ }else{
+ wx.reLaunch({
+ url: path
+ });
+ }
+
+ }else{
+ if(path.indexOf('/index/index') == -1){
+ uni.navigateTo({
+ url:path
+ });
+ }else{
+ uni.reLaunch({
+ url:path
+ });
+ }
+
+ }
+}
+
+function modelShow(content, path="",title="提示") {
+ uni.showModal({
+ title: title,
+ showCancel: false,
+ content: content,
+ success: function (rs) {
+ if(rs.confirm && path != ""){
+ toPage(path);
+ }
+ }
+ });
+}
+
+Vue.prototype.$pop = {modelShow}
+Vue.prototype.$func = {toPage}
+Vue.prototype.$http = {req}
+Vue.prototype.$trim = {trim}
+
+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..6f3ea01
--- /dev/null
+++ b/manifest.json
@@ -0,0 +1,72 @@
+{
+ "name" : "acupuncture_register_system",
+ "appid" : "__UNI__72348D3",
+ "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/pages.json b/pages.json
new file mode 100644
index 0000000..34ca995
--- /dev/null
+++ b/pages.json
@@ -0,0 +1,35 @@
+{
+ "pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
+ {
+ "path": "pages/index/index",
+ "style": {
+ "navigationBarTitleText": "uni-app"
+ }
+ }
+ ,{
+ "path" : "pages/test/test",
+ "style" :
+ {
+ "navigationBarTitleText": "",
+ "enablePullDownRefresh": false
+ }
+
+ }
+ ,{
+ "path" : "pages/login/login",
+ "style" :
+ {
+ "navigationBarTitleText": "",
+ "enablePullDownRefresh": false
+ }
+
+ }
+ ],
+ "globalStyle": {
+ "navigationBarTextStyle": "black",
+ "navigationBarTitleText": "uni-app",
+ "navigationBarBackgroundColor": "#F8F8F8",
+ "backgroundColor": "#F8F8F8"
+ },
+ "uniIdRouter": {}
+}
diff --git a/pages/index/index.vue b/pages/index/index.vue
new file mode 100644
index 0000000..4d58921
--- /dev/null
+++ b/pages/index/index.vue
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
diff --git a/pages/login/login.vue b/pages/login/login.vue
new file mode 100644
index 0000000..8183fd0
--- /dev/null
+++ b/pages/login/login.vue
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
diff --git a/pages/test/test.vue b/pages/test/test.vue
new file mode 100644
index 0000000..7edc595
--- /dev/null
+++ b/pages/test/test.vue
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
diff --git a/static/images/frontend/fan'h.svg b/static/images/frontend/fan'h.svg
new file mode 100644
index 0000000..81b2517
--- /dev/null
+++ b/static/images/frontend/fan'h.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/个人照片待填写.svg b/static/images/frontend/个人照片待填写.svg
new file mode 100644
index 0000000..d06e64a
--- /dev/null
+++ b/static/images/frontend/个人照片待填写.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/二维码.svg b/static/images/frontend/二维码.svg
new file mode 100644
index 0000000..739604e
--- /dev/null
+++ b/static/images/frontend/二维码.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/关.svg b/static/images/frontend/关.svg
new file mode 100644
index 0000000..9a1f0fa
--- /dev/null
+++ b/static/images/frontend/关.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/关2.svg b/static/images/frontend/关2.svg
new file mode 100644
index 0000000..3ce4f9f
--- /dev/null
+++ b/static/images/frontend/关2.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/关3.svg b/static/images/frontend/关3.svg
new file mode 100644
index 0000000..b44ff71
--- /dev/null
+++ b/static/images/frontend/关3.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/关闭.svg b/static/images/frontend/关闭.svg
new file mode 100644
index 0000000..b2a3522
--- /dev/null
+++ b/static/images/frontend/关闭.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/关闭备份.svg b/static/images/frontend/关闭备份.svg
new file mode 100644
index 0000000..7853bb4
--- /dev/null
+++ b/static/images/frontend/关闭备份.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/减少.svg b/static/images/frontend/减少.svg
new file mode 100644
index 0000000..453812a
--- /dev/null
+++ b/static/images/frontend/减少.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/出诊安排.svg b/static/images/frontend/出诊安排.svg
new file mode 100644
index 0000000..2095456
--- /dev/null
+++ b/static/images/frontend/出诊安排.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/助手权限.svg b/static/images/frontend/助手权限.svg
new file mode 100644
index 0000000..a9d48b1
--- /dev/null
+++ b/static/images/frontend/助手权限.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/助手管理.svg b/static/images/frontend/助手管理.svg
new file mode 100644
index 0000000..be84114
--- /dev/null
+++ b/static/images/frontend/助手管理.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/医生信息.svg b/static/images/frontend/医生信息.svg
new file mode 100644
index 0000000..05fe77a
--- /dev/null
+++ b/static/images/frontend/医生信息.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/医院管理.svg b/static/images/frontend/医院管理.svg
new file mode 100644
index 0000000..a78fc7c
--- /dev/null
+++ b/static/images/frontend/医院管理.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/协助预约.svg b/static/images/frontend/协助预约.svg
new file mode 100644
index 0000000..19ab464
--- /dev/null
+++ b/static/images/frontend/协助预约.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/单选选中.svg b/static/images/frontend/单选选中.svg
new file mode 100644
index 0000000..ad3bd98
--- /dev/null
+++ b/static/images/frontend/单选选中.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/向下展开.svg b/static/images/frontend/向下展开.svg
new file mode 100644
index 0000000..1771033
--- /dev/null
+++ b/static/images/frontend/向下展开.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/增加.svg b/static/images/frontend/增加.svg
new file mode 100644
index 0000000..849628b
--- /dev/null
+++ b/static/images/frontend/增加.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/多选选中.svg b/static/images/frontend/多选选中.svg
new file mode 100644
index 0000000..e37d5e0
--- /dev/null
+++ b/static/images/frontend/多选选中.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/大.svg b/static/images/frontend/大.svg
new file mode 100644
index 0000000..da5f0a0
--- /dev/null
+++ b/static/images/frontend/大.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/导出针灸记录.svg b/static/images/frontend/导出针灸记录.svg
new file mode 100644
index 0000000..f5c602a
--- /dev/null
+++ b/static/images/frontend/导出针灸记录.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/小.svg b/static/images/frontend/小.svg
new file mode 100644
index 0000000..eee2bea
--- /dev/null
+++ b/static/images/frontend/小.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/小号.svg b/static/images/frontend/小号.svg
new file mode 100644
index 0000000..7534517
--- /dev/null
+++ b/static/images/frontend/小号.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/小号2.svg b/static/images/frontend/小号2.svg
new file mode 100644
index 0000000..e5fc31f
--- /dev/null
+++ b/static/images/frontend/小号2.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/就诊人.svg b/static/images/frontend/就诊人.svg
new file mode 100644
index 0000000..7f3b179
--- /dev/null
+++ b/static/images/frontend/就诊人.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/展开.svg b/static/images/frontend/展开.svg
new file mode 100644
index 0000000..61b3ad5
--- /dev/null
+++ b/static/images/frontend/展开.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/开.svg b/static/images/frontend/开.svg
new file mode 100644
index 0000000..feb7af8
--- /dev/null
+++ b/static/images/frontend/开.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/开2.svg b/static/images/frontend/开2.svg
new file mode 100644
index 0000000..b532b5c
--- /dev/null
+++ b/static/images/frontend/开2.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/开3.svg b/static/images/frontend/开3.svg
new file mode 100644
index 0000000..8bd5327
--- /dev/null
+++ b/static/images/frontend/开3.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/患者预约.svg b/static/images/frontend/患者预约.svg
new file mode 100644
index 0000000..ed088ba
--- /dev/null
+++ b/static/images/frontend/患者预约.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/挂号管理.svg b/static/images/frontend/挂号管理.svg
new file mode 100644
index 0000000..f3265f0
--- /dev/null
+++ b/static/images/frontend/挂号管理.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/时段越满.png b/static/images/frontend/时段越满.png
new file mode 100644
index 0000000..26e9132
Binary files /dev/null and b/static/images/frontend/时段越满.png differ
diff --git a/static/images/frontend/暂未开启权限@2x.png b/static/images/frontend/暂未开启权限@2x.png
new file mode 100644
index 0000000..15d109e
Binary files /dev/null and b/static/images/frontend/暂未开启权限@2x.png differ
diff --git a/static/images/frontend/更换.svg b/static/images/frontend/更换.svg
new file mode 100644
index 0000000..6452612
--- /dev/null
+++ b/static/images/frontend/更换.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/未选中.svg b/static/images/frontend/未选中.svg
new file mode 100644
index 0000000..dd191d4
--- /dev/null
+++ b/static/images/frontend/未选中.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/正确.svg b/static/images/frontend/正确.svg
new file mode 100644
index 0000000..c4094fa
--- /dev/null
+++ b/static/images/frontend/正确.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/流程正在填写.svg b/static/images/frontend/流程正在填写.svg
new file mode 100644
index 0000000..b697502
--- /dev/null
+++ b/static/images/frontend/流程正在填写.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/灰.png b/static/images/frontend/灰.png
new file mode 100644
index 0000000..98f9c93
Binary files /dev/null and b/static/images/frontend/灰.png differ
diff --git a/static/images/frontend/绿.png b/static/images/frontend/绿.png
new file mode 100644
index 0000000..21e2bb4
Binary files /dev/null and b/static/images/frontend/绿.png differ
diff --git a/static/images/frontend/编组 2.svg b/static/images/frontend/编组 2.svg
new file mode 100644
index 0000000..78dc70a
--- /dev/null
+++ b/static/images/frontend/编组 2.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/编组 3.svg b/static/images/frontend/编组 3.svg
new file mode 100644
index 0000000..111846d
--- /dev/null
+++ b/static/images/frontend/编组 3.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/编组 31.svg b/static/images/frontend/编组 31.svg
new file mode 100644
index 0000000..196e4f1
--- /dev/null
+++ b/static/images/frontend/编组 31.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/编组 39.svg b/static/images/frontend/编组 39.svg
new file mode 100644
index 0000000..994ba30
--- /dev/null
+++ b/static/images/frontend/编组 39.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/编组 42.png b/static/images/frontend/编组 42.png
new file mode 100644
index 0000000..786b00a
Binary files /dev/null and b/static/images/frontend/编组 42.png differ
diff --git a/static/images/frontend/编组 6.svg b/static/images/frontend/编组 6.svg
new file mode 100644
index 0000000..756a0a8
--- /dev/null
+++ b/static/images/frontend/编组 6.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/背景.png b/static/images/frontend/背景.png
new file mode 100644
index 0000000..4306c17
Binary files /dev/null and b/static/images/frontend/背景.png differ
diff --git a/static/images/frontend/花.svg b/static/images/frontend/花.svg
new file mode 100644
index 0000000..1bb6967
--- /dev/null
+++ b/static/images/frontend/花.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/表单已提交.svg b/static/images/frontend/表单已提交.svg
new file mode 100644
index 0000000..07a3938
--- /dev/null
+++ b/static/images/frontend/表单已提交.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/角标.svg b/static/images/frontend/角标.svg
new file mode 100644
index 0000000..44fae09
--- /dev/null
+++ b/static/images/frontend/角标.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/角标2.svg b/static/images/frontend/角标2.svg
new file mode 100644
index 0000000..0b9f1d4
--- /dev/null
+++ b/static/images/frontend/角标2.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/诊疗设置.svg b/static/images/frontend/诊疗设置.svg
new file mode 100644
index 0000000..190729d
--- /dev/null
+++ b/static/images/frontend/诊疗设置.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/static/images/frontend/预约列表.svg b/static/images/frontend/预约列表.svg
new file mode 100644
index 0000000..aee30bc
--- /dev/null
+++ b/static/images/frontend/预约列表.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/uni.promisify.adaptor.js b/uni.promisify.adaptor.js
new file mode 100644
index 0000000..47fbce1
--- /dev/null
+++ b/uni.promisify.adaptor.js
@@ -0,0 +1,10 @@
+uni.addInterceptor({
+ returnValue (res) {
+ if (!(!!res && (typeof res === "object" || typeof res === "function") && typeof res.then === "function")) {
+ return res;
+ }
+ return new Promise((resolve, reject) => {
+ res.then((res) => res[0] ? reject(res[0]) : resolve(res[1]));
+ });
+ },
+});
\ No newline at end of file
diff --git a/uni.scss b/uni.scss
new file mode 100644
index 0000000..a9a742d
--- /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 这个文件
+ */
+
+/* 颜色变量 */
+
+/* 行为相关颜色 */
+$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
new file mode 100644
index 0000000..1ff48b4
--- /dev/null
+++ b/针灸挂号系统功能拆分.txt
@@ -0,0 +1,44 @@
+用户端 静态页面
+1.首页
+2.选择就诊人页面
+3.新增就诊人信息页面
+4.预约挂号页面
+5.个人中心页面
+6.修改个人资料页面
+7.就诊人列表页面
+8.修改就诊人信息页面
+9.预约列表页面
+10.预约详情页面
+
+医生端 静态页面
+1.添加医生信息页面
+(1)选择医院使用腾讯位置服务接口
+https://lbs.qq.com/service/webService/webServiceGuide/search/webServiceSuggestion
+2.添加出诊医院页面
+3.等待就诊页面
+4.就诊中页面
+5.就诊完毕页面
+6.个人中心页面
+7.医生信息编辑页面
+8.医院管理页面
+9.出诊安排页面
+10.诊疗设置
+11.患者预约页面
+12.患者预约码页面
+13.患者详情页面
+14.预约详情页面
+15.助手管理列表页面
+16.助手邀请码页面
+17.助手权限页面
+18.助手详情页面
+19.助手申请表单页面
+20.助手申请等待审核页面
+21.挂号管理列表页面
+22.挂号退号搜索结果列表页面
+23.新建档案并录入挂号页面
+24.追加/减少针灸次数页面
+25.导出针灸记录页面
+
+已完成
+1.针灸挂号系统需求确认
+2.针灸挂号系统前端框架搭建
\ No newline at end of file
diff --git a/针灸挂号系统功能表结构.sql b/针灸挂号系统功能表结构.sql
new file mode 100644
index 0000000..e21d197
--- /dev/null
+++ b/针灸挂号系统功能表结构.sql
@@ -0,0 +1,84 @@
+一 用户端
+1.用户表 user_list
+id
+doctor_id 医生id
+avator 头像
+nick 昵称
+openid 公众号openid
+create 创建时间
+
+2.就诊用户人表 visitor_list
+id
+doctor_id 医生id
+uid 用户id
+name 姓名
+idcard_ext 身份证后四位
+last_visit_time 最后就诊时间
+create 添加时间
+status 0 正常 1已删除
+
+3.就诊表 visit_list
+id
+doctor_id 医生id
+hid 医院id
+vuid 就诊用户人id
+date 时间 2024-03-01
+visit_time 就诊预约时间 07:30-08:30
+phone 手机号
+status 0 待就诊 1就诊中 2就诊完成
+
+4.针灸剩余次数表 acupuncture_remain_list
+id
+vid 就诊用户人id
+hid 医院id
+total_num 总针灸次数
+remain_num 剩余针灸次数
+
+4.预约表 appointment_list
+id
+vid 就诊人id
+date 日期
+time 时间
+
+
+二 医生端
+
+1.医生表 doctor_list
+id
+name 姓名
+phone 手机号
+invite_code 邀请码
+desc 简介
+openid 公众号openid
+detail 个人详细介绍
+create 注册时间
+
+2.医院表 hospital_list
+id
+doctor_id 医生id
+province 省
+cite 市
+short_name 医院简称
+departments 科室部门
+morning_worktime 上午上班时间 上下班时间用英文逗号分隔
+afternoon_end 下午上班时间 上下班时间用英文逗号分隔
+holiday_work_type 0 否 1 是 节假日是否停诊
+acupuncture_num 一次挂号针灸次数
+acupuncture_time 每次针灸时长
+bed_num 时间段可预约床位数
+register_exipre 挂号过期时间,单位小时
+notice 就诊提醒
+create 创建时间
+status 0 就诊中 1 已停诊
+
+3.每周出诊安排表 week_worktimes
+id
+hid
+week_day
+type 0 休息 1 上午上班 2 下午上班 3 全天出诊
+
+
+
+
+
+