微信ウィジェットのオンラインタスクの発表と受注プラットフォーム


目的:
データベース応用システムの分析設計の基本的な方法を初歩的に把握する.分析と問題解決の総合能力をさらに高める.データベースモデリングツールの使用方法を初歩的に把握する.C/SあるいはB/S構造のデータベース応用システム開発の全体過程を熟知している.
環境:
コンピュータハードウェア構成:Apache/PHP/MySQL/WeChatウィジェット
OS:Linux/Windows 10 64ビット/WeChatウィジェット
データベース管理システム:Mysqlデータベースサーバ
システム設計と開発に使用するツール:Sublime Text 2/微信web開発者ツール/Dreamweaver/Mysql
内容:
データベースの基礎知識を運用して、データベースの応用環境の下で、1つの具体的なデータベースの応用システムの分析、設計と実現を完成します.
設計タスクに対してモデリングツール(Rose、PowerDesignerなど)を用いてデータベースモデリングを行い、SQLserverを用いた上で、一つのアプリケーション開発ツール(PHP、VC、javaなど)を用いてデータベースアプリケーションシステムを設計し実現する.
データベース内のデータの挿入、削除、修正、クエリー、統計などの機能を実現し、インタフェースが友好的で、使用が便利であることが要求されている.構築したデータベーステーブルは少なくとも第3のパターンを満たし、アプリケーションシステムとデータベースの接続方法を把握し、プログラムがデータベース中のデータにアクセスする技術方法を把握し、さらに分析と問題解決の総合能力を高める.
需要説明:
第一に、时には私たちは他の人の助けを必要とする紧急の情况に出会うことができて、だからプラットフォームの上で人々がリアルタイムの助けを求める情报を発表することを提供して、それに応じて、他の人は助けを求めることができて、そして一定のコミッションを受け取って、最后にこの任务の注文に対して互いに评価します.
第二に、サービスの発表は、一芸の長い人に対してオンラインでサービスを発表することができ、他の人のために悩みを解決することができ、コミッションと評価もあります.
第三に、プラットフォームも木の穴を収容し、ユーザーたちに交流とインタラクティブなプラットフォームです.ユーザーはお茶の食後に木の穴の中でもっと接触することができて、小さいプログラムのためにユーザーを引きつけてユーザーを残します.
第四に、各ユーザーは個人ページで、送受信のヘルプ/サービス/評価/ツリーホールを簡単に表示することができる.
サービスモジュールの公開:
//service.js

var util = require('../../utils/util.js');
var app=getApp();
Page({
  data:{
      service_location:'    ',
      unit_type:[' ','  ','  ',' ',' ',' ',' ',' ',' ','  ',' ','  '],
      unit_index:0,
      servive_type:['  ','  ','  ','    ','   '],
      openid: null,
      pic: '/img/upload.png',
      servive_index:0,
      date: util.formatTime(new Date),
  },
  chooseImageTap: function () {
    let _this = this;
    wx.showActionSheet({
      itemList: ['      ', '  '],
      itemColor: "#E24E42",
      success: function (res) {
        if (!res.cancel) {
          if (res.tapIndex == 0) {
            _this.chooseWxImage('album')
          } else if (res.tapIndex == 1) {
            _this.chooseWxImage('camera')
          }
        }
      }
    })

  },
  chooseWxImage: function (type) {
    let _this = this;
    wx.chooseImage({
      sizeType: ['original', 'compressed'],
      sourceType: [type],
      success: function (res) {
        console.log(res);
        _this.setData({
          pic: res.tempFilePaths[0],
        })
      }
    })
  },
  totask:function(){
    wx.switchTab({
      url: '../task/task'
    })
  },
  bindPickerChange_unit: function(e) {
     this.setData({
       unit_index: e.detail.value
       })
  },
  bindPickerChange_servive: function(e) {
    this.setData({
      servive_index: e.detail.value
    })
  },
 submit_service:function(e){
    wx.request({
      url: 'https://www.cc.com/submit_service.php',
      data: {
      service_name:e.detail.value.service_name,
      service_description:e.detail.value.service_description,
      service_price:e.detail.value.service_price,
      service_location:this.data.service_location,
      unit_index:this.data.unit_index,
      servive_index:this.data.servive_index,
      service_area:e.detail.value.service_area,
      openid:this.data.openid,
      service_time: this.data.date
      },
      method: 'POST', // OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
      header: {
        'content-type': 'application/x-www-form-urlencoded; charset=UTF-8'
      }, //       header
      success: function(res){
        // success
        var err=res.data.error
        if(err){
          console.log('error submit_service ')
        }
        else{
          wx.switchTab({
            url: '../serviceshow/serviceshow',
            success: function(res){
              // success
            },
            fail: function(res) {
              // fail
            },
            complete: function(res) {
              // complete
            }
          })
        }
      },
      fail: function(res) {
        // fail
      },
      complete: function(res) {
        // complete
      }
    })


    wx.uploadFile({
      url: 'https://www.cc.com/upload_pic.php',
      filePath: this.data.pic,
      name: 'file',
      header: {
        'content-type': 'application/x-www-form-urlencoded; charset=UTF-8'
      }, //       header
      formData: { openid: e.detail.value.service_name, time: this.data.date,flag:'service', }, // HTTP          form data
      success: function (res) {
        console.log(res);
        if (res.statusCode == 200 && !res.data.result_code) {
          typeof success == "function" && success(res.data);
        } else {
          typeof fail == "function" && fail(res);
        }
      },
      fail: function (res) {
        console.log(res);
        typeof fail == "function" && fail(res);
      }
    })

  },
  onLoad:function(options){
    //       --      
    var that =this;
    app.getUserOpenid(function(openid){
        that.setData({
          openid:openid
      })
    })
    wx.getLocation({
      success: function (res) {
        wx.request({
          url: 'https://apis.map.qq.com/ws/geocoder/v1/?key=XD7BZ-LWCWG-EKWQY-IRKJU-Y66X7-3MFPO&location=' + res.latitude + ',' + res.longitude,
          success: function (res) {
            that.setData({
              service_location: res.data.result.address
            })

          }
        })
      }
    })
    
  },
  onReady:function(){
    //       --          
  },
  onShow:function(){
    //       --      
  },
  onHide:function(){
    //       --      
  },
  onUnload:function(){
    //       --      
  },
  onPullDownRefresh: function() {
    //           --        
  },
  onReachBottom: function() {
    //              
  },
  onShareAppMessage: function() {
    //          
    return {
      title: 'title', //     
      desc: 'desc', //     
      path: 'path' //     
    }
  }
})